/*===- 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.
  #define TARGET_VAL(X) X & 255, unsigned(X) >> 8
  static const unsigned char MatcherTable[] = {
/*     0*/  OPC_SwitchOpcode /*261 cases */, 66|128,43/*5570*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->5575
/*     5*/    OPC_Scope, 49|128,34/*4401*/, /*->4409*/ // 4 children in Scope
/*     8*/      OPC_MoveChild0,
/*     9*/      OPC_SwitchOpcode /*2 cases */, 64|128,29/*3776*/, TARGET_VAL(AArch64ISD::UADDV),// ->3790
/*    14*/        OPC_MoveChild0,
/*    15*/        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*    18*/        OPC_MoveChild0,
/*    19*/        OPC_SwitchOpcode /*3 cases */, 121|128,24/*3193*/, TARGET_VAL(ISD::ADD),// ->3217
/*    24*/          OPC_MoveChild0,
/*    25*/          OPC_SwitchOpcode /*2 cases */, 55|128,12/*1591*/, TARGET_VAL(AArch64ISD::SMULL),// ->1621
/*    30*/            OPC_MoveChild0,
/*    31*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*    34*/            OPC_MoveChild0,
/*    35*/            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*    38*/            OPC_MoveChild0,
/*    39*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*    42*/            OPC_RecordChild0, // #0 = $Vm
/*    43*/            OPC_Scope, 18|128,6/*786*/, /*->832*/ // 2 children in Scope
/*    46*/              OPC_CheckChild1Integer, 0, 
/*    48*/              OPC_CheckChild1Type, MVT::i64,
/*    50*/              OPC_MoveParent,
/*    51*/              OPC_MoveParent,
/*    52*/              OPC_CheckType, MVT::v4i16,
/*    54*/              OPC_Scope, 2|128,3/*386*/, /*->443*/ // 2 children in Scope
/*    57*/                OPC_CheckChild1Integer, 0, 
/*    59*/                OPC_CheckChild1Type, MVT::i64,
/*    61*/                OPC_MoveParent,
/*    62*/                OPC_MoveChild1,
/*    63*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*    66*/                OPC_MoveChild0,
/*    67*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*    70*/                OPC_MoveChild0,
/*    71*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*    74*/                OPC_RecordChild0, // #1 = $Vn
/*    75*/                OPC_CheckChild1Integer, 0, 
/*    77*/                OPC_CheckChild1Type, MVT::i64,
/*    79*/                OPC_MoveParent,
/*    80*/                OPC_MoveParent,
/*    81*/                OPC_CheckChild1Integer, 0, 
/*    83*/                OPC_CheckChild1Type, MVT::i64,
/*    85*/                OPC_MoveParent,
/*    86*/                OPC_MoveParent,
/*    87*/                OPC_MoveChild1,
/*    88*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*    91*/                OPC_MoveChild0,
/*    92*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*    95*/                OPC_MoveChild0,
/*    96*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*    99*/                OPC_MoveChild0,
/*   100*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   103*/                OPC_CheckChild0Same, 0,
/*   105*/                OPC_CheckChild1Integer, 8, 
/*   107*/                OPC_CheckChild1Type, MVT::i64,
/*   109*/                OPC_MoveParent,
/*   110*/                OPC_MoveParent,
/*   111*/                OPC_CheckChild1Integer, 0, 
/*   113*/                OPC_CheckChild1Type, MVT::i64,
/*   115*/                OPC_CheckType, MVT::v4i16,
/*   117*/                OPC_MoveParent,
/*   118*/                OPC_MoveChild1,
/*   119*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   122*/                OPC_MoveChild0,
/*   123*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   126*/                OPC_MoveChild0,
/*   127*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   130*/                OPC_CheckChild0Same, 1,
/*   132*/                OPC_CheckChild1Integer, 8, 
/*   134*/                OPC_CheckChild1Type, MVT::i64,
/*   136*/                OPC_MoveParent,
/*   137*/                OPC_MoveParent,
/*   138*/                OPC_CheckChild1Integer, 0, 
/*   140*/                OPC_CheckChild1Type, MVT::i64,
/*   142*/                OPC_MoveParent,
/*   143*/                OPC_MoveParent,
/*   144*/                OPC_MoveParent,
/*   145*/                OPC_MoveChild1,
/*   146*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*   149*/                OPC_MoveChild0,
/*   150*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   153*/                OPC_MoveChild0,
/*   154*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   157*/                OPC_MoveChild0,
/*   158*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   161*/                OPC_MoveChild0,
/*   162*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   165*/                OPC_CheckChild0Same, 0,
/*   167*/                OPC_Scope, 7|128,1/*135*/, /*->305*/ // 2 children in Scope
/*   170*/                  OPC_CheckChild1Integer, 0, 
/*   172*/                  OPC_CheckChild1Type, MVT::i64,
/*   174*/                  OPC_MoveParent,
/*   175*/                  OPC_MoveParent,
/*   176*/                  OPC_CheckChild1Integer, 4, 
/*   178*/                  OPC_CheckChild1Type, MVT::i64,
/*   180*/                  OPC_CheckType, MVT::v4i16,
/*   182*/                  OPC_MoveParent,
/*   183*/                  OPC_MoveChild1,
/*   184*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   187*/                  OPC_MoveChild0,
/*   188*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   191*/                  OPC_MoveChild0,
/*   192*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   195*/                  OPC_CheckChild0Same, 1,
/*   197*/                  OPC_CheckChild1Integer, 0, 
/*   199*/                  OPC_CheckChild1Type, MVT::i64,
/*   201*/                  OPC_MoveParent,
/*   202*/                  OPC_MoveParent,
/*   203*/                  OPC_CheckChild1Integer, 4, 
/*   205*/                  OPC_CheckChild1Type, MVT::i64,
/*   207*/                  OPC_MoveParent,
/*   208*/                  OPC_MoveParent,
/*   209*/                  OPC_MoveChild1,
/*   210*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   213*/                  OPC_MoveChild0,
/*   214*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   217*/                  OPC_MoveChild0,
/*   218*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   221*/                  OPC_MoveChild0,
/*   222*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   225*/                  OPC_CheckChild0Same, 0,
/*   227*/                  OPC_CheckChild1Integer, 8, 
/*   229*/                  OPC_CheckChild1Type, MVT::i64,
/*   231*/                  OPC_MoveParent,
/*   232*/                  OPC_MoveParent,
/*   233*/                  OPC_CheckChild1Integer, 4, 
/*   235*/                  OPC_CheckChild1Type, MVT::i64,
/*   237*/                  OPC_CheckType, MVT::v4i16,
/*   239*/                  OPC_MoveParent,
/*   240*/                  OPC_MoveChild1,
/*   241*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   244*/                  OPC_MoveChild0,
/*   245*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   248*/                  OPC_MoveChild0,
/*   249*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   252*/                  OPC_CheckChild0Same, 1,
/*   254*/                  OPC_CheckChild1Integer, 8, 
/*   256*/                  OPC_CheckChild1Type, MVT::i64,
/*   258*/                  OPC_MoveParent,
/*   259*/                  OPC_MoveParent,
/*   260*/                  OPC_CheckChild1Integer, 4, 
/*   262*/                  OPC_CheckChild1Type, MVT::i64,
/*   264*/                  OPC_MoveParent,
/*   265*/                  OPC_MoveParent,
/*   266*/                  OPC_MoveParent,
/*   267*/                  OPC_MoveParent,
/*   268*/                  OPC_CheckType, MVT::v4i32,
/*   270*/                  OPC_MoveParent,
/*   271*/                  OPC_CheckChild1Integer, 0, 
/*   273*/                  OPC_CheckChild1Type, MVT::i64,
/*   275*/                  OPC_CheckType, MVT::i32,
/*   277*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*   279*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*   282*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*   289*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*   298*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (SDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*   305*/                /*Scope*/ 7|128,1/*135*/, /*->442*/
/*   307*/                  OPC_CheckChild1Integer, 8, 
/*   309*/                  OPC_CheckChild1Type, MVT::i64,
/*   311*/                  OPC_MoveParent,
/*   312*/                  OPC_MoveParent,
/*   313*/                  OPC_CheckChild1Integer, 4, 
/*   315*/                  OPC_CheckChild1Type, MVT::i64,
/*   317*/                  OPC_CheckType, MVT::v4i16,
/*   319*/                  OPC_MoveParent,
/*   320*/                  OPC_MoveChild1,
/*   321*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   324*/                  OPC_MoveChild0,
/*   325*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   328*/                  OPC_MoveChild0,
/*   329*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   332*/                  OPC_CheckChild0Same, 1,
/*   334*/                  OPC_CheckChild1Integer, 8, 
/*   336*/                  OPC_CheckChild1Type, MVT::i64,
/*   338*/                  OPC_MoveParent,
/*   339*/                  OPC_MoveParent,
/*   340*/                  OPC_CheckChild1Integer, 4, 
/*   342*/                  OPC_CheckChild1Type, MVT::i64,
/*   344*/                  OPC_MoveParent,
/*   345*/                  OPC_MoveParent,
/*   346*/                  OPC_MoveChild1,
/*   347*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   350*/                  OPC_MoveChild0,
/*   351*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   354*/                  OPC_MoveChild0,
/*   355*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   358*/                  OPC_MoveChild0,
/*   359*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   362*/                  OPC_CheckChild0Same, 0,
/*   364*/                  OPC_CheckChild1Integer, 0, 
/*   366*/                  OPC_CheckChild1Type, MVT::i64,
/*   368*/                  OPC_MoveParent,
/*   369*/                  OPC_MoveParent,
/*   370*/                  OPC_CheckChild1Integer, 4, 
/*   372*/                  OPC_CheckChild1Type, MVT::i64,
/*   374*/                  OPC_CheckType, MVT::v4i16,
/*   376*/                  OPC_MoveParent,
/*   377*/                  OPC_MoveChild1,
/*   378*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   381*/                  OPC_MoveChild0,
/*   382*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   385*/                  OPC_MoveChild0,
/*   386*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   389*/                  OPC_CheckChild0Same, 1,
/*   391*/                  OPC_CheckChild1Integer, 0, 
/*   393*/                  OPC_CheckChild1Type, MVT::i64,
/*   395*/                  OPC_MoveParent,
/*   396*/                  OPC_MoveParent,
/*   397*/                  OPC_CheckChild1Integer, 4, 
/*   399*/                  OPC_CheckChild1Type, MVT::i64,
/*   401*/                  OPC_MoveParent,
/*   402*/                  OPC_MoveParent,
/*   403*/                  OPC_MoveParent,
/*   404*/                  OPC_MoveParent,
/*   405*/                  OPC_CheckType, MVT::v4i32,
/*   407*/                  OPC_MoveParent,
/*   408*/                  OPC_CheckChild1Integer, 0, 
/*   410*/                  OPC_CheckChild1Type, MVT::i64,
/*   412*/                  OPC_CheckType, MVT::i32,
/*   414*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*   416*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*   419*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*   426*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*   435*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (SDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*   442*/                0, /*End of Scope*/
/*   443*/              /*Scope*/ 2|128,3/*386*/, /*->831*/
/*   445*/                OPC_CheckChild1Integer, 4, 
/*   447*/                OPC_CheckChild1Type, MVT::i64,
/*   449*/                OPC_MoveParent,
/*   450*/                OPC_MoveChild1,
/*   451*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   454*/                OPC_MoveChild0,
/*   455*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   458*/                OPC_MoveChild0,
/*   459*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   462*/                OPC_RecordChild0, // #1 = $Vn
/*   463*/                OPC_CheckChild1Integer, 0, 
/*   465*/                OPC_CheckChild1Type, MVT::i64,
/*   467*/                OPC_MoveParent,
/*   468*/                OPC_MoveParent,
/*   469*/                OPC_CheckChild1Integer, 4, 
/*   471*/                OPC_CheckChild1Type, MVT::i64,
/*   473*/                OPC_MoveParent,
/*   474*/                OPC_MoveParent,
/*   475*/                OPC_MoveChild1,
/*   476*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   479*/                OPC_MoveChild0,
/*   480*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   483*/                OPC_MoveChild0,
/*   484*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   487*/                OPC_MoveChild0,
/*   488*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   491*/                OPC_CheckChild0Same, 0,
/*   493*/                OPC_CheckChild1Integer, 8, 
/*   495*/                OPC_CheckChild1Type, MVT::i64,
/*   497*/                OPC_MoveParent,
/*   498*/                OPC_MoveParent,
/*   499*/                OPC_CheckChild1Integer, 4, 
/*   501*/                OPC_CheckChild1Type, MVT::i64,
/*   503*/                OPC_CheckType, MVT::v4i16,
/*   505*/                OPC_MoveParent,
/*   506*/                OPC_MoveChild1,
/*   507*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   510*/                OPC_MoveChild0,
/*   511*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   514*/                OPC_MoveChild0,
/*   515*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   518*/                OPC_CheckChild0Same, 1,
/*   520*/                OPC_CheckChild1Integer, 8, 
/*   522*/                OPC_CheckChild1Type, MVT::i64,
/*   524*/                OPC_MoveParent,
/*   525*/                OPC_MoveParent,
/*   526*/                OPC_CheckChild1Integer, 4, 
/*   528*/                OPC_CheckChild1Type, MVT::i64,
/*   530*/                OPC_MoveParent,
/*   531*/                OPC_MoveParent,
/*   532*/                OPC_MoveParent,
/*   533*/                OPC_MoveChild1,
/*   534*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*   537*/                OPC_MoveChild0,
/*   538*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   541*/                OPC_MoveChild0,
/*   542*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   545*/                OPC_MoveChild0,
/*   546*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   549*/                OPC_MoveChild0,
/*   550*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   553*/                OPC_CheckChild0Same, 0,
/*   555*/                OPC_Scope, 7|128,1/*135*/, /*->693*/ // 2 children in Scope
/*   558*/                  OPC_CheckChild1Integer, 0, 
/*   560*/                  OPC_CheckChild1Type, MVT::i64,
/*   562*/                  OPC_MoveParent,
/*   563*/                  OPC_MoveParent,
/*   564*/                  OPC_CheckChild1Integer, 0, 
/*   566*/                  OPC_CheckChild1Type, MVT::i64,
/*   568*/                  OPC_CheckType, MVT::v4i16,
/*   570*/                  OPC_MoveParent,
/*   571*/                  OPC_MoveChild1,
/*   572*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   575*/                  OPC_MoveChild0,
/*   576*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   579*/                  OPC_MoveChild0,
/*   580*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   583*/                  OPC_CheckChild0Same, 1,
/*   585*/                  OPC_CheckChild1Integer, 0, 
/*   587*/                  OPC_CheckChild1Type, MVT::i64,
/*   589*/                  OPC_MoveParent,
/*   590*/                  OPC_MoveParent,
/*   591*/                  OPC_CheckChild1Integer, 0, 
/*   593*/                  OPC_CheckChild1Type, MVT::i64,
/*   595*/                  OPC_MoveParent,
/*   596*/                  OPC_MoveParent,
/*   597*/                  OPC_MoveChild1,
/*   598*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   601*/                  OPC_MoveChild0,
/*   602*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   605*/                  OPC_MoveChild0,
/*   606*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   609*/                  OPC_MoveChild0,
/*   610*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   613*/                  OPC_CheckChild0Same, 0,
/*   615*/                  OPC_CheckChild1Integer, 8, 
/*   617*/                  OPC_CheckChild1Type, MVT::i64,
/*   619*/                  OPC_MoveParent,
/*   620*/                  OPC_MoveParent,
/*   621*/                  OPC_CheckChild1Integer, 0, 
/*   623*/                  OPC_CheckChild1Type, MVT::i64,
/*   625*/                  OPC_CheckType, MVT::v4i16,
/*   627*/                  OPC_MoveParent,
/*   628*/                  OPC_MoveChild1,
/*   629*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   632*/                  OPC_MoveChild0,
/*   633*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   636*/                  OPC_MoveChild0,
/*   637*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   640*/                  OPC_CheckChild0Same, 1,
/*   642*/                  OPC_CheckChild1Integer, 8, 
/*   644*/                  OPC_CheckChild1Type, MVT::i64,
/*   646*/                  OPC_MoveParent,
/*   647*/                  OPC_MoveParent,
/*   648*/                  OPC_CheckChild1Integer, 0, 
/*   650*/                  OPC_CheckChild1Type, MVT::i64,
/*   652*/                  OPC_MoveParent,
/*   653*/                  OPC_MoveParent,
/*   654*/                  OPC_MoveParent,
/*   655*/                  OPC_MoveParent,
/*   656*/                  OPC_CheckType, MVT::v4i32,
/*   658*/                  OPC_MoveParent,
/*   659*/                  OPC_CheckChild1Integer, 0, 
/*   661*/                  OPC_CheckChild1Type, MVT::i64,
/*   663*/                  OPC_CheckType, MVT::i32,
/*   665*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*   667*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*   670*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*   677*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*   686*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (SDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*   693*/                /*Scope*/ 7|128,1/*135*/, /*->830*/
/*   695*/                  OPC_CheckChild1Integer, 8, 
/*   697*/                  OPC_CheckChild1Type, MVT::i64,
/*   699*/                  OPC_MoveParent,
/*   700*/                  OPC_MoveParent,
/*   701*/                  OPC_CheckChild1Integer, 0, 
/*   703*/                  OPC_CheckChild1Type, MVT::i64,
/*   705*/                  OPC_CheckType, MVT::v4i16,
/*   707*/                  OPC_MoveParent,
/*   708*/                  OPC_MoveChild1,
/*   709*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   712*/                  OPC_MoveChild0,
/*   713*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   716*/                  OPC_MoveChild0,
/*   717*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   720*/                  OPC_CheckChild0Same, 1,
/*   722*/                  OPC_CheckChild1Integer, 8, 
/*   724*/                  OPC_CheckChild1Type, MVT::i64,
/*   726*/                  OPC_MoveParent,
/*   727*/                  OPC_MoveParent,
/*   728*/                  OPC_CheckChild1Integer, 0, 
/*   730*/                  OPC_CheckChild1Type, MVT::i64,
/*   732*/                  OPC_MoveParent,
/*   733*/                  OPC_MoveParent,
/*   734*/                  OPC_MoveChild1,
/*   735*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   738*/                  OPC_MoveChild0,
/*   739*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   742*/                  OPC_MoveChild0,
/*   743*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   746*/                  OPC_MoveChild0,
/*   747*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   750*/                  OPC_CheckChild0Same, 0,
/*   752*/                  OPC_CheckChild1Integer, 0, 
/*   754*/                  OPC_CheckChild1Type, MVT::i64,
/*   756*/                  OPC_MoveParent,
/*   757*/                  OPC_MoveParent,
/*   758*/                  OPC_CheckChild1Integer, 0, 
/*   760*/                  OPC_CheckChild1Type, MVT::i64,
/*   762*/                  OPC_CheckType, MVT::v4i16,
/*   764*/                  OPC_MoveParent,
/*   765*/                  OPC_MoveChild1,
/*   766*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   769*/                  OPC_MoveChild0,
/*   770*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   773*/                  OPC_MoveChild0,
/*   774*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   777*/                  OPC_CheckChild0Same, 1,
/*   779*/                  OPC_CheckChild1Integer, 0, 
/*   781*/                  OPC_CheckChild1Type, MVT::i64,
/*   783*/                  OPC_MoveParent,
/*   784*/                  OPC_MoveParent,
/*   785*/                  OPC_CheckChild1Integer, 0, 
/*   787*/                  OPC_CheckChild1Type, MVT::i64,
/*   789*/                  OPC_MoveParent,
/*   790*/                  OPC_MoveParent,
/*   791*/                  OPC_MoveParent,
/*   792*/                  OPC_MoveParent,
/*   793*/                  OPC_CheckType, MVT::v4i32,
/*   795*/                  OPC_MoveParent,
/*   796*/                  OPC_CheckChild1Integer, 0, 
/*   798*/                  OPC_CheckChild1Type, MVT::i64,
/*   800*/                  OPC_CheckType, MVT::i32,
/*   802*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*   804*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*   807*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*   814*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*   823*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (SDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*   830*/                0, /*End of Scope*/
/*   831*/              0, /*End of Scope*/
/*   832*/            /*Scope*/ 18|128,6/*786*/, /*->1620*/
/*   834*/              OPC_CheckChild1Integer, 8, 
/*   836*/              OPC_CheckChild1Type, MVT::i64,
/*   838*/              OPC_MoveParent,
/*   839*/              OPC_MoveParent,
/*   840*/              OPC_CheckType, MVT::v4i16,
/*   842*/              OPC_Scope, 2|128,3/*386*/, /*->1231*/ // 2 children in Scope
/*   845*/                OPC_CheckChild1Integer, 0, 
/*   847*/                OPC_CheckChild1Type, MVT::i64,
/*   849*/                OPC_MoveParent,
/*   850*/                OPC_MoveChild1,
/*   851*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   854*/                OPC_MoveChild0,
/*   855*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   858*/                OPC_MoveChild0,
/*   859*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   862*/                OPC_RecordChild0, // #1 = $Vn
/*   863*/                OPC_CheckChild1Integer, 8, 
/*   865*/                OPC_CheckChild1Type, MVT::i64,
/*   867*/                OPC_MoveParent,
/*   868*/                OPC_MoveParent,
/*   869*/                OPC_CheckChild1Integer, 0, 
/*   871*/                OPC_CheckChild1Type, MVT::i64,
/*   873*/                OPC_MoveParent,
/*   874*/                OPC_MoveParent,
/*   875*/                OPC_MoveChild1,
/*   876*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   879*/                OPC_MoveChild0,
/*   880*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   883*/                OPC_MoveChild0,
/*   884*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   887*/                OPC_MoveChild0,
/*   888*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   891*/                OPC_CheckChild0Same, 0,
/*   893*/                OPC_CheckChild1Integer, 0, 
/*   895*/                OPC_CheckChild1Type, MVT::i64,
/*   897*/                OPC_MoveParent,
/*   898*/                OPC_MoveParent,
/*   899*/                OPC_CheckChild1Integer, 0, 
/*   901*/                OPC_CheckChild1Type, MVT::i64,
/*   903*/                OPC_CheckType, MVT::v4i16,
/*   905*/                OPC_MoveParent,
/*   906*/                OPC_MoveChild1,
/*   907*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   910*/                OPC_MoveChild0,
/*   911*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   914*/                OPC_MoveChild0,
/*   915*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   918*/                OPC_CheckChild0Same, 1,
/*   920*/                OPC_CheckChild1Integer, 0, 
/*   922*/                OPC_CheckChild1Type, MVT::i64,
/*   924*/                OPC_MoveParent,
/*   925*/                OPC_MoveParent,
/*   926*/                OPC_CheckChild1Integer, 0, 
/*   928*/                OPC_CheckChild1Type, MVT::i64,
/*   930*/                OPC_MoveParent,
/*   931*/                OPC_MoveParent,
/*   932*/                OPC_MoveParent,
/*   933*/                OPC_MoveChild1,
/*   934*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*   937*/                OPC_MoveChild0,
/*   938*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*   941*/                OPC_MoveChild0,
/*   942*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   945*/                OPC_MoveChild0,
/*   946*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   949*/                OPC_MoveChild0,
/*   950*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   953*/                OPC_CheckChild0Same, 0,
/*   955*/                OPC_Scope, 7|128,1/*135*/, /*->1093*/ // 2 children in Scope
/*   958*/                  OPC_CheckChild1Integer, 0, 
/*   960*/                  OPC_CheckChild1Type, MVT::i64,
/*   962*/                  OPC_MoveParent,
/*   963*/                  OPC_MoveParent,
/*   964*/                  OPC_CheckChild1Integer, 4, 
/*   966*/                  OPC_CheckChild1Type, MVT::i64,
/*   968*/                  OPC_CheckType, MVT::v4i16,
/*   970*/                  OPC_MoveParent,
/*   971*/                  OPC_MoveChild1,
/*   972*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   975*/                  OPC_MoveChild0,
/*   976*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*   979*/                  OPC_MoveChild0,
/*   980*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*   983*/                  OPC_CheckChild0Same, 1,
/*   985*/                  OPC_CheckChild1Integer, 0, 
/*   987*/                  OPC_CheckChild1Type, MVT::i64,
/*   989*/                  OPC_MoveParent,
/*   990*/                  OPC_MoveParent,
/*   991*/                  OPC_CheckChild1Integer, 4, 
/*   993*/                  OPC_CheckChild1Type, MVT::i64,
/*   995*/                  OPC_MoveParent,
/*   996*/                  OPC_MoveParent,
/*   997*/                  OPC_MoveChild1,
/*   998*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*  1001*/                  OPC_MoveChild0,
/*  1002*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1005*/                  OPC_MoveChild0,
/*  1006*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1009*/                  OPC_MoveChild0,
/*  1010*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1013*/                  OPC_CheckChild0Same, 0,
/*  1015*/                  OPC_CheckChild1Integer, 8, 
/*  1017*/                  OPC_CheckChild1Type, MVT::i64,
/*  1019*/                  OPC_MoveParent,
/*  1020*/                  OPC_MoveParent,
/*  1021*/                  OPC_CheckChild1Integer, 4, 
/*  1023*/                  OPC_CheckChild1Type, MVT::i64,
/*  1025*/                  OPC_CheckType, MVT::v4i16,
/*  1027*/                  OPC_MoveParent,
/*  1028*/                  OPC_MoveChild1,
/*  1029*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1032*/                  OPC_MoveChild0,
/*  1033*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1036*/                  OPC_MoveChild0,
/*  1037*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1040*/                  OPC_CheckChild0Same, 1,
/*  1042*/                  OPC_CheckChild1Integer, 8, 
/*  1044*/                  OPC_CheckChild1Type, MVT::i64,
/*  1046*/                  OPC_MoveParent,
/*  1047*/                  OPC_MoveParent,
/*  1048*/                  OPC_CheckChild1Integer, 4, 
/*  1050*/                  OPC_CheckChild1Type, MVT::i64,
/*  1052*/                  OPC_MoveParent,
/*  1053*/                  OPC_MoveParent,
/*  1054*/                  OPC_MoveParent,
/*  1055*/                  OPC_MoveParent,
/*  1056*/                  OPC_CheckType, MVT::v4i32,
/*  1058*/                  OPC_MoveParent,
/*  1059*/                  OPC_CheckChild1Integer, 0, 
/*  1061*/                  OPC_CheckChild1Type, MVT::i64,
/*  1063*/                  OPC_CheckType, MVT::i32,
/*  1065*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  1067*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  1070*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  1077*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  1086*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (SDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  1093*/                /*Scope*/ 7|128,1/*135*/, /*->1230*/
/*  1095*/                  OPC_CheckChild1Integer, 8, 
/*  1097*/                  OPC_CheckChild1Type, MVT::i64,
/*  1099*/                  OPC_MoveParent,
/*  1100*/                  OPC_MoveParent,
/*  1101*/                  OPC_CheckChild1Integer, 4, 
/*  1103*/                  OPC_CheckChild1Type, MVT::i64,
/*  1105*/                  OPC_CheckType, MVT::v4i16,
/*  1107*/                  OPC_MoveParent,
/*  1108*/                  OPC_MoveChild1,
/*  1109*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1112*/                  OPC_MoveChild0,
/*  1113*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1116*/                  OPC_MoveChild0,
/*  1117*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1120*/                  OPC_CheckChild0Same, 1,
/*  1122*/                  OPC_CheckChild1Integer, 8, 
/*  1124*/                  OPC_CheckChild1Type, MVT::i64,
/*  1126*/                  OPC_MoveParent,
/*  1127*/                  OPC_MoveParent,
/*  1128*/                  OPC_CheckChild1Integer, 4, 
/*  1130*/                  OPC_CheckChild1Type, MVT::i64,
/*  1132*/                  OPC_MoveParent,
/*  1133*/                  OPC_MoveParent,
/*  1134*/                  OPC_MoveChild1,
/*  1135*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*  1138*/                  OPC_MoveChild0,
/*  1139*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1142*/                  OPC_MoveChild0,
/*  1143*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1146*/                  OPC_MoveChild0,
/*  1147*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1150*/                  OPC_CheckChild0Same, 0,
/*  1152*/                  OPC_CheckChild1Integer, 0, 
/*  1154*/                  OPC_CheckChild1Type, MVT::i64,
/*  1156*/                  OPC_MoveParent,
/*  1157*/                  OPC_MoveParent,
/*  1158*/                  OPC_CheckChild1Integer, 4, 
/*  1160*/                  OPC_CheckChild1Type, MVT::i64,
/*  1162*/                  OPC_CheckType, MVT::v4i16,
/*  1164*/                  OPC_MoveParent,
/*  1165*/                  OPC_MoveChild1,
/*  1166*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1169*/                  OPC_MoveChild0,
/*  1170*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1173*/                  OPC_MoveChild0,
/*  1174*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1177*/                  OPC_CheckChild0Same, 1,
/*  1179*/                  OPC_CheckChild1Integer, 0, 
/*  1181*/                  OPC_CheckChild1Type, MVT::i64,
/*  1183*/                  OPC_MoveParent,
/*  1184*/                  OPC_MoveParent,
/*  1185*/                  OPC_CheckChild1Integer, 4, 
/*  1187*/                  OPC_CheckChild1Type, MVT::i64,
/*  1189*/                  OPC_MoveParent,
/*  1190*/                  OPC_MoveParent,
/*  1191*/                  OPC_MoveParent,
/*  1192*/                  OPC_MoveParent,
/*  1193*/                  OPC_CheckType, MVT::v4i32,
/*  1195*/                  OPC_MoveParent,
/*  1196*/                  OPC_CheckChild1Integer, 0, 
/*  1198*/                  OPC_CheckChild1Type, MVT::i64,
/*  1200*/                  OPC_CheckType, MVT::i32,
/*  1202*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  1204*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  1207*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  1214*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  1223*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (SDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  1230*/                0, /*End of Scope*/
/*  1231*/              /*Scope*/ 2|128,3/*386*/, /*->1619*/
/*  1233*/                OPC_CheckChild1Integer, 4, 
/*  1235*/                OPC_CheckChild1Type, MVT::i64,
/*  1237*/                OPC_MoveParent,
/*  1238*/                OPC_MoveChild1,
/*  1239*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1242*/                OPC_MoveChild0,
/*  1243*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1246*/                OPC_MoveChild0,
/*  1247*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1250*/                OPC_RecordChild0, // #1 = $Vn
/*  1251*/                OPC_CheckChild1Integer, 8, 
/*  1253*/                OPC_CheckChild1Type, MVT::i64,
/*  1255*/                OPC_MoveParent,
/*  1256*/                OPC_MoveParent,
/*  1257*/                OPC_CheckChild1Integer, 4, 
/*  1259*/                OPC_CheckChild1Type, MVT::i64,
/*  1261*/                OPC_MoveParent,
/*  1262*/                OPC_MoveParent,
/*  1263*/                OPC_MoveChild1,
/*  1264*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*  1267*/                OPC_MoveChild0,
/*  1268*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1271*/                OPC_MoveChild0,
/*  1272*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1275*/                OPC_MoveChild0,
/*  1276*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1279*/                OPC_CheckChild0Same, 0,
/*  1281*/                OPC_CheckChild1Integer, 0, 
/*  1283*/                OPC_CheckChild1Type, MVT::i64,
/*  1285*/                OPC_MoveParent,
/*  1286*/                OPC_MoveParent,
/*  1287*/                OPC_CheckChild1Integer, 4, 
/*  1289*/                OPC_CheckChild1Type, MVT::i64,
/*  1291*/                OPC_CheckType, MVT::v4i16,
/*  1293*/                OPC_MoveParent,
/*  1294*/                OPC_MoveChild1,
/*  1295*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1298*/                OPC_MoveChild0,
/*  1299*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1302*/                OPC_MoveChild0,
/*  1303*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1306*/                OPC_CheckChild0Same, 1,
/*  1308*/                OPC_CheckChild1Integer, 0, 
/*  1310*/                OPC_CheckChild1Type, MVT::i64,
/*  1312*/                OPC_MoveParent,
/*  1313*/                OPC_MoveParent,
/*  1314*/                OPC_CheckChild1Integer, 4, 
/*  1316*/                OPC_CheckChild1Type, MVT::i64,
/*  1318*/                OPC_MoveParent,
/*  1319*/                OPC_MoveParent,
/*  1320*/                OPC_MoveParent,
/*  1321*/                OPC_MoveChild1,
/*  1322*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  1325*/                OPC_MoveChild0,
/*  1326*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*  1329*/                OPC_MoveChild0,
/*  1330*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1333*/                OPC_MoveChild0,
/*  1334*/                OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1337*/                OPC_MoveChild0,
/*  1338*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1341*/                OPC_CheckChild0Same, 0,
/*  1343*/                OPC_Scope, 7|128,1/*135*/, /*->1481*/ // 2 children in Scope
/*  1346*/                  OPC_CheckChild1Integer, 0, 
/*  1348*/                  OPC_CheckChild1Type, MVT::i64,
/*  1350*/                  OPC_MoveParent,
/*  1351*/                  OPC_MoveParent,
/*  1352*/                  OPC_CheckChild1Integer, 0, 
/*  1354*/                  OPC_CheckChild1Type, MVT::i64,
/*  1356*/                  OPC_CheckType, MVT::v4i16,
/*  1358*/                  OPC_MoveParent,
/*  1359*/                  OPC_MoveChild1,
/*  1360*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1363*/                  OPC_MoveChild0,
/*  1364*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1367*/                  OPC_MoveChild0,
/*  1368*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1371*/                  OPC_CheckChild0Same, 1,
/*  1373*/                  OPC_CheckChild1Integer, 0, 
/*  1375*/                  OPC_CheckChild1Type, MVT::i64,
/*  1377*/                  OPC_MoveParent,
/*  1378*/                  OPC_MoveParent,
/*  1379*/                  OPC_CheckChild1Integer, 0, 
/*  1381*/                  OPC_CheckChild1Type, MVT::i64,
/*  1383*/                  OPC_MoveParent,
/*  1384*/                  OPC_MoveParent,
/*  1385*/                  OPC_MoveChild1,
/*  1386*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*  1389*/                  OPC_MoveChild0,
/*  1390*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1393*/                  OPC_MoveChild0,
/*  1394*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1397*/                  OPC_MoveChild0,
/*  1398*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1401*/                  OPC_CheckChild0Same, 0,
/*  1403*/                  OPC_CheckChild1Integer, 8, 
/*  1405*/                  OPC_CheckChild1Type, MVT::i64,
/*  1407*/                  OPC_MoveParent,
/*  1408*/                  OPC_MoveParent,
/*  1409*/                  OPC_CheckChild1Integer, 0, 
/*  1411*/                  OPC_CheckChild1Type, MVT::i64,
/*  1413*/                  OPC_CheckType, MVT::v4i16,
/*  1415*/                  OPC_MoveParent,
/*  1416*/                  OPC_MoveChild1,
/*  1417*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1420*/                  OPC_MoveChild0,
/*  1421*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1424*/                  OPC_MoveChild0,
/*  1425*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1428*/                  OPC_CheckChild0Same, 1,
/*  1430*/                  OPC_CheckChild1Integer, 8, 
/*  1432*/                  OPC_CheckChild1Type, MVT::i64,
/*  1434*/                  OPC_MoveParent,
/*  1435*/                  OPC_MoveParent,
/*  1436*/                  OPC_CheckChild1Integer, 0, 
/*  1438*/                  OPC_CheckChild1Type, MVT::i64,
/*  1440*/                  OPC_MoveParent,
/*  1441*/                  OPC_MoveParent,
/*  1442*/                  OPC_MoveParent,
/*  1443*/                  OPC_MoveParent,
/*  1444*/                  OPC_CheckType, MVT::v4i32,
/*  1446*/                  OPC_MoveParent,
/*  1447*/                  OPC_CheckChild1Integer, 0, 
/*  1449*/                  OPC_CheckChild1Type, MVT::i64,
/*  1451*/                  OPC_CheckType, MVT::i32,
/*  1453*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  1455*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  1458*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  1465*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  1474*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (SDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  1481*/                /*Scope*/ 7|128,1/*135*/, /*->1618*/
/*  1483*/                  OPC_CheckChild1Integer, 8, 
/*  1485*/                  OPC_CheckChild1Type, MVT::i64,
/*  1487*/                  OPC_MoveParent,
/*  1488*/                  OPC_MoveParent,
/*  1489*/                  OPC_CheckChild1Integer, 0, 
/*  1491*/                  OPC_CheckChild1Type, MVT::i64,
/*  1493*/                  OPC_CheckType, MVT::v4i16,
/*  1495*/                  OPC_MoveParent,
/*  1496*/                  OPC_MoveChild1,
/*  1497*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1500*/                  OPC_MoveChild0,
/*  1501*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1504*/                  OPC_MoveChild0,
/*  1505*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1508*/                  OPC_CheckChild0Same, 1,
/*  1510*/                  OPC_CheckChild1Integer, 8, 
/*  1512*/                  OPC_CheckChild1Type, MVT::i64,
/*  1514*/                  OPC_MoveParent,
/*  1515*/                  OPC_MoveParent,
/*  1516*/                  OPC_CheckChild1Integer, 0, 
/*  1518*/                  OPC_CheckChild1Type, MVT::i64,
/*  1520*/                  OPC_MoveParent,
/*  1521*/                  OPC_MoveParent,
/*  1522*/                  OPC_MoveChild1,
/*  1523*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*  1526*/                  OPC_MoveChild0,
/*  1527*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1530*/                  OPC_MoveChild0,
/*  1531*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1534*/                  OPC_MoveChild0,
/*  1535*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1538*/                  OPC_CheckChild0Same, 0,
/*  1540*/                  OPC_CheckChild1Integer, 0, 
/*  1542*/                  OPC_CheckChild1Type, MVT::i64,
/*  1544*/                  OPC_MoveParent,
/*  1545*/                  OPC_MoveParent,
/*  1546*/                  OPC_CheckChild1Integer, 0, 
/*  1548*/                  OPC_CheckChild1Type, MVT::i64,
/*  1550*/                  OPC_CheckType, MVT::v4i16,
/*  1552*/                  OPC_MoveParent,
/*  1553*/                  OPC_MoveChild1,
/*  1554*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1557*/                  OPC_MoveChild0,
/*  1558*/                  OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  1561*/                  OPC_MoveChild0,
/*  1562*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1565*/                  OPC_CheckChild0Same, 1,
/*  1567*/                  OPC_CheckChild1Integer, 0, 
/*  1569*/                  OPC_CheckChild1Type, MVT::i64,
/*  1571*/                  OPC_MoveParent,
/*  1572*/                  OPC_MoveParent,
/*  1573*/                  OPC_CheckChild1Integer, 0, 
/*  1575*/                  OPC_CheckChild1Type, MVT::i64,
/*  1577*/                  OPC_MoveParent,
/*  1578*/                  OPC_MoveParent,
/*  1579*/                  OPC_MoveParent,
/*  1580*/                  OPC_MoveParent,
/*  1581*/                  OPC_CheckType, MVT::v4i32,
/*  1583*/                  OPC_MoveParent,
/*  1584*/                  OPC_CheckChild1Integer, 0, 
/*  1586*/                  OPC_CheckChild1Type, MVT::i64,
/*  1588*/                  OPC_CheckType, MVT::i32,
/*  1590*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  1592*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  1595*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  1602*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  1611*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (SDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  1618*/                0, /*End of Scope*/
/*  1619*/              0, /*End of Scope*/
/*  1620*/            0, /*End of Scope*/
/*  1621*/          /*SwitchOpcode*/ 55|128,12/*1591*/, TARGET_VAL(AArch64ISD::UMULL),// ->3216
/*  1625*/            OPC_MoveChild0,
/*  1626*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1629*/            OPC_MoveChild0,
/*  1630*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1633*/            OPC_MoveChild0,
/*  1634*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1637*/            OPC_RecordChild0, // #0 = $Vm
/*  1638*/            OPC_Scope, 18|128,6/*786*/, /*->2427*/ // 2 children in Scope
/*  1641*/              OPC_CheckChild1Integer, 0, 
/*  1643*/              OPC_CheckChild1Type, MVT::i64,
/*  1645*/              OPC_MoveParent,
/*  1646*/              OPC_MoveParent,
/*  1647*/              OPC_CheckType, MVT::v4i16,
/*  1649*/              OPC_Scope, 2|128,3/*386*/, /*->2038*/ // 2 children in Scope
/*  1652*/                OPC_CheckChild1Integer, 0, 
/*  1654*/                OPC_CheckChild1Type, MVT::i64,
/*  1656*/                OPC_MoveParent,
/*  1657*/                OPC_MoveChild1,
/*  1658*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1661*/                OPC_MoveChild0,
/*  1662*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1665*/                OPC_MoveChild0,
/*  1666*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1669*/                OPC_RecordChild0, // #1 = $Vn
/*  1670*/                OPC_CheckChild1Integer, 0, 
/*  1672*/                OPC_CheckChild1Type, MVT::i64,
/*  1674*/                OPC_MoveParent,
/*  1675*/                OPC_MoveParent,
/*  1676*/                OPC_CheckChild1Integer, 0, 
/*  1678*/                OPC_CheckChild1Type, MVT::i64,
/*  1680*/                OPC_MoveParent,
/*  1681*/                OPC_MoveParent,
/*  1682*/                OPC_MoveChild1,
/*  1683*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  1686*/                OPC_MoveChild0,
/*  1687*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1690*/                OPC_MoveChild0,
/*  1691*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1694*/                OPC_MoveChild0,
/*  1695*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1698*/                OPC_CheckChild0Same, 0,
/*  1700*/                OPC_CheckChild1Integer, 8, 
/*  1702*/                OPC_CheckChild1Type, MVT::i64,
/*  1704*/                OPC_MoveParent,
/*  1705*/                OPC_MoveParent,
/*  1706*/                OPC_CheckChild1Integer, 0, 
/*  1708*/                OPC_CheckChild1Type, MVT::i64,
/*  1710*/                OPC_CheckType, MVT::v4i16,
/*  1712*/                OPC_MoveParent,
/*  1713*/                OPC_MoveChild1,
/*  1714*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1717*/                OPC_MoveChild0,
/*  1718*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1721*/                OPC_MoveChild0,
/*  1722*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1725*/                OPC_CheckChild0Same, 1,
/*  1727*/                OPC_CheckChild1Integer, 8, 
/*  1729*/                OPC_CheckChild1Type, MVT::i64,
/*  1731*/                OPC_MoveParent,
/*  1732*/                OPC_MoveParent,
/*  1733*/                OPC_CheckChild1Integer, 0, 
/*  1735*/                OPC_CheckChild1Type, MVT::i64,
/*  1737*/                OPC_MoveParent,
/*  1738*/                OPC_MoveParent,
/*  1739*/                OPC_MoveParent,
/*  1740*/                OPC_MoveChild1,
/*  1741*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  1744*/                OPC_MoveChild0,
/*  1745*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  1748*/                OPC_MoveChild0,
/*  1749*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1752*/                OPC_MoveChild0,
/*  1753*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1756*/                OPC_MoveChild0,
/*  1757*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1760*/                OPC_CheckChild0Same, 0,
/*  1762*/                OPC_Scope, 7|128,1/*135*/, /*->1900*/ // 2 children in Scope
/*  1765*/                  OPC_CheckChild1Integer, 0, 
/*  1767*/                  OPC_CheckChild1Type, MVT::i64,
/*  1769*/                  OPC_MoveParent,
/*  1770*/                  OPC_MoveParent,
/*  1771*/                  OPC_CheckChild1Integer, 4, 
/*  1773*/                  OPC_CheckChild1Type, MVT::i64,
/*  1775*/                  OPC_CheckType, MVT::v4i16,
/*  1777*/                  OPC_MoveParent,
/*  1778*/                  OPC_MoveChild1,
/*  1779*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1782*/                  OPC_MoveChild0,
/*  1783*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1786*/                  OPC_MoveChild0,
/*  1787*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1790*/                  OPC_CheckChild0Same, 1,
/*  1792*/                  OPC_CheckChild1Integer, 0, 
/*  1794*/                  OPC_CheckChild1Type, MVT::i64,
/*  1796*/                  OPC_MoveParent,
/*  1797*/                  OPC_MoveParent,
/*  1798*/                  OPC_CheckChild1Integer, 4, 
/*  1800*/                  OPC_CheckChild1Type, MVT::i64,
/*  1802*/                  OPC_MoveParent,
/*  1803*/                  OPC_MoveParent,
/*  1804*/                  OPC_MoveChild1,
/*  1805*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  1808*/                  OPC_MoveChild0,
/*  1809*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1812*/                  OPC_MoveChild0,
/*  1813*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1816*/                  OPC_MoveChild0,
/*  1817*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1820*/                  OPC_CheckChild0Same, 0,
/*  1822*/                  OPC_CheckChild1Integer, 8, 
/*  1824*/                  OPC_CheckChild1Type, MVT::i64,
/*  1826*/                  OPC_MoveParent,
/*  1827*/                  OPC_MoveParent,
/*  1828*/                  OPC_CheckChild1Integer, 4, 
/*  1830*/                  OPC_CheckChild1Type, MVT::i64,
/*  1832*/                  OPC_CheckType, MVT::v4i16,
/*  1834*/                  OPC_MoveParent,
/*  1835*/                  OPC_MoveChild1,
/*  1836*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1839*/                  OPC_MoveChild0,
/*  1840*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1843*/                  OPC_MoveChild0,
/*  1844*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1847*/                  OPC_CheckChild0Same, 1,
/*  1849*/                  OPC_CheckChild1Integer, 8, 
/*  1851*/                  OPC_CheckChild1Type, MVT::i64,
/*  1853*/                  OPC_MoveParent,
/*  1854*/                  OPC_MoveParent,
/*  1855*/                  OPC_CheckChild1Integer, 4, 
/*  1857*/                  OPC_CheckChild1Type, MVT::i64,
/*  1859*/                  OPC_MoveParent,
/*  1860*/                  OPC_MoveParent,
/*  1861*/                  OPC_MoveParent,
/*  1862*/                  OPC_MoveParent,
/*  1863*/                  OPC_CheckType, MVT::v4i32,
/*  1865*/                  OPC_MoveParent,
/*  1866*/                  OPC_CheckChild1Integer, 0, 
/*  1868*/                  OPC_CheckChild1Type, MVT::i64,
/*  1870*/                  OPC_CheckType, MVT::i32,
/*  1872*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  1874*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  1877*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  1884*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  1893*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (UDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  1900*/                /*Scope*/ 7|128,1/*135*/, /*->2037*/
/*  1902*/                  OPC_CheckChild1Integer, 8, 
/*  1904*/                  OPC_CheckChild1Type, MVT::i64,
/*  1906*/                  OPC_MoveParent,
/*  1907*/                  OPC_MoveParent,
/*  1908*/                  OPC_CheckChild1Integer, 4, 
/*  1910*/                  OPC_CheckChild1Type, MVT::i64,
/*  1912*/                  OPC_CheckType, MVT::v4i16,
/*  1914*/                  OPC_MoveParent,
/*  1915*/                  OPC_MoveChild1,
/*  1916*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1919*/                  OPC_MoveChild0,
/*  1920*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1923*/                  OPC_MoveChild0,
/*  1924*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1927*/                  OPC_CheckChild0Same, 1,
/*  1929*/                  OPC_CheckChild1Integer, 8, 
/*  1931*/                  OPC_CheckChild1Type, MVT::i64,
/*  1933*/                  OPC_MoveParent,
/*  1934*/                  OPC_MoveParent,
/*  1935*/                  OPC_CheckChild1Integer, 4, 
/*  1937*/                  OPC_CheckChild1Type, MVT::i64,
/*  1939*/                  OPC_MoveParent,
/*  1940*/                  OPC_MoveParent,
/*  1941*/                  OPC_MoveChild1,
/*  1942*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  1945*/                  OPC_MoveChild0,
/*  1946*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1949*/                  OPC_MoveChild0,
/*  1950*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1953*/                  OPC_MoveChild0,
/*  1954*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1957*/                  OPC_CheckChild0Same, 0,
/*  1959*/                  OPC_CheckChild1Integer, 0, 
/*  1961*/                  OPC_CheckChild1Type, MVT::i64,
/*  1963*/                  OPC_MoveParent,
/*  1964*/                  OPC_MoveParent,
/*  1965*/                  OPC_CheckChild1Integer, 4, 
/*  1967*/                  OPC_CheckChild1Type, MVT::i64,
/*  1969*/                  OPC_CheckType, MVT::v4i16,
/*  1971*/                  OPC_MoveParent,
/*  1972*/                  OPC_MoveChild1,
/*  1973*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1976*/                  OPC_MoveChild0,
/*  1977*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  1980*/                  OPC_MoveChild0,
/*  1981*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  1984*/                  OPC_CheckChild0Same, 1,
/*  1986*/                  OPC_CheckChild1Integer, 0, 
/*  1988*/                  OPC_CheckChild1Type, MVT::i64,
/*  1990*/                  OPC_MoveParent,
/*  1991*/                  OPC_MoveParent,
/*  1992*/                  OPC_CheckChild1Integer, 4, 
/*  1994*/                  OPC_CheckChild1Type, MVT::i64,
/*  1996*/                  OPC_MoveParent,
/*  1997*/                  OPC_MoveParent,
/*  1998*/                  OPC_MoveParent,
/*  1999*/                  OPC_MoveParent,
/*  2000*/                  OPC_CheckType, MVT::v4i32,
/*  2002*/                  OPC_MoveParent,
/*  2003*/                  OPC_CheckChild1Integer, 0, 
/*  2005*/                  OPC_CheckChild1Type, MVT::i64,
/*  2007*/                  OPC_CheckType, MVT::i32,
/*  2009*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  2011*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  2014*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  2021*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  2030*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (UDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  2037*/                0, /*End of Scope*/
/*  2038*/              /*Scope*/ 2|128,3/*386*/, /*->2426*/
/*  2040*/                OPC_CheckChild1Integer, 4, 
/*  2042*/                OPC_CheckChild1Type, MVT::i64,
/*  2044*/                OPC_MoveParent,
/*  2045*/                OPC_MoveChild1,
/*  2046*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2049*/                OPC_MoveChild0,
/*  2050*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2053*/                OPC_MoveChild0,
/*  2054*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2057*/                OPC_RecordChild0, // #1 = $Vn
/*  2058*/                OPC_CheckChild1Integer, 0, 
/*  2060*/                OPC_CheckChild1Type, MVT::i64,
/*  2062*/                OPC_MoveParent,
/*  2063*/                OPC_MoveParent,
/*  2064*/                OPC_CheckChild1Integer, 4, 
/*  2066*/                OPC_CheckChild1Type, MVT::i64,
/*  2068*/                OPC_MoveParent,
/*  2069*/                OPC_MoveParent,
/*  2070*/                OPC_MoveChild1,
/*  2071*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2074*/                OPC_MoveChild0,
/*  2075*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2078*/                OPC_MoveChild0,
/*  2079*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2082*/                OPC_MoveChild0,
/*  2083*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2086*/                OPC_CheckChild0Same, 0,
/*  2088*/                OPC_CheckChild1Integer, 8, 
/*  2090*/                OPC_CheckChild1Type, MVT::i64,
/*  2092*/                OPC_MoveParent,
/*  2093*/                OPC_MoveParent,
/*  2094*/                OPC_CheckChild1Integer, 4, 
/*  2096*/                OPC_CheckChild1Type, MVT::i64,
/*  2098*/                OPC_CheckType, MVT::v4i16,
/*  2100*/                OPC_MoveParent,
/*  2101*/                OPC_MoveChild1,
/*  2102*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2105*/                OPC_MoveChild0,
/*  2106*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2109*/                OPC_MoveChild0,
/*  2110*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2113*/                OPC_CheckChild0Same, 1,
/*  2115*/                OPC_CheckChild1Integer, 8, 
/*  2117*/                OPC_CheckChild1Type, MVT::i64,
/*  2119*/                OPC_MoveParent,
/*  2120*/                OPC_MoveParent,
/*  2121*/                OPC_CheckChild1Integer, 4, 
/*  2123*/                OPC_CheckChild1Type, MVT::i64,
/*  2125*/                OPC_MoveParent,
/*  2126*/                OPC_MoveParent,
/*  2127*/                OPC_MoveParent,
/*  2128*/                OPC_MoveChild1,
/*  2129*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  2132*/                OPC_MoveChild0,
/*  2133*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2136*/                OPC_MoveChild0,
/*  2137*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2140*/                OPC_MoveChild0,
/*  2141*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2144*/                OPC_MoveChild0,
/*  2145*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2148*/                OPC_CheckChild0Same, 0,
/*  2150*/                OPC_Scope, 7|128,1/*135*/, /*->2288*/ // 2 children in Scope
/*  2153*/                  OPC_CheckChild1Integer, 0, 
/*  2155*/                  OPC_CheckChild1Type, MVT::i64,
/*  2157*/                  OPC_MoveParent,
/*  2158*/                  OPC_MoveParent,
/*  2159*/                  OPC_CheckChild1Integer, 0, 
/*  2161*/                  OPC_CheckChild1Type, MVT::i64,
/*  2163*/                  OPC_CheckType, MVT::v4i16,
/*  2165*/                  OPC_MoveParent,
/*  2166*/                  OPC_MoveChild1,
/*  2167*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2170*/                  OPC_MoveChild0,
/*  2171*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2174*/                  OPC_MoveChild0,
/*  2175*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2178*/                  OPC_CheckChild0Same, 1,
/*  2180*/                  OPC_CheckChild1Integer, 0, 
/*  2182*/                  OPC_CheckChild1Type, MVT::i64,
/*  2184*/                  OPC_MoveParent,
/*  2185*/                  OPC_MoveParent,
/*  2186*/                  OPC_CheckChild1Integer, 0, 
/*  2188*/                  OPC_CheckChild1Type, MVT::i64,
/*  2190*/                  OPC_MoveParent,
/*  2191*/                  OPC_MoveParent,
/*  2192*/                  OPC_MoveChild1,
/*  2193*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2196*/                  OPC_MoveChild0,
/*  2197*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2200*/                  OPC_MoveChild0,
/*  2201*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2204*/                  OPC_MoveChild0,
/*  2205*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2208*/                  OPC_CheckChild0Same, 0,
/*  2210*/                  OPC_CheckChild1Integer, 8, 
/*  2212*/                  OPC_CheckChild1Type, MVT::i64,
/*  2214*/                  OPC_MoveParent,
/*  2215*/                  OPC_MoveParent,
/*  2216*/                  OPC_CheckChild1Integer, 0, 
/*  2218*/                  OPC_CheckChild1Type, MVT::i64,
/*  2220*/                  OPC_CheckType, MVT::v4i16,
/*  2222*/                  OPC_MoveParent,
/*  2223*/                  OPC_MoveChild1,
/*  2224*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2227*/                  OPC_MoveChild0,
/*  2228*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2231*/                  OPC_MoveChild0,
/*  2232*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2235*/                  OPC_CheckChild0Same, 1,
/*  2237*/                  OPC_CheckChild1Integer, 8, 
/*  2239*/                  OPC_CheckChild1Type, MVT::i64,
/*  2241*/                  OPC_MoveParent,
/*  2242*/                  OPC_MoveParent,
/*  2243*/                  OPC_CheckChild1Integer, 0, 
/*  2245*/                  OPC_CheckChild1Type, MVT::i64,
/*  2247*/                  OPC_MoveParent,
/*  2248*/                  OPC_MoveParent,
/*  2249*/                  OPC_MoveParent,
/*  2250*/                  OPC_MoveParent,
/*  2251*/                  OPC_CheckType, MVT::v4i32,
/*  2253*/                  OPC_MoveParent,
/*  2254*/                  OPC_CheckChild1Integer, 0, 
/*  2256*/                  OPC_CheckChild1Type, MVT::i64,
/*  2258*/                  OPC_CheckType, MVT::i32,
/*  2260*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  2262*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  2265*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  2272*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  2281*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (UDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  2288*/                /*Scope*/ 7|128,1/*135*/, /*->2425*/
/*  2290*/                  OPC_CheckChild1Integer, 8, 
/*  2292*/                  OPC_CheckChild1Type, MVT::i64,
/*  2294*/                  OPC_MoveParent,
/*  2295*/                  OPC_MoveParent,
/*  2296*/                  OPC_CheckChild1Integer, 0, 
/*  2298*/                  OPC_CheckChild1Type, MVT::i64,
/*  2300*/                  OPC_CheckType, MVT::v4i16,
/*  2302*/                  OPC_MoveParent,
/*  2303*/                  OPC_MoveChild1,
/*  2304*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2307*/                  OPC_MoveChild0,
/*  2308*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2311*/                  OPC_MoveChild0,
/*  2312*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2315*/                  OPC_CheckChild0Same, 1,
/*  2317*/                  OPC_CheckChild1Integer, 8, 
/*  2319*/                  OPC_CheckChild1Type, MVT::i64,
/*  2321*/                  OPC_MoveParent,
/*  2322*/                  OPC_MoveParent,
/*  2323*/                  OPC_CheckChild1Integer, 0, 
/*  2325*/                  OPC_CheckChild1Type, MVT::i64,
/*  2327*/                  OPC_MoveParent,
/*  2328*/                  OPC_MoveParent,
/*  2329*/                  OPC_MoveChild1,
/*  2330*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2333*/                  OPC_MoveChild0,
/*  2334*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2337*/                  OPC_MoveChild0,
/*  2338*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2341*/                  OPC_MoveChild0,
/*  2342*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2345*/                  OPC_CheckChild0Same, 0,
/*  2347*/                  OPC_CheckChild1Integer, 0, 
/*  2349*/                  OPC_CheckChild1Type, MVT::i64,
/*  2351*/                  OPC_MoveParent,
/*  2352*/                  OPC_MoveParent,
/*  2353*/                  OPC_CheckChild1Integer, 0, 
/*  2355*/                  OPC_CheckChild1Type, MVT::i64,
/*  2357*/                  OPC_CheckType, MVT::v4i16,
/*  2359*/                  OPC_MoveParent,
/*  2360*/                  OPC_MoveChild1,
/*  2361*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2364*/                  OPC_MoveChild0,
/*  2365*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2368*/                  OPC_MoveChild0,
/*  2369*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2372*/                  OPC_CheckChild0Same, 1,
/*  2374*/                  OPC_CheckChild1Integer, 0, 
/*  2376*/                  OPC_CheckChild1Type, MVT::i64,
/*  2378*/                  OPC_MoveParent,
/*  2379*/                  OPC_MoveParent,
/*  2380*/                  OPC_CheckChild1Integer, 0, 
/*  2382*/                  OPC_CheckChild1Type, MVT::i64,
/*  2384*/                  OPC_MoveParent,
/*  2385*/                  OPC_MoveParent,
/*  2386*/                  OPC_MoveParent,
/*  2387*/                  OPC_MoveParent,
/*  2388*/                  OPC_CheckType, MVT::v4i32,
/*  2390*/                  OPC_MoveParent,
/*  2391*/                  OPC_CheckChild1Integer, 0, 
/*  2393*/                  OPC_CheckChild1Type, MVT::i64,
/*  2395*/                  OPC_CheckType, MVT::i32,
/*  2397*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  2399*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  2402*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  2409*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  2418*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (UDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  2425*/                0, /*End of Scope*/
/*  2426*/              0, /*End of Scope*/
/*  2427*/            /*Scope*/ 18|128,6/*786*/, /*->3215*/
/*  2429*/              OPC_CheckChild1Integer, 8, 
/*  2431*/              OPC_CheckChild1Type, MVT::i64,
/*  2433*/              OPC_MoveParent,
/*  2434*/              OPC_MoveParent,
/*  2435*/              OPC_CheckType, MVT::v4i16,
/*  2437*/              OPC_Scope, 2|128,3/*386*/, /*->2826*/ // 2 children in Scope
/*  2440*/                OPC_CheckChild1Integer, 0, 
/*  2442*/                OPC_CheckChild1Type, MVT::i64,
/*  2444*/                OPC_MoveParent,
/*  2445*/                OPC_MoveChild1,
/*  2446*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2449*/                OPC_MoveChild0,
/*  2450*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2453*/                OPC_MoveChild0,
/*  2454*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2457*/                OPC_RecordChild0, // #1 = $Vn
/*  2458*/                OPC_CheckChild1Integer, 8, 
/*  2460*/                OPC_CheckChild1Type, MVT::i64,
/*  2462*/                OPC_MoveParent,
/*  2463*/                OPC_MoveParent,
/*  2464*/                OPC_CheckChild1Integer, 0, 
/*  2466*/                OPC_CheckChild1Type, MVT::i64,
/*  2468*/                OPC_MoveParent,
/*  2469*/                OPC_MoveParent,
/*  2470*/                OPC_MoveChild1,
/*  2471*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2474*/                OPC_MoveChild0,
/*  2475*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2478*/                OPC_MoveChild0,
/*  2479*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2482*/                OPC_MoveChild0,
/*  2483*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2486*/                OPC_CheckChild0Same, 0,
/*  2488*/                OPC_CheckChild1Integer, 0, 
/*  2490*/                OPC_CheckChild1Type, MVT::i64,
/*  2492*/                OPC_MoveParent,
/*  2493*/                OPC_MoveParent,
/*  2494*/                OPC_CheckChild1Integer, 0, 
/*  2496*/                OPC_CheckChild1Type, MVT::i64,
/*  2498*/                OPC_CheckType, MVT::v4i16,
/*  2500*/                OPC_MoveParent,
/*  2501*/                OPC_MoveChild1,
/*  2502*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2505*/                OPC_MoveChild0,
/*  2506*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2509*/                OPC_MoveChild0,
/*  2510*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2513*/                OPC_CheckChild0Same, 1,
/*  2515*/                OPC_CheckChild1Integer, 0, 
/*  2517*/                OPC_CheckChild1Type, MVT::i64,
/*  2519*/                OPC_MoveParent,
/*  2520*/                OPC_MoveParent,
/*  2521*/                OPC_CheckChild1Integer, 0, 
/*  2523*/                OPC_CheckChild1Type, MVT::i64,
/*  2525*/                OPC_MoveParent,
/*  2526*/                OPC_MoveParent,
/*  2527*/                OPC_MoveParent,
/*  2528*/                OPC_MoveChild1,
/*  2529*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  2532*/                OPC_MoveChild0,
/*  2533*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2536*/                OPC_MoveChild0,
/*  2537*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2540*/                OPC_MoveChild0,
/*  2541*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2544*/                OPC_MoveChild0,
/*  2545*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2548*/                OPC_CheckChild0Same, 0,
/*  2550*/                OPC_Scope, 7|128,1/*135*/, /*->2688*/ // 2 children in Scope
/*  2553*/                  OPC_CheckChild1Integer, 0, 
/*  2555*/                  OPC_CheckChild1Type, MVT::i64,
/*  2557*/                  OPC_MoveParent,
/*  2558*/                  OPC_MoveParent,
/*  2559*/                  OPC_CheckChild1Integer, 4, 
/*  2561*/                  OPC_CheckChild1Type, MVT::i64,
/*  2563*/                  OPC_CheckType, MVT::v4i16,
/*  2565*/                  OPC_MoveParent,
/*  2566*/                  OPC_MoveChild1,
/*  2567*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2570*/                  OPC_MoveChild0,
/*  2571*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2574*/                  OPC_MoveChild0,
/*  2575*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2578*/                  OPC_CheckChild0Same, 1,
/*  2580*/                  OPC_CheckChild1Integer, 0, 
/*  2582*/                  OPC_CheckChild1Type, MVT::i64,
/*  2584*/                  OPC_MoveParent,
/*  2585*/                  OPC_MoveParent,
/*  2586*/                  OPC_CheckChild1Integer, 4, 
/*  2588*/                  OPC_CheckChild1Type, MVT::i64,
/*  2590*/                  OPC_MoveParent,
/*  2591*/                  OPC_MoveParent,
/*  2592*/                  OPC_MoveChild1,
/*  2593*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2596*/                  OPC_MoveChild0,
/*  2597*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2600*/                  OPC_MoveChild0,
/*  2601*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2604*/                  OPC_MoveChild0,
/*  2605*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2608*/                  OPC_CheckChild0Same, 0,
/*  2610*/                  OPC_CheckChild1Integer, 8, 
/*  2612*/                  OPC_CheckChild1Type, MVT::i64,
/*  2614*/                  OPC_MoveParent,
/*  2615*/                  OPC_MoveParent,
/*  2616*/                  OPC_CheckChild1Integer, 4, 
/*  2618*/                  OPC_CheckChild1Type, MVT::i64,
/*  2620*/                  OPC_CheckType, MVT::v4i16,
/*  2622*/                  OPC_MoveParent,
/*  2623*/                  OPC_MoveChild1,
/*  2624*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2627*/                  OPC_MoveChild0,
/*  2628*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2631*/                  OPC_MoveChild0,
/*  2632*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2635*/                  OPC_CheckChild0Same, 1,
/*  2637*/                  OPC_CheckChild1Integer, 8, 
/*  2639*/                  OPC_CheckChild1Type, MVT::i64,
/*  2641*/                  OPC_MoveParent,
/*  2642*/                  OPC_MoveParent,
/*  2643*/                  OPC_CheckChild1Integer, 4, 
/*  2645*/                  OPC_CheckChild1Type, MVT::i64,
/*  2647*/                  OPC_MoveParent,
/*  2648*/                  OPC_MoveParent,
/*  2649*/                  OPC_MoveParent,
/*  2650*/                  OPC_MoveParent,
/*  2651*/                  OPC_CheckType, MVT::v4i32,
/*  2653*/                  OPC_MoveParent,
/*  2654*/                  OPC_CheckChild1Integer, 0, 
/*  2656*/                  OPC_CheckChild1Type, MVT::i64,
/*  2658*/                  OPC_CheckType, MVT::i32,
/*  2660*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  2662*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  2665*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  2672*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  2681*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (UDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  2688*/                /*Scope*/ 7|128,1/*135*/, /*->2825*/
/*  2690*/                  OPC_CheckChild1Integer, 8, 
/*  2692*/                  OPC_CheckChild1Type, MVT::i64,
/*  2694*/                  OPC_MoveParent,
/*  2695*/                  OPC_MoveParent,
/*  2696*/                  OPC_CheckChild1Integer, 4, 
/*  2698*/                  OPC_CheckChild1Type, MVT::i64,
/*  2700*/                  OPC_CheckType, MVT::v4i16,
/*  2702*/                  OPC_MoveParent,
/*  2703*/                  OPC_MoveChild1,
/*  2704*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2707*/                  OPC_MoveChild0,
/*  2708*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2711*/                  OPC_MoveChild0,
/*  2712*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2715*/                  OPC_CheckChild0Same, 1,
/*  2717*/                  OPC_CheckChild1Integer, 8, 
/*  2719*/                  OPC_CheckChild1Type, MVT::i64,
/*  2721*/                  OPC_MoveParent,
/*  2722*/                  OPC_MoveParent,
/*  2723*/                  OPC_CheckChild1Integer, 4, 
/*  2725*/                  OPC_CheckChild1Type, MVT::i64,
/*  2727*/                  OPC_MoveParent,
/*  2728*/                  OPC_MoveParent,
/*  2729*/                  OPC_MoveChild1,
/*  2730*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2733*/                  OPC_MoveChild0,
/*  2734*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2737*/                  OPC_MoveChild0,
/*  2738*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2741*/                  OPC_MoveChild0,
/*  2742*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2745*/                  OPC_CheckChild0Same, 0,
/*  2747*/                  OPC_CheckChild1Integer, 0, 
/*  2749*/                  OPC_CheckChild1Type, MVT::i64,
/*  2751*/                  OPC_MoveParent,
/*  2752*/                  OPC_MoveParent,
/*  2753*/                  OPC_CheckChild1Integer, 4, 
/*  2755*/                  OPC_CheckChild1Type, MVT::i64,
/*  2757*/                  OPC_CheckType, MVT::v4i16,
/*  2759*/                  OPC_MoveParent,
/*  2760*/                  OPC_MoveChild1,
/*  2761*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2764*/                  OPC_MoveChild0,
/*  2765*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2768*/                  OPC_MoveChild0,
/*  2769*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2772*/                  OPC_CheckChild0Same, 1,
/*  2774*/                  OPC_CheckChild1Integer, 0, 
/*  2776*/                  OPC_CheckChild1Type, MVT::i64,
/*  2778*/                  OPC_MoveParent,
/*  2779*/                  OPC_MoveParent,
/*  2780*/                  OPC_CheckChild1Integer, 4, 
/*  2782*/                  OPC_CheckChild1Type, MVT::i64,
/*  2784*/                  OPC_MoveParent,
/*  2785*/                  OPC_MoveParent,
/*  2786*/                  OPC_MoveParent,
/*  2787*/                  OPC_MoveParent,
/*  2788*/                  OPC_CheckType, MVT::v4i32,
/*  2790*/                  OPC_MoveParent,
/*  2791*/                  OPC_CheckChild1Integer, 0, 
/*  2793*/                  OPC_CheckChild1Type, MVT::i64,
/*  2795*/                  OPC_CheckType, MVT::i32,
/*  2797*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  2799*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  2802*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  2809*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  2818*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (UDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  2825*/                0, /*End of Scope*/
/*  2826*/              /*Scope*/ 2|128,3/*386*/, /*->3214*/
/*  2828*/                OPC_CheckChild1Integer, 4, 
/*  2830*/                OPC_CheckChild1Type, MVT::i64,
/*  2832*/                OPC_MoveParent,
/*  2833*/                OPC_MoveChild1,
/*  2834*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2837*/                OPC_MoveChild0,
/*  2838*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2841*/                OPC_MoveChild0,
/*  2842*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2845*/                OPC_RecordChild0, // #1 = $Vn
/*  2846*/                OPC_CheckChild1Integer, 8, 
/*  2848*/                OPC_CheckChild1Type, MVT::i64,
/*  2850*/                OPC_MoveParent,
/*  2851*/                OPC_MoveParent,
/*  2852*/                OPC_CheckChild1Integer, 4, 
/*  2854*/                OPC_CheckChild1Type, MVT::i64,
/*  2856*/                OPC_MoveParent,
/*  2857*/                OPC_MoveParent,
/*  2858*/                OPC_MoveChild1,
/*  2859*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2862*/                OPC_MoveChild0,
/*  2863*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2866*/                OPC_MoveChild0,
/*  2867*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2870*/                OPC_MoveChild0,
/*  2871*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2874*/                OPC_CheckChild0Same, 0,
/*  2876*/                OPC_CheckChild1Integer, 0, 
/*  2878*/                OPC_CheckChild1Type, MVT::i64,
/*  2880*/                OPC_MoveParent,
/*  2881*/                OPC_MoveParent,
/*  2882*/                OPC_CheckChild1Integer, 4, 
/*  2884*/                OPC_CheckChild1Type, MVT::i64,
/*  2886*/                OPC_CheckType, MVT::v4i16,
/*  2888*/                OPC_MoveParent,
/*  2889*/                OPC_MoveChild1,
/*  2890*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2893*/                OPC_MoveChild0,
/*  2894*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2897*/                OPC_MoveChild0,
/*  2898*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2901*/                OPC_CheckChild0Same, 1,
/*  2903*/                OPC_CheckChild1Integer, 0, 
/*  2905*/                OPC_CheckChild1Type, MVT::i64,
/*  2907*/                OPC_MoveParent,
/*  2908*/                OPC_MoveParent,
/*  2909*/                OPC_CheckChild1Integer, 4, 
/*  2911*/                OPC_CheckChild1Type, MVT::i64,
/*  2913*/                OPC_MoveParent,
/*  2914*/                OPC_MoveParent,
/*  2915*/                OPC_MoveParent,
/*  2916*/                OPC_MoveChild1,
/*  2917*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  2920*/                OPC_MoveChild0,
/*  2921*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2924*/                OPC_MoveChild0,
/*  2925*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2928*/                OPC_MoveChild0,
/*  2929*/                OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2932*/                OPC_MoveChild0,
/*  2933*/                OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2936*/                OPC_CheckChild0Same, 0,
/*  2938*/                OPC_Scope, 7|128,1/*135*/, /*->3076*/ // 2 children in Scope
/*  2941*/                  OPC_CheckChild1Integer, 0, 
/*  2943*/                  OPC_CheckChild1Type, MVT::i64,
/*  2945*/                  OPC_MoveParent,
/*  2946*/                  OPC_MoveParent,
/*  2947*/                  OPC_CheckChild1Integer, 0, 
/*  2949*/                  OPC_CheckChild1Type, MVT::i64,
/*  2951*/                  OPC_CheckType, MVT::v4i16,
/*  2953*/                  OPC_MoveParent,
/*  2954*/                  OPC_MoveChild1,
/*  2955*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2958*/                  OPC_MoveChild0,
/*  2959*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2962*/                  OPC_MoveChild0,
/*  2963*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2966*/                  OPC_CheckChild0Same, 1,
/*  2968*/                  OPC_CheckChild1Integer, 0, 
/*  2970*/                  OPC_CheckChild1Type, MVT::i64,
/*  2972*/                  OPC_MoveParent,
/*  2973*/                  OPC_MoveParent,
/*  2974*/                  OPC_CheckChild1Integer, 0, 
/*  2976*/                  OPC_CheckChild1Type, MVT::i64,
/*  2978*/                  OPC_MoveParent,
/*  2979*/                  OPC_MoveParent,
/*  2980*/                  OPC_MoveChild1,
/*  2981*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  2984*/                  OPC_MoveChild0,
/*  2985*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2988*/                  OPC_MoveChild0,
/*  2989*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  2992*/                  OPC_MoveChild0,
/*  2993*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  2996*/                  OPC_CheckChild0Same, 0,
/*  2998*/                  OPC_CheckChild1Integer, 8, 
/*  3000*/                  OPC_CheckChild1Type, MVT::i64,
/*  3002*/                  OPC_MoveParent,
/*  3003*/                  OPC_MoveParent,
/*  3004*/                  OPC_CheckChild1Integer, 0, 
/*  3006*/                  OPC_CheckChild1Type, MVT::i64,
/*  3008*/                  OPC_CheckType, MVT::v4i16,
/*  3010*/                  OPC_MoveParent,
/*  3011*/                  OPC_MoveChild1,
/*  3012*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3015*/                  OPC_MoveChild0,
/*  3016*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3019*/                  OPC_MoveChild0,
/*  3020*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3023*/                  OPC_CheckChild0Same, 1,
/*  3025*/                  OPC_CheckChild1Integer, 8, 
/*  3027*/                  OPC_CheckChild1Type, MVT::i64,
/*  3029*/                  OPC_MoveParent,
/*  3030*/                  OPC_MoveParent,
/*  3031*/                  OPC_CheckChild1Integer, 0, 
/*  3033*/                  OPC_CheckChild1Type, MVT::i64,
/*  3035*/                  OPC_MoveParent,
/*  3036*/                  OPC_MoveParent,
/*  3037*/                  OPC_MoveParent,
/*  3038*/                  OPC_MoveParent,
/*  3039*/                  OPC_CheckType, MVT::v4i32,
/*  3041*/                  OPC_MoveParent,
/*  3042*/                  OPC_CheckChild1Integer, 0, 
/*  3044*/                  OPC_CheckChild1Type, MVT::i64,
/*  3046*/                  OPC_CheckType, MVT::i32,
/*  3048*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  3050*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3053*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  3060*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  3069*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (UDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  3076*/                /*Scope*/ 7|128,1/*135*/, /*->3213*/
/*  3078*/                  OPC_CheckChild1Integer, 8, 
/*  3080*/                  OPC_CheckChild1Type, MVT::i64,
/*  3082*/                  OPC_MoveParent,
/*  3083*/                  OPC_MoveParent,
/*  3084*/                  OPC_CheckChild1Integer, 0, 
/*  3086*/                  OPC_CheckChild1Type, MVT::i64,
/*  3088*/                  OPC_CheckType, MVT::v4i16,
/*  3090*/                  OPC_MoveParent,
/*  3091*/                  OPC_MoveChild1,
/*  3092*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3095*/                  OPC_MoveChild0,
/*  3096*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3099*/                  OPC_MoveChild0,
/*  3100*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3103*/                  OPC_CheckChild0Same, 1,
/*  3105*/                  OPC_CheckChild1Integer, 8, 
/*  3107*/                  OPC_CheckChild1Type, MVT::i64,
/*  3109*/                  OPC_MoveParent,
/*  3110*/                  OPC_MoveParent,
/*  3111*/                  OPC_CheckChild1Integer, 0, 
/*  3113*/                  OPC_CheckChild1Type, MVT::i64,
/*  3115*/                  OPC_MoveParent,
/*  3116*/                  OPC_MoveParent,
/*  3117*/                  OPC_MoveChild1,
/*  3118*/                  OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  3121*/                  OPC_MoveChild0,
/*  3122*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3125*/                  OPC_MoveChild0,
/*  3126*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3129*/                  OPC_MoveChild0,
/*  3130*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3133*/                  OPC_CheckChild0Same, 0,
/*  3135*/                  OPC_CheckChild1Integer, 0, 
/*  3137*/                  OPC_CheckChild1Type, MVT::i64,
/*  3139*/                  OPC_MoveParent,
/*  3140*/                  OPC_MoveParent,
/*  3141*/                  OPC_CheckChild1Integer, 0, 
/*  3143*/                  OPC_CheckChild1Type, MVT::i64,
/*  3145*/                  OPC_CheckType, MVT::v4i16,
/*  3147*/                  OPC_MoveParent,
/*  3148*/                  OPC_MoveChild1,
/*  3149*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3152*/                  OPC_MoveChild0,
/*  3153*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3156*/                  OPC_MoveChild0,
/*  3157*/                  OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3160*/                  OPC_CheckChild0Same, 1,
/*  3162*/                  OPC_CheckChild1Integer, 0, 
/*  3164*/                  OPC_CheckChild1Type, MVT::i64,
/*  3166*/                  OPC_MoveParent,
/*  3167*/                  OPC_MoveParent,
/*  3168*/                  OPC_CheckChild1Integer, 0, 
/*  3170*/                  OPC_CheckChild1Type, MVT::i64,
/*  3172*/                  OPC_MoveParent,
/*  3173*/                  OPC_MoveParent,
/*  3174*/                  OPC_MoveParent,
/*  3175*/                  OPC_MoveParent,
/*  3176*/                  OPC_CheckType, MVT::v4i32,
/*  3178*/                  OPC_MoveParent,
/*  3179*/                  OPC_CheckChild1Integer, 0, 
/*  3181*/                  OPC_CheckChild1Type, MVT::i64,
/*  3183*/                  OPC_CheckType, MVT::i32,
/*  3185*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  3187*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3190*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                                MVT::f128, 1/*#Ops*/, 2,  // Results = #3
/*  3197*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  3206*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                                MVT::i32, 1/*#Ops*/, 4, 
                            // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 4:{ *:[i64] }))), (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 8:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 8:{ *:[i64] })), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vm, 0:{ *:[i64] })), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Vn, 0:{ *:[i64] })), 0:{ *:[i64] }))))), 0:{ *:[i64] }) - Complexity = 194
                            // Dst: (ADDVv4i32v:{ *:[i32] } (UDOTv16i8:{ *:[f128] } (DUPv4i32gpr:{ *:[f128] } WZR:{ *:[i32] }), V128:{ *:[v16i8] }:$Vm, V128:{ *:[v16i8] }:$Vn))
/*  3213*/                0, /*End of Scope*/
/*  3214*/              0, /*End of Scope*/
/*  3215*/            0, /*End of Scope*/
/*  3216*/          0, // EndSwitchOpcode
/*  3217*/        /*SwitchOpcode*/ 26|128,2/*282*/, TARGET_VAL(AArch64ISD::SMULL),// ->3503
/*  3221*/          OPC_MoveChild0,
/*  3222*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3225*/          OPC_MoveChild0,
/*  3226*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  3229*/          OPC_RecordChild0, // #0 = $Vm
/*  3230*/          OPC_CheckChild0Type, MVT::v8i8,
/*  3232*/          OPC_MoveParent,
/*  3233*/          OPC_CheckType, MVT::v4i16,
/*  3235*/          OPC_Scope, 3|128,1/*131*/, /*->3369*/ // 2 children in Scope
/*  3238*/            OPC_CheckChild1Integer, 0, 
/*  3240*/            OPC_CheckChild1Type, MVT::i64,
/*  3242*/            OPC_MoveParent,
/*  3243*/            OPC_MoveChild1,
/*  3244*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3247*/            OPC_MoveChild0,
/*  3248*/            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  3251*/            OPC_RecordChild0, // #1 = $Vn
/*  3252*/            OPC_CheckChild0Type, MVT::v8i8,
/*  3254*/            OPC_MoveParent,
/*  3255*/            OPC_CheckChild1Integer, 0, 
/*  3257*/            OPC_CheckChild1Type, MVT::i64,
/*  3259*/            OPC_MoveParent,
/*  3260*/            OPC_MoveParent,
/*  3261*/            OPC_MoveChild1,
/*  3262*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*  3265*/            OPC_MoveChild0,
/*  3266*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3269*/            OPC_MoveChild0,
/*  3270*/            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  3273*/            OPC_CheckChild0Same, 0,
/*  3275*/            OPC_MoveParent,
/*  3276*/            OPC_CheckChild1Integer, 4, 
/*  3278*/            OPC_CheckChild1Type, MVT::i64,
/*  3280*/            OPC_CheckType, MVT::v4i16,
/*  3282*/            OPC_MoveParent,
/*  3283*/            OPC_MoveChild1,
/*  3284*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3287*/            OPC_MoveChild0,
/*  3288*/            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  3291*/            OPC_CheckChild0Same, 1,
/*  3293*/            OPC_MoveParent,
/*  3294*/            OPC_CheckChild1Integer, 4, 
/*  3296*/            OPC_CheckChild1Type, MVT::i64,
/*  3298*/            OPC_MoveParent,
/*  3299*/            OPC_MoveParent,
/*  3300*/            OPC_MoveParent,
/*  3301*/            OPC_CheckType, MVT::v4i32,
/*  3303*/            OPC_MoveParent,
/*  3304*/            OPC_CheckChild1Integer, 0, 
/*  3306*/            OPC_CheckChild1Type, MVT::i64,
/*  3308*/            OPC_CheckType, MVT::i32,
/*  3310*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  3312*/            OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3315*/            OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                          MVT::i64, 1/*#Ops*/, 2,  // Results = #3
/*  3322*/            OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                          MVT::i64, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  3331*/            OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3334*/            OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                          MVT::i64, 1/*#Ops*/, 5,  // Results = #6
/*  3341*/            OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                          MVT::i64, 3/*#Ops*/, 6, 0, 1,  // Results = #7
/*  3350*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDPv2i32), 0,
                          MVT::i64, 2/*#Ops*/, 4, 7,  // Results = #8
/*  3358*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  3361*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 8, 9, 
                      // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vm), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vn), 0:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vm), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vn), 4:{ *:[i64] })))), 0:{ *:[i64] }) - Complexity = 74
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (ADDPv2i32:{ *:[i64] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), V64:{ *:[v8i8] }:$Vm, V64:{ *:[v8i8] }:$Vn), (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), V64:{ *:[v8i8] }:$Vm, V64:{ *:[v8i8] }:$Vn)), sub_32:{ *:[i32] })
/*  3369*/          /*Scope*/ 3|128,1/*131*/, /*->3502*/
/*  3371*/            OPC_CheckChild1Integer, 4, 
/*  3373*/            OPC_CheckChild1Type, MVT::i64,
/*  3375*/            OPC_MoveParent,
/*  3376*/            OPC_MoveChild1,
/*  3377*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3380*/            OPC_MoveChild0,
/*  3381*/            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  3384*/            OPC_RecordChild0, // #1 = $Vn
/*  3385*/            OPC_CheckChild0Type, MVT::v8i8,
/*  3387*/            OPC_MoveParent,
/*  3388*/            OPC_CheckChild1Integer, 4, 
/*  3390*/            OPC_CheckChild1Type, MVT::i64,
/*  3392*/            OPC_MoveParent,
/*  3393*/            OPC_MoveParent,
/*  3394*/            OPC_MoveChild1,
/*  3395*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::SMULL),
/*  3398*/            OPC_MoveChild0,
/*  3399*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3402*/            OPC_MoveChild0,
/*  3403*/            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  3406*/            OPC_CheckChild0Same, 0,
/*  3408*/            OPC_MoveParent,
/*  3409*/            OPC_CheckChild1Integer, 0, 
/*  3411*/            OPC_CheckChild1Type, MVT::i64,
/*  3413*/            OPC_CheckType, MVT::v4i16,
/*  3415*/            OPC_MoveParent,
/*  3416*/            OPC_MoveChild1,
/*  3417*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3420*/            OPC_MoveChild0,
/*  3421*/            OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*  3424*/            OPC_CheckChild0Same, 1,
/*  3426*/            OPC_MoveParent,
/*  3427*/            OPC_CheckChild1Integer, 0, 
/*  3429*/            OPC_CheckChild1Type, MVT::i64,
/*  3431*/            OPC_MoveParent,
/*  3432*/            OPC_MoveParent,
/*  3433*/            OPC_MoveParent,
/*  3434*/            OPC_CheckType, MVT::v4i32,
/*  3436*/            OPC_MoveParent,
/*  3437*/            OPC_CheckChild1Integer, 0, 
/*  3439*/            OPC_CheckChild1Type, MVT::i64,
/*  3441*/            OPC_CheckType, MVT::i32,
/*  3443*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  3445*/            OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3448*/            OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                          MVT::i64, 1/*#Ops*/, 2,  // Results = #3
/*  3455*/            OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                          MVT::i64, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  3464*/            OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3467*/            OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                          MVT::i64, 1/*#Ops*/, 5,  // Results = #6
/*  3474*/            OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                          MVT::i64, 3/*#Ops*/, 6, 0, 1,  // Results = #7
/*  3483*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDPv2i32), 0,
                          MVT::i64, 2/*#Ops*/, 4, 7,  // Results = #8
/*  3491*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  3494*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 8, 9, 
                      // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vm), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vn), 4:{ *:[i64] })), (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vm), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vn), 0:{ *:[i64] })))), 0:{ *:[i64] }) - Complexity = 74
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (ADDPv2i32:{ *:[i64] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), V64:{ *:[v8i8] }:$Vm, V64:{ *:[v8i8] }:$Vn), (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), V64:{ *:[v8i8] }:$Vm, V64:{ *:[v8i8] }:$Vn)), sub_32:{ *:[i32] })
/*  3502*/          0, /*End of Scope*/
/*  3503*/        /*SwitchOpcode*/ 26|128,2/*282*/, TARGET_VAL(AArch64ISD::UMULL),// ->3789
/*  3507*/          OPC_MoveChild0,
/*  3508*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3511*/          OPC_MoveChild0,
/*  3512*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3515*/          OPC_RecordChild0, // #0 = $Vm
/*  3516*/          OPC_CheckChild0Type, MVT::v8i8,
/*  3518*/          OPC_MoveParent,
/*  3519*/          OPC_CheckType, MVT::v4i16,
/*  3521*/          OPC_Scope, 3|128,1/*131*/, /*->3655*/ // 2 children in Scope
/*  3524*/            OPC_CheckChild1Integer, 0, 
/*  3526*/            OPC_CheckChild1Type, MVT::i64,
/*  3528*/            OPC_MoveParent,
/*  3529*/            OPC_MoveChild1,
/*  3530*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3533*/            OPC_MoveChild0,
/*  3534*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3537*/            OPC_RecordChild0, // #1 = $Vn
/*  3538*/            OPC_CheckChild0Type, MVT::v8i8,
/*  3540*/            OPC_MoveParent,
/*  3541*/            OPC_CheckChild1Integer, 0, 
/*  3543*/            OPC_CheckChild1Type, MVT::i64,
/*  3545*/            OPC_MoveParent,
/*  3546*/            OPC_MoveParent,
/*  3547*/            OPC_MoveChild1,
/*  3548*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  3551*/            OPC_MoveChild0,
/*  3552*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3555*/            OPC_MoveChild0,
/*  3556*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3559*/            OPC_CheckChild0Same, 0,
/*  3561*/            OPC_MoveParent,
/*  3562*/            OPC_CheckChild1Integer, 4, 
/*  3564*/            OPC_CheckChild1Type, MVT::i64,
/*  3566*/            OPC_CheckType, MVT::v4i16,
/*  3568*/            OPC_MoveParent,
/*  3569*/            OPC_MoveChild1,
/*  3570*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3573*/            OPC_MoveChild0,
/*  3574*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3577*/            OPC_CheckChild0Same, 1,
/*  3579*/            OPC_MoveParent,
/*  3580*/            OPC_CheckChild1Integer, 4, 
/*  3582*/            OPC_CheckChild1Type, MVT::i64,
/*  3584*/            OPC_MoveParent,
/*  3585*/            OPC_MoveParent,
/*  3586*/            OPC_MoveParent,
/*  3587*/            OPC_CheckType, MVT::v4i32,
/*  3589*/            OPC_MoveParent,
/*  3590*/            OPC_CheckChild1Integer, 0, 
/*  3592*/            OPC_CheckChild1Type, MVT::i64,
/*  3594*/            OPC_CheckType, MVT::i32,
/*  3596*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  3598*/            OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3601*/            OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                          MVT::i64, 1/*#Ops*/, 2,  // Results = #3
/*  3608*/            OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                          MVT::i64, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  3617*/            OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3620*/            OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                          MVT::i64, 1/*#Ops*/, 5,  // Results = #6
/*  3627*/            OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                          MVT::i64, 3/*#Ops*/, 6, 0, 1,  // Results = #7
/*  3636*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDPv2i32), 0,
                          MVT::i64, 2/*#Ops*/, 4, 7,  // Results = #8
/*  3644*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  3647*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 8, 9, 
                      // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vm), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vn), 0:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vm), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vn), 4:{ *:[i64] })))), 0:{ *:[i64] }) - Complexity = 74
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (ADDPv2i32:{ *:[i64] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), V64:{ *:[v8i8] }:$Vm, V64:{ *:[v8i8] }:$Vn), (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), V64:{ *:[v8i8] }:$Vm, V64:{ *:[v8i8] }:$Vn)), sub_32:{ *:[i32] })
/*  3655*/          /*Scope*/ 3|128,1/*131*/, /*->3788*/
/*  3657*/            OPC_CheckChild1Integer, 4, 
/*  3659*/            OPC_CheckChild1Type, MVT::i64,
/*  3661*/            OPC_MoveParent,
/*  3662*/            OPC_MoveChild1,
/*  3663*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3666*/            OPC_MoveChild0,
/*  3667*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3670*/            OPC_RecordChild0, // #1 = $Vn
/*  3671*/            OPC_CheckChild0Type, MVT::v8i8,
/*  3673*/            OPC_MoveParent,
/*  3674*/            OPC_CheckChild1Integer, 4, 
/*  3676*/            OPC_CheckChild1Type, MVT::i64,
/*  3678*/            OPC_MoveParent,
/*  3679*/            OPC_MoveParent,
/*  3680*/            OPC_MoveChild1,
/*  3681*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::UMULL),
/*  3684*/            OPC_MoveChild0,
/*  3685*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3688*/            OPC_MoveChild0,
/*  3689*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3692*/            OPC_CheckChild0Same, 0,
/*  3694*/            OPC_MoveParent,
/*  3695*/            OPC_CheckChild1Integer, 0, 
/*  3697*/            OPC_CheckChild1Type, MVT::i64,
/*  3699*/            OPC_CheckType, MVT::v4i16,
/*  3701*/            OPC_MoveParent,
/*  3702*/            OPC_MoveChild1,
/*  3703*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*  3706*/            OPC_MoveChild0,
/*  3707*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*  3710*/            OPC_CheckChild0Same, 1,
/*  3712*/            OPC_MoveParent,
/*  3713*/            OPC_CheckChild1Integer, 0, 
/*  3715*/            OPC_CheckChild1Type, MVT::i64,
/*  3717*/            OPC_MoveParent,
/*  3718*/            OPC_MoveParent,
/*  3719*/            OPC_MoveParent,
/*  3720*/            OPC_CheckType, MVT::v4i32,
/*  3722*/            OPC_MoveParent,
/*  3723*/            OPC_CheckChild1Integer, 0, 
/*  3725*/            OPC_CheckChild1Type, MVT::i64,
/*  3727*/            OPC_CheckType, MVT::i32,
/*  3729*/            OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  3731*/            OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3734*/            OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                          MVT::i64, 1/*#Ops*/, 2,  // Results = #3
/*  3741*/            OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                          MVT::i64, 3/*#Ops*/, 3, 0, 1,  // Results = #4
/*  3750*/            OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  3753*/            OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                          MVT::i64, 1/*#Ops*/, 5,  // Results = #6
/*  3760*/            OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                          MVT::i64, 3/*#Ops*/, 6, 0, 1,  // Results = #7
/*  3769*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDPv2i32), 0,
                          MVT::i64, 2/*#Ops*/, 4, 7,  // Results = #8
/*  3777*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  3780*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 8, 9, 
                      // Src: (extractelt:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vm), 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vn), 4:{ *:[i64] })), (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vm), 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Vn), 0:{ *:[i64] })))), 0:{ *:[i64] }) - Complexity = 74
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (ADDPv2i32:{ *:[i64] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), V64:{ *:[v8i8] }:$Vm, V64:{ *:[v8i8] }:$Vn), (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), V64:{ *:[v8i8] }:$Vm, V64:{ *:[v8i8] }:$Vn)), sub_32:{ *:[i32] })
/*  3788*/          0, /*End of Scope*/
/*  3789*/        0, // EndSwitchOpcode
/*  3790*/      /*SwitchOpcode*/ 102|128,4/*614*/, TARGET_VAL(ISD::INSERT_SUBVECTOR),// ->4408
/*  3794*/        OPC_MoveChild0,
/*  3795*/        OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*  3798*/        OPC_MoveParent,
/*  3799*/        OPC_MoveChild1,
/*  3800*/        OPC_SwitchOpcode /*6 cases */, 98, TARGET_VAL(AArch64ISD::SADDV),// ->3902
/*  3804*/          OPC_RecordChild0, // #0 = $Rn
/*  3805*/          OPC_MoveParent,
/*  3806*/          OPC_CheckChild2Integer, 0, 
/*  3808*/          OPC_CheckChild2Type, MVT::i32,
/*  3810*/          OPC_SwitchType /*2 cases */, 43, MVT::v16i8,// ->3856
/*  3813*/            OPC_MoveParent,
/*  3814*/            OPC_CheckChild1Integer, 0, 
/*  3816*/            OPC_CheckChild1Type, MVT::i64,
/*  3818*/            OPC_CheckType, MVT::i32,
/*  3820*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*  3826*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  3833*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  3836*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  3845*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  3848*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64saddv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (ADDVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  3856*/          /*SwitchType*/ 43, MVT::v8i16,// ->3901
/*  3858*/            OPC_MoveParent,
/*  3859*/            OPC_CheckChild1Integer, 0, 
/*  3861*/            OPC_CheckChild1Type, MVT::i64,
/*  3863*/            OPC_CheckType, MVT::i32,
/*  3865*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*  3871*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  3878*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  3881*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v4i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  3890*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  3893*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64saddv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (ADDVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  3901*/          0, // EndSwitchType
/*  3902*/        /*SwitchOpcode*/ 98, TARGET_VAL(AArch64ISD::UADDV),// ->4003
/*  3905*/          OPC_RecordChild0, // #0 = $Rn
/*  3906*/          OPC_MoveParent,
/*  3907*/          OPC_CheckChild2Integer, 0, 
/*  3909*/          OPC_CheckChild2Type, MVT::i32,
/*  3911*/          OPC_SwitchType /*2 cases */, 43, MVT::v16i8,// ->3957
/*  3914*/            OPC_MoveParent,
/*  3915*/            OPC_CheckChild1Integer, 0, 
/*  3917*/            OPC_CheckChild1Type, MVT::i64,
/*  3919*/            OPC_CheckType, MVT::i32,
/*  3921*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*  3927*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  3934*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  3937*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  3946*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  3949*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64uaddv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (ADDVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  3957*/          /*SwitchType*/ 43, MVT::v8i16,// ->4002
/*  3959*/            OPC_MoveParent,
/*  3960*/            OPC_CheckChild1Integer, 0, 
/*  3962*/            OPC_CheckChild1Type, MVT::i64,
/*  3964*/            OPC_CheckType, MVT::i32,
/*  3966*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*  3972*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  3979*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  3982*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v4i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  3991*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  3994*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64uaddv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (ADDVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4002*/          0, // EndSwitchType
/*  4003*/        /*SwitchOpcode*/ 98, TARGET_VAL(AArch64ISD::SMAXV),// ->4104
/*  4006*/          OPC_RecordChild0, // #0 = $Rn
/*  4007*/          OPC_MoveParent,
/*  4008*/          OPC_CheckChild2Integer, 0, 
/*  4010*/          OPC_CheckChild2Type, MVT::i32,
/*  4012*/          OPC_SwitchType /*2 cases */, 43, MVT::v16i8,// ->4058
/*  4015*/            OPC_MoveParent,
/*  4016*/            OPC_CheckChild1Integer, 0, 
/*  4018*/            OPC_CheckChild1Type, MVT::i64,
/*  4020*/            OPC_CheckType, MVT::i32,
/*  4022*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*  4028*/            OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv8i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  4035*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  4038*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4047*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4050*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64smaxv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (SMAXVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4058*/          /*SwitchType*/ 43, MVT::v8i16,// ->4103
/*  4060*/            OPC_MoveParent,
/*  4061*/            OPC_CheckChild1Integer, 0, 
/*  4063*/            OPC_CheckChild1Type, MVT::i64,
/*  4065*/            OPC_CheckType, MVT::i32,
/*  4067*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*  4073*/            OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv4i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  4080*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  4083*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v4i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4092*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4095*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64smaxv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (SMAXVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4103*/          0, // EndSwitchType
/*  4104*/        /*SwitchOpcode*/ 98, TARGET_VAL(AArch64ISD::SMINV),// ->4205
/*  4107*/          OPC_RecordChild0, // #0 = $Rn
/*  4108*/          OPC_MoveParent,
/*  4109*/          OPC_CheckChild2Integer, 0, 
/*  4111*/          OPC_CheckChild2Type, MVT::i32,
/*  4113*/          OPC_SwitchType /*2 cases */, 43, MVT::v16i8,// ->4159
/*  4116*/            OPC_MoveParent,
/*  4117*/            OPC_CheckChild1Integer, 0, 
/*  4119*/            OPC_CheckChild1Type, MVT::i64,
/*  4121*/            OPC_CheckType, MVT::i32,
/*  4123*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*  4129*/            OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv8i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  4136*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  4139*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4148*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4151*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64sminv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (SMINVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4159*/          /*SwitchType*/ 43, MVT::v8i16,// ->4204
/*  4161*/            OPC_MoveParent,
/*  4162*/            OPC_CheckChild1Integer, 0, 
/*  4164*/            OPC_CheckChild1Type, MVT::i64,
/*  4166*/            OPC_CheckType, MVT::i32,
/*  4168*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*  4174*/            OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv4i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  4181*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  4184*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v4i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4193*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4196*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64sminv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (SMINVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4204*/          0, // EndSwitchType
/*  4205*/        /*SwitchOpcode*/ 98, TARGET_VAL(AArch64ISD::UMAXV),// ->4306
/*  4208*/          OPC_RecordChild0, // #0 = $Rn
/*  4209*/          OPC_MoveParent,
/*  4210*/          OPC_CheckChild2Integer, 0, 
/*  4212*/          OPC_CheckChild2Type, MVT::i32,
/*  4214*/          OPC_SwitchType /*2 cases */, 43, MVT::v16i8,// ->4260
/*  4217*/            OPC_MoveParent,
/*  4218*/            OPC_CheckChild1Integer, 0, 
/*  4220*/            OPC_CheckChild1Type, MVT::i64,
/*  4222*/            OPC_CheckType, MVT::i32,
/*  4224*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*  4230*/            OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv8i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  4237*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  4240*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4249*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4252*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64umaxv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (UMAXVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4260*/          /*SwitchType*/ 43, MVT::v8i16,// ->4305
/*  4262*/            OPC_MoveParent,
/*  4263*/            OPC_CheckChild1Integer, 0, 
/*  4265*/            OPC_CheckChild1Type, MVT::i64,
/*  4267*/            OPC_CheckType, MVT::i32,
/*  4269*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*  4275*/            OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv4i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  4282*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  4285*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v4i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4294*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4297*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64umaxv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (UMAXVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4305*/          0, // EndSwitchType
/*  4306*/        /*SwitchOpcode*/ 98, TARGET_VAL(AArch64ISD::UMINV),// ->4407
/*  4309*/          OPC_RecordChild0, // #0 = $Rn
/*  4310*/          OPC_MoveParent,
/*  4311*/          OPC_CheckChild2Integer, 0, 
/*  4313*/          OPC_CheckChild2Type, MVT::i32,
/*  4315*/          OPC_SwitchType /*2 cases */, 43, MVT::v16i8,// ->4361
/*  4318*/            OPC_MoveParent,
/*  4319*/            OPC_CheckChild1Integer, 0, 
/*  4321*/            OPC_CheckChild1Type, MVT::i64,
/*  4323*/            OPC_CheckType, MVT::i32,
/*  4325*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*  4331*/            OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv8i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  4338*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  4341*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4350*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4353*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64uminv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (UMINVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4361*/          /*SwitchType*/ 43, MVT::v8i16,// ->4406
/*  4363*/            OPC_MoveParent,
/*  4364*/            OPC_CheckChild1Integer, 0, 
/*  4366*/            OPC_CheckChild1Type, MVT::i64,
/*  4368*/            OPC_CheckType, MVT::i32,
/*  4370*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*  4376*/            OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv4i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  4383*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  4386*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v4i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4395*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4398*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64uminv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }) - Complexity = 22
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (UMINVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4406*/          0, // EndSwitchType
/*  4407*/        0, // EndSwitchOpcode
/*  4408*/      0, // EndSwitchOpcode
/*  4409*/    /*Scope*/ 62, /*->4472*/
/*  4410*/      OPC_RecordChild0, // #0 = $V
/*  4411*/      OPC_SwitchType /*2 cases */, 17, MVT::i64,// ->4431
/*  4414*/        OPC_CheckChild0Type, MVT::v2i64,
/*  4416*/        OPC_CheckChild1Integer, 0, 
/*  4418*/        OPC_CheckChild1Type, MVT::i64,
/*  4420*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*  4423*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$V, 0:{ *:[i64] }) - Complexity = 18
                  // Dst: (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v2i64] }:$V, dsub:{ *:[i32] })
/*  4431*/      /*SwitchType*/ 38, MVT::i32,// ->4471
/*  4433*/        OPC_Scope, 17, /*->4452*/ // 2 children in Scope
/*  4435*/          OPC_CheckChild0Type, MVT::v4i32,
/*  4437*/          OPC_CheckChild1Integer, 0, 
/*  4439*/          OPC_CheckChild1Type, MVT::i64,
/*  4441*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4444*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (extractelt:{ *:[i32] } V128:{ *:[v4i32] }:$V, 0:{ *:[i64] }) - Complexity = 18
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } V128:{ *:[v4i32] }:$V, ssub:{ *:[i32] })
/*  4452*/        /*Scope*/ 17, /*->4470*/
/*  4453*/          OPC_CheckChild0Type, MVT::v2i32,
/*  4455*/          OPC_CheckChild1Integer, 0, 
/*  4457*/          OPC_CheckChild1Type, MVT::i64,
/*  4459*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4462*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (extractelt:{ *:[i32] } V64:{ *:[v2i32] }:$V, 0:{ *:[i64] }) - Complexity = 18
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } V64:{ *:[v2i32] }:$V, ssub:{ *:[i32] })
/*  4470*/        0, /*End of Scope*/
/*  4471*/      0, // EndSwitchType
/*  4472*/    /*Scope*/ 87|128,6/*855*/, /*->5329*/
/*  4474*/      OPC_MoveChild0,
/*  4475*/      OPC_SwitchOpcode /*6 cases */, 10|128,1/*138*/, TARGET_VAL(AArch64ISD::SADDV),// ->4618
/*  4480*/        OPC_RecordChild0, // #0 = $Rn
/*  4481*/        OPC_SwitchType /*3 cases */, 43, MVT::v16i8,// ->4527
/*  4484*/          OPC_MoveParent,
/*  4485*/          OPC_CheckChild1Integer, 0, 
/*  4487*/          OPC_CheckChild1Type, MVT::i64,
/*  4489*/          OPC_CheckType, MVT::i32,
/*  4491*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*  4497*/          OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv16i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  4504*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  4507*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4516*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4519*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64saddv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4527*/        /*SwitchType*/ 43, MVT::v8i16,// ->4572
/*  4529*/          OPC_MoveParent,
/*  4530*/          OPC_CheckChild1Integer, 0, 
/*  4532*/          OPC_CheckChild1Type, MVT::i64,
/*  4534*/          OPC_CheckType, MVT::i32,
/*  4536*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*  4542*/          OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  4549*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  4552*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4561*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4564*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64saddv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (ADDVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4572*/        /*SwitchType*/ 43, MVT::v4i32,// ->4617
/*  4574*/          OPC_MoveParent,
/*  4575*/          OPC_CheckChild1Integer, 0, 
/*  4577*/          OPC_CheckChild1Type, MVT::i64,
/*  4579*/          OPC_CheckType, MVT::i32,
/*  4581*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*  4587*/          OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*  4594*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4597*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4606*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4609*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64saddv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (ADDVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4617*/        0, // EndSwitchType
/*  4618*/      /*SwitchOpcode*/ 10|128,1/*138*/, TARGET_VAL(AArch64ISD::UADDV),// ->4760
/*  4622*/        OPC_RecordChild0, // #0 = $Rn
/*  4623*/        OPC_SwitchType /*3 cases */, 43, MVT::v16i8,// ->4669
/*  4626*/          OPC_MoveParent,
/*  4627*/          OPC_CheckChild1Integer, 0, 
/*  4629*/          OPC_CheckChild1Type, MVT::i64,
/*  4631*/          OPC_CheckType, MVT::i32,
/*  4633*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*  4639*/          OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv16i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  4646*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  4649*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4658*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4661*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64uaddv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4669*/        /*SwitchType*/ 43, MVT::v8i16,// ->4714
/*  4671*/          OPC_MoveParent,
/*  4672*/          OPC_CheckChild1Integer, 0, 
/*  4674*/          OPC_CheckChild1Type, MVT::i64,
/*  4676*/          OPC_CheckType, MVT::i32,
/*  4678*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*  4684*/          OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  4691*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  4694*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4703*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4706*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64uaddv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (ADDVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4714*/        /*SwitchType*/ 43, MVT::v4i32,// ->4759
/*  4716*/          OPC_MoveParent,
/*  4717*/          OPC_CheckChild1Integer, 0, 
/*  4719*/          OPC_CheckChild1Type, MVT::i64,
/*  4721*/          OPC_CheckType, MVT::i32,
/*  4723*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*  4729*/          OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*  4736*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4739*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4748*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4751*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64uaddv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (ADDVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4759*/        0, // EndSwitchType
/*  4760*/      /*SwitchOpcode*/ 10|128,1/*138*/, TARGET_VAL(AArch64ISD::SMAXV),// ->4902
/*  4764*/        OPC_RecordChild0, // #0 = $Rn
/*  4765*/        OPC_SwitchType /*3 cases */, 43, MVT::v16i8,// ->4811
/*  4768*/          OPC_MoveParent,
/*  4769*/          OPC_CheckChild1Integer, 0, 
/*  4771*/          OPC_CheckChild1Type, MVT::i64,
/*  4773*/          OPC_CheckType, MVT::i32,
/*  4775*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*  4781*/          OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv16i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  4788*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  4791*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4800*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4803*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64smaxv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMAXVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4811*/        /*SwitchType*/ 43, MVT::v8i16,// ->4856
/*  4813*/          OPC_MoveParent,
/*  4814*/          OPC_CheckChild1Integer, 0, 
/*  4816*/          OPC_CheckChild1Type, MVT::i64,
/*  4818*/          OPC_CheckType, MVT::i32,
/*  4820*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*  4826*/          OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  4833*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  4836*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4845*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4848*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64smaxv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (SMAXVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4856*/        /*SwitchType*/ 43, MVT::v4i32,// ->4901
/*  4858*/          OPC_MoveParent,
/*  4859*/          OPC_CheckChild1Integer, 0, 
/*  4861*/          OPC_CheckChild1Type, MVT::i64,
/*  4863*/          OPC_CheckType, MVT::i32,
/*  4865*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*  4871*/          OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv4i32v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*  4878*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4881*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4890*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4893*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64smaxv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (SMAXVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4901*/        0, // EndSwitchType
/*  4902*/      /*SwitchOpcode*/ 10|128,1/*138*/, TARGET_VAL(AArch64ISD::SMINV),// ->5044
/*  4906*/        OPC_RecordChild0, // #0 = $Rn
/*  4907*/        OPC_SwitchType /*3 cases */, 43, MVT::v16i8,// ->4953
/*  4910*/          OPC_MoveParent,
/*  4911*/          OPC_CheckChild1Integer, 0, 
/*  4913*/          OPC_CheckChild1Type, MVT::i64,
/*  4915*/          OPC_CheckType, MVT::i32,
/*  4917*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*  4923*/          OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv16i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  4930*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  4933*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4942*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4945*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64sminv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMINVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4953*/        /*SwitchType*/ 43, MVT::v8i16,// ->4998
/*  4955*/          OPC_MoveParent,
/*  4956*/          OPC_CheckChild1Integer, 0, 
/*  4958*/          OPC_CheckChild1Type, MVT::i64,
/*  4960*/          OPC_CheckType, MVT::i32,
/*  4962*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*  4968*/          OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  4975*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  4978*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  4987*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  4990*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64sminv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (SMINVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  4998*/        /*SwitchType*/ 43, MVT::v4i32,// ->5043
/*  5000*/          OPC_MoveParent,
/*  5001*/          OPC_CheckChild1Integer, 0, 
/*  5003*/          OPC_CheckChild1Type, MVT::i64,
/*  5005*/          OPC_CheckType, MVT::i32,
/*  5007*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*  5013*/          OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv4i32v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*  5020*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5023*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  5032*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5035*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64sminv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (SMINVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*  5043*/        0, // EndSwitchType
/*  5044*/      /*SwitchOpcode*/ 10|128,1/*138*/, TARGET_VAL(AArch64ISD::UMAXV),// ->5186
/*  5048*/        OPC_RecordChild0, // #0 = $Rn
/*  5049*/        OPC_SwitchType /*3 cases */, 43, MVT::v16i8,// ->5095
/*  5052*/          OPC_MoveParent,
/*  5053*/          OPC_CheckChild1Integer, 0, 
/*  5055*/          OPC_CheckChild1Type, MVT::i64,
/*  5057*/          OPC_CheckType, MVT::i32,
/*  5059*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*  5065*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv16i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  5072*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  5075*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  5084*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5087*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64umaxv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMAXVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  5095*/        /*SwitchType*/ 43, MVT::v8i16,// ->5140
/*  5097*/          OPC_MoveParent,
/*  5098*/          OPC_CheckChild1Integer, 0, 
/*  5100*/          OPC_CheckChild1Type, MVT::i64,
/*  5102*/          OPC_CheckType, MVT::i32,
/*  5104*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*  5110*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  5117*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  5120*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  5129*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5132*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64umaxv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (UMAXVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  5140*/        /*SwitchType*/ 43, MVT::v4i32,// ->5185
/*  5142*/          OPC_MoveParent,
/*  5143*/          OPC_CheckChild1Integer, 0, 
/*  5145*/          OPC_CheckChild1Type, MVT::i64,
/*  5147*/          OPC_CheckType, MVT::i32,
/*  5149*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*  5155*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv4i32v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*  5162*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5165*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  5174*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5177*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64umaxv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (UMAXVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*  5185*/        0, // EndSwitchType
/*  5186*/      /*SwitchOpcode*/ 10|128,1/*138*/, TARGET_VAL(AArch64ISD::UMINV),// ->5328
/*  5190*/        OPC_RecordChild0, // #0 = $Rn
/*  5191*/        OPC_SwitchType /*3 cases */, 43, MVT::v16i8,// ->5237
/*  5194*/          OPC_MoveParent,
/*  5195*/          OPC_CheckChild1Integer, 0, 
/*  5197*/          OPC_CheckChild1Type, MVT::i64,
/*  5199*/          OPC_CheckType, MVT::i32,
/*  5201*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*  5207*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv16i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*  5214*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*  5217*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  5226*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5229*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64uminv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMINVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  5237*/        /*SwitchType*/ 43, MVT::v8i16,// ->5282
/*  5239*/          OPC_MoveParent,
/*  5240*/          OPC_CheckChild1Integer, 0, 
/*  5242*/          OPC_CheckChild1Type, MVT::i64,
/*  5244*/          OPC_CheckType, MVT::i32,
/*  5246*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*  5252*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*  5259*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  5262*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  5271*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5274*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64uminv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (UMINVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*  5282*/        /*SwitchType*/ 43, MVT::v4i32,// ->5327
/*  5284*/          OPC_MoveParent,
/*  5285*/          OPC_CheckChild1Integer, 0, 
/*  5287*/          OPC_CheckChild1Type, MVT::i64,
/*  5289*/          OPC_CheckType, MVT::i32,
/*  5291*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*  5297*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv4i32v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*  5304*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5307*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*  5316*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5319*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (vector_extract:{ *:[i32] } (AArch64uminv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn), 0:{ *:[i64] }) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (UMINVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*  5327*/        0, // EndSwitchType
/*  5328*/      0, // EndSwitchOpcode
/*  5329*/    /*Scope*/ 115|128,1/*243*/, /*->5574*/
/*  5331*/      OPC_RecordChild0, // #0 = $Rn
/*  5332*/      OPC_Scope, 26, /*->5360*/ // 7 children in Scope
/*  5334*/        OPC_CheckChild0Type, MVT::v16i8,
/*  5336*/        OPC_RecordChild1, // #1 = $idx
/*  5337*/        OPC_MoveChild1,
/*  5338*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*  5341*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*  5343*/        OPC_CheckType, MVT::i64,
/*  5345*/        OPC_MoveParent,
/*  5346*/        OPC_CheckType, MVT::i32,
/*  5348*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*  5350*/        OPC_EmitConvertToTarget, 1,
/*  5352*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMOVvi8), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx) - Complexity = 7
                  // Dst: (UMOVvi8:{ *:[i32] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] }):$idx)
/*  5360*/      /*Scope*/ 26, /*->5387*/
/*  5361*/        OPC_CheckChild0Type, MVT::v8i16,
/*  5363*/        OPC_RecordChild1, // #1 = $idx
/*  5364*/        OPC_MoveChild1,
/*  5365*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*  5368*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*  5370*/        OPC_CheckType, MVT::i64,
/*  5372*/        OPC_MoveParent,
/*  5373*/        OPC_CheckType, MVT::i32,
/*  5375*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*  5377*/        OPC_EmitConvertToTarget, 1,
/*  5379*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMOVvi16), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 7
                  // Dst: (UMOVvi16:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] }):$idx)
/*  5387*/      /*Scope*/ 26, /*->5414*/
/*  5388*/        OPC_CheckChild0Type, MVT::v4i32,
/*  5390*/        OPC_RecordChild1, // #1 = $idx
/*  5391*/        OPC_MoveChild1,
/*  5392*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*  5395*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*  5397*/        OPC_CheckType, MVT::i64,
/*  5399*/        OPC_MoveParent,
/*  5400*/        OPC_CheckType, MVT::i32,
/*  5402*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*  5404*/        OPC_EmitConvertToTarget, 1,
/*  5406*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMOVvi32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 7
                  // Dst: (UMOVvi32:{ *:[i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] }):$idx)
/*  5414*/      /*Scope*/ 26, /*->5441*/
/*  5415*/        OPC_CheckChild0Type, MVT::v2i64,
/*  5417*/        OPC_RecordChild1, // #1 = $idx
/*  5418*/        OPC_MoveChild1,
/*  5419*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*  5422*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*  5424*/        OPC_CheckType, MVT::i64,
/*  5426*/        OPC_MoveParent,
/*  5427*/        OPC_CheckType, MVT::i64,
/*  5429*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*  5431*/        OPC_EmitConvertToTarget, 1,
/*  5433*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMOVvi64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (vector_extract:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx) - Complexity = 7
                  // Dst: (UMOVvi64:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i64] }):$idx)
/*  5441*/      /*Scope*/ 43, /*->5485*/
/*  5442*/        OPC_CheckChild0Type, MVT::v2f64,
/*  5444*/        OPC_Scope, 15, /*->5461*/ // 2 children in Scope
/*  5446*/          OPC_CheckChild1Integer, 0, 
/*  5448*/          OPC_CheckType, MVT::f64,
/*  5450*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*  5453*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f64, 2/*#Ops*/, 0, 1, 
                    // Src: (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rn, 0:{ *:[iPTR] }) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[f64] } V128:{ *:[v2f64] }:$Rn, dsub:{ *:[i32] })
/*  5461*/        /*Scope*/ 22, /*->5484*/
/*  5462*/          OPC_RecordChild1, // #1 = $idx
/*  5463*/          OPC_MoveChild1,
/*  5464*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*  5467*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*  5469*/          OPC_CheckType, MVT::i64,
/*  5471*/          OPC_MoveParent,
/*  5472*/          OPC_CheckType, MVT::f64,
/*  5474*/          OPC_EmitConvertToTarget, 1,
/*  5476*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CPYi64), 0,
                        MVT::f64, 2/*#Ops*/, 0, 2, 
                    // Src: (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx) - Complexity = 7
                    // Dst: (CPYi64:{ *:[f64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)
/*  5484*/        0, /*End of Scope*/
/*  5485*/      /*Scope*/ 43, /*->5529*/
/*  5486*/        OPC_CheckChild0Type, MVT::v4f32,
/*  5488*/        OPC_Scope, 15, /*->5505*/ // 2 children in Scope
/*  5490*/          OPC_CheckChild1Integer, 0, 
/*  5492*/          OPC_CheckType, MVT::f32,
/*  5494*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5497*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f32, 2/*#Ops*/, 0, 1, 
                    // Src: (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rn, 0:{ *:[iPTR] }) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[f32] } V128:{ *:[v4f32] }:$Rn, ssub:{ *:[i32] })
/*  5505*/        /*Scope*/ 22, /*->5528*/
/*  5506*/          OPC_RecordChild1, // #1 = $idx
/*  5507*/          OPC_MoveChild1,
/*  5508*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*  5511*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*  5513*/          OPC_CheckType, MVT::i64,
/*  5515*/          OPC_MoveParent,
/*  5516*/          OPC_CheckType, MVT::f32,
/*  5518*/          OPC_EmitConvertToTarget, 1,
/*  5520*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CPYi32), 0,
                        MVT::f32, 2/*#Ops*/, 0, 2, 
                    // Src: (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 7
                    // Dst: (CPYi32:{ *:[f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*  5528*/        0, /*End of Scope*/
/*  5529*/      /*Scope*/ 43, /*->5573*/
/*  5530*/        OPC_CheckChild0Type, MVT::v8f16,
/*  5532*/        OPC_Scope, 15, /*->5549*/ // 2 children in Scope
/*  5534*/          OPC_CheckChild1Integer, 0, 
/*  5536*/          OPC_CheckType, MVT::f16,
/*  5538*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*  5541*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f16, 2/*#Ops*/, 0, 1, 
                    // Src: (vector_extract:{ *:[f16] } V128:{ *:[v8f16] }:$Rn, 0:{ *:[iPTR] }) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[f16] } V128:{ *:[v8f16] }:$Rn, hsub:{ *:[i32] })
/*  5549*/        /*Scope*/ 22, /*->5572*/
/*  5550*/          OPC_RecordChild1, // #1 = $idx
/*  5551*/          OPC_MoveChild1,
/*  5552*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*  5555*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*  5557*/          OPC_CheckType, MVT::i64,
/*  5559*/          OPC_MoveParent,
/*  5560*/          OPC_CheckType, MVT::f16,
/*  5562*/          OPC_EmitConvertToTarget, 1,
/*  5564*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CPYi16), 0,
                        MVT::f16, 2/*#Ops*/, 0, 2, 
                    // Src: (vector_extract:{ *:[f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 7
                    // Dst: (CPYi16:{ *:[f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)
/*  5572*/        0, /*End of Scope*/
/*  5573*/      0, /*End of Scope*/
/*  5574*/    0, /*End of Scope*/
/*  5575*/  /*SwitchOpcode*/ 90|128,105|128,9/*160986*/, TARGET_VAL(ISD::ADD),// ->166566
/*  5580*/    OPC_Scope, 31|128,50|128,9/*153887*/, /*->159471*/ // 28 children in Scope
/*  5584*/      OPC_MoveChild0,
/*  5585*/      OPC_SwitchOpcode /*3 cases */, 83|128,98|128,4/*78163*/, TARGET_VAL(ISD::MUL),// ->83754
/*  5591*/        OPC_MoveChild0,
/*  5592*/        OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5595*/        OPC_RecordMemRef,
/*  5596*/        OPC_RecordNode, // #0 = 'ld' chained node
/*  5597*/        OPC_CheckFoldableChainNode,
/*  5598*/        OPC_MoveChild1,
/*  5599*/        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5602*/        OPC_RecordChild0, // #1 = $Rn
/*  5603*/        OPC_CheckChild1Integer, 3, 
/*  5605*/        OPC_CheckType, MVT::i64,
/*  5607*/        OPC_MoveParent,
/*  5608*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5610*/        OPC_Scope, 55|128,2/*311*/, /*->5924*/ // 4 children in Scope
/*  5613*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  5615*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  5617*/          OPC_MoveParent,
/*  5618*/          OPC_MoveChild1,
/*  5619*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5622*/          OPC_RecordMemRef,
/*  5623*/          OPC_RecordNode, // #2 = 'ld' chained node
/*  5624*/          OPC_CheckFoldableChainNode,
/*  5625*/          OPC_MoveChild1,
/*  5626*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5629*/          OPC_RecordChild0, // #3 = $Rm
/*  5630*/          OPC_CheckChild1Integer, 3, 
/*  5632*/          OPC_CheckType, MVT::i64,
/*  5634*/          OPC_MoveParent,
/*  5635*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5637*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  5639*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  5641*/          OPC_MoveParent,
/*  5642*/          OPC_MoveParent,
/*  5643*/          OPC_MoveChild1,
/*  5644*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5647*/          OPC_MoveChild0,
/*  5648*/          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  5651*/          OPC_MoveChild0,
/*  5652*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5655*/          OPC_RecordMemRef,
/*  5656*/          OPC_RecordNode, // #4 = 'ld' chained node
/*  5657*/          OPC_CheckFoldableChainNode,
/*  5658*/          OPC_MoveChild1,
/*  5659*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5662*/          OPC_CheckChild0Same, 1,
/*  5664*/          OPC_CheckChild1Integer, 2, 
/*  5666*/          OPC_CheckType, MVT::i64,
/*  5668*/          OPC_MoveParent,
/*  5669*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5671*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  5673*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  5675*/          OPC_MoveParent,
/*  5676*/          OPC_MoveChild1,
/*  5677*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5680*/          OPC_RecordMemRef,
/*  5681*/          OPC_RecordNode, // #5 = 'ld' chained node
/*  5682*/          OPC_CheckFoldableChainNode,
/*  5683*/          OPC_MoveChild1,
/*  5684*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5687*/          OPC_CheckChild0Same, 3,
/*  5689*/          OPC_CheckChild1Integer, 2, 
/*  5691*/          OPC_CheckType, MVT::i64,
/*  5693*/          OPC_MoveParent,
/*  5694*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5696*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  5698*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  5700*/          OPC_MoveParent,
/*  5701*/          OPC_MoveParent,
/*  5702*/          OPC_MoveChild1,
/*  5703*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5706*/          OPC_MoveChild0,
/*  5707*/          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  5710*/          OPC_MoveChild0,
/*  5711*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5714*/          OPC_RecordMemRef,
/*  5715*/          OPC_RecordNode, // #6 = 'ld' chained node
/*  5716*/          OPC_CheckFoldableChainNode,
/*  5717*/          OPC_MoveChild1,
/*  5718*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5721*/          OPC_CheckChild0Same, 1,
/*  5723*/          OPC_CheckChild1Integer, 1, 
/*  5725*/          OPC_CheckType, MVT::i64,
/*  5727*/          OPC_MoveParent,
/*  5728*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5730*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  5732*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  5734*/          OPC_MoveParent,
/*  5735*/          OPC_MoveChild1,
/*  5736*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5739*/          OPC_RecordMemRef,
/*  5740*/          OPC_RecordNode, // #7 = 'ld' chained node
/*  5741*/          OPC_CheckFoldableChainNode,
/*  5742*/          OPC_MoveChild1,
/*  5743*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5746*/          OPC_CheckChild0Same, 3,
/*  5748*/          OPC_CheckChild1Integer, 1, 
/*  5750*/          OPC_CheckType, MVT::i64,
/*  5752*/          OPC_MoveParent,
/*  5753*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5755*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  5757*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  5759*/          OPC_MoveParent,
/*  5760*/          OPC_MoveParent,
/*  5761*/          OPC_MoveChild1,
/*  5762*/          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  5765*/          OPC_MoveChild0,
/*  5766*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5769*/          OPC_RecordMemRef,
/*  5770*/          OPC_RecordNode, // #8 = 'ld' chained node
/*  5771*/          OPC_CheckFoldableChainNode,
/*  5772*/          OPC_CheckChild1Same, 1,
/*  5774*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5776*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  5778*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  5780*/          OPC_MoveParent,
/*  5781*/          OPC_MoveChild1,
/*  5782*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5785*/          OPC_RecordMemRef,
/*  5786*/          OPC_RecordNode, // #9 = 'ld' chained node
/*  5787*/          OPC_CheckFoldableChainNode,
/*  5788*/          OPC_CheckChild1Same, 3,
/*  5790*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5792*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  5794*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  5796*/          OPC_MoveParent,
/*  5797*/          OPC_MoveParent,
/*  5798*/          OPC_MoveParent,
/*  5799*/          OPC_MoveParent,
/*  5800*/          OPC_CheckType, MVT::i32,
/*  5802*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  5804*/          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  5814*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  5817*/          OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                        MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  5824*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  5830*/          OPC_EmitInteger, MVT::i64, 0, 
/*  5833*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  5841*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  5844*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  5852*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5855*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  5864*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  5870*/          OPC_EmitInteger, MVT::i64, 0, 
/*  5873*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  5881*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  5884*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  5892*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  5895*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  5904*/          OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                        MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  5913*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  5916*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 26, 27, 
                    // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  5924*/        /*Scope*/ 55|128,2/*311*/, /*->6237*/
/*  5926*/          OPC_CheckPredicate, 7, // Predicate_zextload
/*  5928*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*  5930*/          OPC_MoveParent,
/*  5931*/          OPC_MoveChild1,
/*  5932*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5935*/          OPC_RecordMemRef,
/*  5936*/          OPC_RecordNode, // #2 = 'ld' chained node
/*  5937*/          OPC_CheckFoldableChainNode,
/*  5938*/          OPC_MoveChild1,
/*  5939*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5942*/          OPC_RecordChild0, // #3 = $Rm
/*  5943*/          OPC_CheckChild1Integer, 3, 
/*  5945*/          OPC_CheckType, MVT::i64,
/*  5947*/          OPC_MoveParent,
/*  5948*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5950*/          OPC_CheckPredicate, 7, // Predicate_zextload
/*  5952*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*  5954*/          OPC_MoveParent,
/*  5955*/          OPC_MoveParent,
/*  5956*/          OPC_MoveChild1,
/*  5957*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5960*/          OPC_MoveChild0,
/*  5961*/          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  5964*/          OPC_MoveChild0,
/*  5965*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5968*/          OPC_RecordMemRef,
/*  5969*/          OPC_RecordNode, // #4 = 'ld' chained node
/*  5970*/          OPC_CheckFoldableChainNode,
/*  5971*/          OPC_MoveChild1,
/*  5972*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  5975*/          OPC_CheckChild0Same, 1,
/*  5977*/          OPC_CheckChild1Integer, 2, 
/*  5979*/          OPC_CheckType, MVT::i64,
/*  5981*/          OPC_MoveParent,
/*  5982*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  5984*/          OPC_CheckPredicate, 7, // Predicate_zextload
/*  5986*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*  5988*/          OPC_MoveParent,
/*  5989*/          OPC_MoveChild1,
/*  5990*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  5993*/          OPC_RecordMemRef,
/*  5994*/          OPC_RecordNode, // #5 = 'ld' chained node
/*  5995*/          OPC_CheckFoldableChainNode,
/*  5996*/          OPC_MoveChild1,
/*  5997*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6000*/          OPC_CheckChild0Same, 3,
/*  6002*/          OPC_CheckChild1Integer, 2, 
/*  6004*/          OPC_CheckType, MVT::i64,
/*  6006*/          OPC_MoveParent,
/*  6007*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6009*/          OPC_CheckPredicate, 7, // Predicate_zextload
/*  6011*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*  6013*/          OPC_MoveParent,
/*  6014*/          OPC_MoveParent,
/*  6015*/          OPC_MoveChild1,
/*  6016*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6019*/          OPC_MoveChild0,
/*  6020*/          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  6023*/          OPC_MoveChild0,
/*  6024*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6027*/          OPC_RecordMemRef,
/*  6028*/          OPC_RecordNode, // #6 = 'ld' chained node
/*  6029*/          OPC_CheckFoldableChainNode,
/*  6030*/          OPC_MoveChild1,
/*  6031*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6034*/          OPC_CheckChild0Same, 1,
/*  6036*/          OPC_CheckChild1Integer, 1, 
/*  6038*/          OPC_CheckType, MVT::i64,
/*  6040*/          OPC_MoveParent,
/*  6041*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6043*/          OPC_CheckPredicate, 7, // Predicate_zextload
/*  6045*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*  6047*/          OPC_MoveParent,
/*  6048*/          OPC_MoveChild1,
/*  6049*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6052*/          OPC_RecordMemRef,
/*  6053*/          OPC_RecordNode, // #7 = 'ld' chained node
/*  6054*/          OPC_CheckFoldableChainNode,
/*  6055*/          OPC_MoveChild1,
/*  6056*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6059*/          OPC_CheckChild0Same, 3,
/*  6061*/          OPC_CheckChild1Integer, 1, 
/*  6063*/          OPC_CheckType, MVT::i64,
/*  6065*/          OPC_MoveParent,
/*  6066*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6068*/          OPC_CheckPredicate, 7, // Predicate_zextload
/*  6070*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*  6072*/          OPC_MoveParent,
/*  6073*/          OPC_MoveParent,
/*  6074*/          OPC_MoveChild1,
/*  6075*/          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  6078*/          OPC_MoveChild0,
/*  6079*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6082*/          OPC_RecordMemRef,
/*  6083*/          OPC_RecordNode, // #8 = 'ld' chained node
/*  6084*/          OPC_CheckFoldableChainNode,
/*  6085*/          OPC_CheckChild1Same, 1,
/*  6087*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6089*/          OPC_CheckPredicate, 7, // Predicate_zextload
/*  6091*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*  6093*/          OPC_MoveParent,
/*  6094*/          OPC_MoveChild1,
/*  6095*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6098*/          OPC_RecordMemRef,
/*  6099*/          OPC_RecordNode, // #9 = 'ld' chained node
/*  6100*/          OPC_CheckFoldableChainNode,
/*  6101*/          OPC_CheckChild1Same, 3,
/*  6103*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6105*/          OPC_CheckPredicate, 7, // Predicate_zextload
/*  6107*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*  6109*/          OPC_MoveParent,
/*  6110*/          OPC_MoveParent,
/*  6111*/          OPC_MoveParent,
/*  6112*/          OPC_MoveParent,
/*  6113*/          OPC_CheckType, MVT::i32,
/*  6115*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  6117*/          OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  6127*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  6130*/          OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                        MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  6137*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  6143*/          OPC_EmitInteger, MVT::i64, 0, 
/*  6146*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  6154*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6157*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  6165*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  6168*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  6177*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  6183*/          OPC_EmitInteger, MVT::i64, 0, 
/*  6186*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  6194*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6197*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  6205*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  6208*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  6217*/          OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                        MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  6226*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  6229*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 26, 27, 
                    // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  6237*/        /*Scope*/ 99|128,46|128,2/*38755*/, /*->44995*/
/*  6240*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  6242*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6244*/          OPC_MoveParent,
/*  6245*/          OPC_MoveChild1,
/*  6246*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6249*/          OPC_RecordMemRef,
/*  6250*/          OPC_RecordNode, // #2 = 'ld' chained node
/*  6251*/          OPC_CheckFoldableChainNode,
/*  6252*/          OPC_MoveChild1,
/*  6253*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6256*/          OPC_RecordChild0, // #3 = $Rm
/*  6257*/          OPC_CheckChild1Integer, 3, 
/*  6259*/          OPC_CheckType, MVT::i64,
/*  6261*/          OPC_MoveParent,
/*  6262*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6264*/          OPC_CheckPredicate, 5, // Predicate_sextload
/*  6266*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6268*/          OPC_MoveParent,
/*  6269*/          OPC_MoveParent,
/*  6270*/          OPC_MoveChild1,
/*  6271*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6274*/          OPC_MoveChild0,
/*  6275*/          OPC_SwitchOpcode /*2 cases */, 45|128,23|128,1/*19373*/, TARGET_VAL(ISD::ADD),// ->25654
/*  6281*/            OPC_MoveChild0,
/*  6282*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  6285*/            OPC_MoveChild0,
/*  6286*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6289*/            OPC_RecordMemRef,
/*  6290*/            OPC_RecordNode, // #4 = 'ld' chained node
/*  6291*/            OPC_CheckFoldableChainNode,
/*  6292*/            OPC_Scope, 6|128,37/*4742*/, /*->11037*/ // 12 children in Scope
/*  6295*/              OPC_MoveChild1,
/*  6296*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6299*/              OPC_CheckType, MVT::i64,
/*  6301*/              OPC_Scope, 9|128,6/*777*/, /*->7081*/ // 6 children in Scope
/*  6304*/                OPC_CheckChild0Same, 1,
/*  6306*/                OPC_CheckChild1Integer, 2, 
/*  6308*/                OPC_MoveParent,
/*  6309*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6311*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  6313*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6315*/                OPC_MoveParent,
/*  6316*/                OPC_MoveChild1,
/*  6317*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6320*/                OPC_RecordMemRef,
/*  6321*/                OPC_RecordNode, // #5 = 'ld' chained node
/*  6322*/                OPC_CheckFoldableChainNode,
/*  6323*/                OPC_MoveChild1,
/*  6324*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6327*/                OPC_CheckChild0Same, 3,
/*  6329*/                OPC_CheckChild1Integer, 2, 
/*  6331*/                OPC_CheckType, MVT::i64,
/*  6333*/                OPC_MoveParent,
/*  6334*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6336*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  6338*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6340*/                OPC_MoveParent,
/*  6341*/                OPC_MoveParent,
/*  6342*/                OPC_MoveChild1,
/*  6343*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  6346*/                OPC_MoveChild0,
/*  6347*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6350*/                OPC_RecordMemRef,
/*  6351*/                OPC_RecordNode, // #6 = 'ld' chained node
/*  6352*/                OPC_CheckFoldableChainNode,
/*  6353*/                OPC_MoveChild1,
/*  6354*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6357*/                OPC_CheckType, MVT::i64,
/*  6359*/                OPC_Scope, 102|128,2/*358*/, /*->6720*/ // 2 children in Scope
/*  6362*/                  OPC_CheckChild0Same, 1,
/*  6364*/                  OPC_CheckChild1Integer, 1, 
/*  6366*/                  OPC_MoveParent,
/*  6367*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6369*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  6371*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6373*/                  OPC_MoveParent,
/*  6374*/                  OPC_MoveChild1,
/*  6375*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6378*/                  OPC_RecordMemRef,
/*  6379*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  6380*/                  OPC_CheckFoldableChainNode,
/*  6381*/                  OPC_MoveChild1,
/*  6382*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6385*/                  OPC_CheckChild0Same, 3,
/*  6387*/                  OPC_CheckChild1Integer, 1, 
/*  6389*/                  OPC_CheckType, MVT::i64,
/*  6391*/                  OPC_MoveParent,
/*  6392*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6394*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  6396*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6398*/                  OPC_MoveParent,
/*  6399*/                  OPC_MoveParent,
/*  6400*/                  OPC_MoveParent,
/*  6401*/                  OPC_MoveChild1,
/*  6402*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  6405*/                  OPC_MoveChild0,
/*  6406*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6409*/                  OPC_RecordMemRef,
/*  6410*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  6411*/                  OPC_CheckFoldableChainNode,
/*  6412*/                  OPC_Scope, 23|128,1/*151*/, /*->6566*/ // 2 children in Scope
/*  6415*/                    OPC_CheckChild1Same, 1,
/*  6417*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6419*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  6421*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6423*/                    OPC_MoveParent,
/*  6424*/                    OPC_MoveChild1,
/*  6425*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6428*/                    OPC_RecordMemRef,
/*  6429*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  6430*/                    OPC_CheckFoldableChainNode,
/*  6431*/                    OPC_CheckChild1Same, 3,
/*  6433*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6435*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  6437*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6439*/                    OPC_MoveParent,
/*  6440*/                    OPC_MoveParent,
/*  6441*/                    OPC_MoveParent,
/*  6442*/                    OPC_CheckType, MVT::i32,
/*  6444*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  6446*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  6456*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  6459*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  6466*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  6472*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  6475*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  6483*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6486*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  6494*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  6497*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  6506*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  6512*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  6515*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  6523*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6526*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  6534*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  6537*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  6546*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  6555*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  6558*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  6566*/                  /*Scope*/ 23|128,1/*151*/, /*->6719*/
/*  6568*/                    OPC_CheckChild1Same, 3,
/*  6570*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6572*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  6574*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6576*/                    OPC_MoveParent,
/*  6577*/                    OPC_MoveChild1,
/*  6578*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6581*/                    OPC_RecordMemRef,
/*  6582*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  6583*/                    OPC_CheckFoldableChainNode,
/*  6584*/                    OPC_CheckChild1Same, 1,
/*  6586*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6588*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  6590*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6592*/                    OPC_MoveParent,
/*  6593*/                    OPC_MoveParent,
/*  6594*/                    OPC_MoveParent,
/*  6595*/                    OPC_CheckType, MVT::i32,
/*  6597*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  6599*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  6609*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  6612*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  6619*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  6625*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  6628*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  6636*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6639*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  6647*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  6650*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  6659*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  6665*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  6668*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  6676*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6679*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  6687*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  6690*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  6699*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  6708*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  6711*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  6719*/                  0, /*End of Scope*/
/*  6720*/                /*Scope*/ 102|128,2/*358*/, /*->7080*/
/*  6722*/                  OPC_CheckChild0Same, 3,
/*  6724*/                  OPC_CheckChild1Integer, 1, 
/*  6726*/                  OPC_MoveParent,
/*  6727*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6729*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  6731*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6733*/                  OPC_MoveParent,
/*  6734*/                  OPC_MoveChild1,
/*  6735*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6738*/                  OPC_RecordMemRef,
/*  6739*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  6740*/                  OPC_CheckFoldableChainNode,
/*  6741*/                  OPC_MoveChild1,
/*  6742*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  6745*/                  OPC_CheckChild0Same, 1,
/*  6747*/                  OPC_CheckChild1Integer, 1, 
/*  6749*/                  OPC_CheckType, MVT::i64,
/*  6751*/                  OPC_MoveParent,
/*  6752*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6754*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  6756*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6758*/                  OPC_MoveParent,
/*  6759*/                  OPC_MoveParent,
/*  6760*/                  OPC_MoveParent,
/*  6761*/                  OPC_MoveChild1,
/*  6762*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  6765*/                  OPC_MoveChild0,
/*  6766*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6769*/                  OPC_RecordMemRef,
/*  6770*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  6771*/                  OPC_CheckFoldableChainNode,
/*  6772*/                  OPC_Scope, 23|128,1/*151*/, /*->6926*/ // 2 children in Scope
/*  6775*/                    OPC_CheckChild1Same, 1,
/*  6777*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6779*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  6781*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6783*/                    OPC_MoveParent,
/*  6784*/                    OPC_MoveChild1,
/*  6785*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6788*/                    OPC_RecordMemRef,
/*  6789*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  6790*/                    OPC_CheckFoldableChainNode,
/*  6791*/                    OPC_CheckChild1Same, 3,
/*  6793*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6795*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  6797*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6799*/                    OPC_MoveParent,
/*  6800*/                    OPC_MoveParent,
/*  6801*/                    OPC_MoveParent,
/*  6802*/                    OPC_CheckType, MVT::i32,
/*  6804*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  6806*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  6816*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  6819*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  6826*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  6832*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  6835*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  6843*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6846*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  6854*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  6857*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  6866*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  6872*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  6875*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  6883*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6886*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  6894*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  6897*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  6906*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  6915*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  6918*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  6926*/                  /*Scope*/ 23|128,1/*151*/, /*->7079*/
/*  6928*/                    OPC_CheckChild1Same, 3,
/*  6930*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6932*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  6934*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6936*/                    OPC_MoveParent,
/*  6937*/                    OPC_MoveChild1,
/*  6938*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  6941*/                    OPC_RecordMemRef,
/*  6942*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  6943*/                    OPC_CheckFoldableChainNode,
/*  6944*/                    OPC_CheckChild1Same, 1,
/*  6946*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  6948*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  6950*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  6952*/                    OPC_MoveParent,
/*  6953*/                    OPC_MoveParent,
/*  6954*/                    OPC_MoveParent,
/*  6955*/                    OPC_CheckType, MVT::i32,
/*  6957*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  6959*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  6969*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  6972*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  6979*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  6985*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  6988*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  6996*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  6999*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  7007*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7010*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  7019*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  7025*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7028*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  7036*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7039*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  7047*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7050*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  7059*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  7068*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  7071*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  7079*/                  0, /*End of Scope*/
/*  7080*/                0, /*End of Scope*/
/*  7081*/              /*Scope*/ 9|128,6/*777*/, /*->7860*/
/*  7083*/                OPC_CheckChild0Same, 3,
/*  7085*/                OPC_CheckChild1Integer, 2, 
/*  7087*/                OPC_MoveParent,
/*  7088*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7090*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  7092*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7094*/                OPC_MoveParent,
/*  7095*/                OPC_MoveChild1,
/*  7096*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7099*/                OPC_RecordMemRef,
/*  7100*/                OPC_RecordNode, // #5 = 'ld' chained node
/*  7101*/                OPC_CheckFoldableChainNode,
/*  7102*/                OPC_MoveChild1,
/*  7103*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  7106*/                OPC_CheckChild0Same, 1,
/*  7108*/                OPC_CheckChild1Integer, 2, 
/*  7110*/                OPC_CheckType, MVT::i64,
/*  7112*/                OPC_MoveParent,
/*  7113*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7115*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  7117*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7119*/                OPC_MoveParent,
/*  7120*/                OPC_MoveParent,
/*  7121*/                OPC_MoveChild1,
/*  7122*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  7125*/                OPC_MoveChild0,
/*  7126*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7129*/                OPC_RecordMemRef,
/*  7130*/                OPC_RecordNode, // #6 = 'ld' chained node
/*  7131*/                OPC_CheckFoldableChainNode,
/*  7132*/                OPC_MoveChild1,
/*  7133*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  7136*/                OPC_CheckType, MVT::i64,
/*  7138*/                OPC_Scope, 102|128,2/*358*/, /*->7499*/ // 2 children in Scope
/*  7141*/                  OPC_CheckChild0Same, 1,
/*  7143*/                  OPC_CheckChild1Integer, 1, 
/*  7145*/                  OPC_MoveParent,
/*  7146*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7148*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  7150*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7152*/                  OPC_MoveParent,
/*  7153*/                  OPC_MoveChild1,
/*  7154*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7157*/                  OPC_RecordMemRef,
/*  7158*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  7159*/                  OPC_CheckFoldableChainNode,
/*  7160*/                  OPC_MoveChild1,
/*  7161*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  7164*/                  OPC_CheckChild0Same, 3,
/*  7166*/                  OPC_CheckChild1Integer, 1, 
/*  7168*/                  OPC_CheckType, MVT::i64,
/*  7170*/                  OPC_MoveParent,
/*  7171*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7173*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  7175*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7177*/                  OPC_MoveParent,
/*  7178*/                  OPC_MoveParent,
/*  7179*/                  OPC_MoveParent,
/*  7180*/                  OPC_MoveChild1,
/*  7181*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  7184*/                  OPC_MoveChild0,
/*  7185*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7188*/                  OPC_RecordMemRef,
/*  7189*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  7190*/                  OPC_CheckFoldableChainNode,
/*  7191*/                  OPC_Scope, 23|128,1/*151*/, /*->7345*/ // 2 children in Scope
/*  7194*/                    OPC_CheckChild1Same, 1,
/*  7196*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7198*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7200*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7202*/                    OPC_MoveParent,
/*  7203*/                    OPC_MoveChild1,
/*  7204*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7207*/                    OPC_RecordMemRef,
/*  7208*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  7209*/                    OPC_CheckFoldableChainNode,
/*  7210*/                    OPC_CheckChild1Same, 3,
/*  7212*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7214*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7216*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7218*/                    OPC_MoveParent,
/*  7219*/                    OPC_MoveParent,
/*  7220*/                    OPC_MoveParent,
/*  7221*/                    OPC_CheckType, MVT::i32,
/*  7223*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  7225*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  7235*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  7238*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  7245*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  7251*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7254*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  7262*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7265*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  7273*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7276*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  7285*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  7291*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7294*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  7302*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7305*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  7313*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7316*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  7325*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  7334*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  7337*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  7345*/                  /*Scope*/ 23|128,1/*151*/, /*->7498*/
/*  7347*/                    OPC_CheckChild1Same, 3,
/*  7349*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7351*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7353*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7355*/                    OPC_MoveParent,
/*  7356*/                    OPC_MoveChild1,
/*  7357*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7360*/                    OPC_RecordMemRef,
/*  7361*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  7362*/                    OPC_CheckFoldableChainNode,
/*  7363*/                    OPC_CheckChild1Same, 1,
/*  7365*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7367*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7369*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7371*/                    OPC_MoveParent,
/*  7372*/                    OPC_MoveParent,
/*  7373*/                    OPC_MoveParent,
/*  7374*/                    OPC_CheckType, MVT::i32,
/*  7376*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  7378*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  7388*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  7391*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  7398*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  7404*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7407*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  7415*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7418*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  7426*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7429*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  7438*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  7444*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7447*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  7455*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7458*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  7466*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7469*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  7478*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  7487*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  7490*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  7498*/                  0, /*End of Scope*/
/*  7499*/                /*Scope*/ 102|128,2/*358*/, /*->7859*/
/*  7501*/                  OPC_CheckChild0Same, 3,
/*  7503*/                  OPC_CheckChild1Integer, 1, 
/*  7505*/                  OPC_MoveParent,
/*  7506*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7508*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  7510*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7512*/                  OPC_MoveParent,
/*  7513*/                  OPC_MoveChild1,
/*  7514*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7517*/                  OPC_RecordMemRef,
/*  7518*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  7519*/                  OPC_CheckFoldableChainNode,
/*  7520*/                  OPC_MoveChild1,
/*  7521*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  7524*/                  OPC_CheckChild0Same, 1,
/*  7526*/                  OPC_CheckChild1Integer, 1, 
/*  7528*/                  OPC_CheckType, MVT::i64,
/*  7530*/                  OPC_MoveParent,
/*  7531*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7533*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  7535*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7537*/                  OPC_MoveParent,
/*  7538*/                  OPC_MoveParent,
/*  7539*/                  OPC_MoveParent,
/*  7540*/                  OPC_MoveChild1,
/*  7541*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  7544*/                  OPC_MoveChild0,
/*  7545*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7548*/                  OPC_RecordMemRef,
/*  7549*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  7550*/                  OPC_CheckFoldableChainNode,
/*  7551*/                  OPC_Scope, 23|128,1/*151*/, /*->7705*/ // 2 children in Scope
/*  7554*/                    OPC_CheckChild1Same, 1,
/*  7556*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7558*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7560*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7562*/                    OPC_MoveParent,
/*  7563*/                    OPC_MoveChild1,
/*  7564*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7567*/                    OPC_RecordMemRef,
/*  7568*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  7569*/                    OPC_CheckFoldableChainNode,
/*  7570*/                    OPC_CheckChild1Same, 3,
/*  7572*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7574*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7576*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7578*/                    OPC_MoveParent,
/*  7579*/                    OPC_MoveParent,
/*  7580*/                    OPC_MoveParent,
/*  7581*/                    OPC_CheckType, MVT::i32,
/*  7583*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  7585*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  7595*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  7598*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  7605*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  7611*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7614*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  7622*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7625*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  7633*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7636*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  7645*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  7651*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7654*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  7662*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7665*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  7673*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7676*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  7685*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  7694*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  7697*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  7705*/                  /*Scope*/ 23|128,1/*151*/, /*->7858*/
/*  7707*/                    OPC_CheckChild1Same, 3,
/*  7709*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7711*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7713*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7715*/                    OPC_MoveParent,
/*  7716*/                    OPC_MoveChild1,
/*  7717*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7720*/                    OPC_RecordMemRef,
/*  7721*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  7722*/                    OPC_CheckFoldableChainNode,
/*  7723*/                    OPC_CheckChild1Same, 1,
/*  7725*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7727*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7729*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7731*/                    OPC_MoveParent,
/*  7732*/                    OPC_MoveParent,
/*  7733*/                    OPC_MoveParent,
/*  7734*/                    OPC_CheckType, MVT::i32,
/*  7736*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  7738*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  7748*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  7751*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  7758*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  7764*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7767*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  7775*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7778*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  7786*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7789*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  7798*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  7804*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  7807*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  7815*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  7818*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  7826*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  7829*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  7838*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  7847*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  7850*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  7858*/                  0, /*End of Scope*/
/*  7859*/                0, /*End of Scope*/
/*  7860*/              /*Scope*/ 9|128,6/*777*/, /*->8639*/
/*  7862*/                OPC_CheckChild0Same, 1,
/*  7864*/                OPC_CheckChild1Integer, 1, 
/*  7866*/                OPC_MoveParent,
/*  7867*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7869*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  7871*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7873*/                OPC_MoveParent,
/*  7874*/                OPC_MoveChild1,
/*  7875*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7878*/                OPC_RecordMemRef,
/*  7879*/                OPC_RecordNode, // #5 = 'ld' chained node
/*  7880*/                OPC_CheckFoldableChainNode,
/*  7881*/                OPC_MoveChild1,
/*  7882*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  7885*/                OPC_CheckChild0Same, 3,
/*  7887*/                OPC_CheckChild1Integer, 1, 
/*  7889*/                OPC_CheckType, MVT::i64,
/*  7891*/                OPC_MoveParent,
/*  7892*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7894*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  7896*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7898*/                OPC_MoveParent,
/*  7899*/                OPC_MoveParent,
/*  7900*/                OPC_MoveChild1,
/*  7901*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  7904*/                OPC_MoveChild0,
/*  7905*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7908*/                OPC_RecordMemRef,
/*  7909*/                OPC_RecordNode, // #6 = 'ld' chained node
/*  7910*/                OPC_CheckFoldableChainNode,
/*  7911*/                OPC_MoveChild1,
/*  7912*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  7915*/                OPC_CheckType, MVT::i64,
/*  7917*/                OPC_Scope, 102|128,2/*358*/, /*->8278*/ // 2 children in Scope
/*  7920*/                  OPC_CheckChild0Same, 1,
/*  7922*/                  OPC_CheckChild1Integer, 2, 
/*  7924*/                  OPC_MoveParent,
/*  7925*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7927*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  7929*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7931*/                  OPC_MoveParent,
/*  7932*/                  OPC_MoveChild1,
/*  7933*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7936*/                  OPC_RecordMemRef,
/*  7937*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  7938*/                  OPC_CheckFoldableChainNode,
/*  7939*/                  OPC_MoveChild1,
/*  7940*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  7943*/                  OPC_CheckChild0Same, 3,
/*  7945*/                  OPC_CheckChild1Integer, 2, 
/*  7947*/                  OPC_CheckType, MVT::i64,
/*  7949*/                  OPC_MoveParent,
/*  7950*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7952*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  7954*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7956*/                  OPC_MoveParent,
/*  7957*/                  OPC_MoveParent,
/*  7958*/                  OPC_MoveParent,
/*  7959*/                  OPC_MoveChild1,
/*  7960*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  7963*/                  OPC_MoveChild0,
/*  7964*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7967*/                  OPC_RecordMemRef,
/*  7968*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  7969*/                  OPC_CheckFoldableChainNode,
/*  7970*/                  OPC_Scope, 23|128,1/*151*/, /*->8124*/ // 2 children in Scope
/*  7973*/                    OPC_CheckChild1Same, 1,
/*  7975*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7977*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7979*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7981*/                    OPC_MoveParent,
/*  7982*/                    OPC_MoveChild1,
/*  7983*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  7986*/                    OPC_RecordMemRef,
/*  7987*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  7988*/                    OPC_CheckFoldableChainNode,
/*  7989*/                    OPC_CheckChild1Same, 3,
/*  7991*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  7993*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  7995*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  7997*/                    OPC_MoveParent,
/*  7998*/                    OPC_MoveParent,
/*  7999*/                    OPC_MoveParent,
/*  8000*/                    OPC_CheckType, MVT::i32,
/*  8002*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  8004*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  8014*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  8017*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  8024*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  8030*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8033*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  8041*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8044*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  8052*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8055*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  8064*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  8070*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8073*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  8081*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8084*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  8092*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8095*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  8104*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  8113*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  8116*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  8124*/                  /*Scope*/ 23|128,1/*151*/, /*->8277*/
/*  8126*/                    OPC_CheckChild1Same, 3,
/*  8128*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8130*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8132*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8134*/                    OPC_MoveParent,
/*  8135*/                    OPC_MoveChild1,
/*  8136*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8139*/                    OPC_RecordMemRef,
/*  8140*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  8141*/                    OPC_CheckFoldableChainNode,
/*  8142*/                    OPC_CheckChild1Same, 1,
/*  8144*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8146*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8148*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8150*/                    OPC_MoveParent,
/*  8151*/                    OPC_MoveParent,
/*  8152*/                    OPC_MoveParent,
/*  8153*/                    OPC_CheckType, MVT::i32,
/*  8155*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  8157*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  8167*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  8170*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  8177*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  8183*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8186*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  8194*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8197*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  8205*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8208*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  8217*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  8223*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8226*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  8234*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8237*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  8245*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8248*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  8257*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  8266*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  8269*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  8277*/                  0, /*End of Scope*/
/*  8278*/                /*Scope*/ 102|128,2/*358*/, /*->8638*/
/*  8280*/                  OPC_CheckChild0Same, 3,
/*  8282*/                  OPC_CheckChild1Integer, 2, 
/*  8284*/                  OPC_MoveParent,
/*  8285*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8287*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  8289*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8291*/                  OPC_MoveParent,
/*  8292*/                  OPC_MoveChild1,
/*  8293*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8296*/                  OPC_RecordMemRef,
/*  8297*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  8298*/                  OPC_CheckFoldableChainNode,
/*  8299*/                  OPC_MoveChild1,
/*  8300*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  8303*/                  OPC_CheckChild0Same, 1,
/*  8305*/                  OPC_CheckChild1Integer, 2, 
/*  8307*/                  OPC_CheckType, MVT::i64,
/*  8309*/                  OPC_MoveParent,
/*  8310*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8312*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  8314*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8316*/                  OPC_MoveParent,
/*  8317*/                  OPC_MoveParent,
/*  8318*/                  OPC_MoveParent,
/*  8319*/                  OPC_MoveChild1,
/*  8320*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  8323*/                  OPC_MoveChild0,
/*  8324*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8327*/                  OPC_RecordMemRef,
/*  8328*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  8329*/                  OPC_CheckFoldableChainNode,
/*  8330*/                  OPC_Scope, 23|128,1/*151*/, /*->8484*/ // 2 children in Scope
/*  8333*/                    OPC_CheckChild1Same, 1,
/*  8335*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8337*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8339*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8341*/                    OPC_MoveParent,
/*  8342*/                    OPC_MoveChild1,
/*  8343*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8346*/                    OPC_RecordMemRef,
/*  8347*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  8348*/                    OPC_CheckFoldableChainNode,
/*  8349*/                    OPC_CheckChild1Same, 3,
/*  8351*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8353*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8355*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8357*/                    OPC_MoveParent,
/*  8358*/                    OPC_MoveParent,
/*  8359*/                    OPC_MoveParent,
/*  8360*/                    OPC_CheckType, MVT::i32,
/*  8362*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  8364*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  8374*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  8377*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  8384*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  8390*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8393*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  8401*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8404*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  8412*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8415*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  8424*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  8430*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8433*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  8441*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8444*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  8452*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8455*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  8464*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  8473*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  8476*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  8484*/                  /*Scope*/ 23|128,1/*151*/, /*->8637*/
/*  8486*/                    OPC_CheckChild1Same, 3,
/*  8488*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8490*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8492*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8494*/                    OPC_MoveParent,
/*  8495*/                    OPC_MoveChild1,
/*  8496*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8499*/                    OPC_RecordMemRef,
/*  8500*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  8501*/                    OPC_CheckFoldableChainNode,
/*  8502*/                    OPC_CheckChild1Same, 1,
/*  8504*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8506*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8508*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8510*/                    OPC_MoveParent,
/*  8511*/                    OPC_MoveParent,
/*  8512*/                    OPC_MoveParent,
/*  8513*/                    OPC_CheckType, MVT::i32,
/*  8515*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  8517*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  8527*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  8530*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  8537*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  8543*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8546*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  8554*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8557*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  8565*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8568*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  8577*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  8583*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8586*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  8594*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8597*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  8605*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8608*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  8617*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  8626*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  8629*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  8637*/                  0, /*End of Scope*/
/*  8638*/                0, /*End of Scope*/
/*  8639*/              /*Scope*/ 9|128,6/*777*/, /*->9418*/
/*  8641*/                OPC_CheckChild0Same, 3,
/*  8643*/                OPC_CheckChild1Integer, 1, 
/*  8645*/                OPC_MoveParent,
/*  8646*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8648*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  8650*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8652*/                OPC_MoveParent,
/*  8653*/                OPC_MoveChild1,
/*  8654*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8657*/                OPC_RecordMemRef,
/*  8658*/                OPC_RecordNode, // #5 = 'ld' chained node
/*  8659*/                OPC_CheckFoldableChainNode,
/*  8660*/                OPC_MoveChild1,
/*  8661*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  8664*/                OPC_CheckChild0Same, 1,
/*  8666*/                OPC_CheckChild1Integer, 1, 
/*  8668*/                OPC_CheckType, MVT::i64,
/*  8670*/                OPC_MoveParent,
/*  8671*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8673*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  8675*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8677*/                OPC_MoveParent,
/*  8678*/                OPC_MoveParent,
/*  8679*/                OPC_MoveChild1,
/*  8680*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  8683*/                OPC_MoveChild0,
/*  8684*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8687*/                OPC_RecordMemRef,
/*  8688*/                OPC_RecordNode, // #6 = 'ld' chained node
/*  8689*/                OPC_CheckFoldableChainNode,
/*  8690*/                OPC_MoveChild1,
/*  8691*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  8694*/                OPC_CheckType, MVT::i64,
/*  8696*/                OPC_Scope, 102|128,2/*358*/, /*->9057*/ // 2 children in Scope
/*  8699*/                  OPC_CheckChild0Same, 1,
/*  8701*/                  OPC_CheckChild1Integer, 2, 
/*  8703*/                  OPC_MoveParent,
/*  8704*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8706*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  8708*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8710*/                  OPC_MoveParent,
/*  8711*/                  OPC_MoveChild1,
/*  8712*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8715*/                  OPC_RecordMemRef,
/*  8716*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  8717*/                  OPC_CheckFoldableChainNode,
/*  8718*/                  OPC_MoveChild1,
/*  8719*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  8722*/                  OPC_CheckChild0Same, 3,
/*  8724*/                  OPC_CheckChild1Integer, 2, 
/*  8726*/                  OPC_CheckType, MVT::i64,
/*  8728*/                  OPC_MoveParent,
/*  8729*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8731*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  8733*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8735*/                  OPC_MoveParent,
/*  8736*/                  OPC_MoveParent,
/*  8737*/                  OPC_MoveParent,
/*  8738*/                  OPC_MoveChild1,
/*  8739*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  8742*/                  OPC_MoveChild0,
/*  8743*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8746*/                  OPC_RecordMemRef,
/*  8747*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  8748*/                  OPC_CheckFoldableChainNode,
/*  8749*/                  OPC_Scope, 23|128,1/*151*/, /*->8903*/ // 2 children in Scope
/*  8752*/                    OPC_CheckChild1Same, 1,
/*  8754*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8756*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8758*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8760*/                    OPC_MoveParent,
/*  8761*/                    OPC_MoveChild1,
/*  8762*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8765*/                    OPC_RecordMemRef,
/*  8766*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  8767*/                    OPC_CheckFoldableChainNode,
/*  8768*/                    OPC_CheckChild1Same, 3,
/*  8770*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8772*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8774*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8776*/                    OPC_MoveParent,
/*  8777*/                    OPC_MoveParent,
/*  8778*/                    OPC_MoveParent,
/*  8779*/                    OPC_CheckType, MVT::i32,
/*  8781*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  8783*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  8793*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  8796*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  8803*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  8809*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8812*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  8820*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8823*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  8831*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8834*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  8843*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  8849*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8852*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  8860*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8863*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  8871*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8874*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  8883*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  8892*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  8895*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  8903*/                  /*Scope*/ 23|128,1/*151*/, /*->9056*/
/*  8905*/                    OPC_CheckChild1Same, 3,
/*  8907*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8909*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8911*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8913*/                    OPC_MoveParent,
/*  8914*/                    OPC_MoveChild1,
/*  8915*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  8918*/                    OPC_RecordMemRef,
/*  8919*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  8920*/                    OPC_CheckFoldableChainNode,
/*  8921*/                    OPC_CheckChild1Same, 1,
/*  8923*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  8925*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  8927*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  8929*/                    OPC_MoveParent,
/*  8930*/                    OPC_MoveParent,
/*  8931*/                    OPC_MoveParent,
/*  8932*/                    OPC_CheckType, MVT::i32,
/*  8934*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  8936*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  8946*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  8949*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  8956*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  8962*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  8965*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  8973*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  8976*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  8984*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  8987*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  8996*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  9002*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9005*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  9013*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9016*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  9024*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9027*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  9036*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  9045*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  9048*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  9056*/                  0, /*End of Scope*/
/*  9057*/                /*Scope*/ 102|128,2/*358*/, /*->9417*/
/*  9059*/                  OPC_CheckChild0Same, 3,
/*  9061*/                  OPC_CheckChild1Integer, 2, 
/*  9063*/                  OPC_MoveParent,
/*  9064*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9066*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  9068*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9070*/                  OPC_MoveParent,
/*  9071*/                  OPC_MoveChild1,
/*  9072*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9075*/                  OPC_RecordMemRef,
/*  9076*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  9077*/                  OPC_CheckFoldableChainNode,
/*  9078*/                  OPC_MoveChild1,
/*  9079*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  9082*/                  OPC_CheckChild0Same, 1,
/*  9084*/                  OPC_CheckChild1Integer, 2, 
/*  9086*/                  OPC_CheckType, MVT::i64,
/*  9088*/                  OPC_MoveParent,
/*  9089*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9091*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  9093*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9095*/                  OPC_MoveParent,
/*  9096*/                  OPC_MoveParent,
/*  9097*/                  OPC_MoveParent,
/*  9098*/                  OPC_MoveChild1,
/*  9099*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  9102*/                  OPC_MoveChild0,
/*  9103*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9106*/                  OPC_RecordMemRef,
/*  9107*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  9108*/                  OPC_CheckFoldableChainNode,
/*  9109*/                  OPC_Scope, 23|128,1/*151*/, /*->9263*/ // 2 children in Scope
/*  9112*/                    OPC_CheckChild1Same, 1,
/*  9114*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9116*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9118*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9120*/                    OPC_MoveParent,
/*  9121*/                    OPC_MoveChild1,
/*  9122*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9125*/                    OPC_RecordMemRef,
/*  9126*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  9127*/                    OPC_CheckFoldableChainNode,
/*  9128*/                    OPC_CheckChild1Same, 3,
/*  9130*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9132*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9134*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9136*/                    OPC_MoveParent,
/*  9137*/                    OPC_MoveParent,
/*  9138*/                    OPC_MoveParent,
/*  9139*/                    OPC_CheckType, MVT::i32,
/*  9141*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  9143*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  9153*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  9156*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  9163*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  9169*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9172*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  9180*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9183*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  9191*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9194*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  9203*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  9209*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9212*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  9220*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9223*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  9231*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9234*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  9243*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  9252*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  9255*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  9263*/                  /*Scope*/ 23|128,1/*151*/, /*->9416*/
/*  9265*/                    OPC_CheckChild1Same, 3,
/*  9267*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9269*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9271*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9273*/                    OPC_MoveParent,
/*  9274*/                    OPC_MoveChild1,
/*  9275*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9278*/                    OPC_RecordMemRef,
/*  9279*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  9280*/                    OPC_CheckFoldableChainNode,
/*  9281*/                    OPC_CheckChild1Same, 1,
/*  9283*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9285*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9287*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9289*/                    OPC_MoveParent,
/*  9290*/                    OPC_MoveParent,
/*  9291*/                    OPC_MoveParent,
/*  9292*/                    OPC_CheckType, MVT::i32,
/*  9294*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  9296*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  9306*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  9309*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  9316*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  9322*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9325*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  9333*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9336*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  9344*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9347*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  9356*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  9362*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9365*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  9373*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9376*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  9384*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9387*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  9396*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  9405*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  9408*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  9416*/                  0, /*End of Scope*/
/*  9417*/                0, /*End of Scope*/
/*  9418*/              /*Scope*/ 39|128,6/*807*/, /*->10227*/
/*  9420*/                OPC_CheckChild0Same, 1,
/*  9422*/                OPC_CheckChild1Integer, 2, 
/*  9424*/                OPC_MoveParent,
/*  9425*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9427*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  9429*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9431*/                OPC_MoveParent,
/*  9432*/                OPC_MoveChild1,
/*  9433*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9436*/                OPC_RecordMemRef,
/*  9437*/                OPC_RecordNode, // #5 = 'ld' chained node
/*  9438*/                OPC_CheckFoldableChainNode,
/*  9439*/                OPC_MoveChild1,
/*  9440*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  9443*/                OPC_CheckChild0Same, 3,
/*  9445*/                OPC_CheckChild1Integer, 2, 
/*  9447*/                OPC_CheckType, MVT::i64,
/*  9449*/                OPC_MoveParent,
/*  9450*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9452*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*  9454*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9456*/                OPC_MoveParent,
/*  9457*/                OPC_MoveParent,
/*  9458*/                OPC_MoveChild1,
/*  9459*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  9462*/                OPC_MoveChild0,
/*  9463*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9466*/                OPC_RecordMemRef,
/*  9467*/                OPC_RecordNode, // #6 = 'ld' chained node
/*  9468*/                OPC_CheckFoldableChainNode,
/*  9469*/                OPC_Scope, 120|128,2/*376*/, /*->9848*/ // 2 children in Scope
/*  9472*/                  OPC_CheckChild1Same, 1,
/*  9474*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9476*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  9478*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9480*/                  OPC_MoveParent,
/*  9481*/                  OPC_MoveChild1,
/*  9482*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9485*/                  OPC_RecordMemRef,
/*  9486*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  9487*/                  OPC_CheckFoldableChainNode,
/*  9488*/                  OPC_CheckChild1Same, 3,
/*  9490*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9492*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  9494*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9496*/                  OPC_MoveParent,
/*  9497*/                  OPC_MoveParent,
/*  9498*/                  OPC_MoveParent,
/*  9499*/                  OPC_MoveChild1,
/*  9500*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  9503*/                  OPC_MoveChild0,
/*  9504*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9507*/                  OPC_RecordMemRef,
/*  9508*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  9509*/                  OPC_CheckFoldableChainNode,
/*  9510*/                  OPC_MoveChild1,
/*  9511*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  9514*/                  OPC_CheckType, MVT::i64,
/*  9516*/                  OPC_Scope, 35|128,1/*163*/, /*->9682*/ // 2 children in Scope
/*  9519*/                    OPC_CheckChild0Same, 1,
/*  9521*/                    OPC_CheckChild1Integer, 1, 
/*  9523*/                    OPC_MoveParent,
/*  9524*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9526*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9528*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9530*/                    OPC_MoveParent,
/*  9531*/                    OPC_MoveChild1,
/*  9532*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9535*/                    OPC_RecordMemRef,
/*  9536*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  9537*/                    OPC_CheckFoldableChainNode,
/*  9538*/                    OPC_MoveChild1,
/*  9539*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  9542*/                    OPC_CheckChild0Same, 3,
/*  9544*/                    OPC_CheckChild1Integer, 1, 
/*  9546*/                    OPC_CheckType, MVT::i64,
/*  9548*/                    OPC_MoveParent,
/*  9549*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9551*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9553*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9555*/                    OPC_MoveParent,
/*  9556*/                    OPC_MoveParent,
/*  9557*/                    OPC_MoveParent,
/*  9558*/                    OPC_CheckType, MVT::i32,
/*  9560*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  9562*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  9572*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  9575*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  9582*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  9588*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9591*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  9599*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9602*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  9610*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9613*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  9622*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  9628*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9631*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  9639*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9642*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  9650*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9653*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  9662*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  9671*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  9674*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  9682*/                  /*Scope*/ 35|128,1/*163*/, /*->9847*/
/*  9684*/                    OPC_CheckChild0Same, 3,
/*  9686*/                    OPC_CheckChild1Integer, 1, 
/*  9688*/                    OPC_MoveParent,
/*  9689*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9691*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9693*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9695*/                    OPC_MoveParent,
/*  9696*/                    OPC_MoveChild1,
/*  9697*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9700*/                    OPC_RecordMemRef,
/*  9701*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  9702*/                    OPC_CheckFoldableChainNode,
/*  9703*/                    OPC_MoveChild1,
/*  9704*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  9707*/                    OPC_CheckChild0Same, 1,
/*  9709*/                    OPC_CheckChild1Integer, 1, 
/*  9711*/                    OPC_CheckType, MVT::i64,
/*  9713*/                    OPC_MoveParent,
/*  9714*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9716*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9718*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9720*/                    OPC_MoveParent,
/*  9721*/                    OPC_MoveParent,
/*  9722*/                    OPC_MoveParent,
/*  9723*/                    OPC_CheckType, MVT::i32,
/*  9725*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  9727*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  9737*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  9740*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  9747*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  9753*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9756*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  9764*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9767*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  9775*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9778*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*  9787*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*  9793*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9796*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*  9804*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9807*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*  9815*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9818*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*  9827*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*  9836*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*  9839*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*  9847*/                  0, /*End of Scope*/
/*  9848*/                /*Scope*/ 120|128,2/*376*/, /*->10226*/
/*  9850*/                  OPC_CheckChild1Same, 3,
/*  9852*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9854*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  9856*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9858*/                  OPC_MoveParent,
/*  9859*/                  OPC_MoveChild1,
/*  9860*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9863*/                  OPC_RecordMemRef,
/*  9864*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*  9865*/                  OPC_CheckFoldableChainNode,
/*  9866*/                  OPC_CheckChild1Same, 1,
/*  9868*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9870*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*  9872*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9874*/                  OPC_MoveParent,
/*  9875*/                  OPC_MoveParent,
/*  9876*/                  OPC_MoveParent,
/*  9877*/                  OPC_MoveChild1,
/*  9878*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*  9881*/                  OPC_MoveChild0,
/*  9882*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9885*/                  OPC_RecordMemRef,
/*  9886*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*  9887*/                  OPC_CheckFoldableChainNode,
/*  9888*/                  OPC_MoveChild1,
/*  9889*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  9892*/                  OPC_CheckType, MVT::i64,
/*  9894*/                  OPC_Scope, 35|128,1/*163*/, /*->10060*/ // 2 children in Scope
/*  9897*/                    OPC_CheckChild0Same, 1,
/*  9899*/                    OPC_CheckChild1Integer, 1, 
/*  9901*/                    OPC_MoveParent,
/*  9902*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9904*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9906*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9908*/                    OPC_MoveParent,
/*  9909*/                    OPC_MoveChild1,
/*  9910*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*  9913*/                    OPC_RecordMemRef,
/*  9914*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*  9915*/                    OPC_CheckFoldableChainNode,
/*  9916*/                    OPC_MoveChild1,
/*  9917*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*  9920*/                    OPC_CheckChild0Same, 3,
/*  9922*/                    OPC_CheckChild1Integer, 1, 
/*  9924*/                    OPC_CheckType, MVT::i64,
/*  9926*/                    OPC_MoveParent,
/*  9927*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*  9929*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*  9931*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*  9933*/                    OPC_MoveParent,
/*  9934*/                    OPC_MoveParent,
/*  9935*/                    OPC_MoveParent,
/*  9936*/                    OPC_CheckType, MVT::i32,
/*  9938*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*  9940*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*  9950*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*  9953*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*  9960*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*  9966*/                    OPC_EmitInteger, MVT::i64, 0, 
/*  9969*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*  9977*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*  9980*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*  9988*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*  9991*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 10000*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 10006*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10009*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 10017*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10020*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 10028*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10031*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 10040*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 10049*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 10052*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 10060*/                  /*Scope*/ 35|128,1/*163*/, /*->10225*/
/* 10062*/                    OPC_CheckChild0Same, 3,
/* 10064*/                    OPC_CheckChild1Integer, 1, 
/* 10066*/                    OPC_MoveParent,
/* 10067*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10069*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10071*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10073*/                    OPC_MoveParent,
/* 10074*/                    OPC_MoveChild1,
/* 10075*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10078*/                    OPC_RecordMemRef,
/* 10079*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 10080*/                    OPC_CheckFoldableChainNode,
/* 10081*/                    OPC_MoveChild1,
/* 10082*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 10085*/                    OPC_CheckChild0Same, 1,
/* 10087*/                    OPC_CheckChild1Integer, 1, 
/* 10089*/                    OPC_CheckType, MVT::i64,
/* 10091*/                    OPC_MoveParent,
/* 10092*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10094*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10096*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10098*/                    OPC_MoveParent,
/* 10099*/                    OPC_MoveParent,
/* 10100*/                    OPC_MoveParent,
/* 10101*/                    OPC_CheckType, MVT::i32,
/* 10103*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 10105*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 10115*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 10118*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 10125*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 10131*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10134*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 10142*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10145*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 10153*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10156*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 10165*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 10171*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10174*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 10182*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10185*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 10193*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10196*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 10205*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 10214*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 10217*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 10225*/                  0, /*End of Scope*/
/* 10226*/                0, /*End of Scope*/
/* 10227*/              /*Scope*/ 39|128,6/*807*/, /*->11036*/
/* 10229*/                OPC_CheckChild0Same, 3,
/* 10231*/                OPC_CheckChild1Integer, 2, 
/* 10233*/                OPC_MoveParent,
/* 10234*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10236*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 10238*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10240*/                OPC_MoveParent,
/* 10241*/                OPC_MoveChild1,
/* 10242*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10245*/                OPC_RecordMemRef,
/* 10246*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 10247*/                OPC_CheckFoldableChainNode,
/* 10248*/                OPC_MoveChild1,
/* 10249*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 10252*/                OPC_CheckChild0Same, 1,
/* 10254*/                OPC_CheckChild1Integer, 2, 
/* 10256*/                OPC_CheckType, MVT::i64,
/* 10258*/                OPC_MoveParent,
/* 10259*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10261*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 10263*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10265*/                OPC_MoveParent,
/* 10266*/                OPC_MoveParent,
/* 10267*/                OPC_MoveChild1,
/* 10268*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 10271*/                OPC_MoveChild0,
/* 10272*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10275*/                OPC_RecordMemRef,
/* 10276*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 10277*/                OPC_CheckFoldableChainNode,
/* 10278*/                OPC_Scope, 120|128,2/*376*/, /*->10657*/ // 2 children in Scope
/* 10281*/                  OPC_CheckChild1Same, 1,
/* 10283*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10285*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 10287*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10289*/                  OPC_MoveParent,
/* 10290*/                  OPC_MoveChild1,
/* 10291*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10294*/                  OPC_RecordMemRef,
/* 10295*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 10296*/                  OPC_CheckFoldableChainNode,
/* 10297*/                  OPC_CheckChild1Same, 3,
/* 10299*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10301*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 10303*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10305*/                  OPC_MoveParent,
/* 10306*/                  OPC_MoveParent,
/* 10307*/                  OPC_MoveParent,
/* 10308*/                  OPC_MoveChild1,
/* 10309*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 10312*/                  OPC_MoveChild0,
/* 10313*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10316*/                  OPC_RecordMemRef,
/* 10317*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 10318*/                  OPC_CheckFoldableChainNode,
/* 10319*/                  OPC_MoveChild1,
/* 10320*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 10323*/                  OPC_CheckType, MVT::i64,
/* 10325*/                  OPC_Scope, 35|128,1/*163*/, /*->10491*/ // 2 children in Scope
/* 10328*/                    OPC_CheckChild0Same, 1,
/* 10330*/                    OPC_CheckChild1Integer, 1, 
/* 10332*/                    OPC_MoveParent,
/* 10333*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10335*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10337*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10339*/                    OPC_MoveParent,
/* 10340*/                    OPC_MoveChild1,
/* 10341*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10344*/                    OPC_RecordMemRef,
/* 10345*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 10346*/                    OPC_CheckFoldableChainNode,
/* 10347*/                    OPC_MoveChild1,
/* 10348*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 10351*/                    OPC_CheckChild0Same, 3,
/* 10353*/                    OPC_CheckChild1Integer, 1, 
/* 10355*/                    OPC_CheckType, MVT::i64,
/* 10357*/                    OPC_MoveParent,
/* 10358*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10360*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10362*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10364*/                    OPC_MoveParent,
/* 10365*/                    OPC_MoveParent,
/* 10366*/                    OPC_MoveParent,
/* 10367*/                    OPC_CheckType, MVT::i32,
/* 10369*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 10371*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 10381*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 10384*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 10391*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 10397*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10400*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 10408*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10411*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 10419*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10422*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 10431*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 10437*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10440*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 10448*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10451*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 10459*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10462*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 10471*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 10480*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 10483*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 10491*/                  /*Scope*/ 35|128,1/*163*/, /*->10656*/
/* 10493*/                    OPC_CheckChild0Same, 3,
/* 10495*/                    OPC_CheckChild1Integer, 1, 
/* 10497*/                    OPC_MoveParent,
/* 10498*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10500*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10502*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10504*/                    OPC_MoveParent,
/* 10505*/                    OPC_MoveChild1,
/* 10506*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10509*/                    OPC_RecordMemRef,
/* 10510*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 10511*/                    OPC_CheckFoldableChainNode,
/* 10512*/                    OPC_MoveChild1,
/* 10513*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 10516*/                    OPC_CheckChild0Same, 1,
/* 10518*/                    OPC_CheckChild1Integer, 1, 
/* 10520*/                    OPC_CheckType, MVT::i64,
/* 10522*/                    OPC_MoveParent,
/* 10523*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10525*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10527*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10529*/                    OPC_MoveParent,
/* 10530*/                    OPC_MoveParent,
/* 10531*/                    OPC_MoveParent,
/* 10532*/                    OPC_CheckType, MVT::i32,
/* 10534*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 10536*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 10546*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 10549*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 10556*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 10562*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10565*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 10573*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10576*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 10584*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10587*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 10596*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 10602*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10605*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 10613*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10616*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 10624*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10627*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 10636*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 10645*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 10648*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 10656*/                  0, /*End of Scope*/
/* 10657*/                /*Scope*/ 120|128,2/*376*/, /*->11035*/
/* 10659*/                  OPC_CheckChild1Same, 3,
/* 10661*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10663*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 10665*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10667*/                  OPC_MoveParent,
/* 10668*/                  OPC_MoveChild1,
/* 10669*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10672*/                  OPC_RecordMemRef,
/* 10673*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 10674*/                  OPC_CheckFoldableChainNode,
/* 10675*/                  OPC_CheckChild1Same, 1,
/* 10677*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10679*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 10681*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10683*/                  OPC_MoveParent,
/* 10684*/                  OPC_MoveParent,
/* 10685*/                  OPC_MoveParent,
/* 10686*/                  OPC_MoveChild1,
/* 10687*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 10690*/                  OPC_MoveChild0,
/* 10691*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10694*/                  OPC_RecordMemRef,
/* 10695*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 10696*/                  OPC_CheckFoldableChainNode,
/* 10697*/                  OPC_MoveChild1,
/* 10698*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 10701*/                  OPC_CheckType, MVT::i64,
/* 10703*/                  OPC_Scope, 35|128,1/*163*/, /*->10869*/ // 2 children in Scope
/* 10706*/                    OPC_CheckChild0Same, 1,
/* 10708*/                    OPC_CheckChild1Integer, 1, 
/* 10710*/                    OPC_MoveParent,
/* 10711*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10713*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10715*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10717*/                    OPC_MoveParent,
/* 10718*/                    OPC_MoveChild1,
/* 10719*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10722*/                    OPC_RecordMemRef,
/* 10723*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 10724*/                    OPC_CheckFoldableChainNode,
/* 10725*/                    OPC_MoveChild1,
/* 10726*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 10729*/                    OPC_CheckChild0Same, 3,
/* 10731*/                    OPC_CheckChild1Integer, 1, 
/* 10733*/                    OPC_CheckType, MVT::i64,
/* 10735*/                    OPC_MoveParent,
/* 10736*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10738*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10740*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10742*/                    OPC_MoveParent,
/* 10743*/                    OPC_MoveParent,
/* 10744*/                    OPC_MoveParent,
/* 10745*/                    OPC_CheckType, MVT::i32,
/* 10747*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 10749*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 10759*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 10762*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 10769*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 10775*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10778*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 10786*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10789*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 10797*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10800*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 10809*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 10815*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10818*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 10826*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10829*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 10837*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10840*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 10849*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 10858*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 10861*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 10869*/                  /*Scope*/ 35|128,1/*163*/, /*->11034*/
/* 10871*/                    OPC_CheckChild0Same, 3,
/* 10873*/                    OPC_CheckChild1Integer, 1, 
/* 10875*/                    OPC_MoveParent,
/* 10876*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10878*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10880*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10882*/                    OPC_MoveParent,
/* 10883*/                    OPC_MoveChild1,
/* 10884*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 10887*/                    OPC_RecordMemRef,
/* 10888*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 10889*/                    OPC_CheckFoldableChainNode,
/* 10890*/                    OPC_MoveChild1,
/* 10891*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 10894*/                    OPC_CheckChild0Same, 1,
/* 10896*/                    OPC_CheckChild1Integer, 1, 
/* 10898*/                    OPC_CheckType, MVT::i64,
/* 10900*/                    OPC_MoveParent,
/* 10901*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 10903*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 10905*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 10907*/                    OPC_MoveParent,
/* 10908*/                    OPC_MoveParent,
/* 10909*/                    OPC_MoveParent,
/* 10910*/                    OPC_CheckType, MVT::i32,
/* 10912*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 10914*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 10924*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 10927*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 10934*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 10940*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10943*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 10951*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10954*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 10962*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 10965*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 10974*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 10980*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 10983*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 10991*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 10994*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 11002*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11005*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 11014*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 11023*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 11026*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 11034*/                  0, /*End of Scope*/
/* 11035*/                0, /*End of Scope*/
/* 11036*/              0, /*End of Scope*/
/* 11037*/            /*Scope*/ 57|128,6/*825*/, /*->11864*/
/* 11039*/              OPC_CheckChild1Same, 1,
/* 11041*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11043*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 11045*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11047*/              OPC_MoveParent,
/* 11048*/              OPC_MoveChild1,
/* 11049*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11052*/              OPC_RecordMemRef,
/* 11053*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 11054*/              OPC_CheckFoldableChainNode,
/* 11055*/              OPC_CheckChild1Same, 3,
/* 11057*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11059*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 11061*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11063*/              OPC_MoveParent,
/* 11064*/              OPC_MoveParent,
/* 11065*/              OPC_MoveChild1,
/* 11066*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 11069*/              OPC_MoveChild0,
/* 11070*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11073*/              OPC_RecordMemRef,
/* 11074*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 11075*/              OPC_CheckFoldableChainNode,
/* 11076*/              OPC_MoveChild1,
/* 11077*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11080*/              OPC_CheckType, MVT::i64,
/* 11082*/              OPC_Scope, 4|128,3/*388*/, /*->11473*/ // 2 children in Scope
/* 11085*/                OPC_CheckChild0Same, 1,
/* 11087*/                OPC_CheckChild1Integer, 2, 
/* 11089*/                OPC_MoveParent,
/* 11090*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11092*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 11094*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11096*/                OPC_MoveParent,
/* 11097*/                OPC_MoveChild1,
/* 11098*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11101*/                OPC_RecordMemRef,
/* 11102*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 11103*/                OPC_CheckFoldableChainNode,
/* 11104*/                OPC_MoveChild1,
/* 11105*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11108*/                OPC_CheckChild0Same, 3,
/* 11110*/                OPC_CheckChild1Integer, 2, 
/* 11112*/                OPC_CheckType, MVT::i64,
/* 11114*/                OPC_MoveParent,
/* 11115*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11117*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 11119*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11121*/                OPC_MoveParent,
/* 11122*/                OPC_MoveParent,
/* 11123*/                OPC_MoveParent,
/* 11124*/                OPC_MoveChild1,
/* 11125*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 11128*/                OPC_MoveChild0,
/* 11129*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11132*/                OPC_RecordMemRef,
/* 11133*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 11134*/                OPC_CheckFoldableChainNode,
/* 11135*/                OPC_MoveChild1,
/* 11136*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11139*/                OPC_CheckType, MVT::i64,
/* 11141*/                OPC_Scope, 35|128,1/*163*/, /*->11307*/ // 2 children in Scope
/* 11144*/                  OPC_CheckChild0Same, 1,
/* 11146*/                  OPC_CheckChild1Integer, 1, 
/* 11148*/                  OPC_MoveParent,
/* 11149*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11151*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11153*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11155*/                  OPC_MoveParent,
/* 11156*/                  OPC_MoveChild1,
/* 11157*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11160*/                  OPC_RecordMemRef,
/* 11161*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 11162*/                  OPC_CheckFoldableChainNode,
/* 11163*/                  OPC_MoveChild1,
/* 11164*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11167*/                  OPC_CheckChild0Same, 3,
/* 11169*/                  OPC_CheckChild1Integer, 1, 
/* 11171*/                  OPC_CheckType, MVT::i64,
/* 11173*/                  OPC_MoveParent,
/* 11174*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11176*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11178*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11180*/                  OPC_MoveParent,
/* 11181*/                  OPC_MoveParent,
/* 11182*/                  OPC_MoveParent,
/* 11183*/                  OPC_CheckType, MVT::i32,
/* 11185*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 11187*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 11197*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 11200*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 11207*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 11213*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 11216*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 11224*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 11227*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 11235*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11238*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 11247*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 11253*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 11256*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 11264*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 11267*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 11275*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11278*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 11287*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 11296*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 11299*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 11307*/                /*Scope*/ 35|128,1/*163*/, /*->11472*/
/* 11309*/                  OPC_CheckChild0Same, 3,
/* 11311*/                  OPC_CheckChild1Integer, 1, 
/* 11313*/                  OPC_MoveParent,
/* 11314*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11316*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11318*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11320*/                  OPC_MoveParent,
/* 11321*/                  OPC_MoveChild1,
/* 11322*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11325*/                  OPC_RecordMemRef,
/* 11326*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 11327*/                  OPC_CheckFoldableChainNode,
/* 11328*/                  OPC_MoveChild1,
/* 11329*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11332*/                  OPC_CheckChild0Same, 1,
/* 11334*/                  OPC_CheckChild1Integer, 1, 
/* 11336*/                  OPC_CheckType, MVT::i64,
/* 11338*/                  OPC_MoveParent,
/* 11339*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11341*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11343*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11345*/                  OPC_MoveParent,
/* 11346*/                  OPC_MoveParent,
/* 11347*/                  OPC_MoveParent,
/* 11348*/                  OPC_CheckType, MVT::i32,
/* 11350*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 11352*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 11362*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 11365*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 11372*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 11378*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 11381*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 11389*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 11392*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 11400*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11403*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 11412*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 11418*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 11421*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 11429*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 11432*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 11440*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11443*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 11452*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 11461*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 11464*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 11472*/                0, /*End of Scope*/
/* 11473*/              /*Scope*/ 4|128,3/*388*/, /*->11863*/
/* 11475*/                OPC_CheckChild0Same, 3,
/* 11477*/                OPC_CheckChild1Integer, 2, 
/* 11479*/                OPC_MoveParent,
/* 11480*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11482*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 11484*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11486*/                OPC_MoveParent,
/* 11487*/                OPC_MoveChild1,
/* 11488*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11491*/                OPC_RecordMemRef,
/* 11492*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 11493*/                OPC_CheckFoldableChainNode,
/* 11494*/                OPC_MoveChild1,
/* 11495*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11498*/                OPC_CheckChild0Same, 1,
/* 11500*/                OPC_CheckChild1Integer, 2, 
/* 11502*/                OPC_CheckType, MVT::i64,
/* 11504*/                OPC_MoveParent,
/* 11505*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11507*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 11509*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11511*/                OPC_MoveParent,
/* 11512*/                OPC_MoveParent,
/* 11513*/                OPC_MoveParent,
/* 11514*/                OPC_MoveChild1,
/* 11515*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 11518*/                OPC_MoveChild0,
/* 11519*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11522*/                OPC_RecordMemRef,
/* 11523*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 11524*/                OPC_CheckFoldableChainNode,
/* 11525*/                OPC_MoveChild1,
/* 11526*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11529*/                OPC_CheckType, MVT::i64,
/* 11531*/                OPC_Scope, 35|128,1/*163*/, /*->11697*/ // 2 children in Scope
/* 11534*/                  OPC_CheckChild0Same, 1,
/* 11536*/                  OPC_CheckChild1Integer, 1, 
/* 11538*/                  OPC_MoveParent,
/* 11539*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11541*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11543*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11545*/                  OPC_MoveParent,
/* 11546*/                  OPC_MoveChild1,
/* 11547*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11550*/                  OPC_RecordMemRef,
/* 11551*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 11552*/                  OPC_CheckFoldableChainNode,
/* 11553*/                  OPC_MoveChild1,
/* 11554*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11557*/                  OPC_CheckChild0Same, 3,
/* 11559*/                  OPC_CheckChild1Integer, 1, 
/* 11561*/                  OPC_CheckType, MVT::i64,
/* 11563*/                  OPC_MoveParent,
/* 11564*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11566*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11568*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11570*/                  OPC_MoveParent,
/* 11571*/                  OPC_MoveParent,
/* 11572*/                  OPC_MoveParent,
/* 11573*/                  OPC_CheckType, MVT::i32,
/* 11575*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 11577*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 11587*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 11590*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 11597*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 11603*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 11606*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 11614*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 11617*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 11625*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11628*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 11637*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 11643*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 11646*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 11654*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 11657*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 11665*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11668*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 11677*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 11686*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 11689*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 11697*/                /*Scope*/ 35|128,1/*163*/, /*->11862*/
/* 11699*/                  OPC_CheckChild0Same, 3,
/* 11701*/                  OPC_CheckChild1Integer, 1, 
/* 11703*/                  OPC_MoveParent,
/* 11704*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11706*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11708*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11710*/                  OPC_MoveParent,
/* 11711*/                  OPC_MoveChild1,
/* 11712*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11715*/                  OPC_RecordMemRef,
/* 11716*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 11717*/                  OPC_CheckFoldableChainNode,
/* 11718*/                  OPC_MoveChild1,
/* 11719*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11722*/                  OPC_CheckChild0Same, 1,
/* 11724*/                  OPC_CheckChild1Integer, 1, 
/* 11726*/                  OPC_CheckType, MVT::i64,
/* 11728*/                  OPC_MoveParent,
/* 11729*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11731*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11733*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11735*/                  OPC_MoveParent,
/* 11736*/                  OPC_MoveParent,
/* 11737*/                  OPC_MoveParent,
/* 11738*/                  OPC_CheckType, MVT::i32,
/* 11740*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 11742*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 11752*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 11755*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 11762*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 11768*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 11771*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 11779*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 11782*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 11790*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11793*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 11802*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 11808*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 11811*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 11819*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 11822*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 11830*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 11833*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 11842*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 11851*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 11854*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 11862*/                0, /*End of Scope*/
/* 11863*/              0, /*End of Scope*/
/* 11864*/            /*Scope*/ 57|128,6/*825*/, /*->12691*/
/* 11866*/              OPC_CheckChild1Same, 3,
/* 11868*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11870*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 11872*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11874*/              OPC_MoveParent,
/* 11875*/              OPC_MoveChild1,
/* 11876*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11879*/              OPC_RecordMemRef,
/* 11880*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 11881*/              OPC_CheckFoldableChainNode,
/* 11882*/              OPC_CheckChild1Same, 1,
/* 11884*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11886*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 11888*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11890*/              OPC_MoveParent,
/* 11891*/              OPC_MoveParent,
/* 11892*/              OPC_MoveChild1,
/* 11893*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 11896*/              OPC_MoveChild0,
/* 11897*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11900*/              OPC_RecordMemRef,
/* 11901*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 11902*/              OPC_CheckFoldableChainNode,
/* 11903*/              OPC_MoveChild1,
/* 11904*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11907*/              OPC_CheckType, MVT::i64,
/* 11909*/              OPC_Scope, 4|128,3/*388*/, /*->12300*/ // 2 children in Scope
/* 11912*/                OPC_CheckChild0Same, 1,
/* 11914*/                OPC_CheckChild1Integer, 2, 
/* 11916*/                OPC_MoveParent,
/* 11917*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11919*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 11921*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11923*/                OPC_MoveParent,
/* 11924*/                OPC_MoveChild1,
/* 11925*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11928*/                OPC_RecordMemRef,
/* 11929*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 11930*/                OPC_CheckFoldableChainNode,
/* 11931*/                OPC_MoveChild1,
/* 11932*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11935*/                OPC_CheckChild0Same, 3,
/* 11937*/                OPC_CheckChild1Integer, 2, 
/* 11939*/                OPC_CheckType, MVT::i64,
/* 11941*/                OPC_MoveParent,
/* 11942*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11944*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 11946*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11948*/                OPC_MoveParent,
/* 11949*/                OPC_MoveParent,
/* 11950*/                OPC_MoveParent,
/* 11951*/                OPC_MoveChild1,
/* 11952*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 11955*/                OPC_MoveChild0,
/* 11956*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11959*/                OPC_RecordMemRef,
/* 11960*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 11961*/                OPC_CheckFoldableChainNode,
/* 11962*/                OPC_MoveChild1,
/* 11963*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11966*/                OPC_CheckType, MVT::i64,
/* 11968*/                OPC_Scope, 35|128,1/*163*/, /*->12134*/ // 2 children in Scope
/* 11971*/                  OPC_CheckChild0Same, 1,
/* 11973*/                  OPC_CheckChild1Integer, 1, 
/* 11975*/                  OPC_MoveParent,
/* 11976*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 11978*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 11980*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 11982*/                  OPC_MoveParent,
/* 11983*/                  OPC_MoveChild1,
/* 11984*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 11987*/                  OPC_RecordMemRef,
/* 11988*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 11989*/                  OPC_CheckFoldableChainNode,
/* 11990*/                  OPC_MoveChild1,
/* 11991*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 11994*/                  OPC_CheckChild0Same, 3,
/* 11996*/                  OPC_CheckChild1Integer, 1, 
/* 11998*/                  OPC_CheckType, MVT::i64,
/* 12000*/                  OPC_MoveParent,
/* 12001*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12003*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12005*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12007*/                  OPC_MoveParent,
/* 12008*/                  OPC_MoveParent,
/* 12009*/                  OPC_MoveParent,
/* 12010*/                  OPC_CheckType, MVT::i32,
/* 12012*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 12014*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 12024*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 12027*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 12034*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 12040*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 12043*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 12051*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12054*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 12062*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12065*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 12074*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 12080*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 12083*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 12091*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12094*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 12102*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12105*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 12114*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 12123*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 12126*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 12134*/                /*Scope*/ 35|128,1/*163*/, /*->12299*/
/* 12136*/                  OPC_CheckChild0Same, 3,
/* 12138*/                  OPC_CheckChild1Integer, 1, 
/* 12140*/                  OPC_MoveParent,
/* 12141*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12143*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12145*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12147*/                  OPC_MoveParent,
/* 12148*/                  OPC_MoveChild1,
/* 12149*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12152*/                  OPC_RecordMemRef,
/* 12153*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 12154*/                  OPC_CheckFoldableChainNode,
/* 12155*/                  OPC_MoveChild1,
/* 12156*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12159*/                  OPC_CheckChild0Same, 1,
/* 12161*/                  OPC_CheckChild1Integer, 1, 
/* 12163*/                  OPC_CheckType, MVT::i64,
/* 12165*/                  OPC_MoveParent,
/* 12166*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12168*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12170*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12172*/                  OPC_MoveParent,
/* 12173*/                  OPC_MoveParent,
/* 12174*/                  OPC_MoveParent,
/* 12175*/                  OPC_CheckType, MVT::i32,
/* 12177*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 12179*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 12189*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 12192*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 12199*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 12205*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 12208*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 12216*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12219*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 12227*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12230*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 12239*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 12245*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 12248*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 12256*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12259*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 12267*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12270*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 12279*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 12288*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 12291*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 12299*/                0, /*End of Scope*/
/* 12300*/              /*Scope*/ 4|128,3/*388*/, /*->12690*/
/* 12302*/                OPC_CheckChild0Same, 3,
/* 12304*/                OPC_CheckChild1Integer, 2, 
/* 12306*/                OPC_MoveParent,
/* 12307*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12309*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 12311*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12313*/                OPC_MoveParent,
/* 12314*/                OPC_MoveChild1,
/* 12315*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12318*/                OPC_RecordMemRef,
/* 12319*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 12320*/                OPC_CheckFoldableChainNode,
/* 12321*/                OPC_MoveChild1,
/* 12322*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12325*/                OPC_CheckChild0Same, 1,
/* 12327*/                OPC_CheckChild1Integer, 2, 
/* 12329*/                OPC_CheckType, MVT::i64,
/* 12331*/                OPC_MoveParent,
/* 12332*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12334*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 12336*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12338*/                OPC_MoveParent,
/* 12339*/                OPC_MoveParent,
/* 12340*/                OPC_MoveParent,
/* 12341*/                OPC_MoveChild1,
/* 12342*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 12345*/                OPC_MoveChild0,
/* 12346*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12349*/                OPC_RecordMemRef,
/* 12350*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 12351*/                OPC_CheckFoldableChainNode,
/* 12352*/                OPC_MoveChild1,
/* 12353*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12356*/                OPC_CheckType, MVT::i64,
/* 12358*/                OPC_Scope, 35|128,1/*163*/, /*->12524*/ // 2 children in Scope
/* 12361*/                  OPC_CheckChild0Same, 1,
/* 12363*/                  OPC_CheckChild1Integer, 1, 
/* 12365*/                  OPC_MoveParent,
/* 12366*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12368*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12370*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12372*/                  OPC_MoveParent,
/* 12373*/                  OPC_MoveChild1,
/* 12374*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12377*/                  OPC_RecordMemRef,
/* 12378*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 12379*/                  OPC_CheckFoldableChainNode,
/* 12380*/                  OPC_MoveChild1,
/* 12381*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12384*/                  OPC_CheckChild0Same, 3,
/* 12386*/                  OPC_CheckChild1Integer, 1, 
/* 12388*/                  OPC_CheckType, MVT::i64,
/* 12390*/                  OPC_MoveParent,
/* 12391*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12393*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12395*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12397*/                  OPC_MoveParent,
/* 12398*/                  OPC_MoveParent,
/* 12399*/                  OPC_MoveParent,
/* 12400*/                  OPC_CheckType, MVT::i32,
/* 12402*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 12404*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 12414*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 12417*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 12424*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 12430*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 12433*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 12441*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12444*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 12452*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12455*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 12464*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 12470*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 12473*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 12481*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12484*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 12492*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12495*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 12504*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 12513*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 12516*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 12524*/                /*Scope*/ 35|128,1/*163*/, /*->12689*/
/* 12526*/                  OPC_CheckChild0Same, 3,
/* 12528*/                  OPC_CheckChild1Integer, 1, 
/* 12530*/                  OPC_MoveParent,
/* 12531*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12533*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12535*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12537*/                  OPC_MoveParent,
/* 12538*/                  OPC_MoveChild1,
/* 12539*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12542*/                  OPC_RecordMemRef,
/* 12543*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 12544*/                  OPC_CheckFoldableChainNode,
/* 12545*/                  OPC_MoveChild1,
/* 12546*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12549*/                  OPC_CheckChild0Same, 1,
/* 12551*/                  OPC_CheckChild1Integer, 1, 
/* 12553*/                  OPC_CheckType, MVT::i64,
/* 12555*/                  OPC_MoveParent,
/* 12556*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12558*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12560*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12562*/                  OPC_MoveParent,
/* 12563*/                  OPC_MoveParent,
/* 12564*/                  OPC_MoveParent,
/* 12565*/                  OPC_CheckType, MVT::i32,
/* 12567*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 12569*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 12579*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 12582*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 12589*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 12595*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 12598*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 12606*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12609*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 12617*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12620*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 12629*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 12635*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 12638*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 12646*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12649*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 12657*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12660*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 12669*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 12678*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 12681*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 12689*/                0, /*End of Scope*/
/* 12690*/              0, /*End of Scope*/
/* 12691*/            /*Scope*/ 90|128,12/*1626*/, /*->14319*/
/* 12693*/              OPC_MoveChild1,
/* 12694*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12697*/              OPC_CheckType, MVT::i64,
/* 12699*/              OPC_Scope, 39|128,6/*807*/, /*->13509*/ // 2 children in Scope
/* 12702*/                OPC_CheckChild0Same, 1,
/* 12704*/                OPC_CheckChild1Integer, 1, 
/* 12706*/                OPC_MoveParent,
/* 12707*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12709*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 12711*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12713*/                OPC_MoveParent,
/* 12714*/                OPC_MoveChild1,
/* 12715*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12718*/                OPC_RecordMemRef,
/* 12719*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 12720*/                OPC_CheckFoldableChainNode,
/* 12721*/                OPC_MoveChild1,
/* 12722*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12725*/                OPC_CheckChild0Same, 3,
/* 12727*/                OPC_CheckChild1Integer, 1, 
/* 12729*/                OPC_CheckType, MVT::i64,
/* 12731*/                OPC_MoveParent,
/* 12732*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12734*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 12736*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12738*/                OPC_MoveParent,
/* 12739*/                OPC_MoveParent,
/* 12740*/                OPC_MoveChild1,
/* 12741*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 12744*/                OPC_MoveChild0,
/* 12745*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12748*/                OPC_RecordMemRef,
/* 12749*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 12750*/                OPC_CheckFoldableChainNode,
/* 12751*/                OPC_Scope, 120|128,2/*376*/, /*->13130*/ // 2 children in Scope
/* 12754*/                  OPC_CheckChild1Same, 1,
/* 12756*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12758*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12760*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12762*/                  OPC_MoveParent,
/* 12763*/                  OPC_MoveChild1,
/* 12764*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12767*/                  OPC_RecordMemRef,
/* 12768*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 12769*/                  OPC_CheckFoldableChainNode,
/* 12770*/                  OPC_CheckChild1Same, 3,
/* 12772*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12774*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 12776*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12778*/                  OPC_MoveParent,
/* 12779*/                  OPC_MoveParent,
/* 12780*/                  OPC_MoveParent,
/* 12781*/                  OPC_MoveChild1,
/* 12782*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 12785*/                  OPC_MoveChild0,
/* 12786*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12789*/                  OPC_RecordMemRef,
/* 12790*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 12791*/                  OPC_CheckFoldableChainNode,
/* 12792*/                  OPC_MoveChild1,
/* 12793*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12796*/                  OPC_CheckType, MVT::i64,
/* 12798*/                  OPC_Scope, 35|128,1/*163*/, /*->12964*/ // 2 children in Scope
/* 12801*/                    OPC_CheckChild0Same, 1,
/* 12803*/                    OPC_CheckChild1Integer, 2, 
/* 12805*/                    OPC_MoveParent,
/* 12806*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12808*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 12810*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12812*/                    OPC_MoveParent,
/* 12813*/                    OPC_MoveChild1,
/* 12814*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12817*/                    OPC_RecordMemRef,
/* 12818*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 12819*/                    OPC_CheckFoldableChainNode,
/* 12820*/                    OPC_MoveChild1,
/* 12821*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12824*/                    OPC_CheckChild0Same, 3,
/* 12826*/                    OPC_CheckChild1Integer, 2, 
/* 12828*/                    OPC_CheckType, MVT::i64,
/* 12830*/                    OPC_MoveParent,
/* 12831*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12833*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 12835*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12837*/                    OPC_MoveParent,
/* 12838*/                    OPC_MoveParent,
/* 12839*/                    OPC_MoveParent,
/* 12840*/                    OPC_CheckType, MVT::i32,
/* 12842*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 12844*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 12854*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 12857*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 12864*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 12870*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 12873*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 12881*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12884*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 12892*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12895*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 12904*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 12910*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 12913*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 12921*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 12924*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 12932*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 12935*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 12944*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 12953*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 12956*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 12964*/                  /*Scope*/ 35|128,1/*163*/, /*->13129*/
/* 12966*/                    OPC_CheckChild0Same, 3,
/* 12968*/                    OPC_CheckChild1Integer, 2, 
/* 12970*/                    OPC_MoveParent,
/* 12971*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12973*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 12975*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 12977*/                    OPC_MoveParent,
/* 12978*/                    OPC_MoveChild1,
/* 12979*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 12982*/                    OPC_RecordMemRef,
/* 12983*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 12984*/                    OPC_CheckFoldableChainNode,
/* 12985*/                    OPC_MoveChild1,
/* 12986*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 12989*/                    OPC_CheckChild0Same, 1,
/* 12991*/                    OPC_CheckChild1Integer, 2, 
/* 12993*/                    OPC_CheckType, MVT::i64,
/* 12995*/                    OPC_MoveParent,
/* 12996*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 12998*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13000*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13002*/                    OPC_MoveParent,
/* 13003*/                    OPC_MoveParent,
/* 13004*/                    OPC_MoveParent,
/* 13005*/                    OPC_CheckType, MVT::i32,
/* 13007*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 13009*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 13019*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 13022*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 13029*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 13035*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13038*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 13046*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13049*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 13057*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13060*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 13069*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 13075*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13078*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 13086*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13089*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 13097*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13100*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 13109*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 13118*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 13121*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 13129*/                  0, /*End of Scope*/
/* 13130*/                /*Scope*/ 120|128,2/*376*/, /*->13508*/
/* 13132*/                  OPC_CheckChild1Same, 3,
/* 13134*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13136*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 13138*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13140*/                  OPC_MoveParent,
/* 13141*/                  OPC_MoveChild1,
/* 13142*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13145*/                  OPC_RecordMemRef,
/* 13146*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 13147*/                  OPC_CheckFoldableChainNode,
/* 13148*/                  OPC_CheckChild1Same, 1,
/* 13150*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13152*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 13154*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13156*/                  OPC_MoveParent,
/* 13157*/                  OPC_MoveParent,
/* 13158*/                  OPC_MoveParent,
/* 13159*/                  OPC_MoveChild1,
/* 13160*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 13163*/                  OPC_MoveChild0,
/* 13164*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13167*/                  OPC_RecordMemRef,
/* 13168*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 13169*/                  OPC_CheckFoldableChainNode,
/* 13170*/                  OPC_MoveChild1,
/* 13171*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 13174*/                  OPC_CheckType, MVT::i64,
/* 13176*/                  OPC_Scope, 35|128,1/*163*/, /*->13342*/ // 2 children in Scope
/* 13179*/                    OPC_CheckChild0Same, 1,
/* 13181*/                    OPC_CheckChild1Integer, 2, 
/* 13183*/                    OPC_MoveParent,
/* 13184*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13186*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13188*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13190*/                    OPC_MoveParent,
/* 13191*/                    OPC_MoveChild1,
/* 13192*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13195*/                    OPC_RecordMemRef,
/* 13196*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 13197*/                    OPC_CheckFoldableChainNode,
/* 13198*/                    OPC_MoveChild1,
/* 13199*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 13202*/                    OPC_CheckChild0Same, 3,
/* 13204*/                    OPC_CheckChild1Integer, 2, 
/* 13206*/                    OPC_CheckType, MVT::i64,
/* 13208*/                    OPC_MoveParent,
/* 13209*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13211*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13213*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13215*/                    OPC_MoveParent,
/* 13216*/                    OPC_MoveParent,
/* 13217*/                    OPC_MoveParent,
/* 13218*/                    OPC_CheckType, MVT::i32,
/* 13220*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 13222*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 13232*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 13235*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 13242*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 13248*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13251*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 13259*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13262*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 13270*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13273*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 13282*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 13288*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13291*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 13299*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13302*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 13310*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13313*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 13322*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 13331*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 13334*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 13342*/                  /*Scope*/ 35|128,1/*163*/, /*->13507*/
/* 13344*/                    OPC_CheckChild0Same, 3,
/* 13346*/                    OPC_CheckChild1Integer, 2, 
/* 13348*/                    OPC_MoveParent,
/* 13349*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13351*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13353*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13355*/                    OPC_MoveParent,
/* 13356*/                    OPC_MoveChild1,
/* 13357*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13360*/                    OPC_RecordMemRef,
/* 13361*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 13362*/                    OPC_CheckFoldableChainNode,
/* 13363*/                    OPC_MoveChild1,
/* 13364*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 13367*/                    OPC_CheckChild0Same, 1,
/* 13369*/                    OPC_CheckChild1Integer, 2, 
/* 13371*/                    OPC_CheckType, MVT::i64,
/* 13373*/                    OPC_MoveParent,
/* 13374*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13376*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13378*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13380*/                    OPC_MoveParent,
/* 13381*/                    OPC_MoveParent,
/* 13382*/                    OPC_MoveParent,
/* 13383*/                    OPC_CheckType, MVT::i32,
/* 13385*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 13387*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 13397*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 13400*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 13407*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 13413*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13416*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 13424*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13427*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 13435*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13438*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 13447*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 13453*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13456*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 13464*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13467*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 13475*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13478*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 13487*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 13496*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 13499*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 13507*/                  0, /*End of Scope*/
/* 13508*/                0, /*End of Scope*/
/* 13509*/              /*Scope*/ 39|128,6/*807*/, /*->14318*/
/* 13511*/                OPC_CheckChild0Same, 3,
/* 13513*/                OPC_CheckChild1Integer, 1, 
/* 13515*/                OPC_MoveParent,
/* 13516*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13518*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 13520*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13522*/                OPC_MoveParent,
/* 13523*/                OPC_MoveChild1,
/* 13524*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13527*/                OPC_RecordMemRef,
/* 13528*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 13529*/                OPC_CheckFoldableChainNode,
/* 13530*/                OPC_MoveChild1,
/* 13531*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 13534*/                OPC_CheckChild0Same, 1,
/* 13536*/                OPC_CheckChild1Integer, 1, 
/* 13538*/                OPC_CheckType, MVT::i64,
/* 13540*/                OPC_MoveParent,
/* 13541*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13543*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 13545*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13547*/                OPC_MoveParent,
/* 13548*/                OPC_MoveParent,
/* 13549*/                OPC_MoveChild1,
/* 13550*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 13553*/                OPC_MoveChild0,
/* 13554*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13557*/                OPC_RecordMemRef,
/* 13558*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 13559*/                OPC_CheckFoldableChainNode,
/* 13560*/                OPC_Scope, 120|128,2/*376*/, /*->13939*/ // 2 children in Scope
/* 13563*/                  OPC_CheckChild1Same, 1,
/* 13565*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13567*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 13569*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13571*/                  OPC_MoveParent,
/* 13572*/                  OPC_MoveChild1,
/* 13573*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13576*/                  OPC_RecordMemRef,
/* 13577*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 13578*/                  OPC_CheckFoldableChainNode,
/* 13579*/                  OPC_CheckChild1Same, 3,
/* 13581*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13583*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 13585*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13587*/                  OPC_MoveParent,
/* 13588*/                  OPC_MoveParent,
/* 13589*/                  OPC_MoveParent,
/* 13590*/                  OPC_MoveChild1,
/* 13591*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 13594*/                  OPC_MoveChild0,
/* 13595*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13598*/                  OPC_RecordMemRef,
/* 13599*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 13600*/                  OPC_CheckFoldableChainNode,
/* 13601*/                  OPC_MoveChild1,
/* 13602*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 13605*/                  OPC_CheckType, MVT::i64,
/* 13607*/                  OPC_Scope, 35|128,1/*163*/, /*->13773*/ // 2 children in Scope
/* 13610*/                    OPC_CheckChild0Same, 1,
/* 13612*/                    OPC_CheckChild1Integer, 2, 
/* 13614*/                    OPC_MoveParent,
/* 13615*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13617*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13619*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13621*/                    OPC_MoveParent,
/* 13622*/                    OPC_MoveChild1,
/* 13623*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13626*/                    OPC_RecordMemRef,
/* 13627*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 13628*/                    OPC_CheckFoldableChainNode,
/* 13629*/                    OPC_MoveChild1,
/* 13630*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 13633*/                    OPC_CheckChild0Same, 3,
/* 13635*/                    OPC_CheckChild1Integer, 2, 
/* 13637*/                    OPC_CheckType, MVT::i64,
/* 13639*/                    OPC_MoveParent,
/* 13640*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13642*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13644*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13646*/                    OPC_MoveParent,
/* 13647*/                    OPC_MoveParent,
/* 13648*/                    OPC_MoveParent,
/* 13649*/                    OPC_CheckType, MVT::i32,
/* 13651*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 13653*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 13663*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 13666*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 13673*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 13679*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13682*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 13690*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13693*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 13701*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13704*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 13713*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 13719*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13722*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 13730*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13733*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 13741*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13744*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 13753*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 13762*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 13765*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 13773*/                  /*Scope*/ 35|128,1/*163*/, /*->13938*/
/* 13775*/                    OPC_CheckChild0Same, 3,
/* 13777*/                    OPC_CheckChild1Integer, 2, 
/* 13779*/                    OPC_MoveParent,
/* 13780*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13782*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13784*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13786*/                    OPC_MoveParent,
/* 13787*/                    OPC_MoveChild1,
/* 13788*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13791*/                    OPC_RecordMemRef,
/* 13792*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 13793*/                    OPC_CheckFoldableChainNode,
/* 13794*/                    OPC_MoveChild1,
/* 13795*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 13798*/                    OPC_CheckChild0Same, 1,
/* 13800*/                    OPC_CheckChild1Integer, 2, 
/* 13802*/                    OPC_CheckType, MVT::i64,
/* 13804*/                    OPC_MoveParent,
/* 13805*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13807*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13809*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13811*/                    OPC_MoveParent,
/* 13812*/                    OPC_MoveParent,
/* 13813*/                    OPC_MoveParent,
/* 13814*/                    OPC_CheckType, MVT::i32,
/* 13816*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 13818*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 13828*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 13831*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 13838*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 13844*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13847*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 13855*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13858*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 13866*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13869*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 13878*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 13884*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 13887*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 13895*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 13898*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 13906*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 13909*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 13918*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 13927*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 13930*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 13938*/                  0, /*End of Scope*/
/* 13939*/                /*Scope*/ 120|128,2/*376*/, /*->14317*/
/* 13941*/                  OPC_CheckChild1Same, 3,
/* 13943*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13945*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 13947*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13949*/                  OPC_MoveParent,
/* 13950*/                  OPC_MoveChild1,
/* 13951*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13954*/                  OPC_RecordMemRef,
/* 13955*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 13956*/                  OPC_CheckFoldableChainNode,
/* 13957*/                  OPC_CheckChild1Same, 1,
/* 13959*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13961*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 13963*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13965*/                  OPC_MoveParent,
/* 13966*/                  OPC_MoveParent,
/* 13967*/                  OPC_MoveParent,
/* 13968*/                  OPC_MoveChild1,
/* 13969*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 13972*/                  OPC_MoveChild0,
/* 13973*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 13976*/                  OPC_RecordMemRef,
/* 13977*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 13978*/                  OPC_CheckFoldableChainNode,
/* 13979*/                  OPC_MoveChild1,
/* 13980*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 13983*/                  OPC_CheckType, MVT::i64,
/* 13985*/                  OPC_Scope, 35|128,1/*163*/, /*->14151*/ // 2 children in Scope
/* 13988*/                    OPC_CheckChild0Same, 1,
/* 13990*/                    OPC_CheckChild1Integer, 2, 
/* 13992*/                    OPC_MoveParent,
/* 13993*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 13995*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 13997*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 13999*/                    OPC_MoveParent,
/* 14000*/                    OPC_MoveChild1,
/* 14001*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14004*/                    OPC_RecordMemRef,
/* 14005*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 14006*/                    OPC_CheckFoldableChainNode,
/* 14007*/                    OPC_MoveChild1,
/* 14008*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14011*/                    OPC_CheckChild0Same, 3,
/* 14013*/                    OPC_CheckChild1Integer, 2, 
/* 14015*/                    OPC_CheckType, MVT::i64,
/* 14017*/                    OPC_MoveParent,
/* 14018*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14020*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 14022*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14024*/                    OPC_MoveParent,
/* 14025*/                    OPC_MoveParent,
/* 14026*/                    OPC_MoveParent,
/* 14027*/                    OPC_CheckType, MVT::i32,
/* 14029*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 14031*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 14041*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 14044*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 14051*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 14057*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 14060*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 14068*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14071*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 14079*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14082*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 14091*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 14097*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 14100*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 14108*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14111*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 14119*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14122*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 14131*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 14140*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 14143*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 14151*/                  /*Scope*/ 35|128,1/*163*/, /*->14316*/
/* 14153*/                    OPC_CheckChild0Same, 3,
/* 14155*/                    OPC_CheckChild1Integer, 2, 
/* 14157*/                    OPC_MoveParent,
/* 14158*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14160*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 14162*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14164*/                    OPC_MoveParent,
/* 14165*/                    OPC_MoveChild1,
/* 14166*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14169*/                    OPC_RecordMemRef,
/* 14170*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 14171*/                    OPC_CheckFoldableChainNode,
/* 14172*/                    OPC_MoveChild1,
/* 14173*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14176*/                    OPC_CheckChild0Same, 1,
/* 14178*/                    OPC_CheckChild1Integer, 2, 
/* 14180*/                    OPC_CheckType, MVT::i64,
/* 14182*/                    OPC_MoveParent,
/* 14183*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14185*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 14187*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14189*/                    OPC_MoveParent,
/* 14190*/                    OPC_MoveParent,
/* 14191*/                    OPC_MoveParent,
/* 14192*/                    OPC_CheckType, MVT::i32,
/* 14194*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 14196*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 14206*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 14209*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 14216*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 14222*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 14225*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 14233*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14236*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 14244*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14247*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 14256*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 14262*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 14265*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 14273*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14276*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 14284*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14287*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 14296*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 14305*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 14308*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 14316*/                  0, /*End of Scope*/
/* 14317*/                0, /*End of Scope*/
/* 14318*/              0, /*End of Scope*/
/* 14319*/            /*Scope*/ 57|128,6/*825*/, /*->15146*/
/* 14321*/              OPC_CheckChild1Same, 1,
/* 14323*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14325*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 14327*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14329*/              OPC_MoveParent,
/* 14330*/              OPC_MoveChild1,
/* 14331*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14334*/              OPC_RecordMemRef,
/* 14335*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 14336*/              OPC_CheckFoldableChainNode,
/* 14337*/              OPC_CheckChild1Same, 3,
/* 14339*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14341*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 14343*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14345*/              OPC_MoveParent,
/* 14346*/              OPC_MoveParent,
/* 14347*/              OPC_MoveChild1,
/* 14348*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 14351*/              OPC_MoveChild0,
/* 14352*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14355*/              OPC_RecordMemRef,
/* 14356*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 14357*/              OPC_CheckFoldableChainNode,
/* 14358*/              OPC_MoveChild1,
/* 14359*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14362*/              OPC_CheckType, MVT::i64,
/* 14364*/              OPC_Scope, 4|128,3/*388*/, /*->14755*/ // 2 children in Scope
/* 14367*/                OPC_CheckChild0Same, 1,
/* 14369*/                OPC_CheckChild1Integer, 1, 
/* 14371*/                OPC_MoveParent,
/* 14372*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14374*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 14376*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14378*/                OPC_MoveParent,
/* 14379*/                OPC_MoveChild1,
/* 14380*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14383*/                OPC_RecordMemRef,
/* 14384*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 14385*/                OPC_CheckFoldableChainNode,
/* 14386*/                OPC_MoveChild1,
/* 14387*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14390*/                OPC_CheckChild0Same, 3,
/* 14392*/                OPC_CheckChild1Integer, 1, 
/* 14394*/                OPC_CheckType, MVT::i64,
/* 14396*/                OPC_MoveParent,
/* 14397*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14399*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 14401*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14403*/                OPC_MoveParent,
/* 14404*/                OPC_MoveParent,
/* 14405*/                OPC_MoveParent,
/* 14406*/                OPC_MoveChild1,
/* 14407*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 14410*/                OPC_MoveChild0,
/* 14411*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14414*/                OPC_RecordMemRef,
/* 14415*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 14416*/                OPC_CheckFoldableChainNode,
/* 14417*/                OPC_MoveChild1,
/* 14418*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14421*/                OPC_CheckType, MVT::i64,
/* 14423*/                OPC_Scope, 35|128,1/*163*/, /*->14589*/ // 2 children in Scope
/* 14426*/                  OPC_CheckChild0Same, 1,
/* 14428*/                  OPC_CheckChild1Integer, 2, 
/* 14430*/                  OPC_MoveParent,
/* 14431*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14433*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 14435*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14437*/                  OPC_MoveParent,
/* 14438*/                  OPC_MoveChild1,
/* 14439*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14442*/                  OPC_RecordMemRef,
/* 14443*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 14444*/                  OPC_CheckFoldableChainNode,
/* 14445*/                  OPC_MoveChild1,
/* 14446*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14449*/                  OPC_CheckChild0Same, 3,
/* 14451*/                  OPC_CheckChild1Integer, 2, 
/* 14453*/                  OPC_CheckType, MVT::i64,
/* 14455*/                  OPC_MoveParent,
/* 14456*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14458*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 14460*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14462*/                  OPC_MoveParent,
/* 14463*/                  OPC_MoveParent,
/* 14464*/                  OPC_MoveParent,
/* 14465*/                  OPC_CheckType, MVT::i32,
/* 14467*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 14469*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 14479*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 14482*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 14489*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 14495*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 14498*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 14506*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14509*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 14517*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14520*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 14529*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 14535*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 14538*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 14546*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14549*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 14557*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14560*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 14569*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 14578*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 14581*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 14589*/                /*Scope*/ 35|128,1/*163*/, /*->14754*/
/* 14591*/                  OPC_CheckChild0Same, 3,
/* 14593*/                  OPC_CheckChild1Integer, 2, 
/* 14595*/                  OPC_MoveParent,
/* 14596*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14598*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 14600*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14602*/                  OPC_MoveParent,
/* 14603*/                  OPC_MoveChild1,
/* 14604*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14607*/                  OPC_RecordMemRef,
/* 14608*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 14609*/                  OPC_CheckFoldableChainNode,
/* 14610*/                  OPC_MoveChild1,
/* 14611*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14614*/                  OPC_CheckChild0Same, 1,
/* 14616*/                  OPC_CheckChild1Integer, 2, 
/* 14618*/                  OPC_CheckType, MVT::i64,
/* 14620*/                  OPC_MoveParent,
/* 14621*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14623*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 14625*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14627*/                  OPC_MoveParent,
/* 14628*/                  OPC_MoveParent,
/* 14629*/                  OPC_MoveParent,
/* 14630*/                  OPC_CheckType, MVT::i32,
/* 14632*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 14634*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 14644*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 14647*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 14654*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 14660*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 14663*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 14671*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14674*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 14682*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14685*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 14694*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 14700*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 14703*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 14711*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14714*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 14722*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14725*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 14734*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 14743*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 14746*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 14754*/                0, /*End of Scope*/
/* 14755*/              /*Scope*/ 4|128,3/*388*/, /*->15145*/
/* 14757*/                OPC_CheckChild0Same, 3,
/* 14759*/                OPC_CheckChild1Integer, 1, 
/* 14761*/                OPC_MoveParent,
/* 14762*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14764*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 14766*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14768*/                OPC_MoveParent,
/* 14769*/                OPC_MoveChild1,
/* 14770*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14773*/                OPC_RecordMemRef,
/* 14774*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 14775*/                OPC_CheckFoldableChainNode,
/* 14776*/                OPC_MoveChild1,
/* 14777*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14780*/                OPC_CheckChild0Same, 1,
/* 14782*/                OPC_CheckChild1Integer, 1, 
/* 14784*/                OPC_CheckType, MVT::i64,
/* 14786*/                OPC_MoveParent,
/* 14787*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14789*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 14791*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14793*/                OPC_MoveParent,
/* 14794*/                OPC_MoveParent,
/* 14795*/                OPC_MoveParent,
/* 14796*/                OPC_MoveChild1,
/* 14797*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 14800*/                OPC_MoveChild0,
/* 14801*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14804*/                OPC_RecordMemRef,
/* 14805*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 14806*/                OPC_CheckFoldableChainNode,
/* 14807*/                OPC_MoveChild1,
/* 14808*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14811*/                OPC_CheckType, MVT::i64,
/* 14813*/                OPC_Scope, 35|128,1/*163*/, /*->14979*/ // 2 children in Scope
/* 14816*/                  OPC_CheckChild0Same, 1,
/* 14818*/                  OPC_CheckChild1Integer, 2, 
/* 14820*/                  OPC_MoveParent,
/* 14821*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14823*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 14825*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14827*/                  OPC_MoveParent,
/* 14828*/                  OPC_MoveChild1,
/* 14829*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14832*/                  OPC_RecordMemRef,
/* 14833*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 14834*/                  OPC_CheckFoldableChainNode,
/* 14835*/                  OPC_MoveChild1,
/* 14836*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 14839*/                  OPC_CheckChild0Same, 3,
/* 14841*/                  OPC_CheckChild1Integer, 2, 
/* 14843*/                  OPC_CheckType, MVT::i64,
/* 14845*/                  OPC_MoveParent,
/* 14846*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14848*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 14850*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14852*/                  OPC_MoveParent,
/* 14853*/                  OPC_MoveParent,
/* 14854*/                  OPC_MoveParent,
/* 14855*/                  OPC_CheckType, MVT::i32,
/* 14857*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 14859*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 14869*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 14872*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 14879*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 14885*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 14888*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 14896*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14899*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 14907*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14910*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 14919*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 14925*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 14928*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 14936*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 14939*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 14947*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 14950*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 14959*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 14968*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 14971*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 14979*/                /*Scope*/ 35|128,1/*163*/, /*->15144*/
/* 14981*/                  OPC_CheckChild0Same, 3,
/* 14983*/                  OPC_CheckChild1Integer, 2, 
/* 14985*/                  OPC_MoveParent,
/* 14986*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 14988*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 14990*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 14992*/                  OPC_MoveParent,
/* 14993*/                  OPC_MoveChild1,
/* 14994*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 14997*/                  OPC_RecordMemRef,
/* 14998*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 14999*/                  OPC_CheckFoldableChainNode,
/* 15000*/                  OPC_MoveChild1,
/* 15001*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15004*/                  OPC_CheckChild0Same, 1,
/* 15006*/                  OPC_CheckChild1Integer, 2, 
/* 15008*/                  OPC_CheckType, MVT::i64,
/* 15010*/                  OPC_MoveParent,
/* 15011*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15013*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15015*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15017*/                  OPC_MoveParent,
/* 15018*/                  OPC_MoveParent,
/* 15019*/                  OPC_MoveParent,
/* 15020*/                  OPC_CheckType, MVT::i32,
/* 15022*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 15024*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 15034*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 15037*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 15044*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 15050*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15053*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 15061*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15064*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 15072*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15075*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 15084*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 15090*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15093*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 15101*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15104*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 15112*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15115*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 15124*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 15133*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 15136*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 15144*/                0, /*End of Scope*/
/* 15145*/              0, /*End of Scope*/
/* 15146*/            /*Scope*/ 57|128,6/*825*/, /*->15973*/
/* 15148*/              OPC_CheckChild1Same, 3,
/* 15150*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15152*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 15154*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15156*/              OPC_MoveParent,
/* 15157*/              OPC_MoveChild1,
/* 15158*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15161*/              OPC_RecordMemRef,
/* 15162*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 15163*/              OPC_CheckFoldableChainNode,
/* 15164*/              OPC_CheckChild1Same, 1,
/* 15166*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15168*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 15170*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15172*/              OPC_MoveParent,
/* 15173*/              OPC_MoveParent,
/* 15174*/              OPC_MoveChild1,
/* 15175*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 15178*/              OPC_MoveChild0,
/* 15179*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15182*/              OPC_RecordMemRef,
/* 15183*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 15184*/              OPC_CheckFoldableChainNode,
/* 15185*/              OPC_MoveChild1,
/* 15186*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15189*/              OPC_CheckType, MVT::i64,
/* 15191*/              OPC_Scope, 4|128,3/*388*/, /*->15582*/ // 2 children in Scope
/* 15194*/                OPC_CheckChild0Same, 1,
/* 15196*/                OPC_CheckChild1Integer, 1, 
/* 15198*/                OPC_MoveParent,
/* 15199*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15201*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 15203*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15205*/                OPC_MoveParent,
/* 15206*/                OPC_MoveChild1,
/* 15207*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15210*/                OPC_RecordMemRef,
/* 15211*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 15212*/                OPC_CheckFoldableChainNode,
/* 15213*/                OPC_MoveChild1,
/* 15214*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15217*/                OPC_CheckChild0Same, 3,
/* 15219*/                OPC_CheckChild1Integer, 1, 
/* 15221*/                OPC_CheckType, MVT::i64,
/* 15223*/                OPC_MoveParent,
/* 15224*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15226*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 15228*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15230*/                OPC_MoveParent,
/* 15231*/                OPC_MoveParent,
/* 15232*/                OPC_MoveParent,
/* 15233*/                OPC_MoveChild1,
/* 15234*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 15237*/                OPC_MoveChild0,
/* 15238*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15241*/                OPC_RecordMemRef,
/* 15242*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 15243*/                OPC_CheckFoldableChainNode,
/* 15244*/                OPC_MoveChild1,
/* 15245*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15248*/                OPC_CheckType, MVT::i64,
/* 15250*/                OPC_Scope, 35|128,1/*163*/, /*->15416*/ // 2 children in Scope
/* 15253*/                  OPC_CheckChild0Same, 1,
/* 15255*/                  OPC_CheckChild1Integer, 2, 
/* 15257*/                  OPC_MoveParent,
/* 15258*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15260*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15262*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15264*/                  OPC_MoveParent,
/* 15265*/                  OPC_MoveChild1,
/* 15266*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15269*/                  OPC_RecordMemRef,
/* 15270*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 15271*/                  OPC_CheckFoldableChainNode,
/* 15272*/                  OPC_MoveChild1,
/* 15273*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15276*/                  OPC_CheckChild0Same, 3,
/* 15278*/                  OPC_CheckChild1Integer, 2, 
/* 15280*/                  OPC_CheckType, MVT::i64,
/* 15282*/                  OPC_MoveParent,
/* 15283*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15285*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15287*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15289*/                  OPC_MoveParent,
/* 15290*/                  OPC_MoveParent,
/* 15291*/                  OPC_MoveParent,
/* 15292*/                  OPC_CheckType, MVT::i32,
/* 15294*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 15296*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 15306*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 15309*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 15316*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 15322*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15325*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 15333*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15336*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 15344*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15347*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 15356*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 15362*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15365*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 15373*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15376*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 15384*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15387*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 15396*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 15405*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 15408*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 15416*/                /*Scope*/ 35|128,1/*163*/, /*->15581*/
/* 15418*/                  OPC_CheckChild0Same, 3,
/* 15420*/                  OPC_CheckChild1Integer, 2, 
/* 15422*/                  OPC_MoveParent,
/* 15423*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15425*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15427*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15429*/                  OPC_MoveParent,
/* 15430*/                  OPC_MoveChild1,
/* 15431*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15434*/                  OPC_RecordMemRef,
/* 15435*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 15436*/                  OPC_CheckFoldableChainNode,
/* 15437*/                  OPC_MoveChild1,
/* 15438*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15441*/                  OPC_CheckChild0Same, 1,
/* 15443*/                  OPC_CheckChild1Integer, 2, 
/* 15445*/                  OPC_CheckType, MVT::i64,
/* 15447*/                  OPC_MoveParent,
/* 15448*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15450*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15452*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15454*/                  OPC_MoveParent,
/* 15455*/                  OPC_MoveParent,
/* 15456*/                  OPC_MoveParent,
/* 15457*/                  OPC_CheckType, MVT::i32,
/* 15459*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 15461*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 15471*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 15474*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 15481*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 15487*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15490*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 15498*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15501*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 15509*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15512*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 15521*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 15527*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15530*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 15538*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15541*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 15549*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15552*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 15561*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 15570*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 15573*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 15581*/                0, /*End of Scope*/
/* 15582*/              /*Scope*/ 4|128,3/*388*/, /*->15972*/
/* 15584*/                OPC_CheckChild0Same, 3,
/* 15586*/                OPC_CheckChild1Integer, 1, 
/* 15588*/                OPC_MoveParent,
/* 15589*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15591*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 15593*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15595*/                OPC_MoveParent,
/* 15596*/                OPC_MoveChild1,
/* 15597*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15600*/                OPC_RecordMemRef,
/* 15601*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 15602*/                OPC_CheckFoldableChainNode,
/* 15603*/                OPC_MoveChild1,
/* 15604*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15607*/                OPC_CheckChild0Same, 1,
/* 15609*/                OPC_CheckChild1Integer, 1, 
/* 15611*/                OPC_CheckType, MVT::i64,
/* 15613*/                OPC_MoveParent,
/* 15614*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15616*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 15618*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15620*/                OPC_MoveParent,
/* 15621*/                OPC_MoveParent,
/* 15622*/                OPC_MoveParent,
/* 15623*/                OPC_MoveChild1,
/* 15624*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 15627*/                OPC_MoveChild0,
/* 15628*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15631*/                OPC_RecordMemRef,
/* 15632*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 15633*/                OPC_CheckFoldableChainNode,
/* 15634*/                OPC_MoveChild1,
/* 15635*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15638*/                OPC_CheckType, MVT::i64,
/* 15640*/                OPC_Scope, 35|128,1/*163*/, /*->15806*/ // 2 children in Scope
/* 15643*/                  OPC_CheckChild0Same, 1,
/* 15645*/                  OPC_CheckChild1Integer, 2, 
/* 15647*/                  OPC_MoveParent,
/* 15648*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15650*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15652*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15654*/                  OPC_MoveParent,
/* 15655*/                  OPC_MoveChild1,
/* 15656*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15659*/                  OPC_RecordMemRef,
/* 15660*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 15661*/                  OPC_CheckFoldableChainNode,
/* 15662*/                  OPC_MoveChild1,
/* 15663*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15666*/                  OPC_CheckChild0Same, 3,
/* 15668*/                  OPC_CheckChild1Integer, 2, 
/* 15670*/                  OPC_CheckType, MVT::i64,
/* 15672*/                  OPC_MoveParent,
/* 15673*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15675*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15677*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15679*/                  OPC_MoveParent,
/* 15680*/                  OPC_MoveParent,
/* 15681*/                  OPC_MoveParent,
/* 15682*/                  OPC_CheckType, MVT::i32,
/* 15684*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 15686*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 15696*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 15699*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 15706*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 15712*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15715*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 15723*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15726*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 15734*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15737*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 15746*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 15752*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15755*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 15763*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15766*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 15774*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15777*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 15786*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 15795*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 15798*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 15806*/                /*Scope*/ 35|128,1/*163*/, /*->15971*/
/* 15808*/                  OPC_CheckChild0Same, 3,
/* 15810*/                  OPC_CheckChild1Integer, 2, 
/* 15812*/                  OPC_MoveParent,
/* 15813*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15815*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15817*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15819*/                  OPC_MoveParent,
/* 15820*/                  OPC_MoveChild1,
/* 15821*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 15824*/                  OPC_RecordMemRef,
/* 15825*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 15826*/                  OPC_CheckFoldableChainNode,
/* 15827*/                  OPC_MoveChild1,
/* 15828*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15831*/                  OPC_CheckChild0Same, 1,
/* 15833*/                  OPC_CheckChild1Integer, 2, 
/* 15835*/                  OPC_CheckType, MVT::i64,
/* 15837*/                  OPC_MoveParent,
/* 15838*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15840*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 15842*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15844*/                  OPC_MoveParent,
/* 15845*/                  OPC_MoveParent,
/* 15846*/                  OPC_MoveParent,
/* 15847*/                  OPC_CheckType, MVT::i32,
/* 15849*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 15851*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 15861*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 15864*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 15871*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 15877*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15880*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 15888*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15891*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 15899*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15902*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 15911*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 15917*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 15920*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 15928*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 15931*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 15939*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 15942*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 15951*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 15960*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 15963*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 15971*/                0, /*End of Scope*/
/* 15972*/              0, /*End of Scope*/
/* 15973*/            /*Scope*/ 6|128,37/*4742*/, /*->20717*/
/* 15975*/              OPC_MoveChild1,
/* 15976*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 15979*/              OPC_CheckType, MVT::i64,
/* 15981*/              OPC_Scope, 9|128,6/*777*/, /*->16761*/ // 6 children in Scope
/* 15984*/                OPC_CheckChild0Same, 3,
/* 15986*/                OPC_CheckChild1Integer, 2, 
/* 15988*/                OPC_MoveParent,
/* 15989*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 15991*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 15993*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 15995*/                OPC_MoveParent,
/* 15996*/                OPC_MoveChild1,
/* 15997*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16000*/                OPC_RecordMemRef,
/* 16001*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 16002*/                OPC_CheckFoldableChainNode,
/* 16003*/                OPC_MoveChild1,
/* 16004*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 16007*/                OPC_CheckChild0Same, 1,
/* 16009*/                OPC_CheckChild1Integer, 2, 
/* 16011*/                OPC_CheckType, MVT::i64,
/* 16013*/                OPC_MoveParent,
/* 16014*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16016*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 16018*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16020*/                OPC_MoveParent,
/* 16021*/                OPC_MoveParent,
/* 16022*/                OPC_MoveChild1,
/* 16023*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 16026*/                OPC_MoveChild0,
/* 16027*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16030*/                OPC_RecordMemRef,
/* 16031*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 16032*/                OPC_CheckFoldableChainNode,
/* 16033*/                OPC_MoveChild1,
/* 16034*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 16037*/                OPC_CheckType, MVT::i64,
/* 16039*/                OPC_Scope, 102|128,2/*358*/, /*->16400*/ // 2 children in Scope
/* 16042*/                  OPC_CheckChild0Same, 3,
/* 16044*/                  OPC_CheckChild1Integer, 1, 
/* 16046*/                  OPC_MoveParent,
/* 16047*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16049*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 16051*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16053*/                  OPC_MoveParent,
/* 16054*/                  OPC_MoveChild1,
/* 16055*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16058*/                  OPC_RecordMemRef,
/* 16059*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 16060*/                  OPC_CheckFoldableChainNode,
/* 16061*/                  OPC_MoveChild1,
/* 16062*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 16065*/                  OPC_CheckChild0Same, 1,
/* 16067*/                  OPC_CheckChild1Integer, 1, 
/* 16069*/                  OPC_CheckType, MVT::i64,
/* 16071*/                  OPC_MoveParent,
/* 16072*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16074*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 16076*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16078*/                  OPC_MoveParent,
/* 16079*/                  OPC_MoveParent,
/* 16080*/                  OPC_MoveParent,
/* 16081*/                  OPC_MoveChild1,
/* 16082*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 16085*/                  OPC_MoveChild0,
/* 16086*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16089*/                  OPC_RecordMemRef,
/* 16090*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 16091*/                  OPC_CheckFoldableChainNode,
/* 16092*/                  OPC_Scope, 23|128,1/*151*/, /*->16246*/ // 2 children in Scope
/* 16095*/                    OPC_CheckChild1Same, 3,
/* 16097*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16099*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16101*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16103*/                    OPC_MoveParent,
/* 16104*/                    OPC_MoveChild1,
/* 16105*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16108*/                    OPC_RecordMemRef,
/* 16109*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 16110*/                    OPC_CheckFoldableChainNode,
/* 16111*/                    OPC_CheckChild1Same, 1,
/* 16113*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16115*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16117*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16119*/                    OPC_MoveParent,
/* 16120*/                    OPC_MoveParent,
/* 16121*/                    OPC_MoveParent,
/* 16122*/                    OPC_CheckType, MVT::i32,
/* 16124*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 16126*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 16136*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 16139*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 16146*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 16152*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16155*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 16163*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16166*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 16174*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16177*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 16186*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 16192*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16195*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 16203*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16206*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 16214*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16217*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 16226*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 16235*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 16238*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 16246*/                  /*Scope*/ 23|128,1/*151*/, /*->16399*/
/* 16248*/                    OPC_CheckChild1Same, 1,
/* 16250*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16252*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16254*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16256*/                    OPC_MoveParent,
/* 16257*/                    OPC_MoveChild1,
/* 16258*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16261*/                    OPC_RecordMemRef,
/* 16262*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 16263*/                    OPC_CheckFoldableChainNode,
/* 16264*/                    OPC_CheckChild1Same, 3,
/* 16266*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16268*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16270*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16272*/                    OPC_MoveParent,
/* 16273*/                    OPC_MoveParent,
/* 16274*/                    OPC_MoveParent,
/* 16275*/                    OPC_CheckType, MVT::i32,
/* 16277*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 16279*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 16289*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 16292*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 16299*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 16305*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16308*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 16316*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16319*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 16327*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16330*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 16339*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 16345*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16348*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 16356*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16359*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 16367*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16370*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 16379*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 16388*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 16391*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 16399*/                  0, /*End of Scope*/
/* 16400*/                /*Scope*/ 102|128,2/*358*/, /*->16760*/
/* 16402*/                  OPC_CheckChild0Same, 1,
/* 16404*/                  OPC_CheckChild1Integer, 1, 
/* 16406*/                  OPC_MoveParent,
/* 16407*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16409*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 16411*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16413*/                  OPC_MoveParent,
/* 16414*/                  OPC_MoveChild1,
/* 16415*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16418*/                  OPC_RecordMemRef,
/* 16419*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 16420*/                  OPC_CheckFoldableChainNode,
/* 16421*/                  OPC_MoveChild1,
/* 16422*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 16425*/                  OPC_CheckChild0Same, 3,
/* 16427*/                  OPC_CheckChild1Integer, 1, 
/* 16429*/                  OPC_CheckType, MVT::i64,
/* 16431*/                  OPC_MoveParent,
/* 16432*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16434*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 16436*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16438*/                  OPC_MoveParent,
/* 16439*/                  OPC_MoveParent,
/* 16440*/                  OPC_MoveParent,
/* 16441*/                  OPC_MoveChild1,
/* 16442*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 16445*/                  OPC_MoveChild0,
/* 16446*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16449*/                  OPC_RecordMemRef,
/* 16450*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 16451*/                  OPC_CheckFoldableChainNode,
/* 16452*/                  OPC_Scope, 23|128,1/*151*/, /*->16606*/ // 2 children in Scope
/* 16455*/                    OPC_CheckChild1Same, 3,
/* 16457*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16459*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16461*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16463*/                    OPC_MoveParent,
/* 16464*/                    OPC_MoveChild1,
/* 16465*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16468*/                    OPC_RecordMemRef,
/* 16469*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 16470*/                    OPC_CheckFoldableChainNode,
/* 16471*/                    OPC_CheckChild1Same, 1,
/* 16473*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16475*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16477*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16479*/                    OPC_MoveParent,
/* 16480*/                    OPC_MoveParent,
/* 16481*/                    OPC_MoveParent,
/* 16482*/                    OPC_CheckType, MVT::i32,
/* 16484*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 16486*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 16496*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 16499*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 16506*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 16512*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16515*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 16523*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16526*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 16534*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16537*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 16546*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 16552*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16555*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 16563*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16566*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 16574*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16577*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 16586*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 16595*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 16598*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 16606*/                  /*Scope*/ 23|128,1/*151*/, /*->16759*/
/* 16608*/                    OPC_CheckChild1Same, 1,
/* 16610*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16612*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16614*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16616*/                    OPC_MoveParent,
/* 16617*/                    OPC_MoveChild1,
/* 16618*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16621*/                    OPC_RecordMemRef,
/* 16622*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 16623*/                    OPC_CheckFoldableChainNode,
/* 16624*/                    OPC_CheckChild1Same, 3,
/* 16626*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16628*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16630*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16632*/                    OPC_MoveParent,
/* 16633*/                    OPC_MoveParent,
/* 16634*/                    OPC_MoveParent,
/* 16635*/                    OPC_CheckType, MVT::i32,
/* 16637*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 16639*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 16649*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 16652*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 16659*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 16665*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16668*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 16676*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16679*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 16687*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16690*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 16699*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 16705*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16708*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 16716*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16719*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 16727*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16730*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 16739*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 16748*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 16751*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 16759*/                  0, /*End of Scope*/
/* 16760*/                0, /*End of Scope*/
/* 16761*/              /*Scope*/ 9|128,6/*777*/, /*->17540*/
/* 16763*/                OPC_CheckChild0Same, 1,
/* 16765*/                OPC_CheckChild1Integer, 2, 
/* 16767*/                OPC_MoveParent,
/* 16768*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16770*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 16772*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16774*/                OPC_MoveParent,
/* 16775*/                OPC_MoveChild1,
/* 16776*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16779*/                OPC_RecordMemRef,
/* 16780*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 16781*/                OPC_CheckFoldableChainNode,
/* 16782*/                OPC_MoveChild1,
/* 16783*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 16786*/                OPC_CheckChild0Same, 3,
/* 16788*/                OPC_CheckChild1Integer, 2, 
/* 16790*/                OPC_CheckType, MVT::i64,
/* 16792*/                OPC_MoveParent,
/* 16793*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16795*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 16797*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16799*/                OPC_MoveParent,
/* 16800*/                OPC_MoveParent,
/* 16801*/                OPC_MoveChild1,
/* 16802*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 16805*/                OPC_MoveChild0,
/* 16806*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16809*/                OPC_RecordMemRef,
/* 16810*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 16811*/                OPC_CheckFoldableChainNode,
/* 16812*/                OPC_MoveChild1,
/* 16813*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 16816*/                OPC_CheckType, MVT::i64,
/* 16818*/                OPC_Scope, 102|128,2/*358*/, /*->17179*/ // 2 children in Scope
/* 16821*/                  OPC_CheckChild0Same, 3,
/* 16823*/                  OPC_CheckChild1Integer, 1, 
/* 16825*/                  OPC_MoveParent,
/* 16826*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16828*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 16830*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16832*/                  OPC_MoveParent,
/* 16833*/                  OPC_MoveChild1,
/* 16834*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16837*/                  OPC_RecordMemRef,
/* 16838*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 16839*/                  OPC_CheckFoldableChainNode,
/* 16840*/                  OPC_MoveChild1,
/* 16841*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 16844*/                  OPC_CheckChild0Same, 1,
/* 16846*/                  OPC_CheckChild1Integer, 1, 
/* 16848*/                  OPC_CheckType, MVT::i64,
/* 16850*/                  OPC_MoveParent,
/* 16851*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16853*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 16855*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16857*/                  OPC_MoveParent,
/* 16858*/                  OPC_MoveParent,
/* 16859*/                  OPC_MoveParent,
/* 16860*/                  OPC_MoveChild1,
/* 16861*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 16864*/                  OPC_MoveChild0,
/* 16865*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16868*/                  OPC_RecordMemRef,
/* 16869*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 16870*/                  OPC_CheckFoldableChainNode,
/* 16871*/                  OPC_Scope, 23|128,1/*151*/, /*->17025*/ // 2 children in Scope
/* 16874*/                    OPC_CheckChild1Same, 3,
/* 16876*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16878*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16880*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16882*/                    OPC_MoveParent,
/* 16883*/                    OPC_MoveChild1,
/* 16884*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 16887*/                    OPC_RecordMemRef,
/* 16888*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 16889*/                    OPC_CheckFoldableChainNode,
/* 16890*/                    OPC_CheckChild1Same, 1,
/* 16892*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 16894*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 16896*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 16898*/                    OPC_MoveParent,
/* 16899*/                    OPC_MoveParent,
/* 16900*/                    OPC_MoveParent,
/* 16901*/                    OPC_CheckType, MVT::i32,
/* 16903*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 16905*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 16915*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 16918*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 16925*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 16931*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16934*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 16942*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16945*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 16953*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16956*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 16965*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 16971*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 16974*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 16982*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 16985*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 16993*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 16996*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 17005*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 17014*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 17017*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 17025*/                  /*Scope*/ 23|128,1/*151*/, /*->17178*/
/* 17027*/                    OPC_CheckChild1Same, 1,
/* 17029*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17031*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17033*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17035*/                    OPC_MoveParent,
/* 17036*/                    OPC_MoveChild1,
/* 17037*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17040*/                    OPC_RecordMemRef,
/* 17041*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 17042*/                    OPC_CheckFoldableChainNode,
/* 17043*/                    OPC_CheckChild1Same, 3,
/* 17045*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17047*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17049*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17051*/                    OPC_MoveParent,
/* 17052*/                    OPC_MoveParent,
/* 17053*/                    OPC_MoveParent,
/* 17054*/                    OPC_CheckType, MVT::i32,
/* 17056*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 17058*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 17068*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 17071*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 17078*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 17084*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17087*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 17095*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17098*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 17106*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17109*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 17118*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 17124*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17127*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 17135*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17138*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 17146*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17149*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 17158*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 17167*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 17170*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 17178*/                  0, /*End of Scope*/
/* 17179*/                /*Scope*/ 102|128,2/*358*/, /*->17539*/
/* 17181*/                  OPC_CheckChild0Same, 1,
/* 17183*/                  OPC_CheckChild1Integer, 1, 
/* 17185*/                  OPC_MoveParent,
/* 17186*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17188*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 17190*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17192*/                  OPC_MoveParent,
/* 17193*/                  OPC_MoveChild1,
/* 17194*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17197*/                  OPC_RecordMemRef,
/* 17198*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 17199*/                  OPC_CheckFoldableChainNode,
/* 17200*/                  OPC_MoveChild1,
/* 17201*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 17204*/                  OPC_CheckChild0Same, 3,
/* 17206*/                  OPC_CheckChild1Integer, 1, 
/* 17208*/                  OPC_CheckType, MVT::i64,
/* 17210*/                  OPC_MoveParent,
/* 17211*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17213*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 17215*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17217*/                  OPC_MoveParent,
/* 17218*/                  OPC_MoveParent,
/* 17219*/                  OPC_MoveParent,
/* 17220*/                  OPC_MoveChild1,
/* 17221*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 17224*/                  OPC_MoveChild0,
/* 17225*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17228*/                  OPC_RecordMemRef,
/* 17229*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 17230*/                  OPC_CheckFoldableChainNode,
/* 17231*/                  OPC_Scope, 23|128,1/*151*/, /*->17385*/ // 2 children in Scope
/* 17234*/                    OPC_CheckChild1Same, 3,
/* 17236*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17238*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17240*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17242*/                    OPC_MoveParent,
/* 17243*/                    OPC_MoveChild1,
/* 17244*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17247*/                    OPC_RecordMemRef,
/* 17248*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 17249*/                    OPC_CheckFoldableChainNode,
/* 17250*/                    OPC_CheckChild1Same, 1,
/* 17252*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17254*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17256*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17258*/                    OPC_MoveParent,
/* 17259*/                    OPC_MoveParent,
/* 17260*/                    OPC_MoveParent,
/* 17261*/                    OPC_CheckType, MVT::i32,
/* 17263*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 17265*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 17275*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 17278*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 17285*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 17291*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17294*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 17302*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17305*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 17313*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17316*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 17325*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 17331*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17334*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 17342*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17345*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 17353*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17356*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 17365*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 17374*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 17377*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 17385*/                  /*Scope*/ 23|128,1/*151*/, /*->17538*/
/* 17387*/                    OPC_CheckChild1Same, 1,
/* 17389*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17391*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17393*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17395*/                    OPC_MoveParent,
/* 17396*/                    OPC_MoveChild1,
/* 17397*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17400*/                    OPC_RecordMemRef,
/* 17401*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 17402*/                    OPC_CheckFoldableChainNode,
/* 17403*/                    OPC_CheckChild1Same, 3,
/* 17405*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17407*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17409*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17411*/                    OPC_MoveParent,
/* 17412*/                    OPC_MoveParent,
/* 17413*/                    OPC_MoveParent,
/* 17414*/                    OPC_CheckType, MVT::i32,
/* 17416*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 17418*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 17428*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 17431*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 17438*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 17444*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17447*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 17455*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17458*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 17466*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17469*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 17478*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 17484*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17487*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 17495*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17498*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 17506*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17509*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 17518*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 17527*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 17530*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 17538*/                  0, /*End of Scope*/
/* 17539*/                0, /*End of Scope*/
/* 17540*/              /*Scope*/ 9|128,6/*777*/, /*->18319*/
/* 17542*/                OPC_CheckChild0Same, 3,
/* 17544*/                OPC_CheckChild1Integer, 1, 
/* 17546*/                OPC_MoveParent,
/* 17547*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17549*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 17551*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17553*/                OPC_MoveParent,
/* 17554*/                OPC_MoveChild1,
/* 17555*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17558*/                OPC_RecordMemRef,
/* 17559*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 17560*/                OPC_CheckFoldableChainNode,
/* 17561*/                OPC_MoveChild1,
/* 17562*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 17565*/                OPC_CheckChild0Same, 1,
/* 17567*/                OPC_CheckChild1Integer, 1, 
/* 17569*/                OPC_CheckType, MVT::i64,
/* 17571*/                OPC_MoveParent,
/* 17572*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17574*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 17576*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17578*/                OPC_MoveParent,
/* 17579*/                OPC_MoveParent,
/* 17580*/                OPC_MoveChild1,
/* 17581*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 17584*/                OPC_MoveChild0,
/* 17585*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17588*/                OPC_RecordMemRef,
/* 17589*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 17590*/                OPC_CheckFoldableChainNode,
/* 17591*/                OPC_MoveChild1,
/* 17592*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 17595*/                OPC_CheckType, MVT::i64,
/* 17597*/                OPC_Scope, 102|128,2/*358*/, /*->17958*/ // 2 children in Scope
/* 17600*/                  OPC_CheckChild0Same, 3,
/* 17602*/                  OPC_CheckChild1Integer, 2, 
/* 17604*/                  OPC_MoveParent,
/* 17605*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17607*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 17609*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17611*/                  OPC_MoveParent,
/* 17612*/                  OPC_MoveChild1,
/* 17613*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17616*/                  OPC_RecordMemRef,
/* 17617*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 17618*/                  OPC_CheckFoldableChainNode,
/* 17619*/                  OPC_MoveChild1,
/* 17620*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 17623*/                  OPC_CheckChild0Same, 1,
/* 17625*/                  OPC_CheckChild1Integer, 2, 
/* 17627*/                  OPC_CheckType, MVT::i64,
/* 17629*/                  OPC_MoveParent,
/* 17630*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17632*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 17634*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17636*/                  OPC_MoveParent,
/* 17637*/                  OPC_MoveParent,
/* 17638*/                  OPC_MoveParent,
/* 17639*/                  OPC_MoveChild1,
/* 17640*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 17643*/                  OPC_MoveChild0,
/* 17644*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17647*/                  OPC_RecordMemRef,
/* 17648*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 17649*/                  OPC_CheckFoldableChainNode,
/* 17650*/                  OPC_Scope, 23|128,1/*151*/, /*->17804*/ // 2 children in Scope
/* 17653*/                    OPC_CheckChild1Same, 3,
/* 17655*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17657*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17659*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17661*/                    OPC_MoveParent,
/* 17662*/                    OPC_MoveChild1,
/* 17663*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17666*/                    OPC_RecordMemRef,
/* 17667*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 17668*/                    OPC_CheckFoldableChainNode,
/* 17669*/                    OPC_CheckChild1Same, 1,
/* 17671*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17673*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17675*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17677*/                    OPC_MoveParent,
/* 17678*/                    OPC_MoveParent,
/* 17679*/                    OPC_MoveParent,
/* 17680*/                    OPC_CheckType, MVT::i32,
/* 17682*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 17684*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 17694*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 17697*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 17704*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 17710*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17713*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 17721*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17724*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 17732*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17735*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 17744*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 17750*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17753*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 17761*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17764*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 17772*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17775*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 17784*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 17793*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 17796*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 17804*/                  /*Scope*/ 23|128,1/*151*/, /*->17957*/
/* 17806*/                    OPC_CheckChild1Same, 1,
/* 17808*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17810*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17812*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17814*/                    OPC_MoveParent,
/* 17815*/                    OPC_MoveChild1,
/* 17816*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17819*/                    OPC_RecordMemRef,
/* 17820*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 17821*/                    OPC_CheckFoldableChainNode,
/* 17822*/                    OPC_CheckChild1Same, 3,
/* 17824*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17826*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 17828*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17830*/                    OPC_MoveParent,
/* 17831*/                    OPC_MoveParent,
/* 17832*/                    OPC_MoveParent,
/* 17833*/                    OPC_CheckType, MVT::i32,
/* 17835*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 17837*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 17847*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 17850*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 17857*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 17863*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17866*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 17874*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17877*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 17885*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17888*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 17897*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 17903*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 17906*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 17914*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 17917*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 17925*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 17928*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 17937*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 17946*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 17949*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 17957*/                  0, /*End of Scope*/
/* 17958*/                /*Scope*/ 102|128,2/*358*/, /*->18318*/
/* 17960*/                  OPC_CheckChild0Same, 1,
/* 17962*/                  OPC_CheckChild1Integer, 2, 
/* 17964*/                  OPC_MoveParent,
/* 17965*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17967*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 17969*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17971*/                  OPC_MoveParent,
/* 17972*/                  OPC_MoveChild1,
/* 17973*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 17976*/                  OPC_RecordMemRef,
/* 17977*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 17978*/                  OPC_CheckFoldableChainNode,
/* 17979*/                  OPC_MoveChild1,
/* 17980*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 17983*/                  OPC_CheckChild0Same, 3,
/* 17985*/                  OPC_CheckChild1Integer, 2, 
/* 17987*/                  OPC_CheckType, MVT::i64,
/* 17989*/                  OPC_MoveParent,
/* 17990*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 17992*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 17994*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 17996*/                  OPC_MoveParent,
/* 17997*/                  OPC_MoveParent,
/* 17998*/                  OPC_MoveParent,
/* 17999*/                  OPC_MoveChild1,
/* 18000*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 18003*/                  OPC_MoveChild0,
/* 18004*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18007*/                  OPC_RecordMemRef,
/* 18008*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 18009*/                  OPC_CheckFoldableChainNode,
/* 18010*/                  OPC_Scope, 23|128,1/*151*/, /*->18164*/ // 2 children in Scope
/* 18013*/                    OPC_CheckChild1Same, 3,
/* 18015*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18017*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18019*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18021*/                    OPC_MoveParent,
/* 18022*/                    OPC_MoveChild1,
/* 18023*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18026*/                    OPC_RecordMemRef,
/* 18027*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 18028*/                    OPC_CheckFoldableChainNode,
/* 18029*/                    OPC_CheckChild1Same, 1,
/* 18031*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18033*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18035*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18037*/                    OPC_MoveParent,
/* 18038*/                    OPC_MoveParent,
/* 18039*/                    OPC_MoveParent,
/* 18040*/                    OPC_CheckType, MVT::i32,
/* 18042*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 18044*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 18054*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 18057*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 18064*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 18070*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18073*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 18081*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18084*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 18092*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18095*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 18104*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 18110*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18113*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 18121*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18124*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 18132*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18135*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 18144*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 18153*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 18156*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 18164*/                  /*Scope*/ 23|128,1/*151*/, /*->18317*/
/* 18166*/                    OPC_CheckChild1Same, 1,
/* 18168*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18170*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18172*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18174*/                    OPC_MoveParent,
/* 18175*/                    OPC_MoveChild1,
/* 18176*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18179*/                    OPC_RecordMemRef,
/* 18180*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 18181*/                    OPC_CheckFoldableChainNode,
/* 18182*/                    OPC_CheckChild1Same, 3,
/* 18184*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18186*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18188*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18190*/                    OPC_MoveParent,
/* 18191*/                    OPC_MoveParent,
/* 18192*/                    OPC_MoveParent,
/* 18193*/                    OPC_CheckType, MVT::i32,
/* 18195*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 18197*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 18207*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 18210*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 18217*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 18223*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18226*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 18234*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18237*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 18245*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18248*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 18257*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 18263*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18266*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 18274*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18277*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 18285*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18288*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 18297*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 18306*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 18309*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 18317*/                  0, /*End of Scope*/
/* 18318*/                0, /*End of Scope*/
/* 18319*/              /*Scope*/ 9|128,6/*777*/, /*->19098*/
/* 18321*/                OPC_CheckChild0Same, 1,
/* 18323*/                OPC_CheckChild1Integer, 1, 
/* 18325*/                OPC_MoveParent,
/* 18326*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18328*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 18330*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18332*/                OPC_MoveParent,
/* 18333*/                OPC_MoveChild1,
/* 18334*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18337*/                OPC_RecordMemRef,
/* 18338*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 18339*/                OPC_CheckFoldableChainNode,
/* 18340*/                OPC_MoveChild1,
/* 18341*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 18344*/                OPC_CheckChild0Same, 3,
/* 18346*/                OPC_CheckChild1Integer, 1, 
/* 18348*/                OPC_CheckType, MVT::i64,
/* 18350*/                OPC_MoveParent,
/* 18351*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18353*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 18355*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18357*/                OPC_MoveParent,
/* 18358*/                OPC_MoveParent,
/* 18359*/                OPC_MoveChild1,
/* 18360*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 18363*/                OPC_MoveChild0,
/* 18364*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18367*/                OPC_RecordMemRef,
/* 18368*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 18369*/                OPC_CheckFoldableChainNode,
/* 18370*/                OPC_MoveChild1,
/* 18371*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 18374*/                OPC_CheckType, MVT::i64,
/* 18376*/                OPC_Scope, 102|128,2/*358*/, /*->18737*/ // 2 children in Scope
/* 18379*/                  OPC_CheckChild0Same, 3,
/* 18381*/                  OPC_CheckChild1Integer, 2, 
/* 18383*/                  OPC_MoveParent,
/* 18384*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18386*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 18388*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18390*/                  OPC_MoveParent,
/* 18391*/                  OPC_MoveChild1,
/* 18392*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18395*/                  OPC_RecordMemRef,
/* 18396*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 18397*/                  OPC_CheckFoldableChainNode,
/* 18398*/                  OPC_MoveChild1,
/* 18399*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 18402*/                  OPC_CheckChild0Same, 1,
/* 18404*/                  OPC_CheckChild1Integer, 2, 
/* 18406*/                  OPC_CheckType, MVT::i64,
/* 18408*/                  OPC_MoveParent,
/* 18409*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18411*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 18413*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18415*/                  OPC_MoveParent,
/* 18416*/                  OPC_MoveParent,
/* 18417*/                  OPC_MoveParent,
/* 18418*/                  OPC_MoveChild1,
/* 18419*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 18422*/                  OPC_MoveChild0,
/* 18423*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18426*/                  OPC_RecordMemRef,
/* 18427*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 18428*/                  OPC_CheckFoldableChainNode,
/* 18429*/                  OPC_Scope, 23|128,1/*151*/, /*->18583*/ // 2 children in Scope
/* 18432*/                    OPC_CheckChild1Same, 3,
/* 18434*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18436*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18438*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18440*/                    OPC_MoveParent,
/* 18441*/                    OPC_MoveChild1,
/* 18442*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18445*/                    OPC_RecordMemRef,
/* 18446*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 18447*/                    OPC_CheckFoldableChainNode,
/* 18448*/                    OPC_CheckChild1Same, 1,
/* 18450*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18452*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18454*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18456*/                    OPC_MoveParent,
/* 18457*/                    OPC_MoveParent,
/* 18458*/                    OPC_MoveParent,
/* 18459*/                    OPC_CheckType, MVT::i32,
/* 18461*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 18463*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 18473*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 18476*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 18483*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 18489*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18492*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 18500*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18503*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 18511*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18514*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 18523*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 18529*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18532*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 18540*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18543*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 18551*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18554*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 18563*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 18572*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 18575*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 18583*/                  /*Scope*/ 23|128,1/*151*/, /*->18736*/
/* 18585*/                    OPC_CheckChild1Same, 1,
/* 18587*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18589*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18591*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18593*/                    OPC_MoveParent,
/* 18594*/                    OPC_MoveChild1,
/* 18595*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18598*/                    OPC_RecordMemRef,
/* 18599*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 18600*/                    OPC_CheckFoldableChainNode,
/* 18601*/                    OPC_CheckChild1Same, 3,
/* 18603*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18605*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18607*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18609*/                    OPC_MoveParent,
/* 18610*/                    OPC_MoveParent,
/* 18611*/                    OPC_MoveParent,
/* 18612*/                    OPC_CheckType, MVT::i32,
/* 18614*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 18616*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 18626*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 18629*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 18636*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 18642*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18645*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 18653*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18656*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 18664*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18667*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 18676*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 18682*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18685*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 18693*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18696*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 18704*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18707*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 18716*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 18725*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 18728*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 18736*/                  0, /*End of Scope*/
/* 18737*/                /*Scope*/ 102|128,2/*358*/, /*->19097*/
/* 18739*/                  OPC_CheckChild0Same, 1,
/* 18741*/                  OPC_CheckChild1Integer, 2, 
/* 18743*/                  OPC_MoveParent,
/* 18744*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18746*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 18748*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18750*/                  OPC_MoveParent,
/* 18751*/                  OPC_MoveChild1,
/* 18752*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18755*/                  OPC_RecordMemRef,
/* 18756*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 18757*/                  OPC_CheckFoldableChainNode,
/* 18758*/                  OPC_MoveChild1,
/* 18759*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 18762*/                  OPC_CheckChild0Same, 3,
/* 18764*/                  OPC_CheckChild1Integer, 2, 
/* 18766*/                  OPC_CheckType, MVT::i64,
/* 18768*/                  OPC_MoveParent,
/* 18769*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18771*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 18773*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18775*/                  OPC_MoveParent,
/* 18776*/                  OPC_MoveParent,
/* 18777*/                  OPC_MoveParent,
/* 18778*/                  OPC_MoveChild1,
/* 18779*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 18782*/                  OPC_MoveChild0,
/* 18783*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18786*/                  OPC_RecordMemRef,
/* 18787*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 18788*/                  OPC_CheckFoldableChainNode,
/* 18789*/                  OPC_Scope, 23|128,1/*151*/, /*->18943*/ // 2 children in Scope
/* 18792*/                    OPC_CheckChild1Same, 3,
/* 18794*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18796*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18798*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18800*/                    OPC_MoveParent,
/* 18801*/                    OPC_MoveChild1,
/* 18802*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18805*/                    OPC_RecordMemRef,
/* 18806*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 18807*/                    OPC_CheckFoldableChainNode,
/* 18808*/                    OPC_CheckChild1Same, 1,
/* 18810*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18812*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18814*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18816*/                    OPC_MoveParent,
/* 18817*/                    OPC_MoveParent,
/* 18818*/                    OPC_MoveParent,
/* 18819*/                    OPC_CheckType, MVT::i32,
/* 18821*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 18823*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 18833*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 18836*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 18843*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 18849*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18852*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 18860*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18863*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 18871*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18874*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 18883*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 18889*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 18892*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 18900*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 18903*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 18911*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 18914*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 18923*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 18932*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 18935*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 18943*/                  /*Scope*/ 23|128,1/*151*/, /*->19096*/
/* 18945*/                    OPC_CheckChild1Same, 1,
/* 18947*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18949*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18951*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18953*/                    OPC_MoveParent,
/* 18954*/                    OPC_MoveChild1,
/* 18955*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 18958*/                    OPC_RecordMemRef,
/* 18959*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 18960*/                    OPC_CheckFoldableChainNode,
/* 18961*/                    OPC_CheckChild1Same, 3,
/* 18963*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 18965*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 18967*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 18969*/                    OPC_MoveParent,
/* 18970*/                    OPC_MoveParent,
/* 18971*/                    OPC_MoveParent,
/* 18972*/                    OPC_CheckType, MVT::i32,
/* 18974*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 18976*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 18986*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 18989*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 18996*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 19002*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19005*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 19013*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19016*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 19024*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19027*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 19036*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 19042*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19045*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 19053*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19056*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 19064*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19067*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 19076*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 19085*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 19088*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 19096*/                  0, /*End of Scope*/
/* 19097*/                0, /*End of Scope*/
/* 19098*/              /*Scope*/ 39|128,6/*807*/, /*->19907*/
/* 19100*/                OPC_CheckChild0Same, 3,
/* 19102*/                OPC_CheckChild1Integer, 2, 
/* 19104*/                OPC_MoveParent,
/* 19105*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19107*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 19109*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19111*/                OPC_MoveParent,
/* 19112*/                OPC_MoveChild1,
/* 19113*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19116*/                OPC_RecordMemRef,
/* 19117*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 19118*/                OPC_CheckFoldableChainNode,
/* 19119*/                OPC_MoveChild1,
/* 19120*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 19123*/                OPC_CheckChild0Same, 1,
/* 19125*/                OPC_CheckChild1Integer, 2, 
/* 19127*/                OPC_CheckType, MVT::i64,
/* 19129*/                OPC_MoveParent,
/* 19130*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19132*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 19134*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19136*/                OPC_MoveParent,
/* 19137*/                OPC_MoveParent,
/* 19138*/                OPC_MoveChild1,
/* 19139*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 19142*/                OPC_MoveChild0,
/* 19143*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19146*/                OPC_RecordMemRef,
/* 19147*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 19148*/                OPC_CheckFoldableChainNode,
/* 19149*/                OPC_Scope, 120|128,2/*376*/, /*->19528*/ // 2 children in Scope
/* 19152*/                  OPC_CheckChild1Same, 3,
/* 19154*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19156*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 19158*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19160*/                  OPC_MoveParent,
/* 19161*/                  OPC_MoveChild1,
/* 19162*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19165*/                  OPC_RecordMemRef,
/* 19166*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 19167*/                  OPC_CheckFoldableChainNode,
/* 19168*/                  OPC_CheckChild1Same, 1,
/* 19170*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19172*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 19174*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19176*/                  OPC_MoveParent,
/* 19177*/                  OPC_MoveParent,
/* 19178*/                  OPC_MoveParent,
/* 19179*/                  OPC_MoveChild1,
/* 19180*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 19183*/                  OPC_MoveChild0,
/* 19184*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19187*/                  OPC_RecordMemRef,
/* 19188*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 19189*/                  OPC_CheckFoldableChainNode,
/* 19190*/                  OPC_MoveChild1,
/* 19191*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 19194*/                  OPC_CheckType, MVT::i64,
/* 19196*/                  OPC_Scope, 35|128,1/*163*/, /*->19362*/ // 2 children in Scope
/* 19199*/                    OPC_CheckChild0Same, 3,
/* 19201*/                    OPC_CheckChild1Integer, 1, 
/* 19203*/                    OPC_MoveParent,
/* 19204*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19206*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 19208*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19210*/                    OPC_MoveParent,
/* 19211*/                    OPC_MoveChild1,
/* 19212*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19215*/                    OPC_RecordMemRef,
/* 19216*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 19217*/                    OPC_CheckFoldableChainNode,
/* 19218*/                    OPC_MoveChild1,
/* 19219*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 19222*/                    OPC_CheckChild0Same, 1,
/* 19224*/                    OPC_CheckChild1Integer, 1, 
/* 19226*/                    OPC_CheckType, MVT::i64,
/* 19228*/                    OPC_MoveParent,
/* 19229*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19231*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 19233*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19235*/                    OPC_MoveParent,
/* 19236*/                    OPC_MoveParent,
/* 19237*/                    OPC_MoveParent,
/* 19238*/                    OPC_CheckType, MVT::i32,
/* 19240*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 19242*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 19252*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 19255*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 19262*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 19268*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19271*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 19279*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19282*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 19290*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19293*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 19302*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 19308*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19311*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 19319*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19322*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 19330*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19333*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 19342*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 19351*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 19354*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 19362*/                  /*Scope*/ 35|128,1/*163*/, /*->19527*/
/* 19364*/                    OPC_CheckChild0Same, 1,
/* 19366*/                    OPC_CheckChild1Integer, 1, 
/* 19368*/                    OPC_MoveParent,
/* 19369*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19371*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 19373*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19375*/                    OPC_MoveParent,
/* 19376*/                    OPC_MoveChild1,
/* 19377*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19380*/                    OPC_RecordMemRef,
/* 19381*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 19382*/                    OPC_CheckFoldableChainNode,
/* 19383*/                    OPC_MoveChild1,
/* 19384*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 19387*/                    OPC_CheckChild0Same, 3,
/* 19389*/                    OPC_CheckChild1Integer, 1, 
/* 19391*/                    OPC_CheckType, MVT::i64,
/* 19393*/                    OPC_MoveParent,
/* 19394*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19396*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 19398*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19400*/                    OPC_MoveParent,
/* 19401*/                    OPC_MoveParent,
/* 19402*/                    OPC_MoveParent,
/* 19403*/                    OPC_CheckType, MVT::i32,
/* 19405*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 19407*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 19417*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 19420*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 19427*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 19433*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19436*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 19444*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19447*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 19455*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19458*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 19467*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 19473*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19476*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 19484*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19487*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 19495*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19498*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 19507*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 19516*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 19519*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 19527*/                  0, /*End of Scope*/
/* 19528*/                /*Scope*/ 120|128,2/*376*/, /*->19906*/
/* 19530*/                  OPC_CheckChild1Same, 1,
/* 19532*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19534*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 19536*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19538*/                  OPC_MoveParent,
/* 19539*/                  OPC_MoveChild1,
/* 19540*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19543*/                  OPC_RecordMemRef,
/* 19544*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 19545*/                  OPC_CheckFoldableChainNode,
/* 19546*/                  OPC_CheckChild1Same, 3,
/* 19548*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19550*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 19552*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19554*/                  OPC_MoveParent,
/* 19555*/                  OPC_MoveParent,
/* 19556*/                  OPC_MoveParent,
/* 19557*/                  OPC_MoveChild1,
/* 19558*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 19561*/                  OPC_MoveChild0,
/* 19562*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19565*/                  OPC_RecordMemRef,
/* 19566*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 19567*/                  OPC_CheckFoldableChainNode,
/* 19568*/                  OPC_MoveChild1,
/* 19569*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 19572*/                  OPC_CheckType, MVT::i64,
/* 19574*/                  OPC_Scope, 35|128,1/*163*/, /*->19740*/ // 2 children in Scope
/* 19577*/                    OPC_CheckChild0Same, 3,
/* 19579*/                    OPC_CheckChild1Integer, 1, 
/* 19581*/                    OPC_MoveParent,
/* 19582*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19584*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 19586*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19588*/                    OPC_MoveParent,
/* 19589*/                    OPC_MoveChild1,
/* 19590*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19593*/                    OPC_RecordMemRef,
/* 19594*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 19595*/                    OPC_CheckFoldableChainNode,
/* 19596*/                    OPC_MoveChild1,
/* 19597*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 19600*/                    OPC_CheckChild0Same, 1,
/* 19602*/                    OPC_CheckChild1Integer, 1, 
/* 19604*/                    OPC_CheckType, MVT::i64,
/* 19606*/                    OPC_MoveParent,
/* 19607*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19609*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 19611*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19613*/                    OPC_MoveParent,
/* 19614*/                    OPC_MoveParent,
/* 19615*/                    OPC_MoveParent,
/* 19616*/                    OPC_CheckType, MVT::i32,
/* 19618*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 19620*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 19630*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 19633*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 19640*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 19646*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19649*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 19657*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19660*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 19668*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19671*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 19680*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 19686*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19689*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 19697*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19700*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 19708*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19711*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 19720*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 19729*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 19732*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 19740*/                  /*Scope*/ 35|128,1/*163*/, /*->19905*/
/* 19742*/                    OPC_CheckChild0Same, 1,
/* 19744*/                    OPC_CheckChild1Integer, 1, 
/* 19746*/                    OPC_MoveParent,
/* 19747*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19749*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 19751*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19753*/                    OPC_MoveParent,
/* 19754*/                    OPC_MoveChild1,
/* 19755*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19758*/                    OPC_RecordMemRef,
/* 19759*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 19760*/                    OPC_CheckFoldableChainNode,
/* 19761*/                    OPC_MoveChild1,
/* 19762*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 19765*/                    OPC_CheckChild0Same, 3,
/* 19767*/                    OPC_CheckChild1Integer, 1, 
/* 19769*/                    OPC_CheckType, MVT::i64,
/* 19771*/                    OPC_MoveParent,
/* 19772*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19774*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 19776*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19778*/                    OPC_MoveParent,
/* 19779*/                    OPC_MoveParent,
/* 19780*/                    OPC_MoveParent,
/* 19781*/                    OPC_CheckType, MVT::i32,
/* 19783*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 19785*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 19795*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 19798*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 19805*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 19811*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19814*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 19822*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19825*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 19833*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19836*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 19845*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 19851*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 19854*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 19862*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 19865*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 19873*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 19876*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 19885*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 19894*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 19897*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 19905*/                  0, /*End of Scope*/
/* 19906*/                0, /*End of Scope*/
/* 19907*/              /*Scope*/ 39|128,6/*807*/, /*->20716*/
/* 19909*/                OPC_CheckChild0Same, 1,
/* 19911*/                OPC_CheckChild1Integer, 2, 
/* 19913*/                OPC_MoveParent,
/* 19914*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19916*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 19918*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19920*/                OPC_MoveParent,
/* 19921*/                OPC_MoveChild1,
/* 19922*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19925*/                OPC_RecordMemRef,
/* 19926*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 19927*/                OPC_CheckFoldableChainNode,
/* 19928*/                OPC_MoveChild1,
/* 19929*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 19932*/                OPC_CheckChild0Same, 3,
/* 19934*/                OPC_CheckChild1Integer, 2, 
/* 19936*/                OPC_CheckType, MVT::i64,
/* 19938*/                OPC_MoveParent,
/* 19939*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19941*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 19943*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19945*/                OPC_MoveParent,
/* 19946*/                OPC_MoveParent,
/* 19947*/                OPC_MoveChild1,
/* 19948*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 19951*/                OPC_MoveChild0,
/* 19952*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19955*/                OPC_RecordMemRef,
/* 19956*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 19957*/                OPC_CheckFoldableChainNode,
/* 19958*/                OPC_Scope, 120|128,2/*376*/, /*->20337*/ // 2 children in Scope
/* 19961*/                  OPC_CheckChild1Same, 3,
/* 19963*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19965*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 19967*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19969*/                  OPC_MoveParent,
/* 19970*/                  OPC_MoveChild1,
/* 19971*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19974*/                  OPC_RecordMemRef,
/* 19975*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 19976*/                  OPC_CheckFoldableChainNode,
/* 19977*/                  OPC_CheckChild1Same, 1,
/* 19979*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 19981*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 19983*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 19985*/                  OPC_MoveParent,
/* 19986*/                  OPC_MoveParent,
/* 19987*/                  OPC_MoveParent,
/* 19988*/                  OPC_MoveChild1,
/* 19989*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 19992*/                  OPC_MoveChild0,
/* 19993*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 19996*/                  OPC_RecordMemRef,
/* 19997*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 19998*/                  OPC_CheckFoldableChainNode,
/* 19999*/                  OPC_MoveChild1,
/* 20000*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20003*/                  OPC_CheckType, MVT::i64,
/* 20005*/                  OPC_Scope, 35|128,1/*163*/, /*->20171*/ // 2 children in Scope
/* 20008*/                    OPC_CheckChild0Same, 3,
/* 20010*/                    OPC_CheckChild1Integer, 1, 
/* 20012*/                    OPC_MoveParent,
/* 20013*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20015*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 20017*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20019*/                    OPC_MoveParent,
/* 20020*/                    OPC_MoveChild1,
/* 20021*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20024*/                    OPC_RecordMemRef,
/* 20025*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 20026*/                    OPC_CheckFoldableChainNode,
/* 20027*/                    OPC_MoveChild1,
/* 20028*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20031*/                    OPC_CheckChild0Same, 1,
/* 20033*/                    OPC_CheckChild1Integer, 1, 
/* 20035*/                    OPC_CheckType, MVT::i64,
/* 20037*/                    OPC_MoveParent,
/* 20038*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20040*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 20042*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20044*/                    OPC_MoveParent,
/* 20045*/                    OPC_MoveParent,
/* 20046*/                    OPC_MoveParent,
/* 20047*/                    OPC_CheckType, MVT::i32,
/* 20049*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 20051*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 20061*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 20064*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 20071*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 20077*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 20080*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 20088*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20091*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 20099*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20102*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 20111*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 20117*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 20120*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 20128*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20131*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 20139*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20142*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 20151*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 20160*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 20163*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 20171*/                  /*Scope*/ 35|128,1/*163*/, /*->20336*/
/* 20173*/                    OPC_CheckChild0Same, 1,
/* 20175*/                    OPC_CheckChild1Integer, 1, 
/* 20177*/                    OPC_MoveParent,
/* 20178*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20180*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 20182*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20184*/                    OPC_MoveParent,
/* 20185*/                    OPC_MoveChild1,
/* 20186*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20189*/                    OPC_RecordMemRef,
/* 20190*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 20191*/                    OPC_CheckFoldableChainNode,
/* 20192*/                    OPC_MoveChild1,
/* 20193*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20196*/                    OPC_CheckChild0Same, 3,
/* 20198*/                    OPC_CheckChild1Integer, 1, 
/* 20200*/                    OPC_CheckType, MVT::i64,
/* 20202*/                    OPC_MoveParent,
/* 20203*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20205*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 20207*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20209*/                    OPC_MoveParent,
/* 20210*/                    OPC_MoveParent,
/* 20211*/                    OPC_MoveParent,
/* 20212*/                    OPC_CheckType, MVT::i32,
/* 20214*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 20216*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 20226*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 20229*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 20236*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 20242*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 20245*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 20253*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20256*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 20264*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20267*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 20276*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 20282*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 20285*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 20293*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20296*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 20304*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20307*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 20316*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 20325*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 20328*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 20336*/                  0, /*End of Scope*/
/* 20337*/                /*Scope*/ 120|128,2/*376*/, /*->20715*/
/* 20339*/                  OPC_CheckChild1Same, 1,
/* 20341*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20343*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 20345*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20347*/                  OPC_MoveParent,
/* 20348*/                  OPC_MoveChild1,
/* 20349*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20352*/                  OPC_RecordMemRef,
/* 20353*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 20354*/                  OPC_CheckFoldableChainNode,
/* 20355*/                  OPC_CheckChild1Same, 3,
/* 20357*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20359*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 20361*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20363*/                  OPC_MoveParent,
/* 20364*/                  OPC_MoveParent,
/* 20365*/                  OPC_MoveParent,
/* 20366*/                  OPC_MoveChild1,
/* 20367*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 20370*/                  OPC_MoveChild0,
/* 20371*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20374*/                  OPC_RecordMemRef,
/* 20375*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 20376*/                  OPC_CheckFoldableChainNode,
/* 20377*/                  OPC_MoveChild1,
/* 20378*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20381*/                  OPC_CheckType, MVT::i64,
/* 20383*/                  OPC_Scope, 35|128,1/*163*/, /*->20549*/ // 2 children in Scope
/* 20386*/                    OPC_CheckChild0Same, 3,
/* 20388*/                    OPC_CheckChild1Integer, 1, 
/* 20390*/                    OPC_MoveParent,
/* 20391*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20393*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 20395*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20397*/                    OPC_MoveParent,
/* 20398*/                    OPC_MoveChild1,
/* 20399*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20402*/                    OPC_RecordMemRef,
/* 20403*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 20404*/                    OPC_CheckFoldableChainNode,
/* 20405*/                    OPC_MoveChild1,
/* 20406*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20409*/                    OPC_CheckChild0Same, 1,
/* 20411*/                    OPC_CheckChild1Integer, 1, 
/* 20413*/                    OPC_CheckType, MVT::i64,
/* 20415*/                    OPC_MoveParent,
/* 20416*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20418*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 20420*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20422*/                    OPC_MoveParent,
/* 20423*/                    OPC_MoveParent,
/* 20424*/                    OPC_MoveParent,
/* 20425*/                    OPC_CheckType, MVT::i32,
/* 20427*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 20429*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 20439*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 20442*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 20449*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 20455*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 20458*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 20466*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20469*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 20477*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20480*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 20489*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 20495*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 20498*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 20506*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20509*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 20517*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20520*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 20529*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 20538*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 20541*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 20549*/                  /*Scope*/ 35|128,1/*163*/, /*->20714*/
/* 20551*/                    OPC_CheckChild0Same, 1,
/* 20553*/                    OPC_CheckChild1Integer, 1, 
/* 20555*/                    OPC_MoveParent,
/* 20556*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20558*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 20560*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20562*/                    OPC_MoveParent,
/* 20563*/                    OPC_MoveChild1,
/* 20564*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20567*/                    OPC_RecordMemRef,
/* 20568*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 20569*/                    OPC_CheckFoldableChainNode,
/* 20570*/                    OPC_MoveChild1,
/* 20571*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20574*/                    OPC_CheckChild0Same, 3,
/* 20576*/                    OPC_CheckChild1Integer, 1, 
/* 20578*/                    OPC_CheckType, MVT::i64,
/* 20580*/                    OPC_MoveParent,
/* 20581*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20583*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 20585*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20587*/                    OPC_MoveParent,
/* 20588*/                    OPC_MoveParent,
/* 20589*/                    OPC_MoveParent,
/* 20590*/                    OPC_CheckType, MVT::i32,
/* 20592*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 20594*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 20604*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 20607*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 20614*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 20620*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 20623*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 20631*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20634*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 20642*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20645*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 20654*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 20660*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 20663*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 20671*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20674*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 20682*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20685*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 20694*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 20703*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 20706*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 20714*/                  0, /*End of Scope*/
/* 20715*/                0, /*End of Scope*/
/* 20716*/              0, /*End of Scope*/
/* 20717*/            /*Scope*/ 57|128,6/*825*/, /*->21544*/
/* 20719*/              OPC_CheckChild1Same, 3,
/* 20721*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20723*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 20725*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20727*/              OPC_MoveParent,
/* 20728*/              OPC_MoveChild1,
/* 20729*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20732*/              OPC_RecordMemRef,
/* 20733*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 20734*/              OPC_CheckFoldableChainNode,
/* 20735*/              OPC_CheckChild1Same, 1,
/* 20737*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20739*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 20741*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20743*/              OPC_MoveParent,
/* 20744*/              OPC_MoveParent,
/* 20745*/              OPC_MoveChild1,
/* 20746*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 20749*/              OPC_MoveChild0,
/* 20750*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20753*/              OPC_RecordMemRef,
/* 20754*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 20755*/              OPC_CheckFoldableChainNode,
/* 20756*/              OPC_MoveChild1,
/* 20757*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20760*/              OPC_CheckType, MVT::i64,
/* 20762*/              OPC_Scope, 4|128,3/*388*/, /*->21153*/ // 2 children in Scope
/* 20765*/                OPC_CheckChild0Same, 3,
/* 20767*/                OPC_CheckChild1Integer, 2, 
/* 20769*/                OPC_MoveParent,
/* 20770*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20772*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 20774*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20776*/                OPC_MoveParent,
/* 20777*/                OPC_MoveChild1,
/* 20778*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20781*/                OPC_RecordMemRef,
/* 20782*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 20783*/                OPC_CheckFoldableChainNode,
/* 20784*/                OPC_MoveChild1,
/* 20785*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20788*/                OPC_CheckChild0Same, 1,
/* 20790*/                OPC_CheckChild1Integer, 2, 
/* 20792*/                OPC_CheckType, MVT::i64,
/* 20794*/                OPC_MoveParent,
/* 20795*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20797*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 20799*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20801*/                OPC_MoveParent,
/* 20802*/                OPC_MoveParent,
/* 20803*/                OPC_MoveParent,
/* 20804*/                OPC_MoveChild1,
/* 20805*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 20808*/                OPC_MoveChild0,
/* 20809*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20812*/                OPC_RecordMemRef,
/* 20813*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 20814*/                OPC_CheckFoldableChainNode,
/* 20815*/                OPC_MoveChild1,
/* 20816*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20819*/                OPC_CheckType, MVT::i64,
/* 20821*/                OPC_Scope, 35|128,1/*163*/, /*->20987*/ // 2 children in Scope
/* 20824*/                  OPC_CheckChild0Same, 3,
/* 20826*/                  OPC_CheckChild1Integer, 1, 
/* 20828*/                  OPC_MoveParent,
/* 20829*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20831*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 20833*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20835*/                  OPC_MoveParent,
/* 20836*/                  OPC_MoveChild1,
/* 20837*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 20840*/                  OPC_RecordMemRef,
/* 20841*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 20842*/                  OPC_CheckFoldableChainNode,
/* 20843*/                  OPC_MoveChild1,
/* 20844*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 20847*/                  OPC_CheckChild0Same, 1,
/* 20849*/                  OPC_CheckChild1Integer, 1, 
/* 20851*/                  OPC_CheckType, MVT::i64,
/* 20853*/                  OPC_MoveParent,
/* 20854*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20856*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 20858*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 20860*/                  OPC_MoveParent,
/* 20861*/                  OPC_MoveParent,
/* 20862*/                  OPC_MoveParent,
/* 20863*/                  OPC_CheckType, MVT::i32,
/* 20865*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 20867*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 20877*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 20880*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 20887*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 20893*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 20896*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 20904*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20907*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 20915*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20918*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 20927*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 20933*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 20936*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 20944*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 20947*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 20955*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 20958*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 20967*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 20976*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 20979*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 20987*/                /*Scope*/ 35|128,1/*163*/, /*->21152*/
/* 20989*/                  OPC_CheckChild0Same, 1,
/* 20991*/                  OPC_CheckChild1Integer, 1, 
/* 20993*/                  OPC_MoveParent,
/* 20994*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 20996*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 20998*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21000*/                  OPC_MoveParent,
/* 21001*/                  OPC_MoveChild1,
/* 21002*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21005*/                  OPC_RecordMemRef,
/* 21006*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 21007*/                  OPC_CheckFoldableChainNode,
/* 21008*/                  OPC_MoveChild1,
/* 21009*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21012*/                  OPC_CheckChild0Same, 3,
/* 21014*/                  OPC_CheckChild1Integer, 1, 
/* 21016*/                  OPC_CheckType, MVT::i64,
/* 21018*/                  OPC_MoveParent,
/* 21019*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21021*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21023*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21025*/                  OPC_MoveParent,
/* 21026*/                  OPC_MoveParent,
/* 21027*/                  OPC_MoveParent,
/* 21028*/                  OPC_CheckType, MVT::i32,
/* 21030*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 21032*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 21042*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 21045*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 21052*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 21058*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21061*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 21069*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21072*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 21080*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21083*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 21092*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 21098*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21101*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 21109*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21112*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 21120*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21123*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 21132*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 21141*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 21144*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 21152*/                0, /*End of Scope*/
/* 21153*/              /*Scope*/ 4|128,3/*388*/, /*->21543*/
/* 21155*/                OPC_CheckChild0Same, 1,
/* 21157*/                OPC_CheckChild1Integer, 2, 
/* 21159*/                OPC_MoveParent,
/* 21160*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21162*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 21164*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21166*/                OPC_MoveParent,
/* 21167*/                OPC_MoveChild1,
/* 21168*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21171*/                OPC_RecordMemRef,
/* 21172*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 21173*/                OPC_CheckFoldableChainNode,
/* 21174*/                OPC_MoveChild1,
/* 21175*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21178*/                OPC_CheckChild0Same, 3,
/* 21180*/                OPC_CheckChild1Integer, 2, 
/* 21182*/                OPC_CheckType, MVT::i64,
/* 21184*/                OPC_MoveParent,
/* 21185*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21187*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 21189*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21191*/                OPC_MoveParent,
/* 21192*/                OPC_MoveParent,
/* 21193*/                OPC_MoveParent,
/* 21194*/                OPC_MoveChild1,
/* 21195*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 21198*/                OPC_MoveChild0,
/* 21199*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21202*/                OPC_RecordMemRef,
/* 21203*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 21204*/                OPC_CheckFoldableChainNode,
/* 21205*/                OPC_MoveChild1,
/* 21206*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21209*/                OPC_CheckType, MVT::i64,
/* 21211*/                OPC_Scope, 35|128,1/*163*/, /*->21377*/ // 2 children in Scope
/* 21214*/                  OPC_CheckChild0Same, 3,
/* 21216*/                  OPC_CheckChild1Integer, 1, 
/* 21218*/                  OPC_MoveParent,
/* 21219*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21221*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21223*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21225*/                  OPC_MoveParent,
/* 21226*/                  OPC_MoveChild1,
/* 21227*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21230*/                  OPC_RecordMemRef,
/* 21231*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 21232*/                  OPC_CheckFoldableChainNode,
/* 21233*/                  OPC_MoveChild1,
/* 21234*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21237*/                  OPC_CheckChild0Same, 1,
/* 21239*/                  OPC_CheckChild1Integer, 1, 
/* 21241*/                  OPC_CheckType, MVT::i64,
/* 21243*/                  OPC_MoveParent,
/* 21244*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21246*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21248*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21250*/                  OPC_MoveParent,
/* 21251*/                  OPC_MoveParent,
/* 21252*/                  OPC_MoveParent,
/* 21253*/                  OPC_CheckType, MVT::i32,
/* 21255*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 21257*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 21267*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 21270*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 21277*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 21283*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21286*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 21294*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21297*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 21305*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21308*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 21317*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 21323*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21326*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 21334*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21337*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 21345*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21348*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 21357*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 21366*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 21369*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 21377*/                /*Scope*/ 35|128,1/*163*/, /*->21542*/
/* 21379*/                  OPC_CheckChild0Same, 1,
/* 21381*/                  OPC_CheckChild1Integer, 1, 
/* 21383*/                  OPC_MoveParent,
/* 21384*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21386*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21388*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21390*/                  OPC_MoveParent,
/* 21391*/                  OPC_MoveChild1,
/* 21392*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21395*/                  OPC_RecordMemRef,
/* 21396*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 21397*/                  OPC_CheckFoldableChainNode,
/* 21398*/                  OPC_MoveChild1,
/* 21399*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21402*/                  OPC_CheckChild0Same, 3,
/* 21404*/                  OPC_CheckChild1Integer, 1, 
/* 21406*/                  OPC_CheckType, MVT::i64,
/* 21408*/                  OPC_MoveParent,
/* 21409*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21411*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21413*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21415*/                  OPC_MoveParent,
/* 21416*/                  OPC_MoveParent,
/* 21417*/                  OPC_MoveParent,
/* 21418*/                  OPC_CheckType, MVT::i32,
/* 21420*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 21422*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 21432*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 21435*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 21442*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 21448*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21451*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 21459*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21462*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 21470*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21473*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 21482*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 21488*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21491*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 21499*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21502*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 21510*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21513*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 21522*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 21531*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 21534*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 21542*/                0, /*End of Scope*/
/* 21543*/              0, /*End of Scope*/
/* 21544*/            /*Scope*/ 57|128,6/*825*/, /*->22371*/
/* 21546*/              OPC_CheckChild1Same, 1,
/* 21548*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21550*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 21552*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21554*/              OPC_MoveParent,
/* 21555*/              OPC_MoveChild1,
/* 21556*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21559*/              OPC_RecordMemRef,
/* 21560*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 21561*/              OPC_CheckFoldableChainNode,
/* 21562*/              OPC_CheckChild1Same, 3,
/* 21564*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21566*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 21568*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21570*/              OPC_MoveParent,
/* 21571*/              OPC_MoveParent,
/* 21572*/              OPC_MoveChild1,
/* 21573*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 21576*/              OPC_MoveChild0,
/* 21577*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21580*/              OPC_RecordMemRef,
/* 21581*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 21582*/              OPC_CheckFoldableChainNode,
/* 21583*/              OPC_MoveChild1,
/* 21584*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21587*/              OPC_CheckType, MVT::i64,
/* 21589*/              OPC_Scope, 4|128,3/*388*/, /*->21980*/ // 2 children in Scope
/* 21592*/                OPC_CheckChild0Same, 3,
/* 21594*/                OPC_CheckChild1Integer, 2, 
/* 21596*/                OPC_MoveParent,
/* 21597*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21599*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 21601*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21603*/                OPC_MoveParent,
/* 21604*/                OPC_MoveChild1,
/* 21605*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21608*/                OPC_RecordMemRef,
/* 21609*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 21610*/                OPC_CheckFoldableChainNode,
/* 21611*/                OPC_MoveChild1,
/* 21612*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21615*/                OPC_CheckChild0Same, 1,
/* 21617*/                OPC_CheckChild1Integer, 2, 
/* 21619*/                OPC_CheckType, MVT::i64,
/* 21621*/                OPC_MoveParent,
/* 21622*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21624*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 21626*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21628*/                OPC_MoveParent,
/* 21629*/                OPC_MoveParent,
/* 21630*/                OPC_MoveParent,
/* 21631*/                OPC_MoveChild1,
/* 21632*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 21635*/                OPC_MoveChild0,
/* 21636*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21639*/                OPC_RecordMemRef,
/* 21640*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 21641*/                OPC_CheckFoldableChainNode,
/* 21642*/                OPC_MoveChild1,
/* 21643*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21646*/                OPC_CheckType, MVT::i64,
/* 21648*/                OPC_Scope, 35|128,1/*163*/, /*->21814*/ // 2 children in Scope
/* 21651*/                  OPC_CheckChild0Same, 3,
/* 21653*/                  OPC_CheckChild1Integer, 1, 
/* 21655*/                  OPC_MoveParent,
/* 21656*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21658*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21660*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21662*/                  OPC_MoveParent,
/* 21663*/                  OPC_MoveChild1,
/* 21664*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21667*/                  OPC_RecordMemRef,
/* 21668*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 21669*/                  OPC_CheckFoldableChainNode,
/* 21670*/                  OPC_MoveChild1,
/* 21671*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21674*/                  OPC_CheckChild0Same, 1,
/* 21676*/                  OPC_CheckChild1Integer, 1, 
/* 21678*/                  OPC_CheckType, MVT::i64,
/* 21680*/                  OPC_MoveParent,
/* 21681*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21683*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21685*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21687*/                  OPC_MoveParent,
/* 21688*/                  OPC_MoveParent,
/* 21689*/                  OPC_MoveParent,
/* 21690*/                  OPC_CheckType, MVT::i32,
/* 21692*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 21694*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 21704*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 21707*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 21714*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 21720*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21723*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 21731*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21734*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 21742*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21745*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 21754*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 21760*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21763*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 21771*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21774*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 21782*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21785*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 21794*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 21803*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 21806*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 21814*/                /*Scope*/ 35|128,1/*163*/, /*->21979*/
/* 21816*/                  OPC_CheckChild0Same, 1,
/* 21818*/                  OPC_CheckChild1Integer, 1, 
/* 21820*/                  OPC_MoveParent,
/* 21821*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21823*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21825*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21827*/                  OPC_MoveParent,
/* 21828*/                  OPC_MoveChild1,
/* 21829*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21832*/                  OPC_RecordMemRef,
/* 21833*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 21834*/                  OPC_CheckFoldableChainNode,
/* 21835*/                  OPC_MoveChild1,
/* 21836*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 21839*/                  OPC_CheckChild0Same, 3,
/* 21841*/                  OPC_CheckChild1Integer, 1, 
/* 21843*/                  OPC_CheckType, MVT::i64,
/* 21845*/                  OPC_MoveParent,
/* 21846*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21848*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 21850*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21852*/                  OPC_MoveParent,
/* 21853*/                  OPC_MoveParent,
/* 21854*/                  OPC_MoveParent,
/* 21855*/                  OPC_CheckType, MVT::i32,
/* 21857*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 21859*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 21869*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 21872*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 21879*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 21885*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21888*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 21896*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21899*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 21907*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21910*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 21919*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 21925*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 21928*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 21936*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 21939*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 21947*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 21950*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 21959*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 21968*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 21971*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 21979*/                0, /*End of Scope*/
/* 21980*/              /*Scope*/ 4|128,3/*388*/, /*->22370*/
/* 21982*/                OPC_CheckChild0Same, 1,
/* 21984*/                OPC_CheckChild1Integer, 2, 
/* 21986*/                OPC_MoveParent,
/* 21987*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 21989*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 21991*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 21993*/                OPC_MoveParent,
/* 21994*/                OPC_MoveChild1,
/* 21995*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 21998*/                OPC_RecordMemRef,
/* 21999*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 22000*/                OPC_CheckFoldableChainNode,
/* 22001*/                OPC_MoveChild1,
/* 22002*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22005*/                OPC_CheckChild0Same, 3,
/* 22007*/                OPC_CheckChild1Integer, 2, 
/* 22009*/                OPC_CheckType, MVT::i64,
/* 22011*/                OPC_MoveParent,
/* 22012*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22014*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 22016*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22018*/                OPC_MoveParent,
/* 22019*/                OPC_MoveParent,
/* 22020*/                OPC_MoveParent,
/* 22021*/                OPC_MoveChild1,
/* 22022*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 22025*/                OPC_MoveChild0,
/* 22026*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22029*/                OPC_RecordMemRef,
/* 22030*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 22031*/                OPC_CheckFoldableChainNode,
/* 22032*/                OPC_MoveChild1,
/* 22033*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22036*/                OPC_CheckType, MVT::i64,
/* 22038*/                OPC_Scope, 35|128,1/*163*/, /*->22204*/ // 2 children in Scope
/* 22041*/                  OPC_CheckChild0Same, 3,
/* 22043*/                  OPC_CheckChild1Integer, 1, 
/* 22045*/                  OPC_MoveParent,
/* 22046*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22048*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 22050*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22052*/                  OPC_MoveParent,
/* 22053*/                  OPC_MoveChild1,
/* 22054*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22057*/                  OPC_RecordMemRef,
/* 22058*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 22059*/                  OPC_CheckFoldableChainNode,
/* 22060*/                  OPC_MoveChild1,
/* 22061*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22064*/                  OPC_CheckChild0Same, 1,
/* 22066*/                  OPC_CheckChild1Integer, 1, 
/* 22068*/                  OPC_CheckType, MVT::i64,
/* 22070*/                  OPC_MoveParent,
/* 22071*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22073*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 22075*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22077*/                  OPC_MoveParent,
/* 22078*/                  OPC_MoveParent,
/* 22079*/                  OPC_MoveParent,
/* 22080*/                  OPC_CheckType, MVT::i32,
/* 22082*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 22084*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 22094*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 22097*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 22104*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 22110*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 22113*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 22121*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22124*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 22132*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22135*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 22144*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 22150*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 22153*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 22161*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22164*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 22172*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22175*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 22184*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 22193*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 22196*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 22204*/                /*Scope*/ 35|128,1/*163*/, /*->22369*/
/* 22206*/                  OPC_CheckChild0Same, 1,
/* 22208*/                  OPC_CheckChild1Integer, 1, 
/* 22210*/                  OPC_MoveParent,
/* 22211*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22213*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 22215*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22217*/                  OPC_MoveParent,
/* 22218*/                  OPC_MoveChild1,
/* 22219*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22222*/                  OPC_RecordMemRef,
/* 22223*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 22224*/                  OPC_CheckFoldableChainNode,
/* 22225*/                  OPC_MoveChild1,
/* 22226*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22229*/                  OPC_CheckChild0Same, 3,
/* 22231*/                  OPC_CheckChild1Integer, 1, 
/* 22233*/                  OPC_CheckType, MVT::i64,
/* 22235*/                  OPC_MoveParent,
/* 22236*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22238*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 22240*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22242*/                  OPC_MoveParent,
/* 22243*/                  OPC_MoveParent,
/* 22244*/                  OPC_MoveParent,
/* 22245*/                  OPC_CheckType, MVT::i32,
/* 22247*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 22249*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 22259*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 22262*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 22269*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 22275*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 22278*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 22286*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22289*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 22297*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22300*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 22309*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 22315*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 22318*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 22326*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22329*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 22337*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22340*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 22349*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 22358*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 22361*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 22369*/                0, /*End of Scope*/
/* 22370*/              0, /*End of Scope*/
/* 22371*/            /*Scope*/ 90|128,12/*1626*/, /*->23999*/
/* 22373*/              OPC_MoveChild1,
/* 22374*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22377*/              OPC_CheckType, MVT::i64,
/* 22379*/              OPC_Scope, 39|128,6/*807*/, /*->23189*/ // 2 children in Scope
/* 22382*/                OPC_CheckChild0Same, 3,
/* 22384*/                OPC_CheckChild1Integer, 1, 
/* 22386*/                OPC_MoveParent,
/* 22387*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22389*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 22391*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22393*/                OPC_MoveParent,
/* 22394*/                OPC_MoveChild1,
/* 22395*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22398*/                OPC_RecordMemRef,
/* 22399*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 22400*/                OPC_CheckFoldableChainNode,
/* 22401*/                OPC_MoveChild1,
/* 22402*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22405*/                OPC_CheckChild0Same, 1,
/* 22407*/                OPC_CheckChild1Integer, 1, 
/* 22409*/                OPC_CheckType, MVT::i64,
/* 22411*/                OPC_MoveParent,
/* 22412*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22414*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 22416*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22418*/                OPC_MoveParent,
/* 22419*/                OPC_MoveParent,
/* 22420*/                OPC_MoveChild1,
/* 22421*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 22424*/                OPC_MoveChild0,
/* 22425*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22428*/                OPC_RecordMemRef,
/* 22429*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 22430*/                OPC_CheckFoldableChainNode,
/* 22431*/                OPC_Scope, 120|128,2/*376*/, /*->22810*/ // 2 children in Scope
/* 22434*/                  OPC_CheckChild1Same, 3,
/* 22436*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22438*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 22440*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22442*/                  OPC_MoveParent,
/* 22443*/                  OPC_MoveChild1,
/* 22444*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22447*/                  OPC_RecordMemRef,
/* 22448*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 22449*/                  OPC_CheckFoldableChainNode,
/* 22450*/                  OPC_CheckChild1Same, 1,
/* 22452*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22454*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 22456*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22458*/                  OPC_MoveParent,
/* 22459*/                  OPC_MoveParent,
/* 22460*/                  OPC_MoveParent,
/* 22461*/                  OPC_MoveChild1,
/* 22462*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 22465*/                  OPC_MoveChild0,
/* 22466*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22469*/                  OPC_RecordMemRef,
/* 22470*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 22471*/                  OPC_CheckFoldableChainNode,
/* 22472*/                  OPC_MoveChild1,
/* 22473*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22476*/                  OPC_CheckType, MVT::i64,
/* 22478*/                  OPC_Scope, 35|128,1/*163*/, /*->22644*/ // 2 children in Scope
/* 22481*/                    OPC_CheckChild0Same, 3,
/* 22483*/                    OPC_CheckChild1Integer, 2, 
/* 22485*/                    OPC_MoveParent,
/* 22486*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22488*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 22490*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22492*/                    OPC_MoveParent,
/* 22493*/                    OPC_MoveChild1,
/* 22494*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22497*/                    OPC_RecordMemRef,
/* 22498*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 22499*/                    OPC_CheckFoldableChainNode,
/* 22500*/                    OPC_MoveChild1,
/* 22501*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22504*/                    OPC_CheckChild0Same, 1,
/* 22506*/                    OPC_CheckChild1Integer, 2, 
/* 22508*/                    OPC_CheckType, MVT::i64,
/* 22510*/                    OPC_MoveParent,
/* 22511*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22513*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 22515*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22517*/                    OPC_MoveParent,
/* 22518*/                    OPC_MoveParent,
/* 22519*/                    OPC_MoveParent,
/* 22520*/                    OPC_CheckType, MVT::i32,
/* 22522*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 22524*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 22534*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 22537*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 22544*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 22550*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 22553*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 22561*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22564*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 22572*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22575*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 22584*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 22590*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 22593*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 22601*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22604*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 22612*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22615*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 22624*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 22633*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 22636*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 22644*/                  /*Scope*/ 35|128,1/*163*/, /*->22809*/
/* 22646*/                    OPC_CheckChild0Same, 1,
/* 22648*/                    OPC_CheckChild1Integer, 2, 
/* 22650*/                    OPC_MoveParent,
/* 22651*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22653*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 22655*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22657*/                    OPC_MoveParent,
/* 22658*/                    OPC_MoveChild1,
/* 22659*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22662*/                    OPC_RecordMemRef,
/* 22663*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 22664*/                    OPC_CheckFoldableChainNode,
/* 22665*/                    OPC_MoveChild1,
/* 22666*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22669*/                    OPC_CheckChild0Same, 3,
/* 22671*/                    OPC_CheckChild1Integer, 2, 
/* 22673*/                    OPC_CheckType, MVT::i64,
/* 22675*/                    OPC_MoveParent,
/* 22676*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22678*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 22680*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22682*/                    OPC_MoveParent,
/* 22683*/                    OPC_MoveParent,
/* 22684*/                    OPC_MoveParent,
/* 22685*/                    OPC_CheckType, MVT::i32,
/* 22687*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 22689*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 22699*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 22702*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 22709*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 22715*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 22718*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 22726*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22729*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 22737*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22740*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 22749*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 22755*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 22758*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 22766*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22769*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 22777*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22780*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 22789*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 22798*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 22801*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 22809*/                  0, /*End of Scope*/
/* 22810*/                /*Scope*/ 120|128,2/*376*/, /*->23188*/
/* 22812*/                  OPC_CheckChild1Same, 1,
/* 22814*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22816*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 22818*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22820*/                  OPC_MoveParent,
/* 22821*/                  OPC_MoveChild1,
/* 22822*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22825*/                  OPC_RecordMemRef,
/* 22826*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 22827*/                  OPC_CheckFoldableChainNode,
/* 22828*/                  OPC_CheckChild1Same, 3,
/* 22830*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22832*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 22834*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22836*/                  OPC_MoveParent,
/* 22837*/                  OPC_MoveParent,
/* 22838*/                  OPC_MoveParent,
/* 22839*/                  OPC_MoveChild1,
/* 22840*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 22843*/                  OPC_MoveChild0,
/* 22844*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22847*/                  OPC_RecordMemRef,
/* 22848*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 22849*/                  OPC_CheckFoldableChainNode,
/* 22850*/                  OPC_MoveChild1,
/* 22851*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22854*/                  OPC_CheckType, MVT::i64,
/* 22856*/                  OPC_Scope, 35|128,1/*163*/, /*->23022*/ // 2 children in Scope
/* 22859*/                    OPC_CheckChild0Same, 3,
/* 22861*/                    OPC_CheckChild1Integer, 2, 
/* 22863*/                    OPC_MoveParent,
/* 22864*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22866*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 22868*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22870*/                    OPC_MoveParent,
/* 22871*/                    OPC_MoveChild1,
/* 22872*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 22875*/                    OPC_RecordMemRef,
/* 22876*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 22877*/                    OPC_CheckFoldableChainNode,
/* 22878*/                    OPC_MoveChild1,
/* 22879*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 22882*/                    OPC_CheckChild0Same, 1,
/* 22884*/                    OPC_CheckChild1Integer, 2, 
/* 22886*/                    OPC_CheckType, MVT::i64,
/* 22888*/                    OPC_MoveParent,
/* 22889*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 22891*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 22893*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 22895*/                    OPC_MoveParent,
/* 22896*/                    OPC_MoveParent,
/* 22897*/                    OPC_MoveParent,
/* 22898*/                    OPC_CheckType, MVT::i32,
/* 22900*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 22902*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 22912*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 22915*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 22922*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 22928*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 22931*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 22939*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22942*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 22950*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22953*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 22962*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 22968*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 22971*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 22979*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 22982*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 22990*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 22993*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 23002*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 23011*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 23014*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 23022*/                  /*Scope*/ 35|128,1/*163*/, /*->23187*/
/* 23024*/                    OPC_CheckChild0Same, 1,
/* 23026*/                    OPC_CheckChild1Integer, 2, 
/* 23028*/                    OPC_MoveParent,
/* 23029*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23031*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23033*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23035*/                    OPC_MoveParent,
/* 23036*/                    OPC_MoveChild1,
/* 23037*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23040*/                    OPC_RecordMemRef,
/* 23041*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 23042*/                    OPC_CheckFoldableChainNode,
/* 23043*/                    OPC_MoveChild1,
/* 23044*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 23047*/                    OPC_CheckChild0Same, 3,
/* 23049*/                    OPC_CheckChild1Integer, 2, 
/* 23051*/                    OPC_CheckType, MVT::i64,
/* 23053*/                    OPC_MoveParent,
/* 23054*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23056*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23058*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23060*/                    OPC_MoveParent,
/* 23061*/                    OPC_MoveParent,
/* 23062*/                    OPC_MoveParent,
/* 23063*/                    OPC_CheckType, MVT::i32,
/* 23065*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 23067*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 23077*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 23080*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 23087*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 23093*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23096*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 23104*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23107*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 23115*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23118*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 23127*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 23133*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23136*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 23144*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23147*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 23155*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23158*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 23167*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 23176*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 23179*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 23187*/                  0, /*End of Scope*/
/* 23188*/                0, /*End of Scope*/
/* 23189*/              /*Scope*/ 39|128,6/*807*/, /*->23998*/
/* 23191*/                OPC_CheckChild0Same, 1,
/* 23193*/                OPC_CheckChild1Integer, 1, 
/* 23195*/                OPC_MoveParent,
/* 23196*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23198*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 23200*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23202*/                OPC_MoveParent,
/* 23203*/                OPC_MoveChild1,
/* 23204*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23207*/                OPC_RecordMemRef,
/* 23208*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 23209*/                OPC_CheckFoldableChainNode,
/* 23210*/                OPC_MoveChild1,
/* 23211*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 23214*/                OPC_CheckChild0Same, 3,
/* 23216*/                OPC_CheckChild1Integer, 1, 
/* 23218*/                OPC_CheckType, MVT::i64,
/* 23220*/                OPC_MoveParent,
/* 23221*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23223*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 23225*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23227*/                OPC_MoveParent,
/* 23228*/                OPC_MoveParent,
/* 23229*/                OPC_MoveChild1,
/* 23230*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 23233*/                OPC_MoveChild0,
/* 23234*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23237*/                OPC_RecordMemRef,
/* 23238*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 23239*/                OPC_CheckFoldableChainNode,
/* 23240*/                OPC_Scope, 120|128,2/*376*/, /*->23619*/ // 2 children in Scope
/* 23243*/                  OPC_CheckChild1Same, 3,
/* 23245*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23247*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 23249*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23251*/                  OPC_MoveParent,
/* 23252*/                  OPC_MoveChild1,
/* 23253*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23256*/                  OPC_RecordMemRef,
/* 23257*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 23258*/                  OPC_CheckFoldableChainNode,
/* 23259*/                  OPC_CheckChild1Same, 1,
/* 23261*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23263*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 23265*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23267*/                  OPC_MoveParent,
/* 23268*/                  OPC_MoveParent,
/* 23269*/                  OPC_MoveParent,
/* 23270*/                  OPC_MoveChild1,
/* 23271*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 23274*/                  OPC_MoveChild0,
/* 23275*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23278*/                  OPC_RecordMemRef,
/* 23279*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 23280*/                  OPC_CheckFoldableChainNode,
/* 23281*/                  OPC_MoveChild1,
/* 23282*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 23285*/                  OPC_CheckType, MVT::i64,
/* 23287*/                  OPC_Scope, 35|128,1/*163*/, /*->23453*/ // 2 children in Scope
/* 23290*/                    OPC_CheckChild0Same, 3,
/* 23292*/                    OPC_CheckChild1Integer, 2, 
/* 23294*/                    OPC_MoveParent,
/* 23295*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23297*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23299*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23301*/                    OPC_MoveParent,
/* 23302*/                    OPC_MoveChild1,
/* 23303*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23306*/                    OPC_RecordMemRef,
/* 23307*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 23308*/                    OPC_CheckFoldableChainNode,
/* 23309*/                    OPC_MoveChild1,
/* 23310*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 23313*/                    OPC_CheckChild0Same, 1,
/* 23315*/                    OPC_CheckChild1Integer, 2, 
/* 23317*/                    OPC_CheckType, MVT::i64,
/* 23319*/                    OPC_MoveParent,
/* 23320*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23322*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23324*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23326*/                    OPC_MoveParent,
/* 23327*/                    OPC_MoveParent,
/* 23328*/                    OPC_MoveParent,
/* 23329*/                    OPC_CheckType, MVT::i32,
/* 23331*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 23333*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 23343*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 23346*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 23353*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 23359*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23362*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 23370*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23373*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 23381*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23384*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 23393*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 23399*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23402*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 23410*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23413*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 23421*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23424*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 23433*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 23442*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 23445*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 23453*/                  /*Scope*/ 35|128,1/*163*/, /*->23618*/
/* 23455*/                    OPC_CheckChild0Same, 1,
/* 23457*/                    OPC_CheckChild1Integer, 2, 
/* 23459*/                    OPC_MoveParent,
/* 23460*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23462*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23464*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23466*/                    OPC_MoveParent,
/* 23467*/                    OPC_MoveChild1,
/* 23468*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23471*/                    OPC_RecordMemRef,
/* 23472*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 23473*/                    OPC_CheckFoldableChainNode,
/* 23474*/                    OPC_MoveChild1,
/* 23475*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 23478*/                    OPC_CheckChild0Same, 3,
/* 23480*/                    OPC_CheckChild1Integer, 2, 
/* 23482*/                    OPC_CheckType, MVT::i64,
/* 23484*/                    OPC_MoveParent,
/* 23485*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23487*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23489*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23491*/                    OPC_MoveParent,
/* 23492*/                    OPC_MoveParent,
/* 23493*/                    OPC_MoveParent,
/* 23494*/                    OPC_CheckType, MVT::i32,
/* 23496*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 23498*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 23508*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 23511*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 23518*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 23524*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23527*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 23535*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23538*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 23546*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23549*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 23558*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 23564*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23567*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 23575*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23578*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 23586*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23589*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 23598*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 23607*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 23610*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 23618*/                  0, /*End of Scope*/
/* 23619*/                /*Scope*/ 120|128,2/*376*/, /*->23997*/
/* 23621*/                  OPC_CheckChild1Same, 1,
/* 23623*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23625*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 23627*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23629*/                  OPC_MoveParent,
/* 23630*/                  OPC_MoveChild1,
/* 23631*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23634*/                  OPC_RecordMemRef,
/* 23635*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 23636*/                  OPC_CheckFoldableChainNode,
/* 23637*/                  OPC_CheckChild1Same, 3,
/* 23639*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23641*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 23643*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23645*/                  OPC_MoveParent,
/* 23646*/                  OPC_MoveParent,
/* 23647*/                  OPC_MoveParent,
/* 23648*/                  OPC_MoveChild1,
/* 23649*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 23652*/                  OPC_MoveChild0,
/* 23653*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23656*/                  OPC_RecordMemRef,
/* 23657*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 23658*/                  OPC_CheckFoldableChainNode,
/* 23659*/                  OPC_MoveChild1,
/* 23660*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 23663*/                  OPC_CheckType, MVT::i64,
/* 23665*/                  OPC_Scope, 35|128,1/*163*/, /*->23831*/ // 2 children in Scope
/* 23668*/                    OPC_CheckChild0Same, 3,
/* 23670*/                    OPC_CheckChild1Integer, 2, 
/* 23672*/                    OPC_MoveParent,
/* 23673*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23675*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23677*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23679*/                    OPC_MoveParent,
/* 23680*/                    OPC_MoveChild1,
/* 23681*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23684*/                    OPC_RecordMemRef,
/* 23685*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 23686*/                    OPC_CheckFoldableChainNode,
/* 23687*/                    OPC_MoveChild1,
/* 23688*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 23691*/                    OPC_CheckChild0Same, 1,
/* 23693*/                    OPC_CheckChild1Integer, 2, 
/* 23695*/                    OPC_CheckType, MVT::i64,
/* 23697*/                    OPC_MoveParent,
/* 23698*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23700*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23702*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23704*/                    OPC_MoveParent,
/* 23705*/                    OPC_MoveParent,
/* 23706*/                    OPC_MoveParent,
/* 23707*/                    OPC_CheckType, MVT::i32,
/* 23709*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 23711*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 23721*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 23724*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 23731*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 23737*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23740*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 23748*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23751*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 23759*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23762*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 23771*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 23777*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23780*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 23788*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23791*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 23799*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23802*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 23811*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 23820*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 23823*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 23831*/                  /*Scope*/ 35|128,1/*163*/, /*->23996*/
/* 23833*/                    OPC_CheckChild0Same, 1,
/* 23835*/                    OPC_CheckChild1Integer, 2, 
/* 23837*/                    OPC_MoveParent,
/* 23838*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23840*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23842*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23844*/                    OPC_MoveParent,
/* 23845*/                    OPC_MoveChild1,
/* 23846*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 23849*/                    OPC_RecordMemRef,
/* 23850*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 23851*/                    OPC_CheckFoldableChainNode,
/* 23852*/                    OPC_MoveChild1,
/* 23853*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 23856*/                    OPC_CheckChild0Same, 3,
/* 23858*/                    OPC_CheckChild1Integer, 2, 
/* 23860*/                    OPC_CheckType, MVT::i64,
/* 23862*/                    OPC_MoveParent,
/* 23863*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 23865*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 23867*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 23869*/                    OPC_MoveParent,
/* 23870*/                    OPC_MoveParent,
/* 23871*/                    OPC_MoveParent,
/* 23872*/                    OPC_CheckType, MVT::i32,
/* 23874*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 23876*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 23886*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 23889*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 23896*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 23902*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23905*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 23913*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23916*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 23924*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23927*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 23936*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 23942*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 23945*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 23953*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 23956*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 23964*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 23967*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 23976*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 23985*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 23988*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 23996*/                  0, /*End of Scope*/
/* 23997*/                0, /*End of Scope*/
/* 23998*/              0, /*End of Scope*/
/* 23999*/            /*Scope*/ 57|128,6/*825*/, /*->24826*/
/* 24001*/              OPC_CheckChild1Same, 3,
/* 24003*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24005*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 24007*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24009*/              OPC_MoveParent,
/* 24010*/              OPC_MoveChild1,
/* 24011*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24014*/              OPC_RecordMemRef,
/* 24015*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 24016*/              OPC_CheckFoldableChainNode,
/* 24017*/              OPC_CheckChild1Same, 1,
/* 24019*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24021*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 24023*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24025*/              OPC_MoveParent,
/* 24026*/              OPC_MoveParent,
/* 24027*/              OPC_MoveChild1,
/* 24028*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 24031*/              OPC_MoveChild0,
/* 24032*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24035*/              OPC_RecordMemRef,
/* 24036*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 24037*/              OPC_CheckFoldableChainNode,
/* 24038*/              OPC_MoveChild1,
/* 24039*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24042*/              OPC_CheckType, MVT::i64,
/* 24044*/              OPC_Scope, 4|128,3/*388*/, /*->24435*/ // 2 children in Scope
/* 24047*/                OPC_CheckChild0Same, 3,
/* 24049*/                OPC_CheckChild1Integer, 1, 
/* 24051*/                OPC_MoveParent,
/* 24052*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24054*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 24056*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24058*/                OPC_MoveParent,
/* 24059*/                OPC_MoveChild1,
/* 24060*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24063*/                OPC_RecordMemRef,
/* 24064*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 24065*/                OPC_CheckFoldableChainNode,
/* 24066*/                OPC_MoveChild1,
/* 24067*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24070*/                OPC_CheckChild0Same, 1,
/* 24072*/                OPC_CheckChild1Integer, 1, 
/* 24074*/                OPC_CheckType, MVT::i64,
/* 24076*/                OPC_MoveParent,
/* 24077*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24079*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 24081*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24083*/                OPC_MoveParent,
/* 24084*/                OPC_MoveParent,
/* 24085*/                OPC_MoveParent,
/* 24086*/                OPC_MoveChild1,
/* 24087*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 24090*/                OPC_MoveChild0,
/* 24091*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24094*/                OPC_RecordMemRef,
/* 24095*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 24096*/                OPC_CheckFoldableChainNode,
/* 24097*/                OPC_MoveChild1,
/* 24098*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24101*/                OPC_CheckType, MVT::i64,
/* 24103*/                OPC_Scope, 35|128,1/*163*/, /*->24269*/ // 2 children in Scope
/* 24106*/                  OPC_CheckChild0Same, 3,
/* 24108*/                  OPC_CheckChild1Integer, 2, 
/* 24110*/                  OPC_MoveParent,
/* 24111*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24113*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24115*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24117*/                  OPC_MoveParent,
/* 24118*/                  OPC_MoveChild1,
/* 24119*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24122*/                  OPC_RecordMemRef,
/* 24123*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 24124*/                  OPC_CheckFoldableChainNode,
/* 24125*/                  OPC_MoveChild1,
/* 24126*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24129*/                  OPC_CheckChild0Same, 1,
/* 24131*/                  OPC_CheckChild1Integer, 2, 
/* 24133*/                  OPC_CheckType, MVT::i64,
/* 24135*/                  OPC_MoveParent,
/* 24136*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24138*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24140*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24142*/                  OPC_MoveParent,
/* 24143*/                  OPC_MoveParent,
/* 24144*/                  OPC_MoveParent,
/* 24145*/                  OPC_CheckType, MVT::i32,
/* 24147*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 24149*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 24159*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 24162*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 24169*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 24175*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 24178*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 24186*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 24189*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 24197*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 24200*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 24209*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 24215*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 24218*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 24226*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 24229*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 24237*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 24240*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 24249*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 24258*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 24261*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 24269*/                /*Scope*/ 35|128,1/*163*/, /*->24434*/
/* 24271*/                  OPC_CheckChild0Same, 1,
/* 24273*/                  OPC_CheckChild1Integer, 2, 
/* 24275*/                  OPC_MoveParent,
/* 24276*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24278*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24280*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24282*/                  OPC_MoveParent,
/* 24283*/                  OPC_MoveChild1,
/* 24284*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24287*/                  OPC_RecordMemRef,
/* 24288*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 24289*/                  OPC_CheckFoldableChainNode,
/* 24290*/                  OPC_MoveChild1,
/* 24291*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24294*/                  OPC_CheckChild0Same, 3,
/* 24296*/                  OPC_CheckChild1Integer, 2, 
/* 24298*/                  OPC_CheckType, MVT::i64,
/* 24300*/                  OPC_MoveParent,
/* 24301*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24303*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24305*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24307*/                  OPC_MoveParent,
/* 24308*/                  OPC_MoveParent,
/* 24309*/                  OPC_MoveParent,
/* 24310*/                  OPC_CheckType, MVT::i32,
/* 24312*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 24314*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 24324*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 24327*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 24334*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 24340*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 24343*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 24351*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 24354*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 24362*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 24365*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 24374*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 24380*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 24383*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 24391*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 24394*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 24402*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 24405*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 24414*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 24423*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 24426*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 24434*/                0, /*End of Scope*/
/* 24435*/              /*Scope*/ 4|128,3/*388*/, /*->24825*/
/* 24437*/                OPC_CheckChild0Same, 1,
/* 24439*/                OPC_CheckChild1Integer, 1, 
/* 24441*/                OPC_MoveParent,
/* 24442*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24444*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 24446*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24448*/                OPC_MoveParent,
/* 24449*/                OPC_MoveChild1,
/* 24450*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24453*/                OPC_RecordMemRef,
/* 24454*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 24455*/                OPC_CheckFoldableChainNode,
/* 24456*/                OPC_MoveChild1,
/* 24457*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24460*/                OPC_CheckChild0Same, 3,
/* 24462*/                OPC_CheckChild1Integer, 1, 
/* 24464*/                OPC_CheckType, MVT::i64,
/* 24466*/                OPC_MoveParent,
/* 24467*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24469*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 24471*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24473*/                OPC_MoveParent,
/* 24474*/                OPC_MoveParent,
/* 24475*/                OPC_MoveParent,
/* 24476*/                OPC_MoveChild1,
/* 24477*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 24480*/                OPC_MoveChild0,
/* 24481*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24484*/                OPC_RecordMemRef,
/* 24485*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 24486*/                OPC_CheckFoldableChainNode,
/* 24487*/                OPC_MoveChild1,
/* 24488*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24491*/                OPC_CheckType, MVT::i64,
/* 24493*/                OPC_Scope, 35|128,1/*163*/, /*->24659*/ // 2 children in Scope
/* 24496*/                  OPC_CheckChild0Same, 3,
/* 24498*/                  OPC_CheckChild1Integer, 2, 
/* 24500*/                  OPC_MoveParent,
/* 24501*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24503*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24505*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24507*/                  OPC_MoveParent,
/* 24508*/                  OPC_MoveChild1,
/* 24509*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24512*/                  OPC_RecordMemRef,
/* 24513*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 24514*/                  OPC_CheckFoldableChainNode,
/* 24515*/                  OPC_MoveChild1,
/* 24516*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24519*/                  OPC_CheckChild0Same, 1,
/* 24521*/                  OPC_CheckChild1Integer, 2, 
/* 24523*/                  OPC_CheckType, MVT::i64,
/* 24525*/                  OPC_MoveParent,
/* 24526*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24528*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24530*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24532*/                  OPC_MoveParent,
/* 24533*/                  OPC_MoveParent,
/* 24534*/                  OPC_MoveParent,
/* 24535*/                  OPC_CheckType, MVT::i32,
/* 24537*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 24539*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 24549*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 24552*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 24559*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 24565*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 24568*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 24576*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 24579*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 24587*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 24590*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 24599*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 24605*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 24608*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 24616*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 24619*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 24627*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 24630*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 24639*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 24648*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 24651*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 24659*/                /*Scope*/ 35|128,1/*163*/, /*->24824*/
/* 24661*/                  OPC_CheckChild0Same, 1,
/* 24663*/                  OPC_CheckChild1Integer, 2, 
/* 24665*/                  OPC_MoveParent,
/* 24666*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24668*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24670*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24672*/                  OPC_MoveParent,
/* 24673*/                  OPC_MoveChild1,
/* 24674*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24677*/                  OPC_RecordMemRef,
/* 24678*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 24679*/                  OPC_CheckFoldableChainNode,
/* 24680*/                  OPC_MoveChild1,
/* 24681*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24684*/                  OPC_CheckChild0Same, 3,
/* 24686*/                  OPC_CheckChild1Integer, 2, 
/* 24688*/                  OPC_CheckType, MVT::i64,
/* 24690*/                  OPC_MoveParent,
/* 24691*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24693*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24695*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24697*/                  OPC_MoveParent,
/* 24698*/                  OPC_MoveParent,
/* 24699*/                  OPC_MoveParent,
/* 24700*/                  OPC_CheckType, MVT::i32,
/* 24702*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 24704*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 24714*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 24717*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 24724*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 24730*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 24733*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 24741*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 24744*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 24752*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 24755*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 24764*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 24770*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 24773*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 24781*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 24784*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 24792*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 24795*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 24804*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 24813*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 24816*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 24824*/                0, /*End of Scope*/
/* 24825*/              0, /*End of Scope*/
/* 24826*/            /*Scope*/ 57|128,6/*825*/, /*->25653*/
/* 24828*/              OPC_CheckChild1Same, 1,
/* 24830*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24832*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 24834*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24836*/              OPC_MoveParent,
/* 24837*/              OPC_MoveChild1,
/* 24838*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24841*/              OPC_RecordMemRef,
/* 24842*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 24843*/              OPC_CheckFoldableChainNode,
/* 24844*/              OPC_CheckChild1Same, 3,
/* 24846*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24848*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 24850*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24852*/              OPC_MoveParent,
/* 24853*/              OPC_MoveParent,
/* 24854*/              OPC_MoveChild1,
/* 24855*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 24858*/              OPC_MoveChild0,
/* 24859*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24862*/              OPC_RecordMemRef,
/* 24863*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 24864*/              OPC_CheckFoldableChainNode,
/* 24865*/              OPC_MoveChild1,
/* 24866*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24869*/              OPC_CheckType, MVT::i64,
/* 24871*/              OPC_Scope, 4|128,3/*388*/, /*->25262*/ // 2 children in Scope
/* 24874*/                OPC_CheckChild0Same, 3,
/* 24876*/                OPC_CheckChild1Integer, 1, 
/* 24878*/                OPC_MoveParent,
/* 24879*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24881*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 24883*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24885*/                OPC_MoveParent,
/* 24886*/                OPC_MoveChild1,
/* 24887*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24890*/                OPC_RecordMemRef,
/* 24891*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 24892*/                OPC_CheckFoldableChainNode,
/* 24893*/                OPC_MoveChild1,
/* 24894*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24897*/                OPC_CheckChild0Same, 1,
/* 24899*/                OPC_CheckChild1Integer, 1, 
/* 24901*/                OPC_CheckType, MVT::i64,
/* 24903*/                OPC_MoveParent,
/* 24904*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24906*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 24908*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24910*/                OPC_MoveParent,
/* 24911*/                OPC_MoveParent,
/* 24912*/                OPC_MoveParent,
/* 24913*/                OPC_MoveChild1,
/* 24914*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 24917*/                OPC_MoveChild0,
/* 24918*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24921*/                OPC_RecordMemRef,
/* 24922*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 24923*/                OPC_CheckFoldableChainNode,
/* 24924*/                OPC_MoveChild1,
/* 24925*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24928*/                OPC_CheckType, MVT::i64,
/* 24930*/                OPC_Scope, 35|128,1/*163*/, /*->25096*/ // 2 children in Scope
/* 24933*/                  OPC_CheckChild0Same, 3,
/* 24935*/                  OPC_CheckChild1Integer, 2, 
/* 24937*/                  OPC_MoveParent,
/* 24938*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24940*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24942*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24944*/                  OPC_MoveParent,
/* 24945*/                  OPC_MoveChild1,
/* 24946*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 24949*/                  OPC_RecordMemRef,
/* 24950*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 24951*/                  OPC_CheckFoldableChainNode,
/* 24952*/                  OPC_MoveChild1,
/* 24953*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 24956*/                  OPC_CheckChild0Same, 1,
/* 24958*/                  OPC_CheckChild1Integer, 2, 
/* 24960*/                  OPC_CheckType, MVT::i64,
/* 24962*/                  OPC_MoveParent,
/* 24963*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 24965*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 24967*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 24969*/                  OPC_MoveParent,
/* 24970*/                  OPC_MoveParent,
/* 24971*/                  OPC_MoveParent,
/* 24972*/                  OPC_CheckType, MVT::i32,
/* 24974*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 24976*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 24986*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 24989*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 24996*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 25002*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25005*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 25013*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25016*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 25024*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25027*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 25036*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 25042*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25045*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 25053*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25056*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 25064*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25067*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 25076*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 25085*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 25088*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 25096*/                /*Scope*/ 35|128,1/*163*/, /*->25261*/
/* 25098*/                  OPC_CheckChild0Same, 1,
/* 25100*/                  OPC_CheckChild1Integer, 2, 
/* 25102*/                  OPC_MoveParent,
/* 25103*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25105*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25107*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25109*/                  OPC_MoveParent,
/* 25110*/                  OPC_MoveChild1,
/* 25111*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25114*/                  OPC_RecordMemRef,
/* 25115*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 25116*/                  OPC_CheckFoldableChainNode,
/* 25117*/                  OPC_MoveChild1,
/* 25118*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25121*/                  OPC_CheckChild0Same, 3,
/* 25123*/                  OPC_CheckChild1Integer, 2, 
/* 25125*/                  OPC_CheckType, MVT::i64,
/* 25127*/                  OPC_MoveParent,
/* 25128*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25130*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25132*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25134*/                  OPC_MoveParent,
/* 25135*/                  OPC_MoveParent,
/* 25136*/                  OPC_MoveParent,
/* 25137*/                  OPC_CheckType, MVT::i32,
/* 25139*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 25141*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 25151*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 25154*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 25161*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 25167*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25170*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 25178*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25181*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 25189*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25192*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 25201*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 25207*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25210*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 25218*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25221*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 25229*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25232*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 25241*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 25250*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 25253*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 25261*/                0, /*End of Scope*/
/* 25262*/              /*Scope*/ 4|128,3/*388*/, /*->25652*/
/* 25264*/                OPC_CheckChild0Same, 1,
/* 25266*/                OPC_CheckChild1Integer, 1, 
/* 25268*/                OPC_MoveParent,
/* 25269*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25271*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 25273*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25275*/                OPC_MoveParent,
/* 25276*/                OPC_MoveChild1,
/* 25277*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25280*/                OPC_RecordMemRef,
/* 25281*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 25282*/                OPC_CheckFoldableChainNode,
/* 25283*/                OPC_MoveChild1,
/* 25284*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25287*/                OPC_CheckChild0Same, 3,
/* 25289*/                OPC_CheckChild1Integer, 1, 
/* 25291*/                OPC_CheckType, MVT::i64,
/* 25293*/                OPC_MoveParent,
/* 25294*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25296*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 25298*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25300*/                OPC_MoveParent,
/* 25301*/                OPC_MoveParent,
/* 25302*/                OPC_MoveParent,
/* 25303*/                OPC_MoveChild1,
/* 25304*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 25307*/                OPC_MoveChild0,
/* 25308*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25311*/                OPC_RecordMemRef,
/* 25312*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 25313*/                OPC_CheckFoldableChainNode,
/* 25314*/                OPC_MoveChild1,
/* 25315*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25318*/                OPC_CheckType, MVT::i64,
/* 25320*/                OPC_Scope, 35|128,1/*163*/, /*->25486*/ // 2 children in Scope
/* 25323*/                  OPC_CheckChild0Same, 3,
/* 25325*/                  OPC_CheckChild1Integer, 2, 
/* 25327*/                  OPC_MoveParent,
/* 25328*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25330*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25332*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25334*/                  OPC_MoveParent,
/* 25335*/                  OPC_MoveChild1,
/* 25336*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25339*/                  OPC_RecordMemRef,
/* 25340*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 25341*/                  OPC_CheckFoldableChainNode,
/* 25342*/                  OPC_MoveChild1,
/* 25343*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25346*/                  OPC_CheckChild0Same, 1,
/* 25348*/                  OPC_CheckChild1Integer, 2, 
/* 25350*/                  OPC_CheckType, MVT::i64,
/* 25352*/                  OPC_MoveParent,
/* 25353*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25355*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25357*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25359*/                  OPC_MoveParent,
/* 25360*/                  OPC_MoveParent,
/* 25361*/                  OPC_MoveParent,
/* 25362*/                  OPC_CheckType, MVT::i32,
/* 25364*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 25366*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 25376*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 25379*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 25386*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 25392*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25395*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 25403*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25406*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 25414*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25417*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 25426*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 25432*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25435*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 25443*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25446*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 25454*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25457*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 25466*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 25475*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 25478*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 25486*/                /*Scope*/ 35|128,1/*163*/, /*->25651*/
/* 25488*/                  OPC_CheckChild0Same, 1,
/* 25490*/                  OPC_CheckChild1Integer, 2, 
/* 25492*/                  OPC_MoveParent,
/* 25493*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25495*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25497*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25499*/                  OPC_MoveParent,
/* 25500*/                  OPC_MoveChild1,
/* 25501*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25504*/                  OPC_RecordMemRef,
/* 25505*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 25506*/                  OPC_CheckFoldableChainNode,
/* 25507*/                  OPC_MoveChild1,
/* 25508*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25511*/                  OPC_CheckChild0Same, 3,
/* 25513*/                  OPC_CheckChild1Integer, 2, 
/* 25515*/                  OPC_CheckType, MVT::i64,
/* 25517*/                  OPC_MoveParent,
/* 25518*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25520*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25522*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25524*/                  OPC_MoveParent,
/* 25525*/                  OPC_MoveParent,
/* 25526*/                  OPC_MoveParent,
/* 25527*/                  OPC_CheckType, MVT::i32,
/* 25529*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 25531*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 25541*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 25544*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 25551*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 25557*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25560*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 25568*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25571*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 25579*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25582*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 25591*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 25597*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25600*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 25608*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25611*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 25619*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25622*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 25631*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 25640*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 25643*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 25651*/                0, /*End of Scope*/
/* 25652*/              0, /*End of Scope*/
/* 25653*/            0, /*End of Scope*/
/* 25654*/          /*SwitchOpcode*/ 7|128,23|128,1/*19335*/, TARGET_VAL(ISD::MUL),// ->44994
/* 25659*/            OPC_MoveChild0,
/* 25660*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25663*/            OPC_RecordMemRef,
/* 25664*/            OPC_RecordNode, // #4 = 'ld' chained node
/* 25665*/            OPC_CheckFoldableChainNode,
/* 25666*/            OPC_Scope, 63|128,6/*831*/, /*->26500*/ // 10 children in Scope
/* 25669*/              OPC_CheckChild1Same, 1,
/* 25671*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25673*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 25675*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25677*/              OPC_MoveParent,
/* 25678*/              OPC_MoveChild1,
/* 25679*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25682*/              OPC_RecordMemRef,
/* 25683*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 25684*/              OPC_CheckFoldableChainNode,
/* 25685*/              OPC_CheckChild1Same, 3,
/* 25687*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25689*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 25691*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25693*/              OPC_MoveParent,
/* 25694*/              OPC_MoveParent,
/* 25695*/              OPC_MoveChild1,
/* 25696*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25699*/              OPC_MoveChild0,
/* 25700*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 25703*/              OPC_MoveChild0,
/* 25704*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25707*/              OPC_RecordMemRef,
/* 25708*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 25709*/              OPC_CheckFoldableChainNode,
/* 25710*/              OPC_MoveChild1,
/* 25711*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25714*/              OPC_CheckType, MVT::i64,
/* 25716*/              OPC_Scope, 5|128,3/*389*/, /*->26108*/ // 2 children in Scope
/* 25719*/                OPC_CheckChild0Same, 1,
/* 25721*/                OPC_CheckChild1Integer, 2, 
/* 25723*/                OPC_MoveParent,
/* 25724*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25726*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 25728*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25730*/                OPC_MoveParent,
/* 25731*/                OPC_MoveChild1,
/* 25732*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25735*/                OPC_RecordMemRef,
/* 25736*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 25737*/                OPC_CheckFoldableChainNode,
/* 25738*/                OPC_MoveChild1,
/* 25739*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25742*/                OPC_CheckChild0Same, 3,
/* 25744*/                OPC_CheckChild1Integer, 2, 
/* 25746*/                OPC_CheckType, MVT::i64,
/* 25748*/                OPC_MoveParent,
/* 25749*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25751*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 25753*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25755*/                OPC_MoveParent,
/* 25756*/                OPC_MoveParent,
/* 25757*/                OPC_MoveChild1,
/* 25758*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 25761*/                OPC_MoveChild0,
/* 25762*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25765*/                OPC_RecordMemRef,
/* 25766*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 25767*/                OPC_CheckFoldableChainNode,
/* 25768*/                OPC_MoveChild1,
/* 25769*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25772*/                OPC_CheckType, MVT::i64,
/* 25774*/                OPC_Scope, 36|128,1/*164*/, /*->25941*/ // 2 children in Scope
/* 25777*/                  OPC_CheckChild0Same, 1,
/* 25779*/                  OPC_CheckChild1Integer, 1, 
/* 25781*/                  OPC_MoveParent,
/* 25782*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25784*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25786*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25788*/                  OPC_MoveParent,
/* 25789*/                  OPC_MoveChild1,
/* 25790*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25793*/                  OPC_RecordMemRef,
/* 25794*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 25795*/                  OPC_CheckFoldableChainNode,
/* 25796*/                  OPC_MoveChild1,
/* 25797*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25800*/                  OPC_CheckChild0Same, 3,
/* 25802*/                  OPC_CheckChild1Integer, 1, 
/* 25804*/                  OPC_CheckType, MVT::i64,
/* 25806*/                  OPC_MoveParent,
/* 25807*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25809*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25811*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25813*/                  OPC_MoveParent,
/* 25814*/                  OPC_MoveParent,
/* 25815*/                  OPC_MoveParent,
/* 25816*/                  OPC_MoveParent,
/* 25817*/                  OPC_CheckType, MVT::i32,
/* 25819*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 25821*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 25831*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 25834*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 25841*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 25847*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25850*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 25858*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25861*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 25869*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25872*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 25881*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 25887*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 25890*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 25898*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 25901*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 25909*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 25912*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 25921*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 25930*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 25933*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 25941*/                /*Scope*/ 36|128,1/*164*/, /*->26107*/
/* 25943*/                  OPC_CheckChild0Same, 3,
/* 25945*/                  OPC_CheckChild1Integer, 1, 
/* 25947*/                  OPC_MoveParent,
/* 25948*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25950*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25952*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25954*/                  OPC_MoveParent,
/* 25955*/                  OPC_MoveChild1,
/* 25956*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 25959*/                  OPC_RecordMemRef,
/* 25960*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 25961*/                  OPC_CheckFoldableChainNode,
/* 25962*/                  OPC_MoveChild1,
/* 25963*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 25966*/                  OPC_CheckChild0Same, 1,
/* 25968*/                  OPC_CheckChild1Integer, 1, 
/* 25970*/                  OPC_CheckType, MVT::i64,
/* 25972*/                  OPC_MoveParent,
/* 25973*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 25975*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 25977*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 25979*/                  OPC_MoveParent,
/* 25980*/                  OPC_MoveParent,
/* 25981*/                  OPC_MoveParent,
/* 25982*/                  OPC_MoveParent,
/* 25983*/                  OPC_CheckType, MVT::i32,
/* 25985*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 25987*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 25997*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 26000*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 26007*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 26013*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26016*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 26024*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26027*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 26035*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26038*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 26047*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 26053*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26056*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 26064*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26067*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 26075*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26078*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 26087*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 26096*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 26099*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 26107*/                0, /*End of Scope*/
/* 26108*/              /*Scope*/ 5|128,3/*389*/, /*->26499*/
/* 26110*/                OPC_CheckChild0Same, 3,
/* 26112*/                OPC_CheckChild1Integer, 2, 
/* 26114*/                OPC_MoveParent,
/* 26115*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26117*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 26119*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26121*/                OPC_MoveParent,
/* 26122*/                OPC_MoveChild1,
/* 26123*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26126*/                OPC_RecordMemRef,
/* 26127*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 26128*/                OPC_CheckFoldableChainNode,
/* 26129*/                OPC_MoveChild1,
/* 26130*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26133*/                OPC_CheckChild0Same, 1,
/* 26135*/                OPC_CheckChild1Integer, 2, 
/* 26137*/                OPC_CheckType, MVT::i64,
/* 26139*/                OPC_MoveParent,
/* 26140*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26142*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 26144*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26146*/                OPC_MoveParent,
/* 26147*/                OPC_MoveParent,
/* 26148*/                OPC_MoveChild1,
/* 26149*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 26152*/                OPC_MoveChild0,
/* 26153*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26156*/                OPC_RecordMemRef,
/* 26157*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 26158*/                OPC_CheckFoldableChainNode,
/* 26159*/                OPC_MoveChild1,
/* 26160*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26163*/                OPC_CheckType, MVT::i64,
/* 26165*/                OPC_Scope, 36|128,1/*164*/, /*->26332*/ // 2 children in Scope
/* 26168*/                  OPC_CheckChild0Same, 1,
/* 26170*/                  OPC_CheckChild1Integer, 1, 
/* 26172*/                  OPC_MoveParent,
/* 26173*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26175*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 26177*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26179*/                  OPC_MoveParent,
/* 26180*/                  OPC_MoveChild1,
/* 26181*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26184*/                  OPC_RecordMemRef,
/* 26185*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 26186*/                  OPC_CheckFoldableChainNode,
/* 26187*/                  OPC_MoveChild1,
/* 26188*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26191*/                  OPC_CheckChild0Same, 3,
/* 26193*/                  OPC_CheckChild1Integer, 1, 
/* 26195*/                  OPC_CheckType, MVT::i64,
/* 26197*/                  OPC_MoveParent,
/* 26198*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26200*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 26202*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26204*/                  OPC_MoveParent,
/* 26205*/                  OPC_MoveParent,
/* 26206*/                  OPC_MoveParent,
/* 26207*/                  OPC_MoveParent,
/* 26208*/                  OPC_CheckType, MVT::i32,
/* 26210*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 26212*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 26222*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 26225*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 26232*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 26238*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26241*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 26249*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26252*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 26260*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26263*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 26272*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 26278*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26281*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 26289*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26292*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 26300*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26303*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 26312*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 26321*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 26324*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 26332*/                /*Scope*/ 36|128,1/*164*/, /*->26498*/
/* 26334*/                  OPC_CheckChild0Same, 3,
/* 26336*/                  OPC_CheckChild1Integer, 1, 
/* 26338*/                  OPC_MoveParent,
/* 26339*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26341*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 26343*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26345*/                  OPC_MoveParent,
/* 26346*/                  OPC_MoveChild1,
/* 26347*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26350*/                  OPC_RecordMemRef,
/* 26351*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 26352*/                  OPC_CheckFoldableChainNode,
/* 26353*/                  OPC_MoveChild1,
/* 26354*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26357*/                  OPC_CheckChild0Same, 1,
/* 26359*/                  OPC_CheckChild1Integer, 1, 
/* 26361*/                  OPC_CheckType, MVT::i64,
/* 26363*/                  OPC_MoveParent,
/* 26364*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26366*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 26368*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26370*/                  OPC_MoveParent,
/* 26371*/                  OPC_MoveParent,
/* 26372*/                  OPC_MoveParent,
/* 26373*/                  OPC_MoveParent,
/* 26374*/                  OPC_CheckType, MVT::i32,
/* 26376*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 26378*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 26388*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 26391*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 26398*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 26404*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26407*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 26415*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26418*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 26426*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26429*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 26438*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 26444*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26447*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 26455*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26458*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 26466*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26469*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 26478*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 26487*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 26490*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 26498*/                0, /*End of Scope*/
/* 26499*/              0, /*End of Scope*/
/* 26500*/            /*Scope*/ 63|128,6/*831*/, /*->27333*/
/* 26502*/              OPC_CheckChild1Same, 3,
/* 26504*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26506*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 26508*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26510*/              OPC_MoveParent,
/* 26511*/              OPC_MoveChild1,
/* 26512*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26515*/              OPC_RecordMemRef,
/* 26516*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 26517*/              OPC_CheckFoldableChainNode,
/* 26518*/              OPC_CheckChild1Same, 1,
/* 26520*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26522*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 26524*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26526*/              OPC_MoveParent,
/* 26527*/              OPC_MoveParent,
/* 26528*/              OPC_MoveChild1,
/* 26529*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26532*/              OPC_MoveChild0,
/* 26533*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 26536*/              OPC_MoveChild0,
/* 26537*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26540*/              OPC_RecordMemRef,
/* 26541*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 26542*/              OPC_CheckFoldableChainNode,
/* 26543*/              OPC_MoveChild1,
/* 26544*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26547*/              OPC_CheckType, MVT::i64,
/* 26549*/              OPC_Scope, 5|128,3/*389*/, /*->26941*/ // 2 children in Scope
/* 26552*/                OPC_CheckChild0Same, 1,
/* 26554*/                OPC_CheckChild1Integer, 2, 
/* 26556*/                OPC_MoveParent,
/* 26557*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26559*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 26561*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26563*/                OPC_MoveParent,
/* 26564*/                OPC_MoveChild1,
/* 26565*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26568*/                OPC_RecordMemRef,
/* 26569*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 26570*/                OPC_CheckFoldableChainNode,
/* 26571*/                OPC_MoveChild1,
/* 26572*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26575*/                OPC_CheckChild0Same, 3,
/* 26577*/                OPC_CheckChild1Integer, 2, 
/* 26579*/                OPC_CheckType, MVT::i64,
/* 26581*/                OPC_MoveParent,
/* 26582*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26584*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 26586*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26588*/                OPC_MoveParent,
/* 26589*/                OPC_MoveParent,
/* 26590*/                OPC_MoveChild1,
/* 26591*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 26594*/                OPC_MoveChild0,
/* 26595*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26598*/                OPC_RecordMemRef,
/* 26599*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 26600*/                OPC_CheckFoldableChainNode,
/* 26601*/                OPC_MoveChild1,
/* 26602*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26605*/                OPC_CheckType, MVT::i64,
/* 26607*/                OPC_Scope, 36|128,1/*164*/, /*->26774*/ // 2 children in Scope
/* 26610*/                  OPC_CheckChild0Same, 1,
/* 26612*/                  OPC_CheckChild1Integer, 1, 
/* 26614*/                  OPC_MoveParent,
/* 26615*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26617*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 26619*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26621*/                  OPC_MoveParent,
/* 26622*/                  OPC_MoveChild1,
/* 26623*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26626*/                  OPC_RecordMemRef,
/* 26627*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 26628*/                  OPC_CheckFoldableChainNode,
/* 26629*/                  OPC_MoveChild1,
/* 26630*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26633*/                  OPC_CheckChild0Same, 3,
/* 26635*/                  OPC_CheckChild1Integer, 1, 
/* 26637*/                  OPC_CheckType, MVT::i64,
/* 26639*/                  OPC_MoveParent,
/* 26640*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26642*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 26644*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26646*/                  OPC_MoveParent,
/* 26647*/                  OPC_MoveParent,
/* 26648*/                  OPC_MoveParent,
/* 26649*/                  OPC_MoveParent,
/* 26650*/                  OPC_CheckType, MVT::i32,
/* 26652*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 26654*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 26664*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 26667*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 26674*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 26680*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26683*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 26691*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26694*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 26702*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26705*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 26714*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 26720*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26723*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 26731*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26734*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 26742*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26745*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 26754*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 26763*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 26766*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 26774*/                /*Scope*/ 36|128,1/*164*/, /*->26940*/
/* 26776*/                  OPC_CheckChild0Same, 3,
/* 26778*/                  OPC_CheckChild1Integer, 1, 
/* 26780*/                  OPC_MoveParent,
/* 26781*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26783*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 26785*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26787*/                  OPC_MoveParent,
/* 26788*/                  OPC_MoveChild1,
/* 26789*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26792*/                  OPC_RecordMemRef,
/* 26793*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 26794*/                  OPC_CheckFoldableChainNode,
/* 26795*/                  OPC_MoveChild1,
/* 26796*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26799*/                  OPC_CheckChild0Same, 1,
/* 26801*/                  OPC_CheckChild1Integer, 1, 
/* 26803*/                  OPC_CheckType, MVT::i64,
/* 26805*/                  OPC_MoveParent,
/* 26806*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26808*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 26810*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26812*/                  OPC_MoveParent,
/* 26813*/                  OPC_MoveParent,
/* 26814*/                  OPC_MoveParent,
/* 26815*/                  OPC_MoveParent,
/* 26816*/                  OPC_CheckType, MVT::i32,
/* 26818*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 26820*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 26830*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 26833*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 26840*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 26846*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26849*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 26857*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26860*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 26868*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26871*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 26880*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 26886*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 26889*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 26897*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 26900*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 26908*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 26911*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 26920*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 26929*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 26932*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 26940*/                0, /*End of Scope*/
/* 26941*/              /*Scope*/ 5|128,3/*389*/, /*->27332*/
/* 26943*/                OPC_CheckChild0Same, 3,
/* 26945*/                OPC_CheckChild1Integer, 2, 
/* 26947*/                OPC_MoveParent,
/* 26948*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26950*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 26952*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26954*/                OPC_MoveParent,
/* 26955*/                OPC_MoveChild1,
/* 26956*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26959*/                OPC_RecordMemRef,
/* 26960*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 26961*/                OPC_CheckFoldableChainNode,
/* 26962*/                OPC_MoveChild1,
/* 26963*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26966*/                OPC_CheckChild0Same, 1,
/* 26968*/                OPC_CheckChild1Integer, 2, 
/* 26970*/                OPC_CheckType, MVT::i64,
/* 26972*/                OPC_MoveParent,
/* 26973*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 26975*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 26977*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 26979*/                OPC_MoveParent,
/* 26980*/                OPC_MoveParent,
/* 26981*/                OPC_MoveChild1,
/* 26982*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 26985*/                OPC_MoveChild0,
/* 26986*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 26989*/                OPC_RecordMemRef,
/* 26990*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 26991*/                OPC_CheckFoldableChainNode,
/* 26992*/                OPC_MoveChild1,
/* 26993*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 26996*/                OPC_CheckType, MVT::i64,
/* 26998*/                OPC_Scope, 36|128,1/*164*/, /*->27165*/ // 2 children in Scope
/* 27001*/                  OPC_CheckChild0Same, 1,
/* 27003*/                  OPC_CheckChild1Integer, 1, 
/* 27005*/                  OPC_MoveParent,
/* 27006*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27008*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27010*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27012*/                  OPC_MoveParent,
/* 27013*/                  OPC_MoveChild1,
/* 27014*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27017*/                  OPC_RecordMemRef,
/* 27018*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 27019*/                  OPC_CheckFoldableChainNode,
/* 27020*/                  OPC_MoveChild1,
/* 27021*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27024*/                  OPC_CheckChild0Same, 3,
/* 27026*/                  OPC_CheckChild1Integer, 1, 
/* 27028*/                  OPC_CheckType, MVT::i64,
/* 27030*/                  OPC_MoveParent,
/* 27031*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27033*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27035*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27037*/                  OPC_MoveParent,
/* 27038*/                  OPC_MoveParent,
/* 27039*/                  OPC_MoveParent,
/* 27040*/                  OPC_MoveParent,
/* 27041*/                  OPC_CheckType, MVT::i32,
/* 27043*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 27045*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 27055*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 27058*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 27065*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 27071*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27074*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 27082*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27085*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 27093*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27096*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 27105*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 27111*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27114*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 27122*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27125*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 27133*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27136*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 27145*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 27154*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 27157*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 27165*/                /*Scope*/ 36|128,1/*164*/, /*->27331*/
/* 27167*/                  OPC_CheckChild0Same, 3,
/* 27169*/                  OPC_CheckChild1Integer, 1, 
/* 27171*/                  OPC_MoveParent,
/* 27172*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27174*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27176*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27178*/                  OPC_MoveParent,
/* 27179*/                  OPC_MoveChild1,
/* 27180*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27183*/                  OPC_RecordMemRef,
/* 27184*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 27185*/                  OPC_CheckFoldableChainNode,
/* 27186*/                  OPC_MoveChild1,
/* 27187*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27190*/                  OPC_CheckChild0Same, 1,
/* 27192*/                  OPC_CheckChild1Integer, 1, 
/* 27194*/                  OPC_CheckType, MVT::i64,
/* 27196*/                  OPC_MoveParent,
/* 27197*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27199*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27201*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27203*/                  OPC_MoveParent,
/* 27204*/                  OPC_MoveParent,
/* 27205*/                  OPC_MoveParent,
/* 27206*/                  OPC_MoveParent,
/* 27207*/                  OPC_CheckType, MVT::i32,
/* 27209*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 27211*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 27221*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 27224*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 27231*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 27237*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27240*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 27248*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27251*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 27259*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27262*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 27271*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 27277*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27280*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 27288*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27291*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 27299*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27302*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 27311*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 27320*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 27323*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 27331*/                0, /*End of Scope*/
/* 27332*/              0, /*End of Scope*/
/* 27333*/            /*Scope*/ 63|128,6/*831*/, /*->28166*/
/* 27335*/              OPC_CheckChild1Same, 1,
/* 27337*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27339*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 27341*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27343*/              OPC_MoveParent,
/* 27344*/              OPC_MoveChild1,
/* 27345*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27348*/              OPC_RecordMemRef,
/* 27349*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 27350*/              OPC_CheckFoldableChainNode,
/* 27351*/              OPC_CheckChild1Same, 3,
/* 27353*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27355*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 27357*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27359*/              OPC_MoveParent,
/* 27360*/              OPC_MoveParent,
/* 27361*/              OPC_MoveChild1,
/* 27362*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27365*/              OPC_MoveChild0,
/* 27366*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 27369*/              OPC_MoveChild0,
/* 27370*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27373*/              OPC_RecordMemRef,
/* 27374*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 27375*/              OPC_CheckFoldableChainNode,
/* 27376*/              OPC_MoveChild1,
/* 27377*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27380*/              OPC_CheckType, MVT::i64,
/* 27382*/              OPC_Scope, 5|128,3/*389*/, /*->27774*/ // 2 children in Scope
/* 27385*/                OPC_CheckChild0Same, 1,
/* 27387*/                OPC_CheckChild1Integer, 1, 
/* 27389*/                OPC_MoveParent,
/* 27390*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27392*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 27394*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27396*/                OPC_MoveParent,
/* 27397*/                OPC_MoveChild1,
/* 27398*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27401*/                OPC_RecordMemRef,
/* 27402*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 27403*/                OPC_CheckFoldableChainNode,
/* 27404*/                OPC_MoveChild1,
/* 27405*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27408*/                OPC_CheckChild0Same, 3,
/* 27410*/                OPC_CheckChild1Integer, 1, 
/* 27412*/                OPC_CheckType, MVT::i64,
/* 27414*/                OPC_MoveParent,
/* 27415*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27417*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 27419*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27421*/                OPC_MoveParent,
/* 27422*/                OPC_MoveParent,
/* 27423*/                OPC_MoveChild1,
/* 27424*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 27427*/                OPC_MoveChild0,
/* 27428*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27431*/                OPC_RecordMemRef,
/* 27432*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 27433*/                OPC_CheckFoldableChainNode,
/* 27434*/                OPC_MoveChild1,
/* 27435*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27438*/                OPC_CheckType, MVT::i64,
/* 27440*/                OPC_Scope, 36|128,1/*164*/, /*->27607*/ // 2 children in Scope
/* 27443*/                  OPC_CheckChild0Same, 1,
/* 27445*/                  OPC_CheckChild1Integer, 2, 
/* 27447*/                  OPC_MoveParent,
/* 27448*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27450*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27452*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27454*/                  OPC_MoveParent,
/* 27455*/                  OPC_MoveChild1,
/* 27456*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27459*/                  OPC_RecordMemRef,
/* 27460*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 27461*/                  OPC_CheckFoldableChainNode,
/* 27462*/                  OPC_MoveChild1,
/* 27463*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27466*/                  OPC_CheckChild0Same, 3,
/* 27468*/                  OPC_CheckChild1Integer, 2, 
/* 27470*/                  OPC_CheckType, MVT::i64,
/* 27472*/                  OPC_MoveParent,
/* 27473*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27475*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27477*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27479*/                  OPC_MoveParent,
/* 27480*/                  OPC_MoveParent,
/* 27481*/                  OPC_MoveParent,
/* 27482*/                  OPC_MoveParent,
/* 27483*/                  OPC_CheckType, MVT::i32,
/* 27485*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 27487*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 27497*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 27500*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 27507*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 27513*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27516*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 27524*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27527*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 27535*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27538*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 27547*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 27553*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27556*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 27564*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27567*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 27575*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27578*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 27587*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 27596*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 27599*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 27607*/                /*Scope*/ 36|128,1/*164*/, /*->27773*/
/* 27609*/                  OPC_CheckChild0Same, 3,
/* 27611*/                  OPC_CheckChild1Integer, 2, 
/* 27613*/                  OPC_MoveParent,
/* 27614*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27616*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27618*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27620*/                  OPC_MoveParent,
/* 27621*/                  OPC_MoveChild1,
/* 27622*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27625*/                  OPC_RecordMemRef,
/* 27626*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 27627*/                  OPC_CheckFoldableChainNode,
/* 27628*/                  OPC_MoveChild1,
/* 27629*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27632*/                  OPC_CheckChild0Same, 1,
/* 27634*/                  OPC_CheckChild1Integer, 2, 
/* 27636*/                  OPC_CheckType, MVT::i64,
/* 27638*/                  OPC_MoveParent,
/* 27639*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27641*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27643*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27645*/                  OPC_MoveParent,
/* 27646*/                  OPC_MoveParent,
/* 27647*/                  OPC_MoveParent,
/* 27648*/                  OPC_MoveParent,
/* 27649*/                  OPC_CheckType, MVT::i32,
/* 27651*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 27653*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 27663*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 27666*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 27673*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 27679*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27682*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 27690*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27693*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 27701*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27704*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 27713*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 27719*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27722*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 27730*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27733*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 27741*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27744*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 27753*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 27762*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 27765*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 27773*/                0, /*End of Scope*/
/* 27774*/              /*Scope*/ 5|128,3/*389*/, /*->28165*/
/* 27776*/                OPC_CheckChild0Same, 3,
/* 27778*/                OPC_CheckChild1Integer, 1, 
/* 27780*/                OPC_MoveParent,
/* 27781*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27783*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 27785*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27787*/                OPC_MoveParent,
/* 27788*/                OPC_MoveChild1,
/* 27789*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27792*/                OPC_RecordMemRef,
/* 27793*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 27794*/                OPC_CheckFoldableChainNode,
/* 27795*/                OPC_MoveChild1,
/* 27796*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27799*/                OPC_CheckChild0Same, 1,
/* 27801*/                OPC_CheckChild1Integer, 1, 
/* 27803*/                OPC_CheckType, MVT::i64,
/* 27805*/                OPC_MoveParent,
/* 27806*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27808*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 27810*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27812*/                OPC_MoveParent,
/* 27813*/                OPC_MoveParent,
/* 27814*/                OPC_MoveChild1,
/* 27815*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 27818*/                OPC_MoveChild0,
/* 27819*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27822*/                OPC_RecordMemRef,
/* 27823*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 27824*/                OPC_CheckFoldableChainNode,
/* 27825*/                OPC_MoveChild1,
/* 27826*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27829*/                OPC_CheckType, MVT::i64,
/* 27831*/                OPC_Scope, 36|128,1/*164*/, /*->27998*/ // 2 children in Scope
/* 27834*/                  OPC_CheckChild0Same, 1,
/* 27836*/                  OPC_CheckChild1Integer, 2, 
/* 27838*/                  OPC_MoveParent,
/* 27839*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27841*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27843*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27845*/                  OPC_MoveParent,
/* 27846*/                  OPC_MoveChild1,
/* 27847*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 27850*/                  OPC_RecordMemRef,
/* 27851*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 27852*/                  OPC_CheckFoldableChainNode,
/* 27853*/                  OPC_MoveChild1,
/* 27854*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 27857*/                  OPC_CheckChild0Same, 3,
/* 27859*/                  OPC_CheckChild1Integer, 2, 
/* 27861*/                  OPC_CheckType, MVT::i64,
/* 27863*/                  OPC_MoveParent,
/* 27864*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 27866*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 27868*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 27870*/                  OPC_MoveParent,
/* 27871*/                  OPC_MoveParent,
/* 27872*/                  OPC_MoveParent,
/* 27873*/                  OPC_MoveParent,
/* 27874*/                  OPC_CheckType, MVT::i32,
/* 27876*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 27878*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 27888*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 27891*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 27898*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 27904*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27907*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 27915*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27918*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 27926*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27929*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 27938*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 27944*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 27947*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 27955*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 27958*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 27966*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 27969*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 27978*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 27987*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 27990*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 27998*/                /*Scope*/ 36|128,1/*164*/, /*->28164*/
/* 28000*/                  OPC_CheckChild0Same, 3,
/* 28002*/                  OPC_CheckChild1Integer, 2, 
/* 28004*/                  OPC_MoveParent,
/* 28005*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28007*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28009*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28011*/                  OPC_MoveParent,
/* 28012*/                  OPC_MoveChild1,
/* 28013*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28016*/                  OPC_RecordMemRef,
/* 28017*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 28018*/                  OPC_CheckFoldableChainNode,
/* 28019*/                  OPC_MoveChild1,
/* 28020*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28023*/                  OPC_CheckChild0Same, 1,
/* 28025*/                  OPC_CheckChild1Integer, 2, 
/* 28027*/                  OPC_CheckType, MVT::i64,
/* 28029*/                  OPC_MoveParent,
/* 28030*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28032*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28034*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28036*/                  OPC_MoveParent,
/* 28037*/                  OPC_MoveParent,
/* 28038*/                  OPC_MoveParent,
/* 28039*/                  OPC_MoveParent,
/* 28040*/                  OPC_CheckType, MVT::i32,
/* 28042*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 28044*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 28054*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 28057*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 28064*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 28070*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28073*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 28081*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28084*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 28092*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28095*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 28104*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 28110*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28113*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 28121*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28124*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 28132*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28135*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 28144*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 28153*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 28156*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 28164*/                0, /*End of Scope*/
/* 28165*/              0, /*End of Scope*/
/* 28166*/            /*Scope*/ 63|128,6/*831*/, /*->28999*/
/* 28168*/              OPC_CheckChild1Same, 3,
/* 28170*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28172*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 28174*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28176*/              OPC_MoveParent,
/* 28177*/              OPC_MoveChild1,
/* 28178*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28181*/              OPC_RecordMemRef,
/* 28182*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 28183*/              OPC_CheckFoldableChainNode,
/* 28184*/              OPC_CheckChild1Same, 1,
/* 28186*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28188*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 28190*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28192*/              OPC_MoveParent,
/* 28193*/              OPC_MoveParent,
/* 28194*/              OPC_MoveChild1,
/* 28195*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28198*/              OPC_MoveChild0,
/* 28199*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 28202*/              OPC_MoveChild0,
/* 28203*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28206*/              OPC_RecordMemRef,
/* 28207*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 28208*/              OPC_CheckFoldableChainNode,
/* 28209*/              OPC_MoveChild1,
/* 28210*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28213*/              OPC_CheckType, MVT::i64,
/* 28215*/              OPC_Scope, 5|128,3/*389*/, /*->28607*/ // 2 children in Scope
/* 28218*/                OPC_CheckChild0Same, 1,
/* 28220*/                OPC_CheckChild1Integer, 1, 
/* 28222*/                OPC_MoveParent,
/* 28223*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28225*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 28227*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28229*/                OPC_MoveParent,
/* 28230*/                OPC_MoveChild1,
/* 28231*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28234*/                OPC_RecordMemRef,
/* 28235*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 28236*/                OPC_CheckFoldableChainNode,
/* 28237*/                OPC_MoveChild1,
/* 28238*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28241*/                OPC_CheckChild0Same, 3,
/* 28243*/                OPC_CheckChild1Integer, 1, 
/* 28245*/                OPC_CheckType, MVT::i64,
/* 28247*/                OPC_MoveParent,
/* 28248*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28250*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 28252*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28254*/                OPC_MoveParent,
/* 28255*/                OPC_MoveParent,
/* 28256*/                OPC_MoveChild1,
/* 28257*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 28260*/                OPC_MoveChild0,
/* 28261*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28264*/                OPC_RecordMemRef,
/* 28265*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 28266*/                OPC_CheckFoldableChainNode,
/* 28267*/                OPC_MoveChild1,
/* 28268*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28271*/                OPC_CheckType, MVT::i64,
/* 28273*/                OPC_Scope, 36|128,1/*164*/, /*->28440*/ // 2 children in Scope
/* 28276*/                  OPC_CheckChild0Same, 1,
/* 28278*/                  OPC_CheckChild1Integer, 2, 
/* 28280*/                  OPC_MoveParent,
/* 28281*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28283*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28285*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28287*/                  OPC_MoveParent,
/* 28288*/                  OPC_MoveChild1,
/* 28289*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28292*/                  OPC_RecordMemRef,
/* 28293*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 28294*/                  OPC_CheckFoldableChainNode,
/* 28295*/                  OPC_MoveChild1,
/* 28296*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28299*/                  OPC_CheckChild0Same, 3,
/* 28301*/                  OPC_CheckChild1Integer, 2, 
/* 28303*/                  OPC_CheckType, MVT::i64,
/* 28305*/                  OPC_MoveParent,
/* 28306*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28308*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28310*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28312*/                  OPC_MoveParent,
/* 28313*/                  OPC_MoveParent,
/* 28314*/                  OPC_MoveParent,
/* 28315*/                  OPC_MoveParent,
/* 28316*/                  OPC_CheckType, MVT::i32,
/* 28318*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 28320*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 28330*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 28333*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 28340*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 28346*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28349*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 28357*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28360*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 28368*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28371*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 28380*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 28386*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28389*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 28397*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28400*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 28408*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28411*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 28420*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 28429*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 28432*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 28440*/                /*Scope*/ 36|128,1/*164*/, /*->28606*/
/* 28442*/                  OPC_CheckChild0Same, 3,
/* 28444*/                  OPC_CheckChild1Integer, 2, 
/* 28446*/                  OPC_MoveParent,
/* 28447*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28449*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28451*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28453*/                  OPC_MoveParent,
/* 28454*/                  OPC_MoveChild1,
/* 28455*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28458*/                  OPC_RecordMemRef,
/* 28459*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 28460*/                  OPC_CheckFoldableChainNode,
/* 28461*/                  OPC_MoveChild1,
/* 28462*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28465*/                  OPC_CheckChild0Same, 1,
/* 28467*/                  OPC_CheckChild1Integer, 2, 
/* 28469*/                  OPC_CheckType, MVT::i64,
/* 28471*/                  OPC_MoveParent,
/* 28472*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28474*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28476*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28478*/                  OPC_MoveParent,
/* 28479*/                  OPC_MoveParent,
/* 28480*/                  OPC_MoveParent,
/* 28481*/                  OPC_MoveParent,
/* 28482*/                  OPC_CheckType, MVT::i32,
/* 28484*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 28486*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 28496*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 28499*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 28506*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 28512*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28515*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 28523*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28526*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 28534*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28537*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 28546*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 28552*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28555*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 28563*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28566*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 28574*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28577*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 28586*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 28595*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 28598*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 28606*/                0, /*End of Scope*/
/* 28607*/              /*Scope*/ 5|128,3/*389*/, /*->28998*/
/* 28609*/                OPC_CheckChild0Same, 3,
/* 28611*/                OPC_CheckChild1Integer, 1, 
/* 28613*/                OPC_MoveParent,
/* 28614*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28616*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 28618*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28620*/                OPC_MoveParent,
/* 28621*/                OPC_MoveChild1,
/* 28622*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28625*/                OPC_RecordMemRef,
/* 28626*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 28627*/                OPC_CheckFoldableChainNode,
/* 28628*/                OPC_MoveChild1,
/* 28629*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28632*/                OPC_CheckChild0Same, 1,
/* 28634*/                OPC_CheckChild1Integer, 1, 
/* 28636*/                OPC_CheckType, MVT::i64,
/* 28638*/                OPC_MoveParent,
/* 28639*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28641*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 28643*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28645*/                OPC_MoveParent,
/* 28646*/                OPC_MoveParent,
/* 28647*/                OPC_MoveChild1,
/* 28648*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 28651*/                OPC_MoveChild0,
/* 28652*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28655*/                OPC_RecordMemRef,
/* 28656*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 28657*/                OPC_CheckFoldableChainNode,
/* 28658*/                OPC_MoveChild1,
/* 28659*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28662*/                OPC_CheckType, MVT::i64,
/* 28664*/                OPC_Scope, 36|128,1/*164*/, /*->28831*/ // 2 children in Scope
/* 28667*/                  OPC_CheckChild0Same, 1,
/* 28669*/                  OPC_CheckChild1Integer, 2, 
/* 28671*/                  OPC_MoveParent,
/* 28672*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28674*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28676*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28678*/                  OPC_MoveParent,
/* 28679*/                  OPC_MoveChild1,
/* 28680*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28683*/                  OPC_RecordMemRef,
/* 28684*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 28685*/                  OPC_CheckFoldableChainNode,
/* 28686*/                  OPC_MoveChild1,
/* 28687*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28690*/                  OPC_CheckChild0Same, 3,
/* 28692*/                  OPC_CheckChild1Integer, 2, 
/* 28694*/                  OPC_CheckType, MVT::i64,
/* 28696*/                  OPC_MoveParent,
/* 28697*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28699*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28701*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28703*/                  OPC_MoveParent,
/* 28704*/                  OPC_MoveParent,
/* 28705*/                  OPC_MoveParent,
/* 28706*/                  OPC_MoveParent,
/* 28707*/                  OPC_CheckType, MVT::i32,
/* 28709*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 28711*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 28721*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 28724*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 28731*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 28737*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28740*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 28748*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28751*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 28759*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28762*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 28771*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 28777*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28780*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 28788*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28791*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 28799*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28802*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 28811*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 28820*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 28823*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 28831*/                /*Scope*/ 36|128,1/*164*/, /*->28997*/
/* 28833*/                  OPC_CheckChild0Same, 3,
/* 28835*/                  OPC_CheckChild1Integer, 2, 
/* 28837*/                  OPC_MoveParent,
/* 28838*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28840*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28842*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28844*/                  OPC_MoveParent,
/* 28845*/                  OPC_MoveChild1,
/* 28846*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 28849*/                  OPC_RecordMemRef,
/* 28850*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 28851*/                  OPC_CheckFoldableChainNode,
/* 28852*/                  OPC_MoveChild1,
/* 28853*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 28856*/                  OPC_CheckChild0Same, 1,
/* 28858*/                  OPC_CheckChild1Integer, 2, 
/* 28860*/                  OPC_CheckType, MVT::i64,
/* 28862*/                  OPC_MoveParent,
/* 28863*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 28865*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 28867*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 28869*/                  OPC_MoveParent,
/* 28870*/                  OPC_MoveParent,
/* 28871*/                  OPC_MoveParent,
/* 28872*/                  OPC_MoveParent,
/* 28873*/                  OPC_CheckType, MVT::i32,
/* 28875*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 28877*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 28887*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 28890*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 28897*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 28903*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28906*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 28914*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28917*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 28925*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28928*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 28937*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 28943*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 28946*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 28954*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 28957*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 28965*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 28968*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 28977*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 28986*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 28989*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 28997*/                0, /*End of Scope*/
/* 28998*/              0, /*End of Scope*/
/* 28999*/            /*Scope*/ 106|128,48/*6250*/, /*->35251*/
/* 29001*/              OPC_MoveChild1,
/* 29002*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29005*/              OPC_CheckType, MVT::i64,
/* 29007*/              OPC_Scope, 15|128,6/*783*/, /*->29793*/ // 8 children in Scope
/* 29010*/                OPC_CheckChild0Same, 1,
/* 29012*/                OPC_CheckChild1Integer, 1, 
/* 29014*/                OPC_MoveParent,
/* 29015*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29017*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 29019*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29021*/                OPC_MoveParent,
/* 29022*/                OPC_MoveChild1,
/* 29023*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29026*/                OPC_RecordMemRef,
/* 29027*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 29028*/                OPC_CheckFoldableChainNode,
/* 29029*/                OPC_MoveChild1,
/* 29030*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29033*/                OPC_CheckChild0Same, 3,
/* 29035*/                OPC_CheckChild1Integer, 1, 
/* 29037*/                OPC_CheckType, MVT::i64,
/* 29039*/                OPC_MoveParent,
/* 29040*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29042*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 29044*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29046*/                OPC_MoveParent,
/* 29047*/                OPC_MoveParent,
/* 29048*/                OPC_MoveChild1,
/* 29049*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29052*/                OPC_MoveChild0,
/* 29053*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 29056*/                OPC_MoveChild0,
/* 29057*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29060*/                OPC_RecordMemRef,
/* 29061*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 29062*/                OPC_CheckFoldableChainNode,
/* 29063*/                OPC_MoveChild1,
/* 29064*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29067*/                OPC_CheckType, MVT::i64,
/* 29069*/                OPC_Scope, 103|128,2/*359*/, /*->29431*/ // 2 children in Scope
/* 29072*/                  OPC_CheckChild0Same, 1,
/* 29074*/                  OPC_CheckChild1Integer, 2, 
/* 29076*/                  OPC_MoveParent,
/* 29077*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29079*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 29081*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29083*/                  OPC_MoveParent,
/* 29084*/                  OPC_MoveChild1,
/* 29085*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29088*/                  OPC_RecordMemRef,
/* 29089*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 29090*/                  OPC_CheckFoldableChainNode,
/* 29091*/                  OPC_MoveChild1,
/* 29092*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29095*/                  OPC_CheckChild0Same, 3,
/* 29097*/                  OPC_CheckChild1Integer, 2, 
/* 29099*/                  OPC_CheckType, MVT::i64,
/* 29101*/                  OPC_MoveParent,
/* 29102*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29104*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 29106*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29108*/                  OPC_MoveParent,
/* 29109*/                  OPC_MoveParent,
/* 29110*/                  OPC_MoveChild1,
/* 29111*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 29114*/                  OPC_MoveChild0,
/* 29115*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29118*/                  OPC_RecordMemRef,
/* 29119*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 29120*/                  OPC_CheckFoldableChainNode,
/* 29121*/                  OPC_Scope, 24|128,1/*152*/, /*->29276*/ // 2 children in Scope
/* 29124*/                    OPC_CheckChild1Same, 1,
/* 29126*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29128*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29130*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29132*/                    OPC_MoveParent,
/* 29133*/                    OPC_MoveChild1,
/* 29134*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29137*/                    OPC_RecordMemRef,
/* 29138*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 29139*/                    OPC_CheckFoldableChainNode,
/* 29140*/                    OPC_CheckChild1Same, 3,
/* 29142*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29144*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29146*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29148*/                    OPC_MoveParent,
/* 29149*/                    OPC_MoveParent,
/* 29150*/                    OPC_MoveParent,
/* 29151*/                    OPC_MoveParent,
/* 29152*/                    OPC_CheckType, MVT::i32,
/* 29154*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 29156*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 29166*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 29169*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 29176*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 29182*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29185*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 29193*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29196*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 29204*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29207*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 29216*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 29222*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29225*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 29233*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29236*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 29244*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29247*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 29256*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 29265*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 29268*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 29276*/                  /*Scope*/ 24|128,1/*152*/, /*->29430*/
/* 29278*/                    OPC_CheckChild1Same, 3,
/* 29280*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29282*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29284*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29286*/                    OPC_MoveParent,
/* 29287*/                    OPC_MoveChild1,
/* 29288*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29291*/                    OPC_RecordMemRef,
/* 29292*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 29293*/                    OPC_CheckFoldableChainNode,
/* 29294*/                    OPC_CheckChild1Same, 1,
/* 29296*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29298*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29300*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29302*/                    OPC_MoveParent,
/* 29303*/                    OPC_MoveParent,
/* 29304*/                    OPC_MoveParent,
/* 29305*/                    OPC_MoveParent,
/* 29306*/                    OPC_CheckType, MVT::i32,
/* 29308*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 29310*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 29320*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 29323*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 29330*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 29336*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29339*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 29347*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29350*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 29358*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29361*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 29370*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 29376*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29379*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 29387*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29390*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 29398*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29401*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 29410*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 29419*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 29422*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 29430*/                  0, /*End of Scope*/
/* 29431*/                /*Scope*/ 103|128,2/*359*/, /*->29792*/
/* 29433*/                  OPC_CheckChild0Same, 3,
/* 29435*/                  OPC_CheckChild1Integer, 2, 
/* 29437*/                  OPC_MoveParent,
/* 29438*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29440*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 29442*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29444*/                  OPC_MoveParent,
/* 29445*/                  OPC_MoveChild1,
/* 29446*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29449*/                  OPC_RecordMemRef,
/* 29450*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 29451*/                  OPC_CheckFoldableChainNode,
/* 29452*/                  OPC_MoveChild1,
/* 29453*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29456*/                  OPC_CheckChild0Same, 1,
/* 29458*/                  OPC_CheckChild1Integer, 2, 
/* 29460*/                  OPC_CheckType, MVT::i64,
/* 29462*/                  OPC_MoveParent,
/* 29463*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29465*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 29467*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29469*/                  OPC_MoveParent,
/* 29470*/                  OPC_MoveParent,
/* 29471*/                  OPC_MoveChild1,
/* 29472*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 29475*/                  OPC_MoveChild0,
/* 29476*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29479*/                  OPC_RecordMemRef,
/* 29480*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 29481*/                  OPC_CheckFoldableChainNode,
/* 29482*/                  OPC_Scope, 24|128,1/*152*/, /*->29637*/ // 2 children in Scope
/* 29485*/                    OPC_CheckChild1Same, 1,
/* 29487*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29489*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29491*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29493*/                    OPC_MoveParent,
/* 29494*/                    OPC_MoveChild1,
/* 29495*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29498*/                    OPC_RecordMemRef,
/* 29499*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 29500*/                    OPC_CheckFoldableChainNode,
/* 29501*/                    OPC_CheckChild1Same, 3,
/* 29503*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29505*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29507*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29509*/                    OPC_MoveParent,
/* 29510*/                    OPC_MoveParent,
/* 29511*/                    OPC_MoveParent,
/* 29512*/                    OPC_MoveParent,
/* 29513*/                    OPC_CheckType, MVT::i32,
/* 29515*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 29517*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 29527*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 29530*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 29537*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 29543*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29546*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 29554*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29557*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 29565*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29568*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 29577*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 29583*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29586*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 29594*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29597*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 29605*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29608*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 29617*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 29626*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 29629*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 29637*/                  /*Scope*/ 24|128,1/*152*/, /*->29791*/
/* 29639*/                    OPC_CheckChild1Same, 3,
/* 29641*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29643*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29645*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29647*/                    OPC_MoveParent,
/* 29648*/                    OPC_MoveChild1,
/* 29649*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29652*/                    OPC_RecordMemRef,
/* 29653*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 29654*/                    OPC_CheckFoldableChainNode,
/* 29655*/                    OPC_CheckChild1Same, 1,
/* 29657*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29659*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29661*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29663*/                    OPC_MoveParent,
/* 29664*/                    OPC_MoveParent,
/* 29665*/                    OPC_MoveParent,
/* 29666*/                    OPC_MoveParent,
/* 29667*/                    OPC_CheckType, MVT::i32,
/* 29669*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 29671*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 29681*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 29684*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 29691*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 29697*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29700*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 29708*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29711*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 29719*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29722*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 29731*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 29737*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29740*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 29748*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29751*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 29759*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29762*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 29771*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 29780*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 29783*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 29791*/                  0, /*End of Scope*/
/* 29792*/                0, /*End of Scope*/
/* 29793*/              /*Scope*/ 15|128,6/*783*/, /*->30578*/
/* 29795*/                OPC_CheckChild0Same, 3,
/* 29797*/                OPC_CheckChild1Integer, 1, 
/* 29799*/                OPC_MoveParent,
/* 29800*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29802*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 29804*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29806*/                OPC_MoveParent,
/* 29807*/                OPC_MoveChild1,
/* 29808*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29811*/                OPC_RecordMemRef,
/* 29812*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 29813*/                OPC_CheckFoldableChainNode,
/* 29814*/                OPC_MoveChild1,
/* 29815*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29818*/                OPC_CheckChild0Same, 1,
/* 29820*/                OPC_CheckChild1Integer, 1, 
/* 29822*/                OPC_CheckType, MVT::i64,
/* 29824*/                OPC_MoveParent,
/* 29825*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29827*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 29829*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29831*/                OPC_MoveParent,
/* 29832*/                OPC_MoveParent,
/* 29833*/                OPC_MoveChild1,
/* 29834*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29837*/                OPC_MoveChild0,
/* 29838*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 29841*/                OPC_MoveChild0,
/* 29842*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29845*/                OPC_RecordMemRef,
/* 29846*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 29847*/                OPC_CheckFoldableChainNode,
/* 29848*/                OPC_MoveChild1,
/* 29849*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29852*/                OPC_CheckType, MVT::i64,
/* 29854*/                OPC_Scope, 103|128,2/*359*/, /*->30216*/ // 2 children in Scope
/* 29857*/                  OPC_CheckChild0Same, 1,
/* 29859*/                  OPC_CheckChild1Integer, 2, 
/* 29861*/                  OPC_MoveParent,
/* 29862*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29864*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 29866*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29868*/                  OPC_MoveParent,
/* 29869*/                  OPC_MoveChild1,
/* 29870*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29873*/                  OPC_RecordMemRef,
/* 29874*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 29875*/                  OPC_CheckFoldableChainNode,
/* 29876*/                  OPC_MoveChild1,
/* 29877*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 29880*/                  OPC_CheckChild0Same, 3,
/* 29882*/                  OPC_CheckChild1Integer, 2, 
/* 29884*/                  OPC_CheckType, MVT::i64,
/* 29886*/                  OPC_MoveParent,
/* 29887*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29889*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 29891*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29893*/                  OPC_MoveParent,
/* 29894*/                  OPC_MoveParent,
/* 29895*/                  OPC_MoveChild1,
/* 29896*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 29899*/                  OPC_MoveChild0,
/* 29900*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29903*/                  OPC_RecordMemRef,
/* 29904*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 29905*/                  OPC_CheckFoldableChainNode,
/* 29906*/                  OPC_Scope, 24|128,1/*152*/, /*->30061*/ // 2 children in Scope
/* 29909*/                    OPC_CheckChild1Same, 1,
/* 29911*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29913*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29915*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29917*/                    OPC_MoveParent,
/* 29918*/                    OPC_MoveChild1,
/* 29919*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 29922*/                    OPC_RecordMemRef,
/* 29923*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 29924*/                    OPC_CheckFoldableChainNode,
/* 29925*/                    OPC_CheckChild1Same, 3,
/* 29927*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 29929*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 29931*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 29933*/                    OPC_MoveParent,
/* 29934*/                    OPC_MoveParent,
/* 29935*/                    OPC_MoveParent,
/* 29936*/                    OPC_MoveParent,
/* 29937*/                    OPC_CheckType, MVT::i32,
/* 29939*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 29941*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 29951*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 29954*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 29961*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 29967*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 29970*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 29978*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 29981*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 29989*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 29992*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 30001*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 30007*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30010*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 30018*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30021*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 30029*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30032*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 30041*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 30050*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 30053*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 30061*/                  /*Scope*/ 24|128,1/*152*/, /*->30215*/
/* 30063*/                    OPC_CheckChild1Same, 3,
/* 30065*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30067*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30069*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30071*/                    OPC_MoveParent,
/* 30072*/                    OPC_MoveChild1,
/* 30073*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30076*/                    OPC_RecordMemRef,
/* 30077*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 30078*/                    OPC_CheckFoldableChainNode,
/* 30079*/                    OPC_CheckChild1Same, 1,
/* 30081*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30083*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30085*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30087*/                    OPC_MoveParent,
/* 30088*/                    OPC_MoveParent,
/* 30089*/                    OPC_MoveParent,
/* 30090*/                    OPC_MoveParent,
/* 30091*/                    OPC_CheckType, MVT::i32,
/* 30093*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 30095*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 30105*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 30108*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 30115*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 30121*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30124*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 30132*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30135*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 30143*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30146*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 30155*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 30161*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30164*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 30172*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30175*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 30183*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30186*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 30195*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 30204*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 30207*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 30215*/                  0, /*End of Scope*/
/* 30216*/                /*Scope*/ 103|128,2/*359*/, /*->30577*/
/* 30218*/                  OPC_CheckChild0Same, 3,
/* 30220*/                  OPC_CheckChild1Integer, 2, 
/* 30222*/                  OPC_MoveParent,
/* 30223*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30225*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 30227*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30229*/                  OPC_MoveParent,
/* 30230*/                  OPC_MoveChild1,
/* 30231*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30234*/                  OPC_RecordMemRef,
/* 30235*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 30236*/                  OPC_CheckFoldableChainNode,
/* 30237*/                  OPC_MoveChild1,
/* 30238*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 30241*/                  OPC_CheckChild0Same, 1,
/* 30243*/                  OPC_CheckChild1Integer, 2, 
/* 30245*/                  OPC_CheckType, MVT::i64,
/* 30247*/                  OPC_MoveParent,
/* 30248*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30250*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 30252*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30254*/                  OPC_MoveParent,
/* 30255*/                  OPC_MoveParent,
/* 30256*/                  OPC_MoveChild1,
/* 30257*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 30260*/                  OPC_MoveChild0,
/* 30261*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30264*/                  OPC_RecordMemRef,
/* 30265*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 30266*/                  OPC_CheckFoldableChainNode,
/* 30267*/                  OPC_Scope, 24|128,1/*152*/, /*->30422*/ // 2 children in Scope
/* 30270*/                    OPC_CheckChild1Same, 1,
/* 30272*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30274*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30276*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30278*/                    OPC_MoveParent,
/* 30279*/                    OPC_MoveChild1,
/* 30280*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30283*/                    OPC_RecordMemRef,
/* 30284*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 30285*/                    OPC_CheckFoldableChainNode,
/* 30286*/                    OPC_CheckChild1Same, 3,
/* 30288*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30290*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30292*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30294*/                    OPC_MoveParent,
/* 30295*/                    OPC_MoveParent,
/* 30296*/                    OPC_MoveParent,
/* 30297*/                    OPC_MoveParent,
/* 30298*/                    OPC_CheckType, MVT::i32,
/* 30300*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 30302*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 30312*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 30315*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 30322*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 30328*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30331*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 30339*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30342*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 30350*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30353*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 30362*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 30368*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30371*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 30379*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30382*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 30390*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30393*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 30402*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 30411*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 30414*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 30422*/                  /*Scope*/ 24|128,1/*152*/, /*->30576*/
/* 30424*/                    OPC_CheckChild1Same, 3,
/* 30426*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30428*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30430*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30432*/                    OPC_MoveParent,
/* 30433*/                    OPC_MoveChild1,
/* 30434*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30437*/                    OPC_RecordMemRef,
/* 30438*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 30439*/                    OPC_CheckFoldableChainNode,
/* 30440*/                    OPC_CheckChild1Same, 1,
/* 30442*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30444*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30446*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30448*/                    OPC_MoveParent,
/* 30449*/                    OPC_MoveParent,
/* 30450*/                    OPC_MoveParent,
/* 30451*/                    OPC_MoveParent,
/* 30452*/                    OPC_CheckType, MVT::i32,
/* 30454*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 30456*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 30466*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 30469*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 30476*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 30482*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30485*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 30493*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30496*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 30504*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30507*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 30516*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 30522*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30525*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 30533*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30536*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 30544*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30547*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 30556*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 30565*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 30568*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 30576*/                  0, /*End of Scope*/
/* 30577*/                0, /*End of Scope*/
/* 30578*/              /*Scope*/ 45|128,6/*813*/, /*->31393*/
/* 30580*/                OPC_CheckChild0Same, 1,
/* 30582*/                OPC_CheckChild1Integer, 1, 
/* 30584*/                OPC_MoveParent,
/* 30585*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30587*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 30589*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30591*/                OPC_MoveParent,
/* 30592*/                OPC_MoveChild1,
/* 30593*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30596*/                OPC_RecordMemRef,
/* 30597*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 30598*/                OPC_CheckFoldableChainNode,
/* 30599*/                OPC_MoveChild1,
/* 30600*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 30603*/                OPC_CheckChild0Same, 3,
/* 30605*/                OPC_CheckChild1Integer, 1, 
/* 30607*/                OPC_CheckType, MVT::i64,
/* 30609*/                OPC_MoveParent,
/* 30610*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30612*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 30614*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30616*/                OPC_MoveParent,
/* 30617*/                OPC_MoveParent,
/* 30618*/                OPC_MoveChild1,
/* 30619*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 30622*/                OPC_MoveChild0,
/* 30623*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 30626*/                OPC_MoveChild0,
/* 30627*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30630*/                OPC_RecordMemRef,
/* 30631*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 30632*/                OPC_CheckFoldableChainNode,
/* 30633*/                OPC_Scope, 121|128,2/*377*/, /*->31013*/ // 2 children in Scope
/* 30636*/                  OPC_CheckChild1Same, 1,
/* 30638*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30640*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 30642*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30644*/                  OPC_MoveParent,
/* 30645*/                  OPC_MoveChild1,
/* 30646*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30649*/                  OPC_RecordMemRef,
/* 30650*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 30651*/                  OPC_CheckFoldableChainNode,
/* 30652*/                  OPC_CheckChild1Same, 3,
/* 30654*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30656*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 30658*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30660*/                  OPC_MoveParent,
/* 30661*/                  OPC_MoveParent,
/* 30662*/                  OPC_MoveChild1,
/* 30663*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 30666*/                  OPC_MoveChild0,
/* 30667*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30670*/                  OPC_RecordMemRef,
/* 30671*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 30672*/                  OPC_CheckFoldableChainNode,
/* 30673*/                  OPC_MoveChild1,
/* 30674*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 30677*/                  OPC_CheckType, MVT::i64,
/* 30679*/                  OPC_Scope, 36|128,1/*164*/, /*->30846*/ // 2 children in Scope
/* 30682*/                    OPC_CheckChild0Same, 1,
/* 30684*/                    OPC_CheckChild1Integer, 2, 
/* 30686*/                    OPC_MoveParent,
/* 30687*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30689*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30691*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30693*/                    OPC_MoveParent,
/* 30694*/                    OPC_MoveChild1,
/* 30695*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30698*/                    OPC_RecordMemRef,
/* 30699*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 30700*/                    OPC_CheckFoldableChainNode,
/* 30701*/                    OPC_MoveChild1,
/* 30702*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 30705*/                    OPC_CheckChild0Same, 3,
/* 30707*/                    OPC_CheckChild1Integer, 2, 
/* 30709*/                    OPC_CheckType, MVT::i64,
/* 30711*/                    OPC_MoveParent,
/* 30712*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30714*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30716*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30718*/                    OPC_MoveParent,
/* 30719*/                    OPC_MoveParent,
/* 30720*/                    OPC_MoveParent,
/* 30721*/                    OPC_MoveParent,
/* 30722*/                    OPC_CheckType, MVT::i32,
/* 30724*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 30726*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 30736*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 30739*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 30746*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 30752*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30755*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 30763*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30766*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 30774*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30777*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 30786*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 30792*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30795*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 30803*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30806*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 30814*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30817*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 30826*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 30835*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 30838*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 30846*/                  /*Scope*/ 36|128,1/*164*/, /*->31012*/
/* 30848*/                    OPC_CheckChild0Same, 3,
/* 30850*/                    OPC_CheckChild1Integer, 2, 
/* 30852*/                    OPC_MoveParent,
/* 30853*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30855*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30857*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30859*/                    OPC_MoveParent,
/* 30860*/                    OPC_MoveChild1,
/* 30861*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 30864*/                    OPC_RecordMemRef,
/* 30865*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 30866*/                    OPC_CheckFoldableChainNode,
/* 30867*/                    OPC_MoveChild1,
/* 30868*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 30871*/                    OPC_CheckChild0Same, 1,
/* 30873*/                    OPC_CheckChild1Integer, 2, 
/* 30875*/                    OPC_CheckType, MVT::i64,
/* 30877*/                    OPC_MoveParent,
/* 30878*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 30880*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 30882*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 30884*/                    OPC_MoveParent,
/* 30885*/                    OPC_MoveParent,
/* 30886*/                    OPC_MoveParent,
/* 30887*/                    OPC_MoveParent,
/* 30888*/                    OPC_CheckType, MVT::i32,
/* 30890*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 30892*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 30902*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 30905*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 30912*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 30918*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30921*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 30929*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30932*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 30940*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30943*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 30952*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 30958*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 30961*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 30969*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 30972*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 30980*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 30983*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 30992*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 31001*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 31004*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 31012*/                  0, /*End of Scope*/
/* 31013*/                /*Scope*/ 121|128,2/*377*/, /*->31392*/
/* 31015*/                  OPC_CheckChild1Same, 3,
/* 31017*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31019*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 31021*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31023*/                  OPC_MoveParent,
/* 31024*/                  OPC_MoveChild1,
/* 31025*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31028*/                  OPC_RecordMemRef,
/* 31029*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 31030*/                  OPC_CheckFoldableChainNode,
/* 31031*/                  OPC_CheckChild1Same, 1,
/* 31033*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31035*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 31037*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31039*/                  OPC_MoveParent,
/* 31040*/                  OPC_MoveParent,
/* 31041*/                  OPC_MoveChild1,
/* 31042*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 31045*/                  OPC_MoveChild0,
/* 31046*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31049*/                  OPC_RecordMemRef,
/* 31050*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 31051*/                  OPC_CheckFoldableChainNode,
/* 31052*/                  OPC_MoveChild1,
/* 31053*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31056*/                  OPC_CheckType, MVT::i64,
/* 31058*/                  OPC_Scope, 36|128,1/*164*/, /*->31225*/ // 2 children in Scope
/* 31061*/                    OPC_CheckChild0Same, 1,
/* 31063*/                    OPC_CheckChild1Integer, 2, 
/* 31065*/                    OPC_MoveParent,
/* 31066*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31068*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31070*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31072*/                    OPC_MoveParent,
/* 31073*/                    OPC_MoveChild1,
/* 31074*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31077*/                    OPC_RecordMemRef,
/* 31078*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 31079*/                    OPC_CheckFoldableChainNode,
/* 31080*/                    OPC_MoveChild1,
/* 31081*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31084*/                    OPC_CheckChild0Same, 3,
/* 31086*/                    OPC_CheckChild1Integer, 2, 
/* 31088*/                    OPC_CheckType, MVT::i64,
/* 31090*/                    OPC_MoveParent,
/* 31091*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31093*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31095*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31097*/                    OPC_MoveParent,
/* 31098*/                    OPC_MoveParent,
/* 31099*/                    OPC_MoveParent,
/* 31100*/                    OPC_MoveParent,
/* 31101*/                    OPC_CheckType, MVT::i32,
/* 31103*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 31105*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 31115*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 31118*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 31125*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 31131*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31134*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 31142*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31145*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 31153*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31156*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 31165*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 31171*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31174*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 31182*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31185*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 31193*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31196*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 31205*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 31214*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 31217*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 31225*/                  /*Scope*/ 36|128,1/*164*/, /*->31391*/
/* 31227*/                    OPC_CheckChild0Same, 3,
/* 31229*/                    OPC_CheckChild1Integer, 2, 
/* 31231*/                    OPC_MoveParent,
/* 31232*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31234*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31236*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31238*/                    OPC_MoveParent,
/* 31239*/                    OPC_MoveChild1,
/* 31240*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31243*/                    OPC_RecordMemRef,
/* 31244*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 31245*/                    OPC_CheckFoldableChainNode,
/* 31246*/                    OPC_MoveChild1,
/* 31247*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31250*/                    OPC_CheckChild0Same, 1,
/* 31252*/                    OPC_CheckChild1Integer, 2, 
/* 31254*/                    OPC_CheckType, MVT::i64,
/* 31256*/                    OPC_MoveParent,
/* 31257*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31259*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31261*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31263*/                    OPC_MoveParent,
/* 31264*/                    OPC_MoveParent,
/* 31265*/                    OPC_MoveParent,
/* 31266*/                    OPC_MoveParent,
/* 31267*/                    OPC_CheckType, MVT::i32,
/* 31269*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 31271*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 31281*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 31284*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 31291*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 31297*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31300*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 31308*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31311*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 31319*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31322*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 31331*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 31337*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31340*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 31348*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31351*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 31359*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31362*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 31371*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 31380*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 31383*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 31391*/                  0, /*End of Scope*/
/* 31392*/                0, /*End of Scope*/
/* 31393*/              /*Scope*/ 45|128,6/*813*/, /*->32208*/
/* 31395*/                OPC_CheckChild0Same, 3,
/* 31397*/                OPC_CheckChild1Integer, 1, 
/* 31399*/                OPC_MoveParent,
/* 31400*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31402*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 31404*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31406*/                OPC_MoveParent,
/* 31407*/                OPC_MoveChild1,
/* 31408*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31411*/                OPC_RecordMemRef,
/* 31412*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 31413*/                OPC_CheckFoldableChainNode,
/* 31414*/                OPC_MoveChild1,
/* 31415*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31418*/                OPC_CheckChild0Same, 1,
/* 31420*/                OPC_CheckChild1Integer, 1, 
/* 31422*/                OPC_CheckType, MVT::i64,
/* 31424*/                OPC_MoveParent,
/* 31425*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31427*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 31429*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31431*/                OPC_MoveParent,
/* 31432*/                OPC_MoveParent,
/* 31433*/                OPC_MoveChild1,
/* 31434*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31437*/                OPC_MoveChild0,
/* 31438*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 31441*/                OPC_MoveChild0,
/* 31442*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31445*/                OPC_RecordMemRef,
/* 31446*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 31447*/                OPC_CheckFoldableChainNode,
/* 31448*/                OPC_Scope, 121|128,2/*377*/, /*->31828*/ // 2 children in Scope
/* 31451*/                  OPC_CheckChild1Same, 1,
/* 31453*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31455*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 31457*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31459*/                  OPC_MoveParent,
/* 31460*/                  OPC_MoveChild1,
/* 31461*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31464*/                  OPC_RecordMemRef,
/* 31465*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 31466*/                  OPC_CheckFoldableChainNode,
/* 31467*/                  OPC_CheckChild1Same, 3,
/* 31469*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31471*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 31473*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31475*/                  OPC_MoveParent,
/* 31476*/                  OPC_MoveParent,
/* 31477*/                  OPC_MoveChild1,
/* 31478*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 31481*/                  OPC_MoveChild0,
/* 31482*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31485*/                  OPC_RecordMemRef,
/* 31486*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 31487*/                  OPC_CheckFoldableChainNode,
/* 31488*/                  OPC_MoveChild1,
/* 31489*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31492*/                  OPC_CheckType, MVT::i64,
/* 31494*/                  OPC_Scope, 36|128,1/*164*/, /*->31661*/ // 2 children in Scope
/* 31497*/                    OPC_CheckChild0Same, 1,
/* 31499*/                    OPC_CheckChild1Integer, 2, 
/* 31501*/                    OPC_MoveParent,
/* 31502*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31504*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31506*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31508*/                    OPC_MoveParent,
/* 31509*/                    OPC_MoveChild1,
/* 31510*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31513*/                    OPC_RecordMemRef,
/* 31514*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 31515*/                    OPC_CheckFoldableChainNode,
/* 31516*/                    OPC_MoveChild1,
/* 31517*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31520*/                    OPC_CheckChild0Same, 3,
/* 31522*/                    OPC_CheckChild1Integer, 2, 
/* 31524*/                    OPC_CheckType, MVT::i64,
/* 31526*/                    OPC_MoveParent,
/* 31527*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31529*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31531*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31533*/                    OPC_MoveParent,
/* 31534*/                    OPC_MoveParent,
/* 31535*/                    OPC_MoveParent,
/* 31536*/                    OPC_MoveParent,
/* 31537*/                    OPC_CheckType, MVT::i32,
/* 31539*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 31541*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 31551*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 31554*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 31561*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 31567*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31570*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 31578*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31581*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 31589*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31592*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 31601*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 31607*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31610*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 31618*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31621*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 31629*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31632*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 31641*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 31650*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 31653*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 31661*/                  /*Scope*/ 36|128,1/*164*/, /*->31827*/
/* 31663*/                    OPC_CheckChild0Same, 3,
/* 31665*/                    OPC_CheckChild1Integer, 2, 
/* 31667*/                    OPC_MoveParent,
/* 31668*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31670*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31672*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31674*/                    OPC_MoveParent,
/* 31675*/                    OPC_MoveChild1,
/* 31676*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31679*/                    OPC_RecordMemRef,
/* 31680*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 31681*/                    OPC_CheckFoldableChainNode,
/* 31682*/                    OPC_MoveChild1,
/* 31683*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31686*/                    OPC_CheckChild0Same, 1,
/* 31688*/                    OPC_CheckChild1Integer, 2, 
/* 31690*/                    OPC_CheckType, MVT::i64,
/* 31692*/                    OPC_MoveParent,
/* 31693*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31695*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31697*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31699*/                    OPC_MoveParent,
/* 31700*/                    OPC_MoveParent,
/* 31701*/                    OPC_MoveParent,
/* 31702*/                    OPC_MoveParent,
/* 31703*/                    OPC_CheckType, MVT::i32,
/* 31705*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 31707*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 31717*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 31720*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 31727*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 31733*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31736*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 31744*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31747*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 31755*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31758*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 31767*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 31773*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31776*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 31784*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31787*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 31795*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31798*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 31807*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 31816*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 31819*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 31827*/                  0, /*End of Scope*/
/* 31828*/                /*Scope*/ 121|128,2/*377*/, /*->32207*/
/* 31830*/                  OPC_CheckChild1Same, 3,
/* 31832*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31834*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 31836*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31838*/                  OPC_MoveParent,
/* 31839*/                  OPC_MoveChild1,
/* 31840*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31843*/                  OPC_RecordMemRef,
/* 31844*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 31845*/                  OPC_CheckFoldableChainNode,
/* 31846*/                  OPC_CheckChild1Same, 1,
/* 31848*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31850*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 31852*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31854*/                  OPC_MoveParent,
/* 31855*/                  OPC_MoveParent,
/* 31856*/                  OPC_MoveChild1,
/* 31857*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 31860*/                  OPC_MoveChild0,
/* 31861*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31864*/                  OPC_RecordMemRef,
/* 31865*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 31866*/                  OPC_CheckFoldableChainNode,
/* 31867*/                  OPC_MoveChild1,
/* 31868*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31871*/                  OPC_CheckType, MVT::i64,
/* 31873*/                  OPC_Scope, 36|128,1/*164*/, /*->32040*/ // 2 children in Scope
/* 31876*/                    OPC_CheckChild0Same, 1,
/* 31878*/                    OPC_CheckChild1Integer, 2, 
/* 31880*/                    OPC_MoveParent,
/* 31881*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31883*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31885*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31887*/                    OPC_MoveParent,
/* 31888*/                    OPC_MoveChild1,
/* 31889*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 31892*/                    OPC_RecordMemRef,
/* 31893*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 31894*/                    OPC_CheckFoldableChainNode,
/* 31895*/                    OPC_MoveChild1,
/* 31896*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 31899*/                    OPC_CheckChild0Same, 3,
/* 31901*/                    OPC_CheckChild1Integer, 2, 
/* 31903*/                    OPC_CheckType, MVT::i64,
/* 31905*/                    OPC_MoveParent,
/* 31906*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 31908*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 31910*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 31912*/                    OPC_MoveParent,
/* 31913*/                    OPC_MoveParent,
/* 31914*/                    OPC_MoveParent,
/* 31915*/                    OPC_MoveParent,
/* 31916*/                    OPC_CheckType, MVT::i32,
/* 31918*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 31920*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 31930*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 31933*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 31940*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 31946*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31949*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 31957*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 31960*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 31968*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 31971*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 31980*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 31986*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 31989*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 31997*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32000*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 32008*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32011*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 32020*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 32029*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 32032*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 32040*/                  /*Scope*/ 36|128,1/*164*/, /*->32206*/
/* 32042*/                    OPC_CheckChild0Same, 3,
/* 32044*/                    OPC_CheckChild1Integer, 2, 
/* 32046*/                    OPC_MoveParent,
/* 32047*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32049*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 32051*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32053*/                    OPC_MoveParent,
/* 32054*/                    OPC_MoveChild1,
/* 32055*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32058*/                    OPC_RecordMemRef,
/* 32059*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 32060*/                    OPC_CheckFoldableChainNode,
/* 32061*/                    OPC_MoveChild1,
/* 32062*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32065*/                    OPC_CheckChild0Same, 1,
/* 32067*/                    OPC_CheckChild1Integer, 2, 
/* 32069*/                    OPC_CheckType, MVT::i64,
/* 32071*/                    OPC_MoveParent,
/* 32072*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32074*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 32076*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32078*/                    OPC_MoveParent,
/* 32079*/                    OPC_MoveParent,
/* 32080*/                    OPC_MoveParent,
/* 32081*/                    OPC_MoveParent,
/* 32082*/                    OPC_CheckType, MVT::i32,
/* 32084*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 32086*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 32096*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 32099*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 32106*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 32112*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 32115*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 32123*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32126*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 32134*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32137*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 32146*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 32152*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 32155*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 32163*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32166*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 32174*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32177*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 32186*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 32195*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 32198*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 32206*/                  0, /*End of Scope*/
/* 32207*/                0, /*End of Scope*/
/* 32208*/              /*Scope*/ 113|128,4/*625*/, /*->32835*/
/* 32210*/                OPC_CheckChild0Same, 1,
/* 32212*/                OPC_CheckChild1Integer, 2, 
/* 32214*/                OPC_MoveParent,
/* 32215*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32217*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 32219*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32221*/                OPC_MoveParent,
/* 32222*/                OPC_MoveChild1,
/* 32223*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32226*/                OPC_RecordMemRef,
/* 32227*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 32228*/                OPC_CheckFoldableChainNode,
/* 32229*/                OPC_MoveChild1,
/* 32230*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32233*/                OPC_CheckChild0Same, 3,
/* 32235*/                OPC_CheckChild1Integer, 2, 
/* 32237*/                OPC_CheckType, MVT::i64,
/* 32239*/                OPC_MoveParent,
/* 32240*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32242*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 32244*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32246*/                OPC_MoveParent,
/* 32247*/                OPC_MoveParent,
/* 32248*/                OPC_MoveChild1,
/* 32249*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32252*/                OPC_MoveChild0,
/* 32253*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 32256*/                OPC_MoveChild0,
/* 32257*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32260*/                OPC_RecordMemRef,
/* 32261*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 32262*/                OPC_CheckFoldableChainNode,
/* 32263*/                OPC_MoveChild1,
/* 32264*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32267*/                OPC_CheckType, MVT::i64,
/* 32269*/                OPC_Scope, 73|128,1/*201*/, /*->32473*/ // 2 children in Scope
/* 32272*/                  OPC_CheckChild0Same, 1,
/* 32274*/                  OPC_CheckChild1Integer, 1, 
/* 32276*/                  OPC_MoveParent,
/* 32277*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32279*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 32281*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32283*/                  OPC_MoveParent,
/* 32284*/                  OPC_MoveChild1,
/* 32285*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32288*/                  OPC_RecordMemRef,
/* 32289*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 32290*/                  OPC_CheckFoldableChainNode,
/* 32291*/                  OPC_MoveChild1,
/* 32292*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32295*/                  OPC_CheckChild0Same, 3,
/* 32297*/                  OPC_CheckChild1Integer, 1, 
/* 32299*/                  OPC_CheckType, MVT::i64,
/* 32301*/                  OPC_MoveParent,
/* 32302*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32304*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 32306*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32308*/                  OPC_MoveParent,
/* 32309*/                  OPC_MoveParent,
/* 32310*/                  OPC_MoveChild1,
/* 32311*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 32314*/                  OPC_MoveChild0,
/* 32315*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32318*/                  OPC_RecordMemRef,
/* 32319*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 32320*/                  OPC_CheckFoldableChainNode,
/* 32321*/                  OPC_CheckChild1Same, 3,
/* 32323*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32325*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 32327*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32329*/                  OPC_MoveParent,
/* 32330*/                  OPC_MoveChild1,
/* 32331*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32334*/                  OPC_RecordMemRef,
/* 32335*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 32336*/                  OPC_CheckFoldableChainNode,
/* 32337*/                  OPC_CheckChild1Same, 1,
/* 32339*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32341*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 32343*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32345*/                  OPC_MoveParent,
/* 32346*/                  OPC_MoveParent,
/* 32347*/                  OPC_MoveParent,
/* 32348*/                  OPC_MoveParent,
/* 32349*/                  OPC_CheckType, MVT::i32,
/* 32351*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 32353*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 32363*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 32366*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 32373*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 32379*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 32382*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 32390*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32393*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 32401*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32404*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 32413*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 32419*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 32422*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 32430*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32433*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 32441*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32444*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 32453*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 32462*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 32465*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 32473*/                /*Scope*/ 103|128,2/*359*/, /*->32834*/
/* 32475*/                  OPC_CheckChild0Same, 3,
/* 32477*/                  OPC_CheckChild1Integer, 1, 
/* 32479*/                  OPC_MoveParent,
/* 32480*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32482*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 32484*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32486*/                  OPC_MoveParent,
/* 32487*/                  OPC_MoveChild1,
/* 32488*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32491*/                  OPC_RecordMemRef,
/* 32492*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 32493*/                  OPC_CheckFoldableChainNode,
/* 32494*/                  OPC_MoveChild1,
/* 32495*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32498*/                  OPC_CheckChild0Same, 1,
/* 32500*/                  OPC_CheckChild1Integer, 1, 
/* 32502*/                  OPC_CheckType, MVT::i64,
/* 32504*/                  OPC_MoveParent,
/* 32505*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32507*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 32509*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32511*/                  OPC_MoveParent,
/* 32512*/                  OPC_MoveParent,
/* 32513*/                  OPC_MoveChild1,
/* 32514*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 32517*/                  OPC_MoveChild0,
/* 32518*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32521*/                  OPC_RecordMemRef,
/* 32522*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 32523*/                  OPC_CheckFoldableChainNode,
/* 32524*/                  OPC_Scope, 24|128,1/*152*/, /*->32679*/ // 2 children in Scope
/* 32527*/                    OPC_CheckChild1Same, 1,
/* 32529*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32531*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 32533*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32535*/                    OPC_MoveParent,
/* 32536*/                    OPC_MoveChild1,
/* 32537*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32540*/                    OPC_RecordMemRef,
/* 32541*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 32542*/                    OPC_CheckFoldableChainNode,
/* 32543*/                    OPC_CheckChild1Same, 3,
/* 32545*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32547*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 32549*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32551*/                    OPC_MoveParent,
/* 32552*/                    OPC_MoveParent,
/* 32553*/                    OPC_MoveParent,
/* 32554*/                    OPC_MoveParent,
/* 32555*/                    OPC_CheckType, MVT::i32,
/* 32557*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 32559*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 32569*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 32572*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 32579*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 32585*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 32588*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 32596*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32599*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 32607*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32610*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 32619*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 32625*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 32628*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 32636*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32639*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 32647*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32650*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 32659*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 32668*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 32671*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 32679*/                  /*Scope*/ 24|128,1/*152*/, /*->32833*/
/* 32681*/                    OPC_CheckChild1Same, 3,
/* 32683*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32685*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 32687*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32689*/                    OPC_MoveParent,
/* 32690*/                    OPC_MoveChild1,
/* 32691*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32694*/                    OPC_RecordMemRef,
/* 32695*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 32696*/                    OPC_CheckFoldableChainNode,
/* 32697*/                    OPC_CheckChild1Same, 1,
/* 32699*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32701*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 32703*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32705*/                    OPC_MoveParent,
/* 32706*/                    OPC_MoveParent,
/* 32707*/                    OPC_MoveParent,
/* 32708*/                    OPC_MoveParent,
/* 32709*/                    OPC_CheckType, MVT::i32,
/* 32711*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 32713*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 32723*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 32726*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 32733*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 32739*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 32742*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 32750*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32753*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 32761*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32764*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 32773*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 32779*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 32782*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 32790*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 32793*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 32801*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 32804*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 32813*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 32822*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 32825*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 32833*/                  0, /*End of Scope*/
/* 32834*/                0, /*End of Scope*/
/* 32835*/              /*Scope*/ 15|128,6/*783*/, /*->33620*/
/* 32837*/                OPC_CheckChild0Same, 3,
/* 32839*/                OPC_CheckChild1Integer, 2, 
/* 32841*/                OPC_MoveParent,
/* 32842*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32844*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 32846*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32848*/                OPC_MoveParent,
/* 32849*/                OPC_MoveChild1,
/* 32850*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32853*/                OPC_RecordMemRef,
/* 32854*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 32855*/                OPC_CheckFoldableChainNode,
/* 32856*/                OPC_MoveChild1,
/* 32857*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32860*/                OPC_CheckChild0Same, 1,
/* 32862*/                OPC_CheckChild1Integer, 2, 
/* 32864*/                OPC_CheckType, MVT::i64,
/* 32866*/                OPC_MoveParent,
/* 32867*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32869*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 32871*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32873*/                OPC_MoveParent,
/* 32874*/                OPC_MoveParent,
/* 32875*/                OPC_MoveChild1,
/* 32876*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32879*/                OPC_MoveChild0,
/* 32880*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 32883*/                OPC_MoveChild0,
/* 32884*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32887*/                OPC_RecordMemRef,
/* 32888*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 32889*/                OPC_CheckFoldableChainNode,
/* 32890*/                OPC_MoveChild1,
/* 32891*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32894*/                OPC_CheckType, MVT::i64,
/* 32896*/                OPC_Scope, 103|128,2/*359*/, /*->33258*/ // 2 children in Scope
/* 32899*/                  OPC_CheckChild0Same, 1,
/* 32901*/                  OPC_CheckChild1Integer, 1, 
/* 32903*/                  OPC_MoveParent,
/* 32904*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32906*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 32908*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32910*/                  OPC_MoveParent,
/* 32911*/                  OPC_MoveChild1,
/* 32912*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32915*/                  OPC_RecordMemRef,
/* 32916*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 32917*/                  OPC_CheckFoldableChainNode,
/* 32918*/                  OPC_MoveChild1,
/* 32919*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 32922*/                  OPC_CheckChild0Same, 3,
/* 32924*/                  OPC_CheckChild1Integer, 1, 
/* 32926*/                  OPC_CheckType, MVT::i64,
/* 32928*/                  OPC_MoveParent,
/* 32929*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32931*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 32933*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32935*/                  OPC_MoveParent,
/* 32936*/                  OPC_MoveParent,
/* 32937*/                  OPC_MoveChild1,
/* 32938*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 32941*/                  OPC_MoveChild0,
/* 32942*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32945*/                  OPC_RecordMemRef,
/* 32946*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 32947*/                  OPC_CheckFoldableChainNode,
/* 32948*/                  OPC_Scope, 24|128,1/*152*/, /*->33103*/ // 2 children in Scope
/* 32951*/                    OPC_CheckChild1Same, 1,
/* 32953*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32955*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 32957*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32959*/                    OPC_MoveParent,
/* 32960*/                    OPC_MoveChild1,
/* 32961*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 32964*/                    OPC_RecordMemRef,
/* 32965*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 32966*/                    OPC_CheckFoldableChainNode,
/* 32967*/                    OPC_CheckChild1Same, 3,
/* 32969*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 32971*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 32973*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 32975*/                    OPC_MoveParent,
/* 32976*/                    OPC_MoveParent,
/* 32977*/                    OPC_MoveParent,
/* 32978*/                    OPC_MoveParent,
/* 32979*/                    OPC_CheckType, MVT::i32,
/* 32981*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 32983*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 32993*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 32996*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 33003*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 33009*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33012*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 33020*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33023*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 33031*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33034*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 33043*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 33049*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33052*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 33060*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33063*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 33071*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33074*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 33083*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 33092*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 33095*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 33103*/                  /*Scope*/ 24|128,1/*152*/, /*->33257*/
/* 33105*/                    OPC_CheckChild1Same, 3,
/* 33107*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33109*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33111*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33113*/                    OPC_MoveParent,
/* 33114*/                    OPC_MoveChild1,
/* 33115*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33118*/                    OPC_RecordMemRef,
/* 33119*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 33120*/                    OPC_CheckFoldableChainNode,
/* 33121*/                    OPC_CheckChild1Same, 1,
/* 33123*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33125*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33127*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33129*/                    OPC_MoveParent,
/* 33130*/                    OPC_MoveParent,
/* 33131*/                    OPC_MoveParent,
/* 33132*/                    OPC_MoveParent,
/* 33133*/                    OPC_CheckType, MVT::i32,
/* 33135*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 33137*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 33147*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 33150*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 33157*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 33163*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33166*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 33174*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33177*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 33185*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33188*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 33197*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 33203*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33206*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 33214*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33217*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 33225*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33228*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 33237*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 33246*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 33249*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 33257*/                  0, /*End of Scope*/
/* 33258*/                /*Scope*/ 103|128,2/*359*/, /*->33619*/
/* 33260*/                  OPC_CheckChild0Same, 3,
/* 33262*/                  OPC_CheckChild1Integer, 1, 
/* 33264*/                  OPC_MoveParent,
/* 33265*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33267*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 33269*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33271*/                  OPC_MoveParent,
/* 33272*/                  OPC_MoveChild1,
/* 33273*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33276*/                  OPC_RecordMemRef,
/* 33277*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 33278*/                  OPC_CheckFoldableChainNode,
/* 33279*/                  OPC_MoveChild1,
/* 33280*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 33283*/                  OPC_CheckChild0Same, 1,
/* 33285*/                  OPC_CheckChild1Integer, 1, 
/* 33287*/                  OPC_CheckType, MVT::i64,
/* 33289*/                  OPC_MoveParent,
/* 33290*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33292*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 33294*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33296*/                  OPC_MoveParent,
/* 33297*/                  OPC_MoveParent,
/* 33298*/                  OPC_MoveChild1,
/* 33299*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 33302*/                  OPC_MoveChild0,
/* 33303*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33306*/                  OPC_RecordMemRef,
/* 33307*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 33308*/                  OPC_CheckFoldableChainNode,
/* 33309*/                  OPC_Scope, 24|128,1/*152*/, /*->33464*/ // 2 children in Scope
/* 33312*/                    OPC_CheckChild1Same, 1,
/* 33314*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33316*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33318*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33320*/                    OPC_MoveParent,
/* 33321*/                    OPC_MoveChild1,
/* 33322*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33325*/                    OPC_RecordMemRef,
/* 33326*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 33327*/                    OPC_CheckFoldableChainNode,
/* 33328*/                    OPC_CheckChild1Same, 3,
/* 33330*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33332*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33334*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33336*/                    OPC_MoveParent,
/* 33337*/                    OPC_MoveParent,
/* 33338*/                    OPC_MoveParent,
/* 33339*/                    OPC_MoveParent,
/* 33340*/                    OPC_CheckType, MVT::i32,
/* 33342*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 33344*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 33354*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 33357*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 33364*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 33370*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33373*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 33381*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33384*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 33392*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33395*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 33404*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 33410*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33413*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 33421*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33424*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 33432*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33435*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 33444*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 33453*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 33456*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 33464*/                  /*Scope*/ 24|128,1/*152*/, /*->33618*/
/* 33466*/                    OPC_CheckChild1Same, 3,
/* 33468*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33470*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33472*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33474*/                    OPC_MoveParent,
/* 33475*/                    OPC_MoveChild1,
/* 33476*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33479*/                    OPC_RecordMemRef,
/* 33480*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 33481*/                    OPC_CheckFoldableChainNode,
/* 33482*/                    OPC_CheckChild1Same, 1,
/* 33484*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33486*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33488*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33490*/                    OPC_MoveParent,
/* 33491*/                    OPC_MoveParent,
/* 33492*/                    OPC_MoveParent,
/* 33493*/                    OPC_MoveParent,
/* 33494*/                    OPC_CheckType, MVT::i32,
/* 33496*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 33498*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 33508*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 33511*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 33518*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 33524*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33527*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 33535*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33538*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 33546*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33549*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 33558*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 33564*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33567*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 33575*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33578*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 33586*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33589*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 33598*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 33607*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 33610*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 33618*/                  0, /*End of Scope*/
/* 33619*/                0, /*End of Scope*/
/* 33620*/              /*Scope*/ 45|128,6/*813*/, /*->34435*/
/* 33622*/                OPC_CheckChild0Same, 1,
/* 33624*/                OPC_CheckChild1Integer, 2, 
/* 33626*/                OPC_MoveParent,
/* 33627*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33629*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 33631*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33633*/                OPC_MoveParent,
/* 33634*/                OPC_MoveChild1,
/* 33635*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33638*/                OPC_RecordMemRef,
/* 33639*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 33640*/                OPC_CheckFoldableChainNode,
/* 33641*/                OPC_MoveChild1,
/* 33642*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 33645*/                OPC_CheckChild0Same, 3,
/* 33647*/                OPC_CheckChild1Integer, 2, 
/* 33649*/                OPC_CheckType, MVT::i64,
/* 33651*/                OPC_MoveParent,
/* 33652*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33654*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 33656*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33658*/                OPC_MoveParent,
/* 33659*/                OPC_MoveParent,
/* 33660*/                OPC_MoveChild1,
/* 33661*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 33664*/                OPC_MoveChild0,
/* 33665*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 33668*/                OPC_MoveChild0,
/* 33669*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33672*/                OPC_RecordMemRef,
/* 33673*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 33674*/                OPC_CheckFoldableChainNode,
/* 33675*/                OPC_Scope, 121|128,2/*377*/, /*->34055*/ // 2 children in Scope
/* 33678*/                  OPC_CheckChild1Same, 1,
/* 33680*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33682*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 33684*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33686*/                  OPC_MoveParent,
/* 33687*/                  OPC_MoveChild1,
/* 33688*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33691*/                  OPC_RecordMemRef,
/* 33692*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 33693*/                  OPC_CheckFoldableChainNode,
/* 33694*/                  OPC_CheckChild1Same, 3,
/* 33696*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33698*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 33700*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33702*/                  OPC_MoveParent,
/* 33703*/                  OPC_MoveParent,
/* 33704*/                  OPC_MoveChild1,
/* 33705*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 33708*/                  OPC_MoveChild0,
/* 33709*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33712*/                  OPC_RecordMemRef,
/* 33713*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 33714*/                  OPC_CheckFoldableChainNode,
/* 33715*/                  OPC_MoveChild1,
/* 33716*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 33719*/                  OPC_CheckType, MVT::i64,
/* 33721*/                  OPC_Scope, 36|128,1/*164*/, /*->33888*/ // 2 children in Scope
/* 33724*/                    OPC_CheckChild0Same, 1,
/* 33726*/                    OPC_CheckChild1Integer, 1, 
/* 33728*/                    OPC_MoveParent,
/* 33729*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33731*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33733*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33735*/                    OPC_MoveParent,
/* 33736*/                    OPC_MoveChild1,
/* 33737*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33740*/                    OPC_RecordMemRef,
/* 33741*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 33742*/                    OPC_CheckFoldableChainNode,
/* 33743*/                    OPC_MoveChild1,
/* 33744*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 33747*/                    OPC_CheckChild0Same, 3,
/* 33749*/                    OPC_CheckChild1Integer, 1, 
/* 33751*/                    OPC_CheckType, MVT::i64,
/* 33753*/                    OPC_MoveParent,
/* 33754*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33756*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33758*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33760*/                    OPC_MoveParent,
/* 33761*/                    OPC_MoveParent,
/* 33762*/                    OPC_MoveParent,
/* 33763*/                    OPC_MoveParent,
/* 33764*/                    OPC_CheckType, MVT::i32,
/* 33766*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 33768*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 33778*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 33781*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 33788*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 33794*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33797*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 33805*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33808*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 33816*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33819*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 33828*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 33834*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33837*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 33845*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33848*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 33856*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33859*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 33868*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 33877*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 33880*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 33888*/                  /*Scope*/ 36|128,1/*164*/, /*->34054*/
/* 33890*/                    OPC_CheckChild0Same, 3,
/* 33892*/                    OPC_CheckChild1Integer, 1, 
/* 33894*/                    OPC_MoveParent,
/* 33895*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33897*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33899*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33901*/                    OPC_MoveParent,
/* 33902*/                    OPC_MoveChild1,
/* 33903*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 33906*/                    OPC_RecordMemRef,
/* 33907*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 33908*/                    OPC_CheckFoldableChainNode,
/* 33909*/                    OPC_MoveChild1,
/* 33910*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 33913*/                    OPC_CheckChild0Same, 1,
/* 33915*/                    OPC_CheckChild1Integer, 1, 
/* 33917*/                    OPC_CheckType, MVT::i64,
/* 33919*/                    OPC_MoveParent,
/* 33920*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 33922*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 33924*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 33926*/                    OPC_MoveParent,
/* 33927*/                    OPC_MoveParent,
/* 33928*/                    OPC_MoveParent,
/* 33929*/                    OPC_MoveParent,
/* 33930*/                    OPC_CheckType, MVT::i32,
/* 33932*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 33934*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 33944*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 33947*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 33954*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 33960*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 33963*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 33971*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 33974*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 33982*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 33985*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 33994*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 34000*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34003*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 34011*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34014*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 34022*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34025*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 34034*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 34043*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 34046*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 34054*/                  0, /*End of Scope*/
/* 34055*/                /*Scope*/ 121|128,2/*377*/, /*->34434*/
/* 34057*/                  OPC_CheckChild1Same, 3,
/* 34059*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34061*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 34063*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34065*/                  OPC_MoveParent,
/* 34066*/                  OPC_MoveChild1,
/* 34067*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34070*/                  OPC_RecordMemRef,
/* 34071*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 34072*/                  OPC_CheckFoldableChainNode,
/* 34073*/                  OPC_CheckChild1Same, 1,
/* 34075*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34077*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 34079*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34081*/                  OPC_MoveParent,
/* 34082*/                  OPC_MoveParent,
/* 34083*/                  OPC_MoveChild1,
/* 34084*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 34087*/                  OPC_MoveChild0,
/* 34088*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34091*/                  OPC_RecordMemRef,
/* 34092*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 34093*/                  OPC_CheckFoldableChainNode,
/* 34094*/                  OPC_MoveChild1,
/* 34095*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34098*/                  OPC_CheckType, MVT::i64,
/* 34100*/                  OPC_Scope, 36|128,1/*164*/, /*->34267*/ // 2 children in Scope
/* 34103*/                    OPC_CheckChild0Same, 1,
/* 34105*/                    OPC_CheckChild1Integer, 1, 
/* 34107*/                    OPC_MoveParent,
/* 34108*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34110*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34112*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34114*/                    OPC_MoveParent,
/* 34115*/                    OPC_MoveChild1,
/* 34116*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34119*/                    OPC_RecordMemRef,
/* 34120*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 34121*/                    OPC_CheckFoldableChainNode,
/* 34122*/                    OPC_MoveChild1,
/* 34123*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34126*/                    OPC_CheckChild0Same, 3,
/* 34128*/                    OPC_CheckChild1Integer, 1, 
/* 34130*/                    OPC_CheckType, MVT::i64,
/* 34132*/                    OPC_MoveParent,
/* 34133*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34135*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34137*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34139*/                    OPC_MoveParent,
/* 34140*/                    OPC_MoveParent,
/* 34141*/                    OPC_MoveParent,
/* 34142*/                    OPC_MoveParent,
/* 34143*/                    OPC_CheckType, MVT::i32,
/* 34145*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 34147*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 34157*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 34160*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 34167*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 34173*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34176*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 34184*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34187*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 34195*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34198*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 34207*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 34213*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34216*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 34224*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34227*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 34235*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34238*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 34247*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 34256*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 34259*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 34267*/                  /*Scope*/ 36|128,1/*164*/, /*->34433*/
/* 34269*/                    OPC_CheckChild0Same, 3,
/* 34271*/                    OPC_CheckChild1Integer, 1, 
/* 34273*/                    OPC_MoveParent,
/* 34274*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34276*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34278*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34280*/                    OPC_MoveParent,
/* 34281*/                    OPC_MoveChild1,
/* 34282*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34285*/                    OPC_RecordMemRef,
/* 34286*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 34287*/                    OPC_CheckFoldableChainNode,
/* 34288*/                    OPC_MoveChild1,
/* 34289*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34292*/                    OPC_CheckChild0Same, 1,
/* 34294*/                    OPC_CheckChild1Integer, 1, 
/* 34296*/                    OPC_CheckType, MVT::i64,
/* 34298*/                    OPC_MoveParent,
/* 34299*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34301*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34303*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34305*/                    OPC_MoveParent,
/* 34306*/                    OPC_MoveParent,
/* 34307*/                    OPC_MoveParent,
/* 34308*/                    OPC_MoveParent,
/* 34309*/                    OPC_CheckType, MVT::i32,
/* 34311*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 34313*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 34323*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 34326*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 34333*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 34339*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34342*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 34350*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34353*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 34361*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34364*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 34373*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 34379*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34382*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 34390*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34393*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 34401*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34404*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 34413*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 34422*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 34425*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 34433*/                  0, /*End of Scope*/
/* 34434*/                0, /*End of Scope*/
/* 34435*/              /*Scope*/ 45|128,6/*813*/, /*->35250*/
/* 34437*/                OPC_CheckChild0Same, 3,
/* 34439*/                OPC_CheckChild1Integer, 2, 
/* 34441*/                OPC_MoveParent,
/* 34442*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34444*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 34446*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34448*/                OPC_MoveParent,
/* 34449*/                OPC_MoveChild1,
/* 34450*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34453*/                OPC_RecordMemRef,
/* 34454*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 34455*/                OPC_CheckFoldableChainNode,
/* 34456*/                OPC_MoveChild1,
/* 34457*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34460*/                OPC_CheckChild0Same, 1,
/* 34462*/                OPC_CheckChild1Integer, 2, 
/* 34464*/                OPC_CheckType, MVT::i64,
/* 34466*/                OPC_MoveParent,
/* 34467*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34469*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 34471*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34473*/                OPC_MoveParent,
/* 34474*/                OPC_MoveParent,
/* 34475*/                OPC_MoveChild1,
/* 34476*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34479*/                OPC_MoveChild0,
/* 34480*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 34483*/                OPC_MoveChild0,
/* 34484*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34487*/                OPC_RecordMemRef,
/* 34488*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 34489*/                OPC_CheckFoldableChainNode,
/* 34490*/                OPC_Scope, 121|128,2/*377*/, /*->34870*/ // 2 children in Scope
/* 34493*/                  OPC_CheckChild1Same, 1,
/* 34495*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34497*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 34499*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34501*/                  OPC_MoveParent,
/* 34502*/                  OPC_MoveChild1,
/* 34503*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34506*/                  OPC_RecordMemRef,
/* 34507*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 34508*/                  OPC_CheckFoldableChainNode,
/* 34509*/                  OPC_CheckChild1Same, 3,
/* 34511*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34513*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 34515*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34517*/                  OPC_MoveParent,
/* 34518*/                  OPC_MoveParent,
/* 34519*/                  OPC_MoveChild1,
/* 34520*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 34523*/                  OPC_MoveChild0,
/* 34524*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34527*/                  OPC_RecordMemRef,
/* 34528*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 34529*/                  OPC_CheckFoldableChainNode,
/* 34530*/                  OPC_MoveChild1,
/* 34531*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34534*/                  OPC_CheckType, MVT::i64,
/* 34536*/                  OPC_Scope, 36|128,1/*164*/, /*->34703*/ // 2 children in Scope
/* 34539*/                    OPC_CheckChild0Same, 1,
/* 34541*/                    OPC_CheckChild1Integer, 1, 
/* 34543*/                    OPC_MoveParent,
/* 34544*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34546*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34548*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34550*/                    OPC_MoveParent,
/* 34551*/                    OPC_MoveChild1,
/* 34552*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34555*/                    OPC_RecordMemRef,
/* 34556*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 34557*/                    OPC_CheckFoldableChainNode,
/* 34558*/                    OPC_MoveChild1,
/* 34559*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34562*/                    OPC_CheckChild0Same, 3,
/* 34564*/                    OPC_CheckChild1Integer, 1, 
/* 34566*/                    OPC_CheckType, MVT::i64,
/* 34568*/                    OPC_MoveParent,
/* 34569*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34571*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34573*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34575*/                    OPC_MoveParent,
/* 34576*/                    OPC_MoveParent,
/* 34577*/                    OPC_MoveParent,
/* 34578*/                    OPC_MoveParent,
/* 34579*/                    OPC_CheckType, MVT::i32,
/* 34581*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 34583*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 34593*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 34596*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 34603*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 34609*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34612*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 34620*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34623*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 34631*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34634*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 34643*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 34649*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34652*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 34660*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34663*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 34671*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34674*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 34683*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 34692*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 34695*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 34703*/                  /*Scope*/ 36|128,1/*164*/, /*->34869*/
/* 34705*/                    OPC_CheckChild0Same, 3,
/* 34707*/                    OPC_CheckChild1Integer, 1, 
/* 34709*/                    OPC_MoveParent,
/* 34710*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34712*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34714*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34716*/                    OPC_MoveParent,
/* 34717*/                    OPC_MoveChild1,
/* 34718*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34721*/                    OPC_RecordMemRef,
/* 34722*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 34723*/                    OPC_CheckFoldableChainNode,
/* 34724*/                    OPC_MoveChild1,
/* 34725*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34728*/                    OPC_CheckChild0Same, 1,
/* 34730*/                    OPC_CheckChild1Integer, 1, 
/* 34732*/                    OPC_CheckType, MVT::i64,
/* 34734*/                    OPC_MoveParent,
/* 34735*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34737*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34739*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34741*/                    OPC_MoveParent,
/* 34742*/                    OPC_MoveParent,
/* 34743*/                    OPC_MoveParent,
/* 34744*/                    OPC_MoveParent,
/* 34745*/                    OPC_CheckType, MVT::i32,
/* 34747*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 34749*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 34759*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 34762*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 34769*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 34775*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34778*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 34786*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34789*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 34797*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34800*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 34809*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 34815*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34818*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 34826*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 34829*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 34837*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 34840*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 34849*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 34858*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 34861*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 34869*/                  0, /*End of Scope*/
/* 34870*/                /*Scope*/ 121|128,2/*377*/, /*->35249*/
/* 34872*/                  OPC_CheckChild1Same, 3,
/* 34874*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34876*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 34878*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34880*/                  OPC_MoveParent,
/* 34881*/                  OPC_MoveChild1,
/* 34882*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34885*/                  OPC_RecordMemRef,
/* 34886*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 34887*/                  OPC_CheckFoldableChainNode,
/* 34888*/                  OPC_CheckChild1Same, 1,
/* 34890*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34892*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 34894*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34896*/                  OPC_MoveParent,
/* 34897*/                  OPC_MoveParent,
/* 34898*/                  OPC_MoveChild1,
/* 34899*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 34902*/                  OPC_MoveChild0,
/* 34903*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34906*/                  OPC_RecordMemRef,
/* 34907*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 34908*/                  OPC_CheckFoldableChainNode,
/* 34909*/                  OPC_MoveChild1,
/* 34910*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34913*/                  OPC_CheckType, MVT::i64,
/* 34915*/                  OPC_Scope, 36|128,1/*164*/, /*->35082*/ // 2 children in Scope
/* 34918*/                    OPC_CheckChild0Same, 1,
/* 34920*/                    OPC_CheckChild1Integer, 1, 
/* 34922*/                    OPC_MoveParent,
/* 34923*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34925*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34927*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34929*/                    OPC_MoveParent,
/* 34930*/                    OPC_MoveChild1,
/* 34931*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 34934*/                    OPC_RecordMemRef,
/* 34935*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 34936*/                    OPC_CheckFoldableChainNode,
/* 34937*/                    OPC_MoveChild1,
/* 34938*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 34941*/                    OPC_CheckChild0Same, 3,
/* 34943*/                    OPC_CheckChild1Integer, 1, 
/* 34945*/                    OPC_CheckType, MVT::i64,
/* 34947*/                    OPC_MoveParent,
/* 34948*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 34950*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 34952*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 34954*/                    OPC_MoveParent,
/* 34955*/                    OPC_MoveParent,
/* 34956*/                    OPC_MoveParent,
/* 34957*/                    OPC_MoveParent,
/* 34958*/                    OPC_CheckType, MVT::i32,
/* 34960*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 34962*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 34972*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 34975*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 34982*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 34988*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 34991*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 34999*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35002*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 35010*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35013*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 35022*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 35028*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 35031*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 35039*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35042*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 35050*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35053*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 35062*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 35071*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 35074*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 35082*/                  /*Scope*/ 36|128,1/*164*/, /*->35248*/
/* 35084*/                    OPC_CheckChild0Same, 3,
/* 35086*/                    OPC_CheckChild1Integer, 1, 
/* 35088*/                    OPC_MoveParent,
/* 35089*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35091*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 35093*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35095*/                    OPC_MoveParent,
/* 35096*/                    OPC_MoveChild1,
/* 35097*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35100*/                    OPC_RecordMemRef,
/* 35101*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 35102*/                    OPC_CheckFoldableChainNode,
/* 35103*/                    OPC_MoveChild1,
/* 35104*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35107*/                    OPC_CheckChild0Same, 1,
/* 35109*/                    OPC_CheckChild1Integer, 1, 
/* 35111*/                    OPC_CheckType, MVT::i64,
/* 35113*/                    OPC_MoveParent,
/* 35114*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35116*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 35118*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35120*/                    OPC_MoveParent,
/* 35121*/                    OPC_MoveParent,
/* 35122*/                    OPC_MoveParent,
/* 35123*/                    OPC_MoveParent,
/* 35124*/                    OPC_CheckType, MVT::i32,
/* 35126*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 35128*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 35138*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 35141*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 35148*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 35154*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 35157*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 35165*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35168*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 35176*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35179*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 35188*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 35194*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 35197*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 35205*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35208*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 35216*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35219*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 35228*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 35237*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 35240*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 35248*/                  0, /*End of Scope*/
/* 35249*/                0, /*End of Scope*/
/* 35250*/              0, /*End of Scope*/
/* 35251*/            /*Scope*/ 63|128,6/*831*/, /*->36084*/
/* 35253*/              OPC_CheckChild1Same, 3,
/* 35255*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35257*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 35259*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35261*/              OPC_MoveParent,
/* 35262*/              OPC_MoveChild1,
/* 35263*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35266*/              OPC_RecordMemRef,
/* 35267*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 35268*/              OPC_CheckFoldableChainNode,
/* 35269*/              OPC_CheckChild1Same, 1,
/* 35271*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35273*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 35275*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35277*/              OPC_MoveParent,
/* 35278*/              OPC_MoveParent,
/* 35279*/              OPC_MoveChild1,
/* 35280*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35283*/              OPC_MoveChild0,
/* 35284*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 35287*/              OPC_MoveChild0,
/* 35288*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35291*/              OPC_RecordMemRef,
/* 35292*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 35293*/              OPC_CheckFoldableChainNode,
/* 35294*/              OPC_MoveChild1,
/* 35295*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35298*/              OPC_CheckType, MVT::i64,
/* 35300*/              OPC_Scope, 5|128,3/*389*/, /*->35692*/ // 2 children in Scope
/* 35303*/                OPC_CheckChild0Same, 3,
/* 35305*/                OPC_CheckChild1Integer, 2, 
/* 35307*/                OPC_MoveParent,
/* 35308*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35310*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 35312*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35314*/                OPC_MoveParent,
/* 35315*/                OPC_MoveChild1,
/* 35316*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35319*/                OPC_RecordMemRef,
/* 35320*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 35321*/                OPC_CheckFoldableChainNode,
/* 35322*/                OPC_MoveChild1,
/* 35323*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35326*/                OPC_CheckChild0Same, 1,
/* 35328*/                OPC_CheckChild1Integer, 2, 
/* 35330*/                OPC_CheckType, MVT::i64,
/* 35332*/                OPC_MoveParent,
/* 35333*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35335*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 35337*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35339*/                OPC_MoveParent,
/* 35340*/                OPC_MoveParent,
/* 35341*/                OPC_MoveChild1,
/* 35342*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 35345*/                OPC_MoveChild0,
/* 35346*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35349*/                OPC_RecordMemRef,
/* 35350*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 35351*/                OPC_CheckFoldableChainNode,
/* 35352*/                OPC_MoveChild1,
/* 35353*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35356*/                OPC_CheckType, MVT::i64,
/* 35358*/                OPC_Scope, 36|128,1/*164*/, /*->35525*/ // 2 children in Scope
/* 35361*/                  OPC_CheckChild0Same, 3,
/* 35363*/                  OPC_CheckChild1Integer, 1, 
/* 35365*/                  OPC_MoveParent,
/* 35366*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35368*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 35370*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35372*/                  OPC_MoveParent,
/* 35373*/                  OPC_MoveChild1,
/* 35374*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35377*/                  OPC_RecordMemRef,
/* 35378*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 35379*/                  OPC_CheckFoldableChainNode,
/* 35380*/                  OPC_MoveChild1,
/* 35381*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35384*/                  OPC_CheckChild0Same, 1,
/* 35386*/                  OPC_CheckChild1Integer, 1, 
/* 35388*/                  OPC_CheckType, MVT::i64,
/* 35390*/                  OPC_MoveParent,
/* 35391*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35393*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 35395*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35397*/                  OPC_MoveParent,
/* 35398*/                  OPC_MoveParent,
/* 35399*/                  OPC_MoveParent,
/* 35400*/                  OPC_MoveParent,
/* 35401*/                  OPC_CheckType, MVT::i32,
/* 35403*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 35405*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 35415*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 35418*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 35425*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 35431*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 35434*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 35442*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35445*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 35453*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35456*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 35465*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 35471*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 35474*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 35482*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35485*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 35493*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35496*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 35505*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 35514*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 35517*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 35525*/                /*Scope*/ 36|128,1/*164*/, /*->35691*/
/* 35527*/                  OPC_CheckChild0Same, 1,
/* 35529*/                  OPC_CheckChild1Integer, 1, 
/* 35531*/                  OPC_MoveParent,
/* 35532*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35534*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 35536*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35538*/                  OPC_MoveParent,
/* 35539*/                  OPC_MoveChild1,
/* 35540*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35543*/                  OPC_RecordMemRef,
/* 35544*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 35545*/                  OPC_CheckFoldableChainNode,
/* 35546*/                  OPC_MoveChild1,
/* 35547*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35550*/                  OPC_CheckChild0Same, 3,
/* 35552*/                  OPC_CheckChild1Integer, 1, 
/* 35554*/                  OPC_CheckType, MVT::i64,
/* 35556*/                  OPC_MoveParent,
/* 35557*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35559*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 35561*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35563*/                  OPC_MoveParent,
/* 35564*/                  OPC_MoveParent,
/* 35565*/                  OPC_MoveParent,
/* 35566*/                  OPC_MoveParent,
/* 35567*/                  OPC_CheckType, MVT::i32,
/* 35569*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 35571*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 35581*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 35584*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 35591*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 35597*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 35600*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 35608*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35611*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 35619*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35622*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 35631*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 35637*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 35640*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 35648*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35651*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 35659*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35662*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 35671*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 35680*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 35683*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 35691*/                0, /*End of Scope*/
/* 35692*/              /*Scope*/ 5|128,3/*389*/, /*->36083*/
/* 35694*/                OPC_CheckChild0Same, 1,
/* 35696*/                OPC_CheckChild1Integer, 2, 
/* 35698*/                OPC_MoveParent,
/* 35699*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35701*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 35703*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35705*/                OPC_MoveParent,
/* 35706*/                OPC_MoveChild1,
/* 35707*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35710*/                OPC_RecordMemRef,
/* 35711*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 35712*/                OPC_CheckFoldableChainNode,
/* 35713*/                OPC_MoveChild1,
/* 35714*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35717*/                OPC_CheckChild0Same, 3,
/* 35719*/                OPC_CheckChild1Integer, 2, 
/* 35721*/                OPC_CheckType, MVT::i64,
/* 35723*/                OPC_MoveParent,
/* 35724*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35726*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 35728*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35730*/                OPC_MoveParent,
/* 35731*/                OPC_MoveParent,
/* 35732*/                OPC_MoveChild1,
/* 35733*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 35736*/                OPC_MoveChild0,
/* 35737*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35740*/                OPC_RecordMemRef,
/* 35741*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 35742*/                OPC_CheckFoldableChainNode,
/* 35743*/                OPC_MoveChild1,
/* 35744*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35747*/                OPC_CheckType, MVT::i64,
/* 35749*/                OPC_Scope, 36|128,1/*164*/, /*->35916*/ // 2 children in Scope
/* 35752*/                  OPC_CheckChild0Same, 3,
/* 35754*/                  OPC_CheckChild1Integer, 1, 
/* 35756*/                  OPC_MoveParent,
/* 35757*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35759*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 35761*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35763*/                  OPC_MoveParent,
/* 35764*/                  OPC_MoveChild1,
/* 35765*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35768*/                  OPC_RecordMemRef,
/* 35769*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 35770*/                  OPC_CheckFoldableChainNode,
/* 35771*/                  OPC_MoveChild1,
/* 35772*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35775*/                  OPC_CheckChild0Same, 1,
/* 35777*/                  OPC_CheckChild1Integer, 1, 
/* 35779*/                  OPC_CheckType, MVT::i64,
/* 35781*/                  OPC_MoveParent,
/* 35782*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35784*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 35786*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35788*/                  OPC_MoveParent,
/* 35789*/                  OPC_MoveParent,
/* 35790*/                  OPC_MoveParent,
/* 35791*/                  OPC_MoveParent,
/* 35792*/                  OPC_CheckType, MVT::i32,
/* 35794*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 35796*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 35806*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 35809*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 35816*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 35822*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 35825*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 35833*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35836*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 35844*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35847*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 35856*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 35862*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 35865*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 35873*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 35876*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 35884*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 35887*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 35896*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 35905*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 35908*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 35916*/                /*Scope*/ 36|128,1/*164*/, /*->36082*/
/* 35918*/                  OPC_CheckChild0Same, 1,
/* 35920*/                  OPC_CheckChild1Integer, 1, 
/* 35922*/                  OPC_MoveParent,
/* 35923*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35925*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 35927*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35929*/                  OPC_MoveParent,
/* 35930*/                  OPC_MoveChild1,
/* 35931*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 35934*/                  OPC_RecordMemRef,
/* 35935*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 35936*/                  OPC_CheckFoldableChainNode,
/* 35937*/                  OPC_MoveChild1,
/* 35938*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 35941*/                  OPC_CheckChild0Same, 3,
/* 35943*/                  OPC_CheckChild1Integer, 1, 
/* 35945*/                  OPC_CheckType, MVT::i64,
/* 35947*/                  OPC_MoveParent,
/* 35948*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 35950*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 35952*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 35954*/                  OPC_MoveParent,
/* 35955*/                  OPC_MoveParent,
/* 35956*/                  OPC_MoveParent,
/* 35957*/                  OPC_MoveParent,
/* 35958*/                  OPC_CheckType, MVT::i32,
/* 35960*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 35962*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 35972*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 35975*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 35982*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 35988*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 35991*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 35999*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36002*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 36010*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36013*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 36022*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 36028*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36031*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 36039*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36042*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 36050*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36053*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 36062*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 36071*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 36074*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 36082*/                0, /*End of Scope*/
/* 36083*/              0, /*End of Scope*/
/* 36084*/            /*Scope*/ 63|128,6/*831*/, /*->36917*/
/* 36086*/              OPC_CheckChild1Same, 1,
/* 36088*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36090*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 36092*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36094*/              OPC_MoveParent,
/* 36095*/              OPC_MoveChild1,
/* 36096*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36099*/              OPC_RecordMemRef,
/* 36100*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 36101*/              OPC_CheckFoldableChainNode,
/* 36102*/              OPC_CheckChild1Same, 3,
/* 36104*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36106*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 36108*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36110*/              OPC_MoveParent,
/* 36111*/              OPC_MoveParent,
/* 36112*/              OPC_MoveChild1,
/* 36113*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36116*/              OPC_MoveChild0,
/* 36117*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 36120*/              OPC_MoveChild0,
/* 36121*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36124*/              OPC_RecordMemRef,
/* 36125*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 36126*/              OPC_CheckFoldableChainNode,
/* 36127*/              OPC_MoveChild1,
/* 36128*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36131*/              OPC_CheckType, MVT::i64,
/* 36133*/              OPC_Scope, 5|128,3/*389*/, /*->36525*/ // 2 children in Scope
/* 36136*/                OPC_CheckChild0Same, 3,
/* 36138*/                OPC_CheckChild1Integer, 2, 
/* 36140*/                OPC_MoveParent,
/* 36141*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36143*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 36145*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36147*/                OPC_MoveParent,
/* 36148*/                OPC_MoveChild1,
/* 36149*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36152*/                OPC_RecordMemRef,
/* 36153*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 36154*/                OPC_CheckFoldableChainNode,
/* 36155*/                OPC_MoveChild1,
/* 36156*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36159*/                OPC_CheckChild0Same, 1,
/* 36161*/                OPC_CheckChild1Integer, 2, 
/* 36163*/                OPC_CheckType, MVT::i64,
/* 36165*/                OPC_MoveParent,
/* 36166*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36168*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 36170*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36172*/                OPC_MoveParent,
/* 36173*/                OPC_MoveParent,
/* 36174*/                OPC_MoveChild1,
/* 36175*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 36178*/                OPC_MoveChild0,
/* 36179*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36182*/                OPC_RecordMemRef,
/* 36183*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 36184*/                OPC_CheckFoldableChainNode,
/* 36185*/                OPC_MoveChild1,
/* 36186*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36189*/                OPC_CheckType, MVT::i64,
/* 36191*/                OPC_Scope, 36|128,1/*164*/, /*->36358*/ // 2 children in Scope
/* 36194*/                  OPC_CheckChild0Same, 3,
/* 36196*/                  OPC_CheckChild1Integer, 1, 
/* 36198*/                  OPC_MoveParent,
/* 36199*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36201*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 36203*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36205*/                  OPC_MoveParent,
/* 36206*/                  OPC_MoveChild1,
/* 36207*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36210*/                  OPC_RecordMemRef,
/* 36211*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 36212*/                  OPC_CheckFoldableChainNode,
/* 36213*/                  OPC_MoveChild1,
/* 36214*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36217*/                  OPC_CheckChild0Same, 1,
/* 36219*/                  OPC_CheckChild1Integer, 1, 
/* 36221*/                  OPC_CheckType, MVT::i64,
/* 36223*/                  OPC_MoveParent,
/* 36224*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36226*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 36228*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36230*/                  OPC_MoveParent,
/* 36231*/                  OPC_MoveParent,
/* 36232*/                  OPC_MoveParent,
/* 36233*/                  OPC_MoveParent,
/* 36234*/                  OPC_CheckType, MVT::i32,
/* 36236*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 36238*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 36248*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 36251*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 36258*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 36264*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36267*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 36275*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36278*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 36286*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36289*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 36298*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 36304*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36307*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 36315*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36318*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 36326*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36329*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 36338*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 36347*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 36350*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 36358*/                /*Scope*/ 36|128,1/*164*/, /*->36524*/
/* 36360*/                  OPC_CheckChild0Same, 1,
/* 36362*/                  OPC_CheckChild1Integer, 1, 
/* 36364*/                  OPC_MoveParent,
/* 36365*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36367*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 36369*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36371*/                  OPC_MoveParent,
/* 36372*/                  OPC_MoveChild1,
/* 36373*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36376*/                  OPC_RecordMemRef,
/* 36377*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 36378*/                  OPC_CheckFoldableChainNode,
/* 36379*/                  OPC_MoveChild1,
/* 36380*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36383*/                  OPC_CheckChild0Same, 3,
/* 36385*/                  OPC_CheckChild1Integer, 1, 
/* 36387*/                  OPC_CheckType, MVT::i64,
/* 36389*/                  OPC_MoveParent,
/* 36390*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36392*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 36394*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36396*/                  OPC_MoveParent,
/* 36397*/                  OPC_MoveParent,
/* 36398*/                  OPC_MoveParent,
/* 36399*/                  OPC_MoveParent,
/* 36400*/                  OPC_CheckType, MVT::i32,
/* 36402*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 36404*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 36414*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 36417*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 36424*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 36430*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36433*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 36441*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36444*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 36452*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36455*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 36464*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 36470*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36473*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 36481*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36484*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 36492*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36495*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 36504*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 36513*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 36516*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 36524*/                0, /*End of Scope*/
/* 36525*/              /*Scope*/ 5|128,3/*389*/, /*->36916*/
/* 36527*/                OPC_CheckChild0Same, 1,
/* 36529*/                OPC_CheckChild1Integer, 2, 
/* 36531*/                OPC_MoveParent,
/* 36532*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36534*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 36536*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36538*/                OPC_MoveParent,
/* 36539*/                OPC_MoveChild1,
/* 36540*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36543*/                OPC_RecordMemRef,
/* 36544*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 36545*/                OPC_CheckFoldableChainNode,
/* 36546*/                OPC_MoveChild1,
/* 36547*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36550*/                OPC_CheckChild0Same, 3,
/* 36552*/                OPC_CheckChild1Integer, 2, 
/* 36554*/                OPC_CheckType, MVT::i64,
/* 36556*/                OPC_MoveParent,
/* 36557*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36559*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 36561*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36563*/                OPC_MoveParent,
/* 36564*/                OPC_MoveParent,
/* 36565*/                OPC_MoveChild1,
/* 36566*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 36569*/                OPC_MoveChild0,
/* 36570*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36573*/                OPC_RecordMemRef,
/* 36574*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 36575*/                OPC_CheckFoldableChainNode,
/* 36576*/                OPC_MoveChild1,
/* 36577*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36580*/                OPC_CheckType, MVT::i64,
/* 36582*/                OPC_Scope, 36|128,1/*164*/, /*->36749*/ // 2 children in Scope
/* 36585*/                  OPC_CheckChild0Same, 3,
/* 36587*/                  OPC_CheckChild1Integer, 1, 
/* 36589*/                  OPC_MoveParent,
/* 36590*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36592*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 36594*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36596*/                  OPC_MoveParent,
/* 36597*/                  OPC_MoveChild1,
/* 36598*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36601*/                  OPC_RecordMemRef,
/* 36602*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 36603*/                  OPC_CheckFoldableChainNode,
/* 36604*/                  OPC_MoveChild1,
/* 36605*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36608*/                  OPC_CheckChild0Same, 1,
/* 36610*/                  OPC_CheckChild1Integer, 1, 
/* 36612*/                  OPC_CheckType, MVT::i64,
/* 36614*/                  OPC_MoveParent,
/* 36615*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36617*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 36619*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36621*/                  OPC_MoveParent,
/* 36622*/                  OPC_MoveParent,
/* 36623*/                  OPC_MoveParent,
/* 36624*/                  OPC_MoveParent,
/* 36625*/                  OPC_CheckType, MVT::i32,
/* 36627*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 36629*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 36639*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 36642*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 36649*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 36655*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36658*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 36666*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36669*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 36677*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36680*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 36689*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 36695*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36698*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 36706*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36709*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 36717*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36720*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 36729*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 36738*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 36741*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 36749*/                /*Scope*/ 36|128,1/*164*/, /*->36915*/
/* 36751*/                  OPC_CheckChild0Same, 1,
/* 36753*/                  OPC_CheckChild1Integer, 1, 
/* 36755*/                  OPC_MoveParent,
/* 36756*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36758*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 36760*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36762*/                  OPC_MoveParent,
/* 36763*/                  OPC_MoveChild1,
/* 36764*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36767*/                  OPC_RecordMemRef,
/* 36768*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 36769*/                  OPC_CheckFoldableChainNode,
/* 36770*/                  OPC_MoveChild1,
/* 36771*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36774*/                  OPC_CheckChild0Same, 3,
/* 36776*/                  OPC_CheckChild1Integer, 1, 
/* 36778*/                  OPC_CheckType, MVT::i64,
/* 36780*/                  OPC_MoveParent,
/* 36781*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36783*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 36785*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36787*/                  OPC_MoveParent,
/* 36788*/                  OPC_MoveParent,
/* 36789*/                  OPC_MoveParent,
/* 36790*/                  OPC_MoveParent,
/* 36791*/                  OPC_CheckType, MVT::i32,
/* 36793*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 36795*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 36805*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 36808*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 36815*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 36821*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36824*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 36832*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36835*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 36843*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36846*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 36855*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 36861*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 36864*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 36872*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 36875*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 36883*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 36886*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 36895*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 36904*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 36907*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 36915*/                0, /*End of Scope*/
/* 36916*/              0, /*End of Scope*/
/* 36917*/            /*Scope*/ 63|128,6/*831*/, /*->37750*/
/* 36919*/              OPC_CheckChild1Same, 3,
/* 36921*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36923*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 36925*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36927*/              OPC_MoveParent,
/* 36928*/              OPC_MoveChild1,
/* 36929*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36932*/              OPC_RecordMemRef,
/* 36933*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 36934*/              OPC_CheckFoldableChainNode,
/* 36935*/              OPC_CheckChild1Same, 1,
/* 36937*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36939*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 36941*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36943*/              OPC_MoveParent,
/* 36944*/              OPC_MoveParent,
/* 36945*/              OPC_MoveChild1,
/* 36946*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36949*/              OPC_MoveChild0,
/* 36950*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 36953*/              OPC_MoveChild0,
/* 36954*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36957*/              OPC_RecordMemRef,
/* 36958*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 36959*/              OPC_CheckFoldableChainNode,
/* 36960*/              OPC_MoveChild1,
/* 36961*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36964*/              OPC_CheckType, MVT::i64,
/* 36966*/              OPC_Scope, 5|128,3/*389*/, /*->37358*/ // 2 children in Scope
/* 36969*/                OPC_CheckChild0Same, 3,
/* 36971*/                OPC_CheckChild1Integer, 1, 
/* 36973*/                OPC_MoveParent,
/* 36974*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 36976*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 36978*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 36980*/                OPC_MoveParent,
/* 36981*/                OPC_MoveChild1,
/* 36982*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 36985*/                OPC_RecordMemRef,
/* 36986*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 36987*/                OPC_CheckFoldableChainNode,
/* 36988*/                OPC_MoveChild1,
/* 36989*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 36992*/                OPC_CheckChild0Same, 1,
/* 36994*/                OPC_CheckChild1Integer, 1, 
/* 36996*/                OPC_CheckType, MVT::i64,
/* 36998*/                OPC_MoveParent,
/* 36999*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37001*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 37003*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37005*/                OPC_MoveParent,
/* 37006*/                OPC_MoveParent,
/* 37007*/                OPC_MoveChild1,
/* 37008*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 37011*/                OPC_MoveChild0,
/* 37012*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37015*/                OPC_RecordMemRef,
/* 37016*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 37017*/                OPC_CheckFoldableChainNode,
/* 37018*/                OPC_MoveChild1,
/* 37019*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37022*/                OPC_CheckType, MVT::i64,
/* 37024*/                OPC_Scope, 36|128,1/*164*/, /*->37191*/ // 2 children in Scope
/* 37027*/                  OPC_CheckChild0Same, 3,
/* 37029*/                  OPC_CheckChild1Integer, 2, 
/* 37031*/                  OPC_MoveParent,
/* 37032*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37034*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37036*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37038*/                  OPC_MoveParent,
/* 37039*/                  OPC_MoveChild1,
/* 37040*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37043*/                  OPC_RecordMemRef,
/* 37044*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 37045*/                  OPC_CheckFoldableChainNode,
/* 37046*/                  OPC_MoveChild1,
/* 37047*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37050*/                  OPC_CheckChild0Same, 1,
/* 37052*/                  OPC_CheckChild1Integer, 2, 
/* 37054*/                  OPC_CheckType, MVT::i64,
/* 37056*/                  OPC_MoveParent,
/* 37057*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37059*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37061*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37063*/                  OPC_MoveParent,
/* 37064*/                  OPC_MoveParent,
/* 37065*/                  OPC_MoveParent,
/* 37066*/                  OPC_MoveParent,
/* 37067*/                  OPC_CheckType, MVT::i32,
/* 37069*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 37071*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 37081*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 37084*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 37091*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 37097*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37100*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 37108*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37111*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 37119*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37122*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 37131*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 37137*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37140*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 37148*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37151*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 37159*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37162*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 37171*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 37180*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 37183*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 37191*/                /*Scope*/ 36|128,1/*164*/, /*->37357*/
/* 37193*/                  OPC_CheckChild0Same, 1,
/* 37195*/                  OPC_CheckChild1Integer, 2, 
/* 37197*/                  OPC_MoveParent,
/* 37198*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37200*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37202*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37204*/                  OPC_MoveParent,
/* 37205*/                  OPC_MoveChild1,
/* 37206*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37209*/                  OPC_RecordMemRef,
/* 37210*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 37211*/                  OPC_CheckFoldableChainNode,
/* 37212*/                  OPC_MoveChild1,
/* 37213*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37216*/                  OPC_CheckChild0Same, 3,
/* 37218*/                  OPC_CheckChild1Integer, 2, 
/* 37220*/                  OPC_CheckType, MVT::i64,
/* 37222*/                  OPC_MoveParent,
/* 37223*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37225*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37227*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37229*/                  OPC_MoveParent,
/* 37230*/                  OPC_MoveParent,
/* 37231*/                  OPC_MoveParent,
/* 37232*/                  OPC_MoveParent,
/* 37233*/                  OPC_CheckType, MVT::i32,
/* 37235*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 37237*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 37247*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 37250*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 37257*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 37263*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37266*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 37274*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37277*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 37285*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37288*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 37297*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 37303*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37306*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 37314*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37317*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 37325*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37328*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 37337*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 37346*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 37349*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 37357*/                0, /*End of Scope*/
/* 37358*/              /*Scope*/ 5|128,3/*389*/, /*->37749*/
/* 37360*/                OPC_CheckChild0Same, 1,
/* 37362*/                OPC_CheckChild1Integer, 1, 
/* 37364*/                OPC_MoveParent,
/* 37365*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37367*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 37369*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37371*/                OPC_MoveParent,
/* 37372*/                OPC_MoveChild1,
/* 37373*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37376*/                OPC_RecordMemRef,
/* 37377*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 37378*/                OPC_CheckFoldableChainNode,
/* 37379*/                OPC_MoveChild1,
/* 37380*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37383*/                OPC_CheckChild0Same, 3,
/* 37385*/                OPC_CheckChild1Integer, 1, 
/* 37387*/                OPC_CheckType, MVT::i64,
/* 37389*/                OPC_MoveParent,
/* 37390*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37392*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 37394*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37396*/                OPC_MoveParent,
/* 37397*/                OPC_MoveParent,
/* 37398*/                OPC_MoveChild1,
/* 37399*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 37402*/                OPC_MoveChild0,
/* 37403*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37406*/                OPC_RecordMemRef,
/* 37407*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 37408*/                OPC_CheckFoldableChainNode,
/* 37409*/                OPC_MoveChild1,
/* 37410*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37413*/                OPC_CheckType, MVT::i64,
/* 37415*/                OPC_Scope, 36|128,1/*164*/, /*->37582*/ // 2 children in Scope
/* 37418*/                  OPC_CheckChild0Same, 3,
/* 37420*/                  OPC_CheckChild1Integer, 2, 
/* 37422*/                  OPC_MoveParent,
/* 37423*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37425*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37427*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37429*/                  OPC_MoveParent,
/* 37430*/                  OPC_MoveChild1,
/* 37431*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37434*/                  OPC_RecordMemRef,
/* 37435*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 37436*/                  OPC_CheckFoldableChainNode,
/* 37437*/                  OPC_MoveChild1,
/* 37438*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37441*/                  OPC_CheckChild0Same, 1,
/* 37443*/                  OPC_CheckChild1Integer, 2, 
/* 37445*/                  OPC_CheckType, MVT::i64,
/* 37447*/                  OPC_MoveParent,
/* 37448*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37450*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37452*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37454*/                  OPC_MoveParent,
/* 37455*/                  OPC_MoveParent,
/* 37456*/                  OPC_MoveParent,
/* 37457*/                  OPC_MoveParent,
/* 37458*/                  OPC_CheckType, MVT::i32,
/* 37460*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 37462*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 37472*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 37475*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 37482*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 37488*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37491*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 37499*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37502*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 37510*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37513*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 37522*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 37528*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37531*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 37539*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37542*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 37550*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37553*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 37562*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 37571*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 37574*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 37582*/                /*Scope*/ 36|128,1/*164*/, /*->37748*/
/* 37584*/                  OPC_CheckChild0Same, 1,
/* 37586*/                  OPC_CheckChild1Integer, 2, 
/* 37588*/                  OPC_MoveParent,
/* 37589*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37591*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37593*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37595*/                  OPC_MoveParent,
/* 37596*/                  OPC_MoveChild1,
/* 37597*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37600*/                  OPC_RecordMemRef,
/* 37601*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 37602*/                  OPC_CheckFoldableChainNode,
/* 37603*/                  OPC_MoveChild1,
/* 37604*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37607*/                  OPC_CheckChild0Same, 3,
/* 37609*/                  OPC_CheckChild1Integer, 2, 
/* 37611*/                  OPC_CheckType, MVT::i64,
/* 37613*/                  OPC_MoveParent,
/* 37614*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37616*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37618*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37620*/                  OPC_MoveParent,
/* 37621*/                  OPC_MoveParent,
/* 37622*/                  OPC_MoveParent,
/* 37623*/                  OPC_MoveParent,
/* 37624*/                  OPC_CheckType, MVT::i32,
/* 37626*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 37628*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 37638*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 37641*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 37648*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 37654*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37657*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 37665*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37668*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 37676*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37679*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 37688*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 37694*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37697*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 37705*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37708*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 37716*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37719*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 37728*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 37737*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 37740*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 37748*/                0, /*End of Scope*/
/* 37749*/              0, /*End of Scope*/
/* 37750*/            /*Scope*/ 63|128,6/*831*/, /*->38583*/
/* 37752*/              OPC_CheckChild1Same, 1,
/* 37754*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37756*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 37758*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37760*/              OPC_MoveParent,
/* 37761*/              OPC_MoveChild1,
/* 37762*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37765*/              OPC_RecordMemRef,
/* 37766*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 37767*/              OPC_CheckFoldableChainNode,
/* 37768*/              OPC_CheckChild1Same, 3,
/* 37770*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37772*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 37774*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37776*/              OPC_MoveParent,
/* 37777*/              OPC_MoveParent,
/* 37778*/              OPC_MoveChild1,
/* 37779*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37782*/              OPC_MoveChild0,
/* 37783*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 37786*/              OPC_MoveChild0,
/* 37787*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37790*/              OPC_RecordMemRef,
/* 37791*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 37792*/              OPC_CheckFoldableChainNode,
/* 37793*/              OPC_MoveChild1,
/* 37794*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37797*/              OPC_CheckType, MVT::i64,
/* 37799*/              OPC_Scope, 5|128,3/*389*/, /*->38191*/ // 2 children in Scope
/* 37802*/                OPC_CheckChild0Same, 3,
/* 37804*/                OPC_CheckChild1Integer, 1, 
/* 37806*/                OPC_MoveParent,
/* 37807*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37809*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 37811*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37813*/                OPC_MoveParent,
/* 37814*/                OPC_MoveChild1,
/* 37815*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37818*/                OPC_RecordMemRef,
/* 37819*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 37820*/                OPC_CheckFoldableChainNode,
/* 37821*/                OPC_MoveChild1,
/* 37822*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37825*/                OPC_CheckChild0Same, 1,
/* 37827*/                OPC_CheckChild1Integer, 1, 
/* 37829*/                OPC_CheckType, MVT::i64,
/* 37831*/                OPC_MoveParent,
/* 37832*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37834*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 37836*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37838*/                OPC_MoveParent,
/* 37839*/                OPC_MoveParent,
/* 37840*/                OPC_MoveChild1,
/* 37841*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 37844*/                OPC_MoveChild0,
/* 37845*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37848*/                OPC_RecordMemRef,
/* 37849*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 37850*/                OPC_CheckFoldableChainNode,
/* 37851*/                OPC_MoveChild1,
/* 37852*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37855*/                OPC_CheckType, MVT::i64,
/* 37857*/                OPC_Scope, 36|128,1/*164*/, /*->38024*/ // 2 children in Scope
/* 37860*/                  OPC_CheckChild0Same, 3,
/* 37862*/                  OPC_CheckChild1Integer, 2, 
/* 37864*/                  OPC_MoveParent,
/* 37865*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37867*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37869*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37871*/                  OPC_MoveParent,
/* 37872*/                  OPC_MoveChild1,
/* 37873*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 37876*/                  OPC_RecordMemRef,
/* 37877*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 37878*/                  OPC_CheckFoldableChainNode,
/* 37879*/                  OPC_MoveChild1,
/* 37880*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 37883*/                  OPC_CheckChild0Same, 1,
/* 37885*/                  OPC_CheckChild1Integer, 2, 
/* 37887*/                  OPC_CheckType, MVT::i64,
/* 37889*/                  OPC_MoveParent,
/* 37890*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 37892*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 37894*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 37896*/                  OPC_MoveParent,
/* 37897*/                  OPC_MoveParent,
/* 37898*/                  OPC_MoveParent,
/* 37899*/                  OPC_MoveParent,
/* 37900*/                  OPC_CheckType, MVT::i32,
/* 37902*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 37904*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 37914*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 37917*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 37924*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 37930*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37933*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 37941*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37944*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 37952*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37955*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 37964*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 37970*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 37973*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 37981*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 37984*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 37992*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 37995*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 38004*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 38013*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 38016*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 38024*/                /*Scope*/ 36|128,1/*164*/, /*->38190*/
/* 38026*/                  OPC_CheckChild0Same, 1,
/* 38028*/                  OPC_CheckChild1Integer, 2, 
/* 38030*/                  OPC_MoveParent,
/* 38031*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38033*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 38035*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38037*/                  OPC_MoveParent,
/* 38038*/                  OPC_MoveChild1,
/* 38039*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38042*/                  OPC_RecordMemRef,
/* 38043*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 38044*/                  OPC_CheckFoldableChainNode,
/* 38045*/                  OPC_MoveChild1,
/* 38046*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38049*/                  OPC_CheckChild0Same, 3,
/* 38051*/                  OPC_CheckChild1Integer, 2, 
/* 38053*/                  OPC_CheckType, MVT::i64,
/* 38055*/                  OPC_MoveParent,
/* 38056*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38058*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 38060*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38062*/                  OPC_MoveParent,
/* 38063*/                  OPC_MoveParent,
/* 38064*/                  OPC_MoveParent,
/* 38065*/                  OPC_MoveParent,
/* 38066*/                  OPC_CheckType, MVT::i32,
/* 38068*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 38070*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 38080*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 38083*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 38090*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 38096*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 38099*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 38107*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38110*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 38118*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38121*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 38130*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 38136*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 38139*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 38147*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38150*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 38158*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38161*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 38170*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 38179*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 38182*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 38190*/                0, /*End of Scope*/
/* 38191*/              /*Scope*/ 5|128,3/*389*/, /*->38582*/
/* 38193*/                OPC_CheckChild0Same, 1,
/* 38195*/                OPC_CheckChild1Integer, 1, 
/* 38197*/                OPC_MoveParent,
/* 38198*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38200*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 38202*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38204*/                OPC_MoveParent,
/* 38205*/                OPC_MoveChild1,
/* 38206*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38209*/                OPC_RecordMemRef,
/* 38210*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 38211*/                OPC_CheckFoldableChainNode,
/* 38212*/                OPC_MoveChild1,
/* 38213*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38216*/                OPC_CheckChild0Same, 3,
/* 38218*/                OPC_CheckChild1Integer, 1, 
/* 38220*/                OPC_CheckType, MVT::i64,
/* 38222*/                OPC_MoveParent,
/* 38223*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38225*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 38227*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38229*/                OPC_MoveParent,
/* 38230*/                OPC_MoveParent,
/* 38231*/                OPC_MoveChild1,
/* 38232*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 38235*/                OPC_MoveChild0,
/* 38236*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38239*/                OPC_RecordMemRef,
/* 38240*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 38241*/                OPC_CheckFoldableChainNode,
/* 38242*/                OPC_MoveChild1,
/* 38243*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38246*/                OPC_CheckType, MVT::i64,
/* 38248*/                OPC_Scope, 36|128,1/*164*/, /*->38415*/ // 2 children in Scope
/* 38251*/                  OPC_CheckChild0Same, 3,
/* 38253*/                  OPC_CheckChild1Integer, 2, 
/* 38255*/                  OPC_MoveParent,
/* 38256*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38258*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 38260*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38262*/                  OPC_MoveParent,
/* 38263*/                  OPC_MoveChild1,
/* 38264*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38267*/                  OPC_RecordMemRef,
/* 38268*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 38269*/                  OPC_CheckFoldableChainNode,
/* 38270*/                  OPC_MoveChild1,
/* 38271*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38274*/                  OPC_CheckChild0Same, 1,
/* 38276*/                  OPC_CheckChild1Integer, 2, 
/* 38278*/                  OPC_CheckType, MVT::i64,
/* 38280*/                  OPC_MoveParent,
/* 38281*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38283*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 38285*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38287*/                  OPC_MoveParent,
/* 38288*/                  OPC_MoveParent,
/* 38289*/                  OPC_MoveParent,
/* 38290*/                  OPC_MoveParent,
/* 38291*/                  OPC_CheckType, MVT::i32,
/* 38293*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 38295*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 38305*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 38308*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 38315*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 38321*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 38324*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 38332*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38335*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 38343*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38346*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 38355*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 38361*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 38364*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 38372*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38375*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 38383*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38386*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 38395*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 38404*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 38407*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 38415*/                /*Scope*/ 36|128,1/*164*/, /*->38581*/
/* 38417*/                  OPC_CheckChild0Same, 1,
/* 38419*/                  OPC_CheckChild1Integer, 2, 
/* 38421*/                  OPC_MoveParent,
/* 38422*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38424*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 38426*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38428*/                  OPC_MoveParent,
/* 38429*/                  OPC_MoveChild1,
/* 38430*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38433*/                  OPC_RecordMemRef,
/* 38434*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 38435*/                  OPC_CheckFoldableChainNode,
/* 38436*/                  OPC_MoveChild1,
/* 38437*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38440*/                  OPC_CheckChild0Same, 3,
/* 38442*/                  OPC_CheckChild1Integer, 2, 
/* 38444*/                  OPC_CheckType, MVT::i64,
/* 38446*/                  OPC_MoveParent,
/* 38447*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38449*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 38451*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38453*/                  OPC_MoveParent,
/* 38454*/                  OPC_MoveParent,
/* 38455*/                  OPC_MoveParent,
/* 38456*/                  OPC_MoveParent,
/* 38457*/                  OPC_CheckType, MVT::i32,
/* 38459*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 38461*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 38471*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 38474*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 38481*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 38487*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 38490*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 38498*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38501*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 38509*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38512*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 38521*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 38527*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 38530*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 38538*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38541*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 38549*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38552*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 38561*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 38570*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 38573*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 38581*/                0, /*End of Scope*/
/* 38582*/              0, /*End of Scope*/
/* 38583*/            /*Scope*/ 8|128,50/*6408*/, /*->44993*/
/* 38585*/              OPC_MoveChild1,
/* 38586*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38589*/              OPC_CheckType, MVT::i64,
/* 38591*/              OPC_Scope, 15|128,6/*783*/, /*->39377*/ // 8 children in Scope
/* 38594*/                OPC_CheckChild0Same, 3,
/* 38596*/                OPC_CheckChild1Integer, 1, 
/* 38598*/                OPC_MoveParent,
/* 38599*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38601*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 38603*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38605*/                OPC_MoveParent,
/* 38606*/                OPC_MoveChild1,
/* 38607*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38610*/                OPC_RecordMemRef,
/* 38611*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 38612*/                OPC_CheckFoldableChainNode,
/* 38613*/                OPC_MoveChild1,
/* 38614*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38617*/                OPC_CheckChild0Same, 1,
/* 38619*/                OPC_CheckChild1Integer, 1, 
/* 38621*/                OPC_CheckType, MVT::i64,
/* 38623*/                OPC_MoveParent,
/* 38624*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38626*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 38628*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38630*/                OPC_MoveParent,
/* 38631*/                OPC_MoveParent,
/* 38632*/                OPC_MoveChild1,
/* 38633*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38636*/                OPC_MoveChild0,
/* 38637*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 38640*/                OPC_MoveChild0,
/* 38641*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38644*/                OPC_RecordMemRef,
/* 38645*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 38646*/                OPC_CheckFoldableChainNode,
/* 38647*/                OPC_MoveChild1,
/* 38648*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38651*/                OPC_CheckType, MVT::i64,
/* 38653*/                OPC_Scope, 103|128,2/*359*/, /*->39015*/ // 2 children in Scope
/* 38656*/                  OPC_CheckChild0Same, 3,
/* 38658*/                  OPC_CheckChild1Integer, 2, 
/* 38660*/                  OPC_MoveParent,
/* 38661*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38663*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 38665*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38667*/                  OPC_MoveParent,
/* 38668*/                  OPC_MoveChild1,
/* 38669*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38672*/                  OPC_RecordMemRef,
/* 38673*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 38674*/                  OPC_CheckFoldableChainNode,
/* 38675*/                  OPC_MoveChild1,
/* 38676*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 38679*/                  OPC_CheckChild0Same, 1,
/* 38681*/                  OPC_CheckChild1Integer, 2, 
/* 38683*/                  OPC_CheckType, MVT::i64,
/* 38685*/                  OPC_MoveParent,
/* 38686*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38688*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 38690*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38692*/                  OPC_MoveParent,
/* 38693*/                  OPC_MoveParent,
/* 38694*/                  OPC_MoveChild1,
/* 38695*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 38698*/                  OPC_MoveChild0,
/* 38699*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38702*/                  OPC_RecordMemRef,
/* 38703*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 38704*/                  OPC_CheckFoldableChainNode,
/* 38705*/                  OPC_Scope, 24|128,1/*152*/, /*->38860*/ // 2 children in Scope
/* 38708*/                    OPC_CheckChild1Same, 3,
/* 38710*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38712*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 38714*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38716*/                    OPC_MoveParent,
/* 38717*/                    OPC_MoveChild1,
/* 38718*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38721*/                    OPC_RecordMemRef,
/* 38722*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 38723*/                    OPC_CheckFoldableChainNode,
/* 38724*/                    OPC_CheckChild1Same, 1,
/* 38726*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38728*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 38730*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38732*/                    OPC_MoveParent,
/* 38733*/                    OPC_MoveParent,
/* 38734*/                    OPC_MoveParent,
/* 38735*/                    OPC_MoveParent,
/* 38736*/                    OPC_CheckType, MVT::i32,
/* 38738*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 38740*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 38750*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 38753*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 38760*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 38766*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 38769*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 38777*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38780*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 38788*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38791*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 38800*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 38806*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 38809*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 38817*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38820*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 38828*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38831*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 38840*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 38849*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 38852*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 38860*/                  /*Scope*/ 24|128,1/*152*/, /*->39014*/
/* 38862*/                    OPC_CheckChild1Same, 1,
/* 38864*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38866*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 38868*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38870*/                    OPC_MoveParent,
/* 38871*/                    OPC_MoveChild1,
/* 38872*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 38875*/                    OPC_RecordMemRef,
/* 38876*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 38877*/                    OPC_CheckFoldableChainNode,
/* 38878*/                    OPC_CheckChild1Same, 3,
/* 38880*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 38882*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 38884*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 38886*/                    OPC_MoveParent,
/* 38887*/                    OPC_MoveParent,
/* 38888*/                    OPC_MoveParent,
/* 38889*/                    OPC_MoveParent,
/* 38890*/                    OPC_CheckType, MVT::i32,
/* 38892*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 38894*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 38904*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 38907*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 38914*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 38920*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 38923*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 38931*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38934*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 38942*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38945*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 38954*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 38960*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 38963*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 38971*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 38974*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 38982*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 38985*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 38994*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 39003*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 39006*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 39014*/                  0, /*End of Scope*/
/* 39015*/                /*Scope*/ 103|128,2/*359*/, /*->39376*/
/* 39017*/                  OPC_CheckChild0Same, 1,
/* 39019*/                  OPC_CheckChild1Integer, 2, 
/* 39021*/                  OPC_MoveParent,
/* 39022*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39024*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 39026*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39028*/                  OPC_MoveParent,
/* 39029*/                  OPC_MoveChild1,
/* 39030*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39033*/                  OPC_RecordMemRef,
/* 39034*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 39035*/                  OPC_CheckFoldableChainNode,
/* 39036*/                  OPC_MoveChild1,
/* 39037*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 39040*/                  OPC_CheckChild0Same, 3,
/* 39042*/                  OPC_CheckChild1Integer, 2, 
/* 39044*/                  OPC_CheckType, MVT::i64,
/* 39046*/                  OPC_MoveParent,
/* 39047*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39049*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 39051*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39053*/                  OPC_MoveParent,
/* 39054*/                  OPC_MoveParent,
/* 39055*/                  OPC_MoveChild1,
/* 39056*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 39059*/                  OPC_MoveChild0,
/* 39060*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39063*/                  OPC_RecordMemRef,
/* 39064*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 39065*/                  OPC_CheckFoldableChainNode,
/* 39066*/                  OPC_Scope, 24|128,1/*152*/, /*->39221*/ // 2 children in Scope
/* 39069*/                    OPC_CheckChild1Same, 3,
/* 39071*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39073*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39075*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39077*/                    OPC_MoveParent,
/* 39078*/                    OPC_MoveChild1,
/* 39079*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39082*/                    OPC_RecordMemRef,
/* 39083*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 39084*/                    OPC_CheckFoldableChainNode,
/* 39085*/                    OPC_CheckChild1Same, 1,
/* 39087*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39089*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39091*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39093*/                    OPC_MoveParent,
/* 39094*/                    OPC_MoveParent,
/* 39095*/                    OPC_MoveParent,
/* 39096*/                    OPC_MoveParent,
/* 39097*/                    OPC_CheckType, MVT::i32,
/* 39099*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 39101*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 39111*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 39114*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 39121*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 39127*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39130*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 39138*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39141*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 39149*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39152*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 39161*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 39167*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39170*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 39178*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39181*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 39189*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39192*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 39201*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 39210*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 39213*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 39221*/                  /*Scope*/ 24|128,1/*152*/, /*->39375*/
/* 39223*/                    OPC_CheckChild1Same, 1,
/* 39225*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39227*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39229*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39231*/                    OPC_MoveParent,
/* 39232*/                    OPC_MoveChild1,
/* 39233*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39236*/                    OPC_RecordMemRef,
/* 39237*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 39238*/                    OPC_CheckFoldableChainNode,
/* 39239*/                    OPC_CheckChild1Same, 3,
/* 39241*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39243*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39245*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39247*/                    OPC_MoveParent,
/* 39248*/                    OPC_MoveParent,
/* 39249*/                    OPC_MoveParent,
/* 39250*/                    OPC_MoveParent,
/* 39251*/                    OPC_CheckType, MVT::i32,
/* 39253*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 39255*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 39265*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 39268*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 39275*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 39281*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39284*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 39292*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39295*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 39303*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39306*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 39315*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 39321*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39324*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 39332*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39335*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 39343*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39346*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 39355*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 39364*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 39367*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 39375*/                  0, /*End of Scope*/
/* 39376*/                0, /*End of Scope*/
/* 39377*/              /*Scope*/ 15|128,6/*783*/, /*->40162*/
/* 39379*/                OPC_CheckChild0Same, 1,
/* 39381*/                OPC_CheckChild1Integer, 1, 
/* 39383*/                OPC_MoveParent,
/* 39384*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39386*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 39388*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39390*/                OPC_MoveParent,
/* 39391*/                OPC_MoveChild1,
/* 39392*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39395*/                OPC_RecordMemRef,
/* 39396*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 39397*/                OPC_CheckFoldableChainNode,
/* 39398*/                OPC_MoveChild1,
/* 39399*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 39402*/                OPC_CheckChild0Same, 3,
/* 39404*/                OPC_CheckChild1Integer, 1, 
/* 39406*/                OPC_CheckType, MVT::i64,
/* 39408*/                OPC_MoveParent,
/* 39409*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39411*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 39413*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39415*/                OPC_MoveParent,
/* 39416*/                OPC_MoveParent,
/* 39417*/                OPC_MoveChild1,
/* 39418*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 39421*/                OPC_MoveChild0,
/* 39422*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 39425*/                OPC_MoveChild0,
/* 39426*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39429*/                OPC_RecordMemRef,
/* 39430*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 39431*/                OPC_CheckFoldableChainNode,
/* 39432*/                OPC_MoveChild1,
/* 39433*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 39436*/                OPC_CheckType, MVT::i64,
/* 39438*/                OPC_Scope, 103|128,2/*359*/, /*->39800*/ // 2 children in Scope
/* 39441*/                  OPC_CheckChild0Same, 3,
/* 39443*/                  OPC_CheckChild1Integer, 2, 
/* 39445*/                  OPC_MoveParent,
/* 39446*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39448*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 39450*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39452*/                  OPC_MoveParent,
/* 39453*/                  OPC_MoveChild1,
/* 39454*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39457*/                  OPC_RecordMemRef,
/* 39458*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 39459*/                  OPC_CheckFoldableChainNode,
/* 39460*/                  OPC_MoveChild1,
/* 39461*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 39464*/                  OPC_CheckChild0Same, 1,
/* 39466*/                  OPC_CheckChild1Integer, 2, 
/* 39468*/                  OPC_CheckType, MVT::i64,
/* 39470*/                  OPC_MoveParent,
/* 39471*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39473*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 39475*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39477*/                  OPC_MoveParent,
/* 39478*/                  OPC_MoveParent,
/* 39479*/                  OPC_MoveChild1,
/* 39480*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 39483*/                  OPC_MoveChild0,
/* 39484*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39487*/                  OPC_RecordMemRef,
/* 39488*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 39489*/                  OPC_CheckFoldableChainNode,
/* 39490*/                  OPC_Scope, 24|128,1/*152*/, /*->39645*/ // 2 children in Scope
/* 39493*/                    OPC_CheckChild1Same, 3,
/* 39495*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39497*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39499*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39501*/                    OPC_MoveParent,
/* 39502*/                    OPC_MoveChild1,
/* 39503*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39506*/                    OPC_RecordMemRef,
/* 39507*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 39508*/                    OPC_CheckFoldableChainNode,
/* 39509*/                    OPC_CheckChild1Same, 1,
/* 39511*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39513*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39515*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39517*/                    OPC_MoveParent,
/* 39518*/                    OPC_MoveParent,
/* 39519*/                    OPC_MoveParent,
/* 39520*/                    OPC_MoveParent,
/* 39521*/                    OPC_CheckType, MVT::i32,
/* 39523*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 39525*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 39535*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 39538*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 39545*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 39551*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39554*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 39562*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39565*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 39573*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39576*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 39585*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 39591*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39594*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 39602*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39605*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 39613*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39616*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 39625*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 39634*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 39637*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 39645*/                  /*Scope*/ 24|128,1/*152*/, /*->39799*/
/* 39647*/                    OPC_CheckChild1Same, 1,
/* 39649*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39651*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39653*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39655*/                    OPC_MoveParent,
/* 39656*/                    OPC_MoveChild1,
/* 39657*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39660*/                    OPC_RecordMemRef,
/* 39661*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 39662*/                    OPC_CheckFoldableChainNode,
/* 39663*/                    OPC_CheckChild1Same, 3,
/* 39665*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39667*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39669*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39671*/                    OPC_MoveParent,
/* 39672*/                    OPC_MoveParent,
/* 39673*/                    OPC_MoveParent,
/* 39674*/                    OPC_MoveParent,
/* 39675*/                    OPC_CheckType, MVT::i32,
/* 39677*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 39679*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 39689*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 39692*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 39699*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 39705*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39708*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 39716*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39719*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 39727*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39730*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 39739*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 39745*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39748*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 39756*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39759*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 39767*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39770*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 39779*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 39788*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 39791*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 39799*/                  0, /*End of Scope*/
/* 39800*/                /*Scope*/ 103|128,2/*359*/, /*->40161*/
/* 39802*/                  OPC_CheckChild0Same, 1,
/* 39804*/                  OPC_CheckChild1Integer, 2, 
/* 39806*/                  OPC_MoveParent,
/* 39807*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39809*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 39811*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39813*/                  OPC_MoveParent,
/* 39814*/                  OPC_MoveChild1,
/* 39815*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39818*/                  OPC_RecordMemRef,
/* 39819*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 39820*/                  OPC_CheckFoldableChainNode,
/* 39821*/                  OPC_MoveChild1,
/* 39822*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 39825*/                  OPC_CheckChild0Same, 3,
/* 39827*/                  OPC_CheckChild1Integer, 2, 
/* 39829*/                  OPC_CheckType, MVT::i64,
/* 39831*/                  OPC_MoveParent,
/* 39832*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39834*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 39836*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39838*/                  OPC_MoveParent,
/* 39839*/                  OPC_MoveParent,
/* 39840*/                  OPC_MoveChild1,
/* 39841*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 39844*/                  OPC_MoveChild0,
/* 39845*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39848*/                  OPC_RecordMemRef,
/* 39849*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 39850*/                  OPC_CheckFoldableChainNode,
/* 39851*/                  OPC_Scope, 24|128,1/*152*/, /*->40006*/ // 2 children in Scope
/* 39854*/                    OPC_CheckChild1Same, 3,
/* 39856*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39858*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39860*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39862*/                    OPC_MoveParent,
/* 39863*/                    OPC_MoveChild1,
/* 39864*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 39867*/                    OPC_RecordMemRef,
/* 39868*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 39869*/                    OPC_CheckFoldableChainNode,
/* 39870*/                    OPC_CheckChild1Same, 1,
/* 39872*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 39874*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 39876*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 39878*/                    OPC_MoveParent,
/* 39879*/                    OPC_MoveParent,
/* 39880*/                    OPC_MoveParent,
/* 39881*/                    OPC_MoveParent,
/* 39882*/                    OPC_CheckType, MVT::i32,
/* 39884*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 39886*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 39896*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 39899*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 39906*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 39912*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39915*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 39923*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39926*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 39934*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39937*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 39946*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 39952*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 39955*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 39963*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 39966*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 39974*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 39977*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 39986*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 39995*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 39998*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 40006*/                  /*Scope*/ 24|128,1/*152*/, /*->40160*/
/* 40008*/                    OPC_CheckChild1Same, 1,
/* 40010*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40012*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40014*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40016*/                    OPC_MoveParent,
/* 40017*/                    OPC_MoveChild1,
/* 40018*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40021*/                    OPC_RecordMemRef,
/* 40022*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 40023*/                    OPC_CheckFoldableChainNode,
/* 40024*/                    OPC_CheckChild1Same, 3,
/* 40026*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40028*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40030*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40032*/                    OPC_MoveParent,
/* 40033*/                    OPC_MoveParent,
/* 40034*/                    OPC_MoveParent,
/* 40035*/                    OPC_MoveParent,
/* 40036*/                    OPC_CheckType, MVT::i32,
/* 40038*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 40040*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 40050*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 40053*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 40060*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 40066*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40069*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 40077*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40080*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 40088*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40091*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 40100*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 40106*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40109*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 40117*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40120*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 40128*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40131*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 40140*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 40149*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 40152*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 40160*/                  0, /*End of Scope*/
/* 40161*/                0, /*End of Scope*/
/* 40162*/              /*Scope*/ 45|128,6/*813*/, /*->40977*/
/* 40164*/                OPC_CheckChild0Same, 3,
/* 40166*/                OPC_CheckChild1Integer, 1, 
/* 40168*/                OPC_MoveParent,
/* 40169*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40171*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 40173*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40175*/                OPC_MoveParent,
/* 40176*/                OPC_MoveChild1,
/* 40177*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40180*/                OPC_RecordMemRef,
/* 40181*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 40182*/                OPC_CheckFoldableChainNode,
/* 40183*/                OPC_MoveChild1,
/* 40184*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 40187*/                OPC_CheckChild0Same, 1,
/* 40189*/                OPC_CheckChild1Integer, 1, 
/* 40191*/                OPC_CheckType, MVT::i64,
/* 40193*/                OPC_MoveParent,
/* 40194*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40196*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 40198*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40200*/                OPC_MoveParent,
/* 40201*/                OPC_MoveParent,
/* 40202*/                OPC_MoveChild1,
/* 40203*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 40206*/                OPC_MoveChild0,
/* 40207*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 40210*/                OPC_MoveChild0,
/* 40211*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40214*/                OPC_RecordMemRef,
/* 40215*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 40216*/                OPC_CheckFoldableChainNode,
/* 40217*/                OPC_Scope, 121|128,2/*377*/, /*->40597*/ // 2 children in Scope
/* 40220*/                  OPC_CheckChild1Same, 3,
/* 40222*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40224*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 40226*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40228*/                  OPC_MoveParent,
/* 40229*/                  OPC_MoveChild1,
/* 40230*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40233*/                  OPC_RecordMemRef,
/* 40234*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 40235*/                  OPC_CheckFoldableChainNode,
/* 40236*/                  OPC_CheckChild1Same, 1,
/* 40238*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40240*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 40242*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40244*/                  OPC_MoveParent,
/* 40245*/                  OPC_MoveParent,
/* 40246*/                  OPC_MoveChild1,
/* 40247*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 40250*/                  OPC_MoveChild0,
/* 40251*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40254*/                  OPC_RecordMemRef,
/* 40255*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 40256*/                  OPC_CheckFoldableChainNode,
/* 40257*/                  OPC_MoveChild1,
/* 40258*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 40261*/                  OPC_CheckType, MVT::i64,
/* 40263*/                  OPC_Scope, 36|128,1/*164*/, /*->40430*/ // 2 children in Scope
/* 40266*/                    OPC_CheckChild0Same, 3,
/* 40268*/                    OPC_CheckChild1Integer, 2, 
/* 40270*/                    OPC_MoveParent,
/* 40271*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40273*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40275*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40277*/                    OPC_MoveParent,
/* 40278*/                    OPC_MoveChild1,
/* 40279*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40282*/                    OPC_RecordMemRef,
/* 40283*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 40284*/                    OPC_CheckFoldableChainNode,
/* 40285*/                    OPC_MoveChild1,
/* 40286*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 40289*/                    OPC_CheckChild0Same, 1,
/* 40291*/                    OPC_CheckChild1Integer, 2, 
/* 40293*/                    OPC_CheckType, MVT::i64,
/* 40295*/                    OPC_MoveParent,
/* 40296*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40298*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40300*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40302*/                    OPC_MoveParent,
/* 40303*/                    OPC_MoveParent,
/* 40304*/                    OPC_MoveParent,
/* 40305*/                    OPC_MoveParent,
/* 40306*/                    OPC_CheckType, MVT::i32,
/* 40308*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 40310*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 40320*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 40323*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 40330*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 40336*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40339*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 40347*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40350*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 40358*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40361*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 40370*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 40376*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40379*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 40387*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40390*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 40398*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40401*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 40410*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 40419*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 40422*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 40430*/                  /*Scope*/ 36|128,1/*164*/, /*->40596*/
/* 40432*/                    OPC_CheckChild0Same, 1,
/* 40434*/                    OPC_CheckChild1Integer, 2, 
/* 40436*/                    OPC_MoveParent,
/* 40437*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40439*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40441*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40443*/                    OPC_MoveParent,
/* 40444*/                    OPC_MoveChild1,
/* 40445*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40448*/                    OPC_RecordMemRef,
/* 40449*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 40450*/                    OPC_CheckFoldableChainNode,
/* 40451*/                    OPC_MoveChild1,
/* 40452*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 40455*/                    OPC_CheckChild0Same, 3,
/* 40457*/                    OPC_CheckChild1Integer, 2, 
/* 40459*/                    OPC_CheckType, MVT::i64,
/* 40461*/                    OPC_MoveParent,
/* 40462*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40464*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40466*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40468*/                    OPC_MoveParent,
/* 40469*/                    OPC_MoveParent,
/* 40470*/                    OPC_MoveParent,
/* 40471*/                    OPC_MoveParent,
/* 40472*/                    OPC_CheckType, MVT::i32,
/* 40474*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 40476*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 40486*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 40489*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 40496*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 40502*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40505*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 40513*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40516*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 40524*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40527*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 40536*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 40542*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40545*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 40553*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40556*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 40564*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40567*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 40576*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 40585*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 40588*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 40596*/                  0, /*End of Scope*/
/* 40597*/                /*Scope*/ 121|128,2/*377*/, /*->40976*/
/* 40599*/                  OPC_CheckChild1Same, 1,
/* 40601*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40603*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 40605*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40607*/                  OPC_MoveParent,
/* 40608*/                  OPC_MoveChild1,
/* 40609*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40612*/                  OPC_RecordMemRef,
/* 40613*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 40614*/                  OPC_CheckFoldableChainNode,
/* 40615*/                  OPC_CheckChild1Same, 3,
/* 40617*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40619*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 40621*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40623*/                  OPC_MoveParent,
/* 40624*/                  OPC_MoveParent,
/* 40625*/                  OPC_MoveChild1,
/* 40626*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 40629*/                  OPC_MoveChild0,
/* 40630*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40633*/                  OPC_RecordMemRef,
/* 40634*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 40635*/                  OPC_CheckFoldableChainNode,
/* 40636*/                  OPC_MoveChild1,
/* 40637*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 40640*/                  OPC_CheckType, MVT::i64,
/* 40642*/                  OPC_Scope, 36|128,1/*164*/, /*->40809*/ // 2 children in Scope
/* 40645*/                    OPC_CheckChild0Same, 3,
/* 40647*/                    OPC_CheckChild1Integer, 2, 
/* 40649*/                    OPC_MoveParent,
/* 40650*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40652*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40654*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40656*/                    OPC_MoveParent,
/* 40657*/                    OPC_MoveChild1,
/* 40658*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40661*/                    OPC_RecordMemRef,
/* 40662*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 40663*/                    OPC_CheckFoldableChainNode,
/* 40664*/                    OPC_MoveChild1,
/* 40665*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 40668*/                    OPC_CheckChild0Same, 1,
/* 40670*/                    OPC_CheckChild1Integer, 2, 
/* 40672*/                    OPC_CheckType, MVT::i64,
/* 40674*/                    OPC_MoveParent,
/* 40675*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40677*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40679*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40681*/                    OPC_MoveParent,
/* 40682*/                    OPC_MoveParent,
/* 40683*/                    OPC_MoveParent,
/* 40684*/                    OPC_MoveParent,
/* 40685*/                    OPC_CheckType, MVT::i32,
/* 40687*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 40689*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 40699*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 40702*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 40709*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 40715*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40718*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 40726*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40729*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 40737*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40740*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 40749*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 40755*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40758*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 40766*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40769*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 40777*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40780*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 40789*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 40798*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 40801*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 40809*/                  /*Scope*/ 36|128,1/*164*/, /*->40975*/
/* 40811*/                    OPC_CheckChild0Same, 1,
/* 40813*/                    OPC_CheckChild1Integer, 2, 
/* 40815*/                    OPC_MoveParent,
/* 40816*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40818*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40820*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40822*/                    OPC_MoveParent,
/* 40823*/                    OPC_MoveChild1,
/* 40824*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40827*/                    OPC_RecordMemRef,
/* 40828*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 40829*/                    OPC_CheckFoldableChainNode,
/* 40830*/                    OPC_MoveChild1,
/* 40831*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 40834*/                    OPC_CheckChild0Same, 3,
/* 40836*/                    OPC_CheckChild1Integer, 2, 
/* 40838*/                    OPC_CheckType, MVT::i64,
/* 40840*/                    OPC_MoveParent,
/* 40841*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40843*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 40845*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40847*/                    OPC_MoveParent,
/* 40848*/                    OPC_MoveParent,
/* 40849*/                    OPC_MoveParent,
/* 40850*/                    OPC_MoveParent,
/* 40851*/                    OPC_CheckType, MVT::i32,
/* 40853*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 40855*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 40865*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 40868*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 40875*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 40881*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40884*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 40892*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40895*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 40903*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40906*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 40915*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 40921*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 40924*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 40932*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 40935*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 40943*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 40946*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 40955*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 40964*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 40967*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 40975*/                  0, /*End of Scope*/
/* 40976*/                0, /*End of Scope*/
/* 40977*/              /*Scope*/ 45|128,6/*813*/, /*->41792*/
/* 40979*/                OPC_CheckChild0Same, 1,
/* 40981*/                OPC_CheckChild1Integer, 1, 
/* 40983*/                OPC_MoveParent,
/* 40984*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 40986*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 40988*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 40990*/                OPC_MoveParent,
/* 40991*/                OPC_MoveChild1,
/* 40992*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 40995*/                OPC_RecordMemRef,
/* 40996*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 40997*/                OPC_CheckFoldableChainNode,
/* 40998*/                OPC_MoveChild1,
/* 40999*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41002*/                OPC_CheckChild0Same, 3,
/* 41004*/                OPC_CheckChild1Integer, 1, 
/* 41006*/                OPC_CheckType, MVT::i64,
/* 41008*/                OPC_MoveParent,
/* 41009*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41011*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 41013*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41015*/                OPC_MoveParent,
/* 41016*/                OPC_MoveParent,
/* 41017*/                OPC_MoveChild1,
/* 41018*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41021*/                OPC_MoveChild0,
/* 41022*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 41025*/                OPC_MoveChild0,
/* 41026*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41029*/                OPC_RecordMemRef,
/* 41030*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 41031*/                OPC_CheckFoldableChainNode,
/* 41032*/                OPC_Scope, 121|128,2/*377*/, /*->41412*/ // 2 children in Scope
/* 41035*/                  OPC_CheckChild1Same, 3,
/* 41037*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41039*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 41041*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41043*/                  OPC_MoveParent,
/* 41044*/                  OPC_MoveChild1,
/* 41045*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41048*/                  OPC_RecordMemRef,
/* 41049*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 41050*/                  OPC_CheckFoldableChainNode,
/* 41051*/                  OPC_CheckChild1Same, 1,
/* 41053*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41055*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 41057*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41059*/                  OPC_MoveParent,
/* 41060*/                  OPC_MoveParent,
/* 41061*/                  OPC_MoveChild1,
/* 41062*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 41065*/                  OPC_MoveChild0,
/* 41066*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41069*/                  OPC_RecordMemRef,
/* 41070*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 41071*/                  OPC_CheckFoldableChainNode,
/* 41072*/                  OPC_MoveChild1,
/* 41073*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41076*/                  OPC_CheckType, MVT::i64,
/* 41078*/                  OPC_Scope, 36|128,1/*164*/, /*->41245*/ // 2 children in Scope
/* 41081*/                    OPC_CheckChild0Same, 3,
/* 41083*/                    OPC_CheckChild1Integer, 2, 
/* 41085*/                    OPC_MoveParent,
/* 41086*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41088*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41090*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41092*/                    OPC_MoveParent,
/* 41093*/                    OPC_MoveChild1,
/* 41094*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41097*/                    OPC_RecordMemRef,
/* 41098*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 41099*/                    OPC_CheckFoldableChainNode,
/* 41100*/                    OPC_MoveChild1,
/* 41101*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41104*/                    OPC_CheckChild0Same, 1,
/* 41106*/                    OPC_CheckChild1Integer, 2, 
/* 41108*/                    OPC_CheckType, MVT::i64,
/* 41110*/                    OPC_MoveParent,
/* 41111*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41113*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41115*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41117*/                    OPC_MoveParent,
/* 41118*/                    OPC_MoveParent,
/* 41119*/                    OPC_MoveParent,
/* 41120*/                    OPC_MoveParent,
/* 41121*/                    OPC_CheckType, MVT::i32,
/* 41123*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 41125*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 41135*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 41138*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 41145*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 41151*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41154*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 41162*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41165*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 41173*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41176*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 41185*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 41191*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41194*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 41202*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41205*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 41213*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41216*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 41225*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 41234*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 41237*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 41245*/                  /*Scope*/ 36|128,1/*164*/, /*->41411*/
/* 41247*/                    OPC_CheckChild0Same, 1,
/* 41249*/                    OPC_CheckChild1Integer, 2, 
/* 41251*/                    OPC_MoveParent,
/* 41252*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41254*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41256*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41258*/                    OPC_MoveParent,
/* 41259*/                    OPC_MoveChild1,
/* 41260*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41263*/                    OPC_RecordMemRef,
/* 41264*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 41265*/                    OPC_CheckFoldableChainNode,
/* 41266*/                    OPC_MoveChild1,
/* 41267*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41270*/                    OPC_CheckChild0Same, 3,
/* 41272*/                    OPC_CheckChild1Integer, 2, 
/* 41274*/                    OPC_CheckType, MVT::i64,
/* 41276*/                    OPC_MoveParent,
/* 41277*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41279*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41281*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41283*/                    OPC_MoveParent,
/* 41284*/                    OPC_MoveParent,
/* 41285*/                    OPC_MoveParent,
/* 41286*/                    OPC_MoveParent,
/* 41287*/                    OPC_CheckType, MVT::i32,
/* 41289*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 41291*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 41301*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 41304*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 41311*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 41317*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41320*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 41328*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41331*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 41339*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41342*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 41351*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 41357*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41360*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 41368*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41371*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 41379*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41382*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 41391*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 41400*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 41403*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 41411*/                  0, /*End of Scope*/
/* 41412*/                /*Scope*/ 121|128,2/*377*/, /*->41791*/
/* 41414*/                  OPC_CheckChild1Same, 1,
/* 41416*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41418*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 41420*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41422*/                  OPC_MoveParent,
/* 41423*/                  OPC_MoveChild1,
/* 41424*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41427*/                  OPC_RecordMemRef,
/* 41428*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 41429*/                  OPC_CheckFoldableChainNode,
/* 41430*/                  OPC_CheckChild1Same, 3,
/* 41432*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41434*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 41436*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41438*/                  OPC_MoveParent,
/* 41439*/                  OPC_MoveParent,
/* 41440*/                  OPC_MoveChild1,
/* 41441*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 41444*/                  OPC_MoveChild0,
/* 41445*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41448*/                  OPC_RecordMemRef,
/* 41449*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 41450*/                  OPC_CheckFoldableChainNode,
/* 41451*/                  OPC_MoveChild1,
/* 41452*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41455*/                  OPC_CheckType, MVT::i64,
/* 41457*/                  OPC_Scope, 36|128,1/*164*/, /*->41624*/ // 2 children in Scope
/* 41460*/                    OPC_CheckChild0Same, 3,
/* 41462*/                    OPC_CheckChild1Integer, 2, 
/* 41464*/                    OPC_MoveParent,
/* 41465*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41467*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41469*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41471*/                    OPC_MoveParent,
/* 41472*/                    OPC_MoveChild1,
/* 41473*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41476*/                    OPC_RecordMemRef,
/* 41477*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 41478*/                    OPC_CheckFoldableChainNode,
/* 41479*/                    OPC_MoveChild1,
/* 41480*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41483*/                    OPC_CheckChild0Same, 1,
/* 41485*/                    OPC_CheckChild1Integer, 2, 
/* 41487*/                    OPC_CheckType, MVT::i64,
/* 41489*/                    OPC_MoveParent,
/* 41490*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41492*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41494*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41496*/                    OPC_MoveParent,
/* 41497*/                    OPC_MoveParent,
/* 41498*/                    OPC_MoveParent,
/* 41499*/                    OPC_MoveParent,
/* 41500*/                    OPC_CheckType, MVT::i32,
/* 41502*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 41504*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 41514*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 41517*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 41524*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 41530*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41533*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 41541*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41544*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 41552*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41555*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 41564*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 41570*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41573*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 41581*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41584*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 41592*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41595*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 41604*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 41613*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 41616*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 41624*/                  /*Scope*/ 36|128,1/*164*/, /*->41790*/
/* 41626*/                    OPC_CheckChild0Same, 1,
/* 41628*/                    OPC_CheckChild1Integer, 2, 
/* 41630*/                    OPC_MoveParent,
/* 41631*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41633*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41635*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41637*/                    OPC_MoveParent,
/* 41638*/                    OPC_MoveChild1,
/* 41639*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41642*/                    OPC_RecordMemRef,
/* 41643*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 41644*/                    OPC_CheckFoldableChainNode,
/* 41645*/                    OPC_MoveChild1,
/* 41646*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41649*/                    OPC_CheckChild0Same, 3,
/* 41651*/                    OPC_CheckChild1Integer, 2, 
/* 41653*/                    OPC_CheckType, MVT::i64,
/* 41655*/                    OPC_MoveParent,
/* 41656*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41658*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41660*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41662*/                    OPC_MoveParent,
/* 41663*/                    OPC_MoveParent,
/* 41664*/                    OPC_MoveParent,
/* 41665*/                    OPC_MoveParent,
/* 41666*/                    OPC_CheckType, MVT::i32,
/* 41668*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 41670*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 41680*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 41683*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 41690*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 41696*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41699*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 41707*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41710*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 41718*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41721*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 41730*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 41736*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41739*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 41747*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41750*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 41758*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41761*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 41770*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 41779*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 41782*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 41790*/                  0, /*End of Scope*/
/* 41791*/                0, /*End of Scope*/
/* 41792*/              /*Scope*/ 15|128,6/*783*/, /*->42577*/
/* 41794*/                OPC_CheckChild0Same, 3,
/* 41796*/                OPC_CheckChild1Integer, 2, 
/* 41798*/                OPC_MoveParent,
/* 41799*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41801*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 41803*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41805*/                OPC_MoveParent,
/* 41806*/                OPC_MoveChild1,
/* 41807*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41810*/                OPC_RecordMemRef,
/* 41811*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 41812*/                OPC_CheckFoldableChainNode,
/* 41813*/                OPC_MoveChild1,
/* 41814*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41817*/                OPC_CheckChild0Same, 1,
/* 41819*/                OPC_CheckChild1Integer, 2, 
/* 41821*/                OPC_CheckType, MVT::i64,
/* 41823*/                OPC_MoveParent,
/* 41824*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41826*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 41828*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41830*/                OPC_MoveParent,
/* 41831*/                OPC_MoveParent,
/* 41832*/                OPC_MoveChild1,
/* 41833*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41836*/                OPC_MoveChild0,
/* 41837*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 41840*/                OPC_MoveChild0,
/* 41841*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41844*/                OPC_RecordMemRef,
/* 41845*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 41846*/                OPC_CheckFoldableChainNode,
/* 41847*/                OPC_MoveChild1,
/* 41848*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41851*/                OPC_CheckType, MVT::i64,
/* 41853*/                OPC_Scope, 103|128,2/*359*/, /*->42215*/ // 2 children in Scope
/* 41856*/                  OPC_CheckChild0Same, 3,
/* 41858*/                  OPC_CheckChild1Integer, 1, 
/* 41860*/                  OPC_MoveParent,
/* 41861*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41863*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 41865*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41867*/                  OPC_MoveParent,
/* 41868*/                  OPC_MoveChild1,
/* 41869*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41872*/                  OPC_RecordMemRef,
/* 41873*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 41874*/                  OPC_CheckFoldableChainNode,
/* 41875*/                  OPC_MoveChild1,
/* 41876*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 41879*/                  OPC_CheckChild0Same, 1,
/* 41881*/                  OPC_CheckChild1Integer, 1, 
/* 41883*/                  OPC_CheckType, MVT::i64,
/* 41885*/                  OPC_MoveParent,
/* 41886*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41888*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 41890*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41892*/                  OPC_MoveParent,
/* 41893*/                  OPC_MoveParent,
/* 41894*/                  OPC_MoveChild1,
/* 41895*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 41898*/                  OPC_MoveChild0,
/* 41899*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41902*/                  OPC_RecordMemRef,
/* 41903*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 41904*/                  OPC_CheckFoldableChainNode,
/* 41905*/                  OPC_Scope, 24|128,1/*152*/, /*->42060*/ // 2 children in Scope
/* 41908*/                    OPC_CheckChild1Same, 3,
/* 41910*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41912*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41914*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41916*/                    OPC_MoveParent,
/* 41917*/                    OPC_MoveChild1,
/* 41918*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 41921*/                    OPC_RecordMemRef,
/* 41922*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 41923*/                    OPC_CheckFoldableChainNode,
/* 41924*/                    OPC_CheckChild1Same, 1,
/* 41926*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 41928*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 41930*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 41932*/                    OPC_MoveParent,
/* 41933*/                    OPC_MoveParent,
/* 41934*/                    OPC_MoveParent,
/* 41935*/                    OPC_MoveParent,
/* 41936*/                    OPC_CheckType, MVT::i32,
/* 41938*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 41940*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 41950*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 41953*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 41960*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 41966*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 41969*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 41977*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 41980*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 41988*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 41991*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 42000*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 42006*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42009*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 42017*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42020*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 42028*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42031*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 42040*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 42049*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 42052*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 42060*/                  /*Scope*/ 24|128,1/*152*/, /*->42214*/
/* 42062*/                    OPC_CheckChild1Same, 1,
/* 42064*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42066*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42068*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42070*/                    OPC_MoveParent,
/* 42071*/                    OPC_MoveChild1,
/* 42072*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42075*/                    OPC_RecordMemRef,
/* 42076*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 42077*/                    OPC_CheckFoldableChainNode,
/* 42078*/                    OPC_CheckChild1Same, 3,
/* 42080*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42082*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42084*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42086*/                    OPC_MoveParent,
/* 42087*/                    OPC_MoveParent,
/* 42088*/                    OPC_MoveParent,
/* 42089*/                    OPC_MoveParent,
/* 42090*/                    OPC_CheckType, MVT::i32,
/* 42092*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 42094*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 42104*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 42107*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 42114*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 42120*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42123*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 42131*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42134*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 42142*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42145*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 42154*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 42160*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42163*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 42171*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42174*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 42182*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42185*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 42194*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 42203*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 42206*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 42214*/                  0, /*End of Scope*/
/* 42215*/                /*Scope*/ 103|128,2/*359*/, /*->42576*/
/* 42217*/                  OPC_CheckChild0Same, 1,
/* 42219*/                  OPC_CheckChild1Integer, 1, 
/* 42221*/                  OPC_MoveParent,
/* 42222*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42224*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 42226*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42228*/                  OPC_MoveParent,
/* 42229*/                  OPC_MoveChild1,
/* 42230*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42233*/                  OPC_RecordMemRef,
/* 42234*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 42235*/                  OPC_CheckFoldableChainNode,
/* 42236*/                  OPC_MoveChild1,
/* 42237*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 42240*/                  OPC_CheckChild0Same, 3,
/* 42242*/                  OPC_CheckChild1Integer, 1, 
/* 42244*/                  OPC_CheckType, MVT::i64,
/* 42246*/                  OPC_MoveParent,
/* 42247*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42249*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 42251*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42253*/                  OPC_MoveParent,
/* 42254*/                  OPC_MoveParent,
/* 42255*/                  OPC_MoveChild1,
/* 42256*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 42259*/                  OPC_MoveChild0,
/* 42260*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42263*/                  OPC_RecordMemRef,
/* 42264*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 42265*/                  OPC_CheckFoldableChainNode,
/* 42266*/                  OPC_Scope, 24|128,1/*152*/, /*->42421*/ // 2 children in Scope
/* 42269*/                    OPC_CheckChild1Same, 3,
/* 42271*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42273*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42275*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42277*/                    OPC_MoveParent,
/* 42278*/                    OPC_MoveChild1,
/* 42279*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42282*/                    OPC_RecordMemRef,
/* 42283*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 42284*/                    OPC_CheckFoldableChainNode,
/* 42285*/                    OPC_CheckChild1Same, 1,
/* 42287*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42289*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42291*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42293*/                    OPC_MoveParent,
/* 42294*/                    OPC_MoveParent,
/* 42295*/                    OPC_MoveParent,
/* 42296*/                    OPC_MoveParent,
/* 42297*/                    OPC_CheckType, MVT::i32,
/* 42299*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 42301*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 42311*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 42314*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 42321*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 42327*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42330*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 42338*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42341*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 42349*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42352*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 42361*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 42367*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42370*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 42378*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42381*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 42389*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42392*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 42401*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 42410*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 42413*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 42421*/                  /*Scope*/ 24|128,1/*152*/, /*->42575*/
/* 42423*/                    OPC_CheckChild1Same, 1,
/* 42425*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42427*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42429*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42431*/                    OPC_MoveParent,
/* 42432*/                    OPC_MoveChild1,
/* 42433*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42436*/                    OPC_RecordMemRef,
/* 42437*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 42438*/                    OPC_CheckFoldableChainNode,
/* 42439*/                    OPC_CheckChild1Same, 3,
/* 42441*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42443*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42445*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42447*/                    OPC_MoveParent,
/* 42448*/                    OPC_MoveParent,
/* 42449*/                    OPC_MoveParent,
/* 42450*/                    OPC_MoveParent,
/* 42451*/                    OPC_CheckType, MVT::i32,
/* 42453*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 42455*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 42465*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 42468*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 42475*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 42481*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42484*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 42492*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42495*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 42503*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42506*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 42515*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 42521*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42524*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 42532*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42535*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 42543*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42546*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 42555*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 42564*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 42567*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 42575*/                  0, /*End of Scope*/
/* 42576*/                0, /*End of Scope*/
/* 42577*/              /*Scope*/ 15|128,6/*783*/, /*->43362*/
/* 42579*/                OPC_CheckChild0Same, 1,
/* 42581*/                OPC_CheckChild1Integer, 2, 
/* 42583*/                OPC_MoveParent,
/* 42584*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42586*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 42588*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42590*/                OPC_MoveParent,
/* 42591*/                OPC_MoveChild1,
/* 42592*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42595*/                OPC_RecordMemRef,
/* 42596*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 42597*/                OPC_CheckFoldableChainNode,
/* 42598*/                OPC_MoveChild1,
/* 42599*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 42602*/                OPC_CheckChild0Same, 3,
/* 42604*/                OPC_CheckChild1Integer, 2, 
/* 42606*/                OPC_CheckType, MVT::i64,
/* 42608*/                OPC_MoveParent,
/* 42609*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42611*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 42613*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42615*/                OPC_MoveParent,
/* 42616*/                OPC_MoveParent,
/* 42617*/                OPC_MoveChild1,
/* 42618*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 42621*/                OPC_MoveChild0,
/* 42622*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 42625*/                OPC_MoveChild0,
/* 42626*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42629*/                OPC_RecordMemRef,
/* 42630*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 42631*/                OPC_CheckFoldableChainNode,
/* 42632*/                OPC_MoveChild1,
/* 42633*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 42636*/                OPC_CheckType, MVT::i64,
/* 42638*/                OPC_Scope, 103|128,2/*359*/, /*->43000*/ // 2 children in Scope
/* 42641*/                  OPC_CheckChild0Same, 3,
/* 42643*/                  OPC_CheckChild1Integer, 1, 
/* 42645*/                  OPC_MoveParent,
/* 42646*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42648*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 42650*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42652*/                  OPC_MoveParent,
/* 42653*/                  OPC_MoveChild1,
/* 42654*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42657*/                  OPC_RecordMemRef,
/* 42658*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 42659*/                  OPC_CheckFoldableChainNode,
/* 42660*/                  OPC_MoveChild1,
/* 42661*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 42664*/                  OPC_CheckChild0Same, 1,
/* 42666*/                  OPC_CheckChild1Integer, 1, 
/* 42668*/                  OPC_CheckType, MVT::i64,
/* 42670*/                  OPC_MoveParent,
/* 42671*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42673*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 42675*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42677*/                  OPC_MoveParent,
/* 42678*/                  OPC_MoveParent,
/* 42679*/                  OPC_MoveChild1,
/* 42680*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 42683*/                  OPC_MoveChild0,
/* 42684*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42687*/                  OPC_RecordMemRef,
/* 42688*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 42689*/                  OPC_CheckFoldableChainNode,
/* 42690*/                  OPC_Scope, 24|128,1/*152*/, /*->42845*/ // 2 children in Scope
/* 42693*/                    OPC_CheckChild1Same, 3,
/* 42695*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42697*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42699*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42701*/                    OPC_MoveParent,
/* 42702*/                    OPC_MoveChild1,
/* 42703*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42706*/                    OPC_RecordMemRef,
/* 42707*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 42708*/                    OPC_CheckFoldableChainNode,
/* 42709*/                    OPC_CheckChild1Same, 1,
/* 42711*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42713*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42715*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42717*/                    OPC_MoveParent,
/* 42718*/                    OPC_MoveParent,
/* 42719*/                    OPC_MoveParent,
/* 42720*/                    OPC_MoveParent,
/* 42721*/                    OPC_CheckType, MVT::i32,
/* 42723*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 42725*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 42735*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 42738*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 42745*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 42751*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42754*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 42762*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42765*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 42773*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42776*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 42785*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 42791*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42794*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 42802*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42805*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 42813*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42816*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 42825*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 42834*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 42837*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 42845*/                  /*Scope*/ 24|128,1/*152*/, /*->42999*/
/* 42847*/                    OPC_CheckChild1Same, 1,
/* 42849*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42851*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42853*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42855*/                    OPC_MoveParent,
/* 42856*/                    OPC_MoveChild1,
/* 42857*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 42860*/                    OPC_RecordMemRef,
/* 42861*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 42862*/                    OPC_CheckFoldableChainNode,
/* 42863*/                    OPC_CheckChild1Same, 3,
/* 42865*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 42867*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 42869*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 42871*/                    OPC_MoveParent,
/* 42872*/                    OPC_MoveParent,
/* 42873*/                    OPC_MoveParent,
/* 42874*/                    OPC_MoveParent,
/* 42875*/                    OPC_CheckType, MVT::i32,
/* 42877*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 42879*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 42889*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 42892*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 42899*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 42905*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42908*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 42916*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42919*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 42927*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42930*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 42939*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 42945*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 42948*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 42956*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 42959*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 42967*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 42970*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 42979*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 42988*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 42991*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 42999*/                  0, /*End of Scope*/
/* 43000*/                /*Scope*/ 103|128,2/*359*/, /*->43361*/
/* 43002*/                  OPC_CheckChild0Same, 1,
/* 43004*/                  OPC_CheckChild1Integer, 1, 
/* 43006*/                  OPC_MoveParent,
/* 43007*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43009*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 43011*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43013*/                  OPC_MoveParent,
/* 43014*/                  OPC_MoveChild1,
/* 43015*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43018*/                  OPC_RecordMemRef,
/* 43019*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 43020*/                  OPC_CheckFoldableChainNode,
/* 43021*/                  OPC_MoveChild1,
/* 43022*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 43025*/                  OPC_CheckChild0Same, 3,
/* 43027*/                  OPC_CheckChild1Integer, 1, 
/* 43029*/                  OPC_CheckType, MVT::i64,
/* 43031*/                  OPC_MoveParent,
/* 43032*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43034*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 43036*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43038*/                  OPC_MoveParent,
/* 43039*/                  OPC_MoveParent,
/* 43040*/                  OPC_MoveChild1,
/* 43041*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 43044*/                  OPC_MoveChild0,
/* 43045*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43048*/                  OPC_RecordMemRef,
/* 43049*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 43050*/                  OPC_CheckFoldableChainNode,
/* 43051*/                  OPC_Scope, 24|128,1/*152*/, /*->43206*/ // 2 children in Scope
/* 43054*/                    OPC_CheckChild1Same, 3,
/* 43056*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43058*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43060*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43062*/                    OPC_MoveParent,
/* 43063*/                    OPC_MoveChild1,
/* 43064*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43067*/                    OPC_RecordMemRef,
/* 43068*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 43069*/                    OPC_CheckFoldableChainNode,
/* 43070*/                    OPC_CheckChild1Same, 1,
/* 43072*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43074*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43076*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43078*/                    OPC_MoveParent,
/* 43079*/                    OPC_MoveParent,
/* 43080*/                    OPC_MoveParent,
/* 43081*/                    OPC_MoveParent,
/* 43082*/                    OPC_CheckType, MVT::i32,
/* 43084*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 43086*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 43096*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 43099*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 43106*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 43112*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43115*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 43123*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43126*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 43134*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43137*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 43146*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 43152*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43155*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 43163*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43166*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 43174*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43177*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 43186*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 43195*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 43198*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 43206*/                  /*Scope*/ 24|128,1/*152*/, /*->43360*/
/* 43208*/                    OPC_CheckChild1Same, 1,
/* 43210*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43212*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43214*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43216*/                    OPC_MoveParent,
/* 43217*/                    OPC_MoveChild1,
/* 43218*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43221*/                    OPC_RecordMemRef,
/* 43222*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 43223*/                    OPC_CheckFoldableChainNode,
/* 43224*/                    OPC_CheckChild1Same, 3,
/* 43226*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43228*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43230*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43232*/                    OPC_MoveParent,
/* 43233*/                    OPC_MoveParent,
/* 43234*/                    OPC_MoveParent,
/* 43235*/                    OPC_MoveParent,
/* 43236*/                    OPC_CheckType, MVT::i32,
/* 43238*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 43240*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 43250*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 43253*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 43260*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 43266*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43269*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 43277*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43280*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 43288*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43291*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 43300*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 43306*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43309*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 43317*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43320*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 43328*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43331*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 43340*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 43349*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 43352*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 43360*/                  0, /*End of Scope*/
/* 43361*/                0, /*End of Scope*/
/* 43362*/              /*Scope*/ 45|128,6/*813*/, /*->44177*/
/* 43364*/                OPC_CheckChild0Same, 3,
/* 43366*/                OPC_CheckChild1Integer, 2, 
/* 43368*/                OPC_MoveParent,
/* 43369*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43371*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 43373*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43375*/                OPC_MoveParent,
/* 43376*/                OPC_MoveChild1,
/* 43377*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43380*/                OPC_RecordMemRef,
/* 43381*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 43382*/                OPC_CheckFoldableChainNode,
/* 43383*/                OPC_MoveChild1,
/* 43384*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 43387*/                OPC_CheckChild0Same, 1,
/* 43389*/                OPC_CheckChild1Integer, 2, 
/* 43391*/                OPC_CheckType, MVT::i64,
/* 43393*/                OPC_MoveParent,
/* 43394*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43396*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 43398*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43400*/                OPC_MoveParent,
/* 43401*/                OPC_MoveParent,
/* 43402*/                OPC_MoveChild1,
/* 43403*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 43406*/                OPC_MoveChild0,
/* 43407*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 43410*/                OPC_MoveChild0,
/* 43411*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43414*/                OPC_RecordMemRef,
/* 43415*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 43416*/                OPC_CheckFoldableChainNode,
/* 43417*/                OPC_Scope, 121|128,2/*377*/, /*->43797*/ // 2 children in Scope
/* 43420*/                  OPC_CheckChild1Same, 3,
/* 43422*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43424*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 43426*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43428*/                  OPC_MoveParent,
/* 43429*/                  OPC_MoveChild1,
/* 43430*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43433*/                  OPC_RecordMemRef,
/* 43434*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 43435*/                  OPC_CheckFoldableChainNode,
/* 43436*/                  OPC_CheckChild1Same, 1,
/* 43438*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43440*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 43442*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43444*/                  OPC_MoveParent,
/* 43445*/                  OPC_MoveParent,
/* 43446*/                  OPC_MoveChild1,
/* 43447*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 43450*/                  OPC_MoveChild0,
/* 43451*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43454*/                  OPC_RecordMemRef,
/* 43455*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 43456*/                  OPC_CheckFoldableChainNode,
/* 43457*/                  OPC_MoveChild1,
/* 43458*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 43461*/                  OPC_CheckType, MVT::i64,
/* 43463*/                  OPC_Scope, 36|128,1/*164*/, /*->43630*/ // 2 children in Scope
/* 43466*/                    OPC_CheckChild0Same, 3,
/* 43468*/                    OPC_CheckChild1Integer, 1, 
/* 43470*/                    OPC_MoveParent,
/* 43471*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43473*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43475*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43477*/                    OPC_MoveParent,
/* 43478*/                    OPC_MoveChild1,
/* 43479*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43482*/                    OPC_RecordMemRef,
/* 43483*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 43484*/                    OPC_CheckFoldableChainNode,
/* 43485*/                    OPC_MoveChild1,
/* 43486*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 43489*/                    OPC_CheckChild0Same, 1,
/* 43491*/                    OPC_CheckChild1Integer, 1, 
/* 43493*/                    OPC_CheckType, MVT::i64,
/* 43495*/                    OPC_MoveParent,
/* 43496*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43498*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43500*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43502*/                    OPC_MoveParent,
/* 43503*/                    OPC_MoveParent,
/* 43504*/                    OPC_MoveParent,
/* 43505*/                    OPC_MoveParent,
/* 43506*/                    OPC_CheckType, MVT::i32,
/* 43508*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 43510*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 43520*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 43523*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 43530*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 43536*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43539*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 43547*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43550*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 43558*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43561*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 43570*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 43576*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43579*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 43587*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43590*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 43598*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43601*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 43610*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 43619*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 43622*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 43630*/                  /*Scope*/ 36|128,1/*164*/, /*->43796*/
/* 43632*/                    OPC_CheckChild0Same, 1,
/* 43634*/                    OPC_CheckChild1Integer, 1, 
/* 43636*/                    OPC_MoveParent,
/* 43637*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43639*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43641*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43643*/                    OPC_MoveParent,
/* 43644*/                    OPC_MoveChild1,
/* 43645*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43648*/                    OPC_RecordMemRef,
/* 43649*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 43650*/                    OPC_CheckFoldableChainNode,
/* 43651*/                    OPC_MoveChild1,
/* 43652*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 43655*/                    OPC_CheckChild0Same, 3,
/* 43657*/                    OPC_CheckChild1Integer, 1, 
/* 43659*/                    OPC_CheckType, MVT::i64,
/* 43661*/                    OPC_MoveParent,
/* 43662*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43664*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43666*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43668*/                    OPC_MoveParent,
/* 43669*/                    OPC_MoveParent,
/* 43670*/                    OPC_MoveParent,
/* 43671*/                    OPC_MoveParent,
/* 43672*/                    OPC_CheckType, MVT::i32,
/* 43674*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 43676*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 43686*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 43689*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 43696*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 43702*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43705*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 43713*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43716*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 43724*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43727*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 43736*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 43742*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43745*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 43753*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43756*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 43764*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43767*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 43776*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 43785*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 43788*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 43796*/                  0, /*End of Scope*/
/* 43797*/                /*Scope*/ 121|128,2/*377*/, /*->44176*/
/* 43799*/                  OPC_CheckChild1Same, 1,
/* 43801*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43803*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 43805*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43807*/                  OPC_MoveParent,
/* 43808*/                  OPC_MoveChild1,
/* 43809*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43812*/                  OPC_RecordMemRef,
/* 43813*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 43814*/                  OPC_CheckFoldableChainNode,
/* 43815*/                  OPC_CheckChild1Same, 3,
/* 43817*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43819*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 43821*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43823*/                  OPC_MoveParent,
/* 43824*/                  OPC_MoveParent,
/* 43825*/                  OPC_MoveChild1,
/* 43826*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 43829*/                  OPC_MoveChild0,
/* 43830*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43833*/                  OPC_RecordMemRef,
/* 43834*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 43835*/                  OPC_CheckFoldableChainNode,
/* 43836*/                  OPC_MoveChild1,
/* 43837*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 43840*/                  OPC_CheckType, MVT::i64,
/* 43842*/                  OPC_Scope, 36|128,1/*164*/, /*->44009*/ // 2 children in Scope
/* 43845*/                    OPC_CheckChild0Same, 3,
/* 43847*/                    OPC_CheckChild1Integer, 1, 
/* 43849*/                    OPC_MoveParent,
/* 43850*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43852*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43854*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43856*/                    OPC_MoveParent,
/* 43857*/                    OPC_MoveChild1,
/* 43858*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 43861*/                    OPC_RecordMemRef,
/* 43862*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 43863*/                    OPC_CheckFoldableChainNode,
/* 43864*/                    OPC_MoveChild1,
/* 43865*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 43868*/                    OPC_CheckChild0Same, 1,
/* 43870*/                    OPC_CheckChild1Integer, 1, 
/* 43872*/                    OPC_CheckType, MVT::i64,
/* 43874*/                    OPC_MoveParent,
/* 43875*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 43877*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 43879*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 43881*/                    OPC_MoveParent,
/* 43882*/                    OPC_MoveParent,
/* 43883*/                    OPC_MoveParent,
/* 43884*/                    OPC_MoveParent,
/* 43885*/                    OPC_CheckType, MVT::i32,
/* 43887*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 43889*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 43899*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 43902*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 43909*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 43915*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43918*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 43926*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43929*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 43937*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43940*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 43949*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 43955*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 43958*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 43966*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 43969*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 43977*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 43980*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 43989*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 43998*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 44001*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 44009*/                  /*Scope*/ 36|128,1/*164*/, /*->44175*/
/* 44011*/                    OPC_CheckChild0Same, 1,
/* 44013*/                    OPC_CheckChild1Integer, 1, 
/* 44015*/                    OPC_MoveParent,
/* 44016*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44018*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44020*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44022*/                    OPC_MoveParent,
/* 44023*/                    OPC_MoveChild1,
/* 44024*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44027*/                    OPC_RecordMemRef,
/* 44028*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 44029*/                    OPC_CheckFoldableChainNode,
/* 44030*/                    OPC_MoveChild1,
/* 44031*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44034*/                    OPC_CheckChild0Same, 3,
/* 44036*/                    OPC_CheckChild1Integer, 1, 
/* 44038*/                    OPC_CheckType, MVT::i64,
/* 44040*/                    OPC_MoveParent,
/* 44041*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44043*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44045*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44047*/                    OPC_MoveParent,
/* 44048*/                    OPC_MoveParent,
/* 44049*/                    OPC_MoveParent,
/* 44050*/                    OPC_MoveParent,
/* 44051*/                    OPC_CheckType, MVT::i32,
/* 44053*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 44055*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 44065*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 44068*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 44075*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 44081*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44084*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 44092*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44095*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 44103*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44106*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 44115*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 44121*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44124*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 44132*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44135*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 44143*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44146*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 44155*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 44164*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 44167*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 44175*/                  0, /*End of Scope*/
/* 44176*/                0, /*End of Scope*/
/* 44177*/              /*Scope*/ 45|128,6/*813*/, /*->44992*/
/* 44179*/                OPC_CheckChild0Same, 1,
/* 44181*/                OPC_CheckChild1Integer, 2, 
/* 44183*/                OPC_MoveParent,
/* 44184*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44186*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 44188*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44190*/                OPC_MoveParent,
/* 44191*/                OPC_MoveChild1,
/* 44192*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44195*/                OPC_RecordMemRef,
/* 44196*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 44197*/                OPC_CheckFoldableChainNode,
/* 44198*/                OPC_MoveChild1,
/* 44199*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44202*/                OPC_CheckChild0Same, 3,
/* 44204*/                OPC_CheckChild1Integer, 2, 
/* 44206*/                OPC_CheckType, MVT::i64,
/* 44208*/                OPC_MoveParent,
/* 44209*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44211*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 44213*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44215*/                OPC_MoveParent,
/* 44216*/                OPC_MoveParent,
/* 44217*/                OPC_MoveChild1,
/* 44218*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44221*/                OPC_MoveChild0,
/* 44222*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 44225*/                OPC_MoveChild0,
/* 44226*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44229*/                OPC_RecordMemRef,
/* 44230*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 44231*/                OPC_CheckFoldableChainNode,
/* 44232*/                OPC_Scope, 121|128,2/*377*/, /*->44612*/ // 2 children in Scope
/* 44235*/                  OPC_CheckChild1Same, 3,
/* 44237*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44239*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 44241*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44243*/                  OPC_MoveParent,
/* 44244*/                  OPC_MoveChild1,
/* 44245*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44248*/                  OPC_RecordMemRef,
/* 44249*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 44250*/                  OPC_CheckFoldableChainNode,
/* 44251*/                  OPC_CheckChild1Same, 1,
/* 44253*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44255*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 44257*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44259*/                  OPC_MoveParent,
/* 44260*/                  OPC_MoveParent,
/* 44261*/                  OPC_MoveChild1,
/* 44262*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 44265*/                  OPC_MoveChild0,
/* 44266*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44269*/                  OPC_RecordMemRef,
/* 44270*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 44271*/                  OPC_CheckFoldableChainNode,
/* 44272*/                  OPC_MoveChild1,
/* 44273*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44276*/                  OPC_CheckType, MVT::i64,
/* 44278*/                  OPC_Scope, 36|128,1/*164*/, /*->44445*/ // 2 children in Scope
/* 44281*/                    OPC_CheckChild0Same, 3,
/* 44283*/                    OPC_CheckChild1Integer, 1, 
/* 44285*/                    OPC_MoveParent,
/* 44286*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44288*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44290*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44292*/                    OPC_MoveParent,
/* 44293*/                    OPC_MoveChild1,
/* 44294*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44297*/                    OPC_RecordMemRef,
/* 44298*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 44299*/                    OPC_CheckFoldableChainNode,
/* 44300*/                    OPC_MoveChild1,
/* 44301*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44304*/                    OPC_CheckChild0Same, 1,
/* 44306*/                    OPC_CheckChild1Integer, 1, 
/* 44308*/                    OPC_CheckType, MVT::i64,
/* 44310*/                    OPC_MoveParent,
/* 44311*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44313*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44315*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44317*/                    OPC_MoveParent,
/* 44318*/                    OPC_MoveParent,
/* 44319*/                    OPC_MoveParent,
/* 44320*/                    OPC_MoveParent,
/* 44321*/                    OPC_CheckType, MVT::i32,
/* 44323*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 44325*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 44335*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 44338*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 44345*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 44351*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44354*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 44362*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44365*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 44373*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44376*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 44385*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 44391*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44394*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 44402*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44405*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 44413*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44416*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 44425*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 44434*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 44437*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 44445*/                  /*Scope*/ 36|128,1/*164*/, /*->44611*/
/* 44447*/                    OPC_CheckChild0Same, 1,
/* 44449*/                    OPC_CheckChild1Integer, 1, 
/* 44451*/                    OPC_MoveParent,
/* 44452*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44454*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44456*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44458*/                    OPC_MoveParent,
/* 44459*/                    OPC_MoveChild1,
/* 44460*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44463*/                    OPC_RecordMemRef,
/* 44464*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 44465*/                    OPC_CheckFoldableChainNode,
/* 44466*/                    OPC_MoveChild1,
/* 44467*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44470*/                    OPC_CheckChild0Same, 3,
/* 44472*/                    OPC_CheckChild1Integer, 1, 
/* 44474*/                    OPC_CheckType, MVT::i64,
/* 44476*/                    OPC_MoveParent,
/* 44477*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44479*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44481*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44483*/                    OPC_MoveParent,
/* 44484*/                    OPC_MoveParent,
/* 44485*/                    OPC_MoveParent,
/* 44486*/                    OPC_MoveParent,
/* 44487*/                    OPC_CheckType, MVT::i32,
/* 44489*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 44491*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 44501*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 44504*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 44511*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 44517*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44520*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 44528*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44531*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 44539*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44542*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 44551*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 44557*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44560*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 44568*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44571*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 44579*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44582*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 44591*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 44600*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 44603*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 44611*/                  0, /*End of Scope*/
/* 44612*/                /*Scope*/ 121|128,2/*377*/, /*->44991*/
/* 44614*/                  OPC_CheckChild1Same, 1,
/* 44616*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44618*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 44620*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44622*/                  OPC_MoveParent,
/* 44623*/                  OPC_MoveChild1,
/* 44624*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44627*/                  OPC_RecordMemRef,
/* 44628*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 44629*/                  OPC_CheckFoldableChainNode,
/* 44630*/                  OPC_CheckChild1Same, 3,
/* 44632*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44634*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 44636*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44638*/                  OPC_MoveParent,
/* 44639*/                  OPC_MoveParent,
/* 44640*/                  OPC_MoveChild1,
/* 44641*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 44644*/                  OPC_MoveChild0,
/* 44645*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44648*/                  OPC_RecordMemRef,
/* 44649*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 44650*/                  OPC_CheckFoldableChainNode,
/* 44651*/                  OPC_MoveChild1,
/* 44652*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44655*/                  OPC_CheckType, MVT::i64,
/* 44657*/                  OPC_Scope, 36|128,1/*164*/, /*->44824*/ // 2 children in Scope
/* 44660*/                    OPC_CheckChild0Same, 3,
/* 44662*/                    OPC_CheckChild1Integer, 1, 
/* 44664*/                    OPC_MoveParent,
/* 44665*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44667*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44669*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44671*/                    OPC_MoveParent,
/* 44672*/                    OPC_MoveChild1,
/* 44673*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44676*/                    OPC_RecordMemRef,
/* 44677*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 44678*/                    OPC_CheckFoldableChainNode,
/* 44679*/                    OPC_MoveChild1,
/* 44680*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44683*/                    OPC_CheckChild0Same, 1,
/* 44685*/                    OPC_CheckChild1Integer, 1, 
/* 44687*/                    OPC_CheckType, MVT::i64,
/* 44689*/                    OPC_MoveParent,
/* 44690*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44692*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44694*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44696*/                    OPC_MoveParent,
/* 44697*/                    OPC_MoveParent,
/* 44698*/                    OPC_MoveParent,
/* 44699*/                    OPC_MoveParent,
/* 44700*/                    OPC_CheckType, MVT::i32,
/* 44702*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 44704*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 44714*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 44717*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 44724*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 44730*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44733*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 44741*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44744*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 44752*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44755*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 44764*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 44770*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44773*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 44781*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44784*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 44792*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44795*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 44804*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 44813*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 44816*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 44824*/                  /*Scope*/ 36|128,1/*164*/, /*->44990*/
/* 44826*/                    OPC_CheckChild0Same, 1,
/* 44828*/                    OPC_CheckChild1Integer, 1, 
/* 44830*/                    OPC_MoveParent,
/* 44831*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44833*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44835*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44837*/                    OPC_MoveParent,
/* 44838*/                    OPC_MoveChild1,
/* 44839*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 44842*/                    OPC_RecordMemRef,
/* 44843*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 44844*/                    OPC_CheckFoldableChainNode,
/* 44845*/                    OPC_MoveChild1,
/* 44846*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 44849*/                    OPC_CheckChild0Same, 3,
/* 44851*/                    OPC_CheckChild1Integer, 1, 
/* 44853*/                    OPC_CheckType, MVT::i64,
/* 44855*/                    OPC_MoveParent,
/* 44856*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 44858*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 44860*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 44862*/                    OPC_MoveParent,
/* 44863*/                    OPC_MoveParent,
/* 44864*/                    OPC_MoveParent,
/* 44865*/                    OPC_MoveParent,
/* 44866*/                    OPC_CheckType, MVT::i32,
/* 44868*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 44870*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 44880*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 44883*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 44890*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 44896*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44899*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 44907*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44910*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 44918*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44921*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 44930*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 44936*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 44939*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 44947*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 44950*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 44958*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 44961*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 44970*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 44979*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 44982*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 44990*/                  0, /*End of Scope*/
/* 44991*/                0, /*End of Scope*/
/* 44992*/              0, /*End of Scope*/
/* 44993*/            0, /*End of Scope*/
/* 44994*/          0, // EndSwitchOpcode
/* 44995*/        /*Scope*/ 99|128,46|128,2/*38755*/, /*->83753*/
/* 44998*/          OPC_CheckPredicate, 7, // Predicate_zextload
/* 45000*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45002*/          OPC_MoveParent,
/* 45003*/          OPC_MoveChild1,
/* 45004*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45007*/          OPC_RecordMemRef,
/* 45008*/          OPC_RecordNode, // #2 = 'ld' chained node
/* 45009*/          OPC_CheckFoldableChainNode,
/* 45010*/          OPC_MoveChild1,
/* 45011*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45014*/          OPC_RecordChild0, // #3 = $Rm
/* 45015*/          OPC_CheckChild1Integer, 3, 
/* 45017*/          OPC_CheckType, MVT::i64,
/* 45019*/          OPC_MoveParent,
/* 45020*/          OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45022*/          OPC_CheckPredicate, 7, // Predicate_zextload
/* 45024*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45026*/          OPC_MoveParent,
/* 45027*/          OPC_MoveParent,
/* 45028*/          OPC_MoveChild1,
/* 45029*/          OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45032*/          OPC_MoveChild0,
/* 45033*/          OPC_SwitchOpcode /*2 cases */, 45|128,23|128,1/*19373*/, TARGET_VAL(ISD::ADD),// ->64412
/* 45039*/            OPC_MoveChild0,
/* 45040*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 45043*/            OPC_MoveChild0,
/* 45044*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45047*/            OPC_RecordMemRef,
/* 45048*/            OPC_RecordNode, // #4 = 'ld' chained node
/* 45049*/            OPC_CheckFoldableChainNode,
/* 45050*/            OPC_Scope, 6|128,37/*4742*/, /*->49795*/ // 12 children in Scope
/* 45053*/              OPC_MoveChild1,
/* 45054*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45057*/              OPC_CheckType, MVT::i64,
/* 45059*/              OPC_Scope, 9|128,6/*777*/, /*->45839*/ // 6 children in Scope
/* 45062*/                OPC_CheckChild0Same, 1,
/* 45064*/                OPC_CheckChild1Integer, 2, 
/* 45066*/                OPC_MoveParent,
/* 45067*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45069*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 45071*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45073*/                OPC_MoveParent,
/* 45074*/                OPC_MoveChild1,
/* 45075*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45078*/                OPC_RecordMemRef,
/* 45079*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 45080*/                OPC_CheckFoldableChainNode,
/* 45081*/                OPC_MoveChild1,
/* 45082*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45085*/                OPC_CheckChild0Same, 3,
/* 45087*/                OPC_CheckChild1Integer, 2, 
/* 45089*/                OPC_CheckType, MVT::i64,
/* 45091*/                OPC_MoveParent,
/* 45092*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45094*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 45096*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45098*/                OPC_MoveParent,
/* 45099*/                OPC_MoveParent,
/* 45100*/                OPC_MoveChild1,
/* 45101*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 45104*/                OPC_MoveChild0,
/* 45105*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45108*/                OPC_RecordMemRef,
/* 45109*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 45110*/                OPC_CheckFoldableChainNode,
/* 45111*/                OPC_MoveChild1,
/* 45112*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45115*/                OPC_CheckType, MVT::i64,
/* 45117*/                OPC_Scope, 102|128,2/*358*/, /*->45478*/ // 2 children in Scope
/* 45120*/                  OPC_CheckChild0Same, 1,
/* 45122*/                  OPC_CheckChild1Integer, 1, 
/* 45124*/                  OPC_MoveParent,
/* 45125*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45127*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 45129*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45131*/                  OPC_MoveParent,
/* 45132*/                  OPC_MoveChild1,
/* 45133*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45136*/                  OPC_RecordMemRef,
/* 45137*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 45138*/                  OPC_CheckFoldableChainNode,
/* 45139*/                  OPC_MoveChild1,
/* 45140*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45143*/                  OPC_CheckChild0Same, 3,
/* 45145*/                  OPC_CheckChild1Integer, 1, 
/* 45147*/                  OPC_CheckType, MVT::i64,
/* 45149*/                  OPC_MoveParent,
/* 45150*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45152*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 45154*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45156*/                  OPC_MoveParent,
/* 45157*/                  OPC_MoveParent,
/* 45158*/                  OPC_MoveParent,
/* 45159*/                  OPC_MoveChild1,
/* 45160*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 45163*/                  OPC_MoveChild0,
/* 45164*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45167*/                  OPC_RecordMemRef,
/* 45168*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 45169*/                  OPC_CheckFoldableChainNode,
/* 45170*/                  OPC_Scope, 23|128,1/*151*/, /*->45324*/ // 2 children in Scope
/* 45173*/                    OPC_CheckChild1Same, 1,
/* 45175*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45177*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45179*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45181*/                    OPC_MoveParent,
/* 45182*/                    OPC_MoveChild1,
/* 45183*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45186*/                    OPC_RecordMemRef,
/* 45187*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 45188*/                    OPC_CheckFoldableChainNode,
/* 45189*/                    OPC_CheckChild1Same, 3,
/* 45191*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45193*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45195*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45197*/                    OPC_MoveParent,
/* 45198*/                    OPC_MoveParent,
/* 45199*/                    OPC_MoveParent,
/* 45200*/                    OPC_CheckType, MVT::i32,
/* 45202*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 45204*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 45214*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 45217*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 45224*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 45230*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 45233*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 45241*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 45244*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 45252*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 45255*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 45264*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 45270*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 45273*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 45281*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 45284*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 45292*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 45295*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 45304*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 45313*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 45316*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 45324*/                  /*Scope*/ 23|128,1/*151*/, /*->45477*/
/* 45326*/                    OPC_CheckChild1Same, 3,
/* 45328*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45330*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45332*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45334*/                    OPC_MoveParent,
/* 45335*/                    OPC_MoveChild1,
/* 45336*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45339*/                    OPC_RecordMemRef,
/* 45340*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 45341*/                    OPC_CheckFoldableChainNode,
/* 45342*/                    OPC_CheckChild1Same, 1,
/* 45344*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45346*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45348*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45350*/                    OPC_MoveParent,
/* 45351*/                    OPC_MoveParent,
/* 45352*/                    OPC_MoveParent,
/* 45353*/                    OPC_CheckType, MVT::i32,
/* 45355*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 45357*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 45367*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 45370*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 45377*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 45383*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 45386*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 45394*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 45397*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 45405*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 45408*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 45417*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 45423*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 45426*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 45434*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 45437*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 45445*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 45448*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 45457*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 45466*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 45469*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 45477*/                  0, /*End of Scope*/
/* 45478*/                /*Scope*/ 102|128,2/*358*/, /*->45838*/
/* 45480*/                  OPC_CheckChild0Same, 3,
/* 45482*/                  OPC_CheckChild1Integer, 1, 
/* 45484*/                  OPC_MoveParent,
/* 45485*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45487*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 45489*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45491*/                  OPC_MoveParent,
/* 45492*/                  OPC_MoveChild1,
/* 45493*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45496*/                  OPC_RecordMemRef,
/* 45497*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 45498*/                  OPC_CheckFoldableChainNode,
/* 45499*/                  OPC_MoveChild1,
/* 45500*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45503*/                  OPC_CheckChild0Same, 1,
/* 45505*/                  OPC_CheckChild1Integer, 1, 
/* 45507*/                  OPC_CheckType, MVT::i64,
/* 45509*/                  OPC_MoveParent,
/* 45510*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45512*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 45514*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45516*/                  OPC_MoveParent,
/* 45517*/                  OPC_MoveParent,
/* 45518*/                  OPC_MoveParent,
/* 45519*/                  OPC_MoveChild1,
/* 45520*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 45523*/                  OPC_MoveChild0,
/* 45524*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45527*/                  OPC_RecordMemRef,
/* 45528*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 45529*/                  OPC_CheckFoldableChainNode,
/* 45530*/                  OPC_Scope, 23|128,1/*151*/, /*->45684*/ // 2 children in Scope
/* 45533*/                    OPC_CheckChild1Same, 1,
/* 45535*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45537*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45539*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45541*/                    OPC_MoveParent,
/* 45542*/                    OPC_MoveChild1,
/* 45543*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45546*/                    OPC_RecordMemRef,
/* 45547*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 45548*/                    OPC_CheckFoldableChainNode,
/* 45549*/                    OPC_CheckChild1Same, 3,
/* 45551*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45553*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45555*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45557*/                    OPC_MoveParent,
/* 45558*/                    OPC_MoveParent,
/* 45559*/                    OPC_MoveParent,
/* 45560*/                    OPC_CheckType, MVT::i32,
/* 45562*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 45564*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 45574*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 45577*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 45584*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 45590*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 45593*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 45601*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 45604*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 45612*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 45615*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 45624*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 45630*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 45633*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 45641*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 45644*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 45652*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 45655*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 45664*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 45673*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 45676*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 45684*/                  /*Scope*/ 23|128,1/*151*/, /*->45837*/
/* 45686*/                    OPC_CheckChild1Same, 3,
/* 45688*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45690*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45692*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45694*/                    OPC_MoveParent,
/* 45695*/                    OPC_MoveChild1,
/* 45696*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45699*/                    OPC_RecordMemRef,
/* 45700*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 45701*/                    OPC_CheckFoldableChainNode,
/* 45702*/                    OPC_CheckChild1Same, 1,
/* 45704*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45706*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45708*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45710*/                    OPC_MoveParent,
/* 45711*/                    OPC_MoveParent,
/* 45712*/                    OPC_MoveParent,
/* 45713*/                    OPC_CheckType, MVT::i32,
/* 45715*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 45717*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 45727*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 45730*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 45737*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 45743*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 45746*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 45754*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 45757*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 45765*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 45768*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 45777*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 45783*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 45786*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 45794*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 45797*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 45805*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 45808*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 45817*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 45826*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 45829*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 45837*/                  0, /*End of Scope*/
/* 45838*/                0, /*End of Scope*/
/* 45839*/              /*Scope*/ 9|128,6/*777*/, /*->46618*/
/* 45841*/                OPC_CheckChild0Same, 3,
/* 45843*/                OPC_CheckChild1Integer, 2, 
/* 45845*/                OPC_MoveParent,
/* 45846*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45848*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 45850*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45852*/                OPC_MoveParent,
/* 45853*/                OPC_MoveChild1,
/* 45854*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45857*/                OPC_RecordMemRef,
/* 45858*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 45859*/                OPC_CheckFoldableChainNode,
/* 45860*/                OPC_MoveChild1,
/* 45861*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45864*/                OPC_CheckChild0Same, 1,
/* 45866*/                OPC_CheckChild1Integer, 2, 
/* 45868*/                OPC_CheckType, MVT::i64,
/* 45870*/                OPC_MoveParent,
/* 45871*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45873*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 45875*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45877*/                OPC_MoveParent,
/* 45878*/                OPC_MoveParent,
/* 45879*/                OPC_MoveChild1,
/* 45880*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 45883*/                OPC_MoveChild0,
/* 45884*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45887*/                OPC_RecordMemRef,
/* 45888*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 45889*/                OPC_CheckFoldableChainNode,
/* 45890*/                OPC_MoveChild1,
/* 45891*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45894*/                OPC_CheckType, MVT::i64,
/* 45896*/                OPC_Scope, 102|128,2/*358*/, /*->46257*/ // 2 children in Scope
/* 45899*/                  OPC_CheckChild0Same, 1,
/* 45901*/                  OPC_CheckChild1Integer, 1, 
/* 45903*/                  OPC_MoveParent,
/* 45904*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45906*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 45908*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45910*/                  OPC_MoveParent,
/* 45911*/                  OPC_MoveChild1,
/* 45912*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45915*/                  OPC_RecordMemRef,
/* 45916*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 45917*/                  OPC_CheckFoldableChainNode,
/* 45918*/                  OPC_MoveChild1,
/* 45919*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 45922*/                  OPC_CheckChild0Same, 3,
/* 45924*/                  OPC_CheckChild1Integer, 1, 
/* 45926*/                  OPC_CheckType, MVT::i64,
/* 45928*/                  OPC_MoveParent,
/* 45929*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45931*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 45933*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45935*/                  OPC_MoveParent,
/* 45936*/                  OPC_MoveParent,
/* 45937*/                  OPC_MoveParent,
/* 45938*/                  OPC_MoveChild1,
/* 45939*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 45942*/                  OPC_MoveChild0,
/* 45943*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45946*/                  OPC_RecordMemRef,
/* 45947*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 45948*/                  OPC_CheckFoldableChainNode,
/* 45949*/                  OPC_Scope, 23|128,1/*151*/, /*->46103*/ // 2 children in Scope
/* 45952*/                    OPC_CheckChild1Same, 1,
/* 45954*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45956*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45958*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45960*/                    OPC_MoveParent,
/* 45961*/                    OPC_MoveChild1,
/* 45962*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 45965*/                    OPC_RecordMemRef,
/* 45966*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 45967*/                    OPC_CheckFoldableChainNode,
/* 45968*/                    OPC_CheckChild1Same, 3,
/* 45970*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 45972*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 45974*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 45976*/                    OPC_MoveParent,
/* 45977*/                    OPC_MoveParent,
/* 45978*/                    OPC_MoveParent,
/* 45979*/                    OPC_CheckType, MVT::i32,
/* 45981*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 45983*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 45993*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 45996*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 46003*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 46009*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46012*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 46020*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46023*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 46031*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46034*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 46043*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 46049*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46052*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 46060*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46063*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 46071*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46074*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 46083*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 46092*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 46095*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 46103*/                  /*Scope*/ 23|128,1/*151*/, /*->46256*/
/* 46105*/                    OPC_CheckChild1Same, 3,
/* 46107*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46109*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46111*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46113*/                    OPC_MoveParent,
/* 46114*/                    OPC_MoveChild1,
/* 46115*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46118*/                    OPC_RecordMemRef,
/* 46119*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 46120*/                    OPC_CheckFoldableChainNode,
/* 46121*/                    OPC_CheckChild1Same, 1,
/* 46123*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46125*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46127*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46129*/                    OPC_MoveParent,
/* 46130*/                    OPC_MoveParent,
/* 46131*/                    OPC_MoveParent,
/* 46132*/                    OPC_CheckType, MVT::i32,
/* 46134*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 46136*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 46146*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 46149*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 46156*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 46162*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46165*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 46173*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46176*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 46184*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46187*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 46196*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 46202*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46205*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 46213*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46216*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 46224*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46227*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 46236*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 46245*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 46248*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 46256*/                  0, /*End of Scope*/
/* 46257*/                /*Scope*/ 102|128,2/*358*/, /*->46617*/
/* 46259*/                  OPC_CheckChild0Same, 3,
/* 46261*/                  OPC_CheckChild1Integer, 1, 
/* 46263*/                  OPC_MoveParent,
/* 46264*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46266*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 46268*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46270*/                  OPC_MoveParent,
/* 46271*/                  OPC_MoveChild1,
/* 46272*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46275*/                  OPC_RecordMemRef,
/* 46276*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 46277*/                  OPC_CheckFoldableChainNode,
/* 46278*/                  OPC_MoveChild1,
/* 46279*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 46282*/                  OPC_CheckChild0Same, 1,
/* 46284*/                  OPC_CheckChild1Integer, 1, 
/* 46286*/                  OPC_CheckType, MVT::i64,
/* 46288*/                  OPC_MoveParent,
/* 46289*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46291*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 46293*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46295*/                  OPC_MoveParent,
/* 46296*/                  OPC_MoveParent,
/* 46297*/                  OPC_MoveParent,
/* 46298*/                  OPC_MoveChild1,
/* 46299*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 46302*/                  OPC_MoveChild0,
/* 46303*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46306*/                  OPC_RecordMemRef,
/* 46307*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 46308*/                  OPC_CheckFoldableChainNode,
/* 46309*/                  OPC_Scope, 23|128,1/*151*/, /*->46463*/ // 2 children in Scope
/* 46312*/                    OPC_CheckChild1Same, 1,
/* 46314*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46316*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46318*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46320*/                    OPC_MoveParent,
/* 46321*/                    OPC_MoveChild1,
/* 46322*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46325*/                    OPC_RecordMemRef,
/* 46326*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 46327*/                    OPC_CheckFoldableChainNode,
/* 46328*/                    OPC_CheckChild1Same, 3,
/* 46330*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46332*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46334*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46336*/                    OPC_MoveParent,
/* 46337*/                    OPC_MoveParent,
/* 46338*/                    OPC_MoveParent,
/* 46339*/                    OPC_CheckType, MVT::i32,
/* 46341*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 46343*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 46353*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 46356*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 46363*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 46369*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46372*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 46380*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46383*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 46391*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46394*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 46403*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 46409*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46412*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 46420*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46423*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 46431*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46434*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 46443*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 46452*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 46455*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 46463*/                  /*Scope*/ 23|128,1/*151*/, /*->46616*/
/* 46465*/                    OPC_CheckChild1Same, 3,
/* 46467*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46469*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46471*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46473*/                    OPC_MoveParent,
/* 46474*/                    OPC_MoveChild1,
/* 46475*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46478*/                    OPC_RecordMemRef,
/* 46479*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 46480*/                    OPC_CheckFoldableChainNode,
/* 46481*/                    OPC_CheckChild1Same, 1,
/* 46483*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46485*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46487*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46489*/                    OPC_MoveParent,
/* 46490*/                    OPC_MoveParent,
/* 46491*/                    OPC_MoveParent,
/* 46492*/                    OPC_CheckType, MVT::i32,
/* 46494*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 46496*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 46506*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 46509*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 46516*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 46522*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46525*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 46533*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46536*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 46544*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46547*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 46556*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 46562*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46565*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 46573*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46576*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 46584*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46587*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 46596*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 46605*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 46608*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 46616*/                  0, /*End of Scope*/
/* 46617*/                0, /*End of Scope*/
/* 46618*/              /*Scope*/ 9|128,6/*777*/, /*->47397*/
/* 46620*/                OPC_CheckChild0Same, 1,
/* 46622*/                OPC_CheckChild1Integer, 1, 
/* 46624*/                OPC_MoveParent,
/* 46625*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46627*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 46629*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46631*/                OPC_MoveParent,
/* 46632*/                OPC_MoveChild1,
/* 46633*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46636*/                OPC_RecordMemRef,
/* 46637*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 46638*/                OPC_CheckFoldableChainNode,
/* 46639*/                OPC_MoveChild1,
/* 46640*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 46643*/                OPC_CheckChild0Same, 3,
/* 46645*/                OPC_CheckChild1Integer, 1, 
/* 46647*/                OPC_CheckType, MVT::i64,
/* 46649*/                OPC_MoveParent,
/* 46650*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46652*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 46654*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46656*/                OPC_MoveParent,
/* 46657*/                OPC_MoveParent,
/* 46658*/                OPC_MoveChild1,
/* 46659*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 46662*/                OPC_MoveChild0,
/* 46663*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46666*/                OPC_RecordMemRef,
/* 46667*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 46668*/                OPC_CheckFoldableChainNode,
/* 46669*/                OPC_MoveChild1,
/* 46670*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 46673*/                OPC_CheckType, MVT::i64,
/* 46675*/                OPC_Scope, 102|128,2/*358*/, /*->47036*/ // 2 children in Scope
/* 46678*/                  OPC_CheckChild0Same, 1,
/* 46680*/                  OPC_CheckChild1Integer, 2, 
/* 46682*/                  OPC_MoveParent,
/* 46683*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46685*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 46687*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46689*/                  OPC_MoveParent,
/* 46690*/                  OPC_MoveChild1,
/* 46691*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46694*/                  OPC_RecordMemRef,
/* 46695*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 46696*/                  OPC_CheckFoldableChainNode,
/* 46697*/                  OPC_MoveChild1,
/* 46698*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 46701*/                  OPC_CheckChild0Same, 3,
/* 46703*/                  OPC_CheckChild1Integer, 2, 
/* 46705*/                  OPC_CheckType, MVT::i64,
/* 46707*/                  OPC_MoveParent,
/* 46708*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46710*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 46712*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46714*/                  OPC_MoveParent,
/* 46715*/                  OPC_MoveParent,
/* 46716*/                  OPC_MoveParent,
/* 46717*/                  OPC_MoveChild1,
/* 46718*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 46721*/                  OPC_MoveChild0,
/* 46722*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46725*/                  OPC_RecordMemRef,
/* 46726*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 46727*/                  OPC_CheckFoldableChainNode,
/* 46728*/                  OPC_Scope, 23|128,1/*151*/, /*->46882*/ // 2 children in Scope
/* 46731*/                    OPC_CheckChild1Same, 1,
/* 46733*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46735*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46737*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46739*/                    OPC_MoveParent,
/* 46740*/                    OPC_MoveChild1,
/* 46741*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46744*/                    OPC_RecordMemRef,
/* 46745*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 46746*/                    OPC_CheckFoldableChainNode,
/* 46747*/                    OPC_CheckChild1Same, 3,
/* 46749*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46751*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46753*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46755*/                    OPC_MoveParent,
/* 46756*/                    OPC_MoveParent,
/* 46757*/                    OPC_MoveParent,
/* 46758*/                    OPC_CheckType, MVT::i32,
/* 46760*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 46762*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 46772*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 46775*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 46782*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 46788*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46791*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 46799*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46802*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 46810*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46813*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 46822*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 46828*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46831*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 46839*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46842*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 46850*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46853*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 46862*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 46871*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 46874*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 46882*/                  /*Scope*/ 23|128,1/*151*/, /*->47035*/
/* 46884*/                    OPC_CheckChild1Same, 3,
/* 46886*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46888*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46890*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46892*/                    OPC_MoveParent,
/* 46893*/                    OPC_MoveChild1,
/* 46894*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 46897*/                    OPC_RecordMemRef,
/* 46898*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 46899*/                    OPC_CheckFoldableChainNode,
/* 46900*/                    OPC_CheckChild1Same, 1,
/* 46902*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 46904*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 46906*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 46908*/                    OPC_MoveParent,
/* 46909*/                    OPC_MoveParent,
/* 46910*/                    OPC_MoveParent,
/* 46911*/                    OPC_CheckType, MVT::i32,
/* 46913*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 46915*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 46925*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 46928*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 46935*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 46941*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46944*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 46952*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46955*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 46963*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 46966*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 46975*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 46981*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 46984*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 46992*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 46995*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 47003*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47006*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 47015*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 47024*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 47027*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 47035*/                  0, /*End of Scope*/
/* 47036*/                /*Scope*/ 102|128,2/*358*/, /*->47396*/
/* 47038*/                  OPC_CheckChild0Same, 3,
/* 47040*/                  OPC_CheckChild1Integer, 2, 
/* 47042*/                  OPC_MoveParent,
/* 47043*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47045*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 47047*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47049*/                  OPC_MoveParent,
/* 47050*/                  OPC_MoveChild1,
/* 47051*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47054*/                  OPC_RecordMemRef,
/* 47055*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 47056*/                  OPC_CheckFoldableChainNode,
/* 47057*/                  OPC_MoveChild1,
/* 47058*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 47061*/                  OPC_CheckChild0Same, 1,
/* 47063*/                  OPC_CheckChild1Integer, 2, 
/* 47065*/                  OPC_CheckType, MVT::i64,
/* 47067*/                  OPC_MoveParent,
/* 47068*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47070*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 47072*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47074*/                  OPC_MoveParent,
/* 47075*/                  OPC_MoveParent,
/* 47076*/                  OPC_MoveParent,
/* 47077*/                  OPC_MoveChild1,
/* 47078*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 47081*/                  OPC_MoveChild0,
/* 47082*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47085*/                  OPC_RecordMemRef,
/* 47086*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 47087*/                  OPC_CheckFoldableChainNode,
/* 47088*/                  OPC_Scope, 23|128,1/*151*/, /*->47242*/ // 2 children in Scope
/* 47091*/                    OPC_CheckChild1Same, 1,
/* 47093*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47095*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47097*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47099*/                    OPC_MoveParent,
/* 47100*/                    OPC_MoveChild1,
/* 47101*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47104*/                    OPC_RecordMemRef,
/* 47105*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 47106*/                    OPC_CheckFoldableChainNode,
/* 47107*/                    OPC_CheckChild1Same, 3,
/* 47109*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47111*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47113*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47115*/                    OPC_MoveParent,
/* 47116*/                    OPC_MoveParent,
/* 47117*/                    OPC_MoveParent,
/* 47118*/                    OPC_CheckType, MVT::i32,
/* 47120*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 47122*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 47132*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 47135*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 47142*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 47148*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47151*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 47159*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47162*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 47170*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47173*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 47182*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 47188*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47191*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 47199*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47202*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 47210*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47213*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 47222*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 47231*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 47234*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 47242*/                  /*Scope*/ 23|128,1/*151*/, /*->47395*/
/* 47244*/                    OPC_CheckChild1Same, 3,
/* 47246*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47248*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47250*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47252*/                    OPC_MoveParent,
/* 47253*/                    OPC_MoveChild1,
/* 47254*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47257*/                    OPC_RecordMemRef,
/* 47258*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 47259*/                    OPC_CheckFoldableChainNode,
/* 47260*/                    OPC_CheckChild1Same, 1,
/* 47262*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47264*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47266*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47268*/                    OPC_MoveParent,
/* 47269*/                    OPC_MoveParent,
/* 47270*/                    OPC_MoveParent,
/* 47271*/                    OPC_CheckType, MVT::i32,
/* 47273*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 47275*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 47285*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 47288*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 47295*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 47301*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47304*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 47312*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47315*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 47323*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47326*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 47335*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 47341*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47344*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 47352*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47355*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 47363*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47366*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 47375*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 47384*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 47387*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 47395*/                  0, /*End of Scope*/
/* 47396*/                0, /*End of Scope*/
/* 47397*/              /*Scope*/ 9|128,6/*777*/, /*->48176*/
/* 47399*/                OPC_CheckChild0Same, 3,
/* 47401*/                OPC_CheckChild1Integer, 1, 
/* 47403*/                OPC_MoveParent,
/* 47404*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47406*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 47408*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47410*/                OPC_MoveParent,
/* 47411*/                OPC_MoveChild1,
/* 47412*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47415*/                OPC_RecordMemRef,
/* 47416*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 47417*/                OPC_CheckFoldableChainNode,
/* 47418*/                OPC_MoveChild1,
/* 47419*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 47422*/                OPC_CheckChild0Same, 1,
/* 47424*/                OPC_CheckChild1Integer, 1, 
/* 47426*/                OPC_CheckType, MVT::i64,
/* 47428*/                OPC_MoveParent,
/* 47429*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47431*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 47433*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47435*/                OPC_MoveParent,
/* 47436*/                OPC_MoveParent,
/* 47437*/                OPC_MoveChild1,
/* 47438*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 47441*/                OPC_MoveChild0,
/* 47442*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47445*/                OPC_RecordMemRef,
/* 47446*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 47447*/                OPC_CheckFoldableChainNode,
/* 47448*/                OPC_MoveChild1,
/* 47449*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 47452*/                OPC_CheckType, MVT::i64,
/* 47454*/                OPC_Scope, 102|128,2/*358*/, /*->47815*/ // 2 children in Scope
/* 47457*/                  OPC_CheckChild0Same, 1,
/* 47459*/                  OPC_CheckChild1Integer, 2, 
/* 47461*/                  OPC_MoveParent,
/* 47462*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47464*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 47466*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47468*/                  OPC_MoveParent,
/* 47469*/                  OPC_MoveChild1,
/* 47470*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47473*/                  OPC_RecordMemRef,
/* 47474*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 47475*/                  OPC_CheckFoldableChainNode,
/* 47476*/                  OPC_MoveChild1,
/* 47477*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 47480*/                  OPC_CheckChild0Same, 3,
/* 47482*/                  OPC_CheckChild1Integer, 2, 
/* 47484*/                  OPC_CheckType, MVT::i64,
/* 47486*/                  OPC_MoveParent,
/* 47487*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47489*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 47491*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47493*/                  OPC_MoveParent,
/* 47494*/                  OPC_MoveParent,
/* 47495*/                  OPC_MoveParent,
/* 47496*/                  OPC_MoveChild1,
/* 47497*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 47500*/                  OPC_MoveChild0,
/* 47501*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47504*/                  OPC_RecordMemRef,
/* 47505*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 47506*/                  OPC_CheckFoldableChainNode,
/* 47507*/                  OPC_Scope, 23|128,1/*151*/, /*->47661*/ // 2 children in Scope
/* 47510*/                    OPC_CheckChild1Same, 1,
/* 47512*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47514*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47516*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47518*/                    OPC_MoveParent,
/* 47519*/                    OPC_MoveChild1,
/* 47520*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47523*/                    OPC_RecordMemRef,
/* 47524*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 47525*/                    OPC_CheckFoldableChainNode,
/* 47526*/                    OPC_CheckChild1Same, 3,
/* 47528*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47530*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47532*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47534*/                    OPC_MoveParent,
/* 47535*/                    OPC_MoveParent,
/* 47536*/                    OPC_MoveParent,
/* 47537*/                    OPC_CheckType, MVT::i32,
/* 47539*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 47541*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 47551*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 47554*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 47561*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 47567*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47570*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 47578*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47581*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 47589*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47592*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 47601*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 47607*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47610*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 47618*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47621*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 47629*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47632*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 47641*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 47650*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 47653*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 47661*/                  /*Scope*/ 23|128,1/*151*/, /*->47814*/
/* 47663*/                    OPC_CheckChild1Same, 3,
/* 47665*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47667*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47669*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47671*/                    OPC_MoveParent,
/* 47672*/                    OPC_MoveChild1,
/* 47673*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47676*/                    OPC_RecordMemRef,
/* 47677*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 47678*/                    OPC_CheckFoldableChainNode,
/* 47679*/                    OPC_CheckChild1Same, 1,
/* 47681*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47683*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47685*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47687*/                    OPC_MoveParent,
/* 47688*/                    OPC_MoveParent,
/* 47689*/                    OPC_MoveParent,
/* 47690*/                    OPC_CheckType, MVT::i32,
/* 47692*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 47694*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 47704*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 47707*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 47714*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 47720*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47723*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 47731*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47734*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 47742*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47745*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 47754*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 47760*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47763*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 47771*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47774*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 47782*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47785*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 47794*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 47803*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 47806*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 47814*/                  0, /*End of Scope*/
/* 47815*/                /*Scope*/ 102|128,2/*358*/, /*->48175*/
/* 47817*/                  OPC_CheckChild0Same, 3,
/* 47819*/                  OPC_CheckChild1Integer, 2, 
/* 47821*/                  OPC_MoveParent,
/* 47822*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47824*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 47826*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47828*/                  OPC_MoveParent,
/* 47829*/                  OPC_MoveChild1,
/* 47830*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47833*/                  OPC_RecordMemRef,
/* 47834*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 47835*/                  OPC_CheckFoldableChainNode,
/* 47836*/                  OPC_MoveChild1,
/* 47837*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 47840*/                  OPC_CheckChild0Same, 1,
/* 47842*/                  OPC_CheckChild1Integer, 2, 
/* 47844*/                  OPC_CheckType, MVT::i64,
/* 47846*/                  OPC_MoveParent,
/* 47847*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47849*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 47851*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47853*/                  OPC_MoveParent,
/* 47854*/                  OPC_MoveParent,
/* 47855*/                  OPC_MoveParent,
/* 47856*/                  OPC_MoveChild1,
/* 47857*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 47860*/                  OPC_MoveChild0,
/* 47861*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47864*/                  OPC_RecordMemRef,
/* 47865*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 47866*/                  OPC_CheckFoldableChainNode,
/* 47867*/                  OPC_Scope, 23|128,1/*151*/, /*->48021*/ // 2 children in Scope
/* 47870*/                    OPC_CheckChild1Same, 1,
/* 47872*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47874*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47876*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47878*/                    OPC_MoveParent,
/* 47879*/                    OPC_MoveChild1,
/* 47880*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 47883*/                    OPC_RecordMemRef,
/* 47884*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 47885*/                    OPC_CheckFoldableChainNode,
/* 47886*/                    OPC_CheckChild1Same, 3,
/* 47888*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 47890*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 47892*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 47894*/                    OPC_MoveParent,
/* 47895*/                    OPC_MoveParent,
/* 47896*/                    OPC_MoveParent,
/* 47897*/                    OPC_CheckType, MVT::i32,
/* 47899*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 47901*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 47911*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 47914*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 47921*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 47927*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47930*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 47938*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47941*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 47949*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47952*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 47961*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 47967*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 47970*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 47978*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 47981*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 47989*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 47992*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 48001*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 48010*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 48013*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 48021*/                  /*Scope*/ 23|128,1/*151*/, /*->48174*/
/* 48023*/                    OPC_CheckChild1Same, 3,
/* 48025*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48027*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48029*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48031*/                    OPC_MoveParent,
/* 48032*/                    OPC_MoveChild1,
/* 48033*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48036*/                    OPC_RecordMemRef,
/* 48037*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 48038*/                    OPC_CheckFoldableChainNode,
/* 48039*/                    OPC_CheckChild1Same, 1,
/* 48041*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48043*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48045*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48047*/                    OPC_MoveParent,
/* 48048*/                    OPC_MoveParent,
/* 48049*/                    OPC_MoveParent,
/* 48050*/                    OPC_CheckType, MVT::i32,
/* 48052*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 48054*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 48064*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 48067*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 48074*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 48080*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48083*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 48091*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48094*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 48102*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48105*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 48114*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 48120*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48123*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 48131*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48134*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 48142*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48145*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 48154*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 48163*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 48166*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 48174*/                  0, /*End of Scope*/
/* 48175*/                0, /*End of Scope*/
/* 48176*/              /*Scope*/ 39|128,6/*807*/, /*->48985*/
/* 48178*/                OPC_CheckChild0Same, 1,
/* 48180*/                OPC_CheckChild1Integer, 2, 
/* 48182*/                OPC_MoveParent,
/* 48183*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48185*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 48187*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48189*/                OPC_MoveParent,
/* 48190*/                OPC_MoveChild1,
/* 48191*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48194*/                OPC_RecordMemRef,
/* 48195*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 48196*/                OPC_CheckFoldableChainNode,
/* 48197*/                OPC_MoveChild1,
/* 48198*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 48201*/                OPC_CheckChild0Same, 3,
/* 48203*/                OPC_CheckChild1Integer, 2, 
/* 48205*/                OPC_CheckType, MVT::i64,
/* 48207*/                OPC_MoveParent,
/* 48208*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48210*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 48212*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48214*/                OPC_MoveParent,
/* 48215*/                OPC_MoveParent,
/* 48216*/                OPC_MoveChild1,
/* 48217*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 48220*/                OPC_MoveChild0,
/* 48221*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48224*/                OPC_RecordMemRef,
/* 48225*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 48226*/                OPC_CheckFoldableChainNode,
/* 48227*/                OPC_Scope, 120|128,2/*376*/, /*->48606*/ // 2 children in Scope
/* 48230*/                  OPC_CheckChild1Same, 1,
/* 48232*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48234*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 48236*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48238*/                  OPC_MoveParent,
/* 48239*/                  OPC_MoveChild1,
/* 48240*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48243*/                  OPC_RecordMemRef,
/* 48244*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 48245*/                  OPC_CheckFoldableChainNode,
/* 48246*/                  OPC_CheckChild1Same, 3,
/* 48248*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48250*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 48252*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48254*/                  OPC_MoveParent,
/* 48255*/                  OPC_MoveParent,
/* 48256*/                  OPC_MoveParent,
/* 48257*/                  OPC_MoveChild1,
/* 48258*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 48261*/                  OPC_MoveChild0,
/* 48262*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48265*/                  OPC_RecordMemRef,
/* 48266*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 48267*/                  OPC_CheckFoldableChainNode,
/* 48268*/                  OPC_MoveChild1,
/* 48269*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 48272*/                  OPC_CheckType, MVT::i64,
/* 48274*/                  OPC_Scope, 35|128,1/*163*/, /*->48440*/ // 2 children in Scope
/* 48277*/                    OPC_CheckChild0Same, 1,
/* 48279*/                    OPC_CheckChild1Integer, 1, 
/* 48281*/                    OPC_MoveParent,
/* 48282*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48284*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48286*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48288*/                    OPC_MoveParent,
/* 48289*/                    OPC_MoveChild1,
/* 48290*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48293*/                    OPC_RecordMemRef,
/* 48294*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 48295*/                    OPC_CheckFoldableChainNode,
/* 48296*/                    OPC_MoveChild1,
/* 48297*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 48300*/                    OPC_CheckChild0Same, 3,
/* 48302*/                    OPC_CheckChild1Integer, 1, 
/* 48304*/                    OPC_CheckType, MVT::i64,
/* 48306*/                    OPC_MoveParent,
/* 48307*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48309*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48311*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48313*/                    OPC_MoveParent,
/* 48314*/                    OPC_MoveParent,
/* 48315*/                    OPC_MoveParent,
/* 48316*/                    OPC_CheckType, MVT::i32,
/* 48318*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 48320*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 48330*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 48333*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 48340*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 48346*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48349*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 48357*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48360*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 48368*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48371*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 48380*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 48386*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48389*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 48397*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48400*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 48408*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48411*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 48420*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 48429*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 48432*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 48440*/                  /*Scope*/ 35|128,1/*163*/, /*->48605*/
/* 48442*/                    OPC_CheckChild0Same, 3,
/* 48444*/                    OPC_CheckChild1Integer, 1, 
/* 48446*/                    OPC_MoveParent,
/* 48447*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48449*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48451*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48453*/                    OPC_MoveParent,
/* 48454*/                    OPC_MoveChild1,
/* 48455*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48458*/                    OPC_RecordMemRef,
/* 48459*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 48460*/                    OPC_CheckFoldableChainNode,
/* 48461*/                    OPC_MoveChild1,
/* 48462*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 48465*/                    OPC_CheckChild0Same, 1,
/* 48467*/                    OPC_CheckChild1Integer, 1, 
/* 48469*/                    OPC_CheckType, MVT::i64,
/* 48471*/                    OPC_MoveParent,
/* 48472*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48474*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48476*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48478*/                    OPC_MoveParent,
/* 48479*/                    OPC_MoveParent,
/* 48480*/                    OPC_MoveParent,
/* 48481*/                    OPC_CheckType, MVT::i32,
/* 48483*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 48485*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 48495*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 48498*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 48505*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 48511*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48514*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 48522*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48525*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 48533*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48536*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 48545*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 48551*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48554*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 48562*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48565*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 48573*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48576*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 48585*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 48594*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 48597*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 48605*/                  0, /*End of Scope*/
/* 48606*/                /*Scope*/ 120|128,2/*376*/, /*->48984*/
/* 48608*/                  OPC_CheckChild1Same, 3,
/* 48610*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48612*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 48614*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48616*/                  OPC_MoveParent,
/* 48617*/                  OPC_MoveChild1,
/* 48618*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48621*/                  OPC_RecordMemRef,
/* 48622*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 48623*/                  OPC_CheckFoldableChainNode,
/* 48624*/                  OPC_CheckChild1Same, 1,
/* 48626*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48628*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 48630*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48632*/                  OPC_MoveParent,
/* 48633*/                  OPC_MoveParent,
/* 48634*/                  OPC_MoveParent,
/* 48635*/                  OPC_MoveChild1,
/* 48636*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 48639*/                  OPC_MoveChild0,
/* 48640*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48643*/                  OPC_RecordMemRef,
/* 48644*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 48645*/                  OPC_CheckFoldableChainNode,
/* 48646*/                  OPC_MoveChild1,
/* 48647*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 48650*/                  OPC_CheckType, MVT::i64,
/* 48652*/                  OPC_Scope, 35|128,1/*163*/, /*->48818*/ // 2 children in Scope
/* 48655*/                    OPC_CheckChild0Same, 1,
/* 48657*/                    OPC_CheckChild1Integer, 1, 
/* 48659*/                    OPC_MoveParent,
/* 48660*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48662*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48664*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48666*/                    OPC_MoveParent,
/* 48667*/                    OPC_MoveChild1,
/* 48668*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48671*/                    OPC_RecordMemRef,
/* 48672*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 48673*/                    OPC_CheckFoldableChainNode,
/* 48674*/                    OPC_MoveChild1,
/* 48675*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 48678*/                    OPC_CheckChild0Same, 3,
/* 48680*/                    OPC_CheckChild1Integer, 1, 
/* 48682*/                    OPC_CheckType, MVT::i64,
/* 48684*/                    OPC_MoveParent,
/* 48685*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48687*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48689*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48691*/                    OPC_MoveParent,
/* 48692*/                    OPC_MoveParent,
/* 48693*/                    OPC_MoveParent,
/* 48694*/                    OPC_CheckType, MVT::i32,
/* 48696*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 48698*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 48708*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 48711*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 48718*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 48724*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48727*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 48735*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48738*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 48746*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48749*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 48758*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 48764*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48767*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 48775*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48778*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 48786*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48789*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 48798*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 48807*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 48810*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 48818*/                  /*Scope*/ 35|128,1/*163*/, /*->48983*/
/* 48820*/                    OPC_CheckChild0Same, 3,
/* 48822*/                    OPC_CheckChild1Integer, 1, 
/* 48824*/                    OPC_MoveParent,
/* 48825*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48827*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48829*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48831*/                    OPC_MoveParent,
/* 48832*/                    OPC_MoveChild1,
/* 48833*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 48836*/                    OPC_RecordMemRef,
/* 48837*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 48838*/                    OPC_CheckFoldableChainNode,
/* 48839*/                    OPC_MoveChild1,
/* 48840*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 48843*/                    OPC_CheckChild0Same, 1,
/* 48845*/                    OPC_CheckChild1Integer, 1, 
/* 48847*/                    OPC_CheckType, MVT::i64,
/* 48849*/                    OPC_MoveParent,
/* 48850*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48852*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 48854*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48856*/                    OPC_MoveParent,
/* 48857*/                    OPC_MoveParent,
/* 48858*/                    OPC_MoveParent,
/* 48859*/                    OPC_CheckType, MVT::i32,
/* 48861*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 48863*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 48873*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 48876*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 48883*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 48889*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48892*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 48900*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48903*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 48911*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48914*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 48923*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 48929*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 48932*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 48940*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 48943*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 48951*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 48954*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 48963*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 48972*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 48975*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 48983*/                  0, /*End of Scope*/
/* 48984*/                0, /*End of Scope*/
/* 48985*/              /*Scope*/ 39|128,6/*807*/, /*->49794*/
/* 48987*/                OPC_CheckChild0Same, 3,
/* 48989*/                OPC_CheckChild1Integer, 2, 
/* 48991*/                OPC_MoveParent,
/* 48992*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 48994*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 48996*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 48998*/                OPC_MoveParent,
/* 48999*/                OPC_MoveChild1,
/* 49000*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49003*/                OPC_RecordMemRef,
/* 49004*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 49005*/                OPC_CheckFoldableChainNode,
/* 49006*/                OPC_MoveChild1,
/* 49007*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49010*/                OPC_CheckChild0Same, 1,
/* 49012*/                OPC_CheckChild1Integer, 2, 
/* 49014*/                OPC_CheckType, MVT::i64,
/* 49016*/                OPC_MoveParent,
/* 49017*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49019*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 49021*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49023*/                OPC_MoveParent,
/* 49024*/                OPC_MoveParent,
/* 49025*/                OPC_MoveChild1,
/* 49026*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 49029*/                OPC_MoveChild0,
/* 49030*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49033*/                OPC_RecordMemRef,
/* 49034*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 49035*/                OPC_CheckFoldableChainNode,
/* 49036*/                OPC_Scope, 120|128,2/*376*/, /*->49415*/ // 2 children in Scope
/* 49039*/                  OPC_CheckChild1Same, 1,
/* 49041*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49043*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 49045*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49047*/                  OPC_MoveParent,
/* 49048*/                  OPC_MoveChild1,
/* 49049*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49052*/                  OPC_RecordMemRef,
/* 49053*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 49054*/                  OPC_CheckFoldableChainNode,
/* 49055*/                  OPC_CheckChild1Same, 3,
/* 49057*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49059*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 49061*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49063*/                  OPC_MoveParent,
/* 49064*/                  OPC_MoveParent,
/* 49065*/                  OPC_MoveParent,
/* 49066*/                  OPC_MoveChild1,
/* 49067*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 49070*/                  OPC_MoveChild0,
/* 49071*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49074*/                  OPC_RecordMemRef,
/* 49075*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 49076*/                  OPC_CheckFoldableChainNode,
/* 49077*/                  OPC_MoveChild1,
/* 49078*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49081*/                  OPC_CheckType, MVT::i64,
/* 49083*/                  OPC_Scope, 35|128,1/*163*/, /*->49249*/ // 2 children in Scope
/* 49086*/                    OPC_CheckChild0Same, 1,
/* 49088*/                    OPC_CheckChild1Integer, 1, 
/* 49090*/                    OPC_MoveParent,
/* 49091*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49093*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 49095*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49097*/                    OPC_MoveParent,
/* 49098*/                    OPC_MoveChild1,
/* 49099*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49102*/                    OPC_RecordMemRef,
/* 49103*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 49104*/                    OPC_CheckFoldableChainNode,
/* 49105*/                    OPC_MoveChild1,
/* 49106*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49109*/                    OPC_CheckChild0Same, 3,
/* 49111*/                    OPC_CheckChild1Integer, 1, 
/* 49113*/                    OPC_CheckType, MVT::i64,
/* 49115*/                    OPC_MoveParent,
/* 49116*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49118*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 49120*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49122*/                    OPC_MoveParent,
/* 49123*/                    OPC_MoveParent,
/* 49124*/                    OPC_MoveParent,
/* 49125*/                    OPC_CheckType, MVT::i32,
/* 49127*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 49129*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 49139*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 49142*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 49149*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 49155*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 49158*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 49166*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49169*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 49177*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49180*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 49189*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 49195*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 49198*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 49206*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49209*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 49217*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49220*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 49229*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 49238*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 49241*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 49249*/                  /*Scope*/ 35|128,1/*163*/, /*->49414*/
/* 49251*/                    OPC_CheckChild0Same, 3,
/* 49253*/                    OPC_CheckChild1Integer, 1, 
/* 49255*/                    OPC_MoveParent,
/* 49256*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49258*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 49260*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49262*/                    OPC_MoveParent,
/* 49263*/                    OPC_MoveChild1,
/* 49264*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49267*/                    OPC_RecordMemRef,
/* 49268*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 49269*/                    OPC_CheckFoldableChainNode,
/* 49270*/                    OPC_MoveChild1,
/* 49271*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49274*/                    OPC_CheckChild0Same, 1,
/* 49276*/                    OPC_CheckChild1Integer, 1, 
/* 49278*/                    OPC_CheckType, MVT::i64,
/* 49280*/                    OPC_MoveParent,
/* 49281*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49283*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 49285*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49287*/                    OPC_MoveParent,
/* 49288*/                    OPC_MoveParent,
/* 49289*/                    OPC_MoveParent,
/* 49290*/                    OPC_CheckType, MVT::i32,
/* 49292*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 49294*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 49304*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 49307*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 49314*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 49320*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 49323*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 49331*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49334*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 49342*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49345*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 49354*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 49360*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 49363*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 49371*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49374*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 49382*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49385*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 49394*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 49403*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 49406*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 49414*/                  0, /*End of Scope*/
/* 49415*/                /*Scope*/ 120|128,2/*376*/, /*->49793*/
/* 49417*/                  OPC_CheckChild1Same, 3,
/* 49419*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49421*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 49423*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49425*/                  OPC_MoveParent,
/* 49426*/                  OPC_MoveChild1,
/* 49427*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49430*/                  OPC_RecordMemRef,
/* 49431*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 49432*/                  OPC_CheckFoldableChainNode,
/* 49433*/                  OPC_CheckChild1Same, 1,
/* 49435*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49437*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 49439*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49441*/                  OPC_MoveParent,
/* 49442*/                  OPC_MoveParent,
/* 49443*/                  OPC_MoveParent,
/* 49444*/                  OPC_MoveChild1,
/* 49445*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 49448*/                  OPC_MoveChild0,
/* 49449*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49452*/                  OPC_RecordMemRef,
/* 49453*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 49454*/                  OPC_CheckFoldableChainNode,
/* 49455*/                  OPC_MoveChild1,
/* 49456*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49459*/                  OPC_CheckType, MVT::i64,
/* 49461*/                  OPC_Scope, 35|128,1/*163*/, /*->49627*/ // 2 children in Scope
/* 49464*/                    OPC_CheckChild0Same, 1,
/* 49466*/                    OPC_CheckChild1Integer, 1, 
/* 49468*/                    OPC_MoveParent,
/* 49469*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49471*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 49473*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49475*/                    OPC_MoveParent,
/* 49476*/                    OPC_MoveChild1,
/* 49477*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49480*/                    OPC_RecordMemRef,
/* 49481*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 49482*/                    OPC_CheckFoldableChainNode,
/* 49483*/                    OPC_MoveChild1,
/* 49484*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49487*/                    OPC_CheckChild0Same, 3,
/* 49489*/                    OPC_CheckChild1Integer, 1, 
/* 49491*/                    OPC_CheckType, MVT::i64,
/* 49493*/                    OPC_MoveParent,
/* 49494*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49496*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 49498*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49500*/                    OPC_MoveParent,
/* 49501*/                    OPC_MoveParent,
/* 49502*/                    OPC_MoveParent,
/* 49503*/                    OPC_CheckType, MVT::i32,
/* 49505*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 49507*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 49517*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 49520*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 49527*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 49533*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 49536*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 49544*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49547*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 49555*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49558*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 49567*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 49573*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 49576*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 49584*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49587*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 49595*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49598*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 49607*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 49616*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 49619*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 49627*/                  /*Scope*/ 35|128,1/*163*/, /*->49792*/
/* 49629*/                    OPC_CheckChild0Same, 3,
/* 49631*/                    OPC_CheckChild1Integer, 1, 
/* 49633*/                    OPC_MoveParent,
/* 49634*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49636*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 49638*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49640*/                    OPC_MoveParent,
/* 49641*/                    OPC_MoveChild1,
/* 49642*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49645*/                    OPC_RecordMemRef,
/* 49646*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 49647*/                    OPC_CheckFoldableChainNode,
/* 49648*/                    OPC_MoveChild1,
/* 49649*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49652*/                    OPC_CheckChild0Same, 1,
/* 49654*/                    OPC_CheckChild1Integer, 1, 
/* 49656*/                    OPC_CheckType, MVT::i64,
/* 49658*/                    OPC_MoveParent,
/* 49659*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49661*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 49663*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49665*/                    OPC_MoveParent,
/* 49666*/                    OPC_MoveParent,
/* 49667*/                    OPC_MoveParent,
/* 49668*/                    OPC_CheckType, MVT::i32,
/* 49670*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 49672*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 49682*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 49685*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 49692*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 49698*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 49701*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 49709*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49712*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 49720*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49723*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 49732*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 49738*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 49741*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 49749*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49752*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 49760*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49763*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 49772*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 49781*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 49784*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 49792*/                  0, /*End of Scope*/
/* 49793*/                0, /*End of Scope*/
/* 49794*/              0, /*End of Scope*/
/* 49795*/            /*Scope*/ 57|128,6/*825*/, /*->50622*/
/* 49797*/              OPC_CheckChild1Same, 1,
/* 49799*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49801*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 49803*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49805*/              OPC_MoveParent,
/* 49806*/              OPC_MoveChild1,
/* 49807*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49810*/              OPC_RecordMemRef,
/* 49811*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 49812*/              OPC_CheckFoldableChainNode,
/* 49813*/              OPC_CheckChild1Same, 3,
/* 49815*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49817*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 49819*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49821*/              OPC_MoveParent,
/* 49822*/              OPC_MoveParent,
/* 49823*/              OPC_MoveChild1,
/* 49824*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 49827*/              OPC_MoveChild0,
/* 49828*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49831*/              OPC_RecordMemRef,
/* 49832*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 49833*/              OPC_CheckFoldableChainNode,
/* 49834*/              OPC_MoveChild1,
/* 49835*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49838*/              OPC_CheckType, MVT::i64,
/* 49840*/              OPC_Scope, 4|128,3/*388*/, /*->50231*/ // 2 children in Scope
/* 49843*/                OPC_CheckChild0Same, 1,
/* 49845*/                OPC_CheckChild1Integer, 2, 
/* 49847*/                OPC_MoveParent,
/* 49848*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49850*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 49852*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49854*/                OPC_MoveParent,
/* 49855*/                OPC_MoveChild1,
/* 49856*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49859*/                OPC_RecordMemRef,
/* 49860*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 49861*/                OPC_CheckFoldableChainNode,
/* 49862*/                OPC_MoveChild1,
/* 49863*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49866*/                OPC_CheckChild0Same, 3,
/* 49868*/                OPC_CheckChild1Integer, 2, 
/* 49870*/                OPC_CheckType, MVT::i64,
/* 49872*/                OPC_MoveParent,
/* 49873*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49875*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 49877*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49879*/                OPC_MoveParent,
/* 49880*/                OPC_MoveParent,
/* 49881*/                OPC_MoveParent,
/* 49882*/                OPC_MoveChild1,
/* 49883*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 49886*/                OPC_MoveChild0,
/* 49887*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49890*/                OPC_RecordMemRef,
/* 49891*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 49892*/                OPC_CheckFoldableChainNode,
/* 49893*/                OPC_MoveChild1,
/* 49894*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49897*/                OPC_CheckType, MVT::i64,
/* 49899*/                OPC_Scope, 35|128,1/*163*/, /*->50065*/ // 2 children in Scope
/* 49902*/                  OPC_CheckChild0Same, 1,
/* 49904*/                  OPC_CheckChild1Integer, 1, 
/* 49906*/                  OPC_MoveParent,
/* 49907*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49909*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 49911*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49913*/                  OPC_MoveParent,
/* 49914*/                  OPC_MoveChild1,
/* 49915*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 49918*/                  OPC_RecordMemRef,
/* 49919*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 49920*/                  OPC_CheckFoldableChainNode,
/* 49921*/                  OPC_MoveChild1,
/* 49922*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 49925*/                  OPC_CheckChild0Same, 3,
/* 49927*/                  OPC_CheckChild1Integer, 1, 
/* 49929*/                  OPC_CheckType, MVT::i64,
/* 49931*/                  OPC_MoveParent,
/* 49932*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 49934*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 49936*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 49938*/                  OPC_MoveParent,
/* 49939*/                  OPC_MoveParent,
/* 49940*/                  OPC_MoveParent,
/* 49941*/                  OPC_CheckType, MVT::i32,
/* 49943*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 49945*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 49955*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 49958*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 49965*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 49971*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 49974*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 49982*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 49985*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 49993*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 49996*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 50005*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 50011*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50014*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 50022*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50025*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 50033*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50036*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 50045*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 50054*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 50057*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 50065*/                /*Scope*/ 35|128,1/*163*/, /*->50230*/
/* 50067*/                  OPC_CheckChild0Same, 3,
/* 50069*/                  OPC_CheckChild1Integer, 1, 
/* 50071*/                  OPC_MoveParent,
/* 50072*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50074*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50076*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50078*/                  OPC_MoveParent,
/* 50079*/                  OPC_MoveChild1,
/* 50080*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50083*/                  OPC_RecordMemRef,
/* 50084*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 50085*/                  OPC_CheckFoldableChainNode,
/* 50086*/                  OPC_MoveChild1,
/* 50087*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50090*/                  OPC_CheckChild0Same, 1,
/* 50092*/                  OPC_CheckChild1Integer, 1, 
/* 50094*/                  OPC_CheckType, MVT::i64,
/* 50096*/                  OPC_MoveParent,
/* 50097*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50099*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50101*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50103*/                  OPC_MoveParent,
/* 50104*/                  OPC_MoveParent,
/* 50105*/                  OPC_MoveParent,
/* 50106*/                  OPC_CheckType, MVT::i32,
/* 50108*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 50110*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 50120*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 50123*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 50130*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 50136*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50139*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 50147*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50150*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 50158*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50161*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 50170*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 50176*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50179*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 50187*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50190*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 50198*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50201*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 50210*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 50219*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 50222*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 50230*/                0, /*End of Scope*/
/* 50231*/              /*Scope*/ 4|128,3/*388*/, /*->50621*/
/* 50233*/                OPC_CheckChild0Same, 3,
/* 50235*/                OPC_CheckChild1Integer, 2, 
/* 50237*/                OPC_MoveParent,
/* 50238*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50240*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 50242*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50244*/                OPC_MoveParent,
/* 50245*/                OPC_MoveChild1,
/* 50246*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50249*/                OPC_RecordMemRef,
/* 50250*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 50251*/                OPC_CheckFoldableChainNode,
/* 50252*/                OPC_MoveChild1,
/* 50253*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50256*/                OPC_CheckChild0Same, 1,
/* 50258*/                OPC_CheckChild1Integer, 2, 
/* 50260*/                OPC_CheckType, MVT::i64,
/* 50262*/                OPC_MoveParent,
/* 50263*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50265*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 50267*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50269*/                OPC_MoveParent,
/* 50270*/                OPC_MoveParent,
/* 50271*/                OPC_MoveParent,
/* 50272*/                OPC_MoveChild1,
/* 50273*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 50276*/                OPC_MoveChild0,
/* 50277*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50280*/                OPC_RecordMemRef,
/* 50281*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 50282*/                OPC_CheckFoldableChainNode,
/* 50283*/                OPC_MoveChild1,
/* 50284*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50287*/                OPC_CheckType, MVT::i64,
/* 50289*/                OPC_Scope, 35|128,1/*163*/, /*->50455*/ // 2 children in Scope
/* 50292*/                  OPC_CheckChild0Same, 1,
/* 50294*/                  OPC_CheckChild1Integer, 1, 
/* 50296*/                  OPC_MoveParent,
/* 50297*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50299*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50301*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50303*/                  OPC_MoveParent,
/* 50304*/                  OPC_MoveChild1,
/* 50305*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50308*/                  OPC_RecordMemRef,
/* 50309*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 50310*/                  OPC_CheckFoldableChainNode,
/* 50311*/                  OPC_MoveChild1,
/* 50312*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50315*/                  OPC_CheckChild0Same, 3,
/* 50317*/                  OPC_CheckChild1Integer, 1, 
/* 50319*/                  OPC_CheckType, MVT::i64,
/* 50321*/                  OPC_MoveParent,
/* 50322*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50324*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50326*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50328*/                  OPC_MoveParent,
/* 50329*/                  OPC_MoveParent,
/* 50330*/                  OPC_MoveParent,
/* 50331*/                  OPC_CheckType, MVT::i32,
/* 50333*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 50335*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 50345*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 50348*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 50355*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 50361*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50364*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 50372*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50375*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 50383*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50386*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 50395*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 50401*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50404*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 50412*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50415*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 50423*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50426*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 50435*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 50444*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 50447*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 50455*/                /*Scope*/ 35|128,1/*163*/, /*->50620*/
/* 50457*/                  OPC_CheckChild0Same, 3,
/* 50459*/                  OPC_CheckChild1Integer, 1, 
/* 50461*/                  OPC_MoveParent,
/* 50462*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50464*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50466*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50468*/                  OPC_MoveParent,
/* 50469*/                  OPC_MoveChild1,
/* 50470*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50473*/                  OPC_RecordMemRef,
/* 50474*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 50475*/                  OPC_CheckFoldableChainNode,
/* 50476*/                  OPC_MoveChild1,
/* 50477*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50480*/                  OPC_CheckChild0Same, 1,
/* 50482*/                  OPC_CheckChild1Integer, 1, 
/* 50484*/                  OPC_CheckType, MVT::i64,
/* 50486*/                  OPC_MoveParent,
/* 50487*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50489*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50491*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50493*/                  OPC_MoveParent,
/* 50494*/                  OPC_MoveParent,
/* 50495*/                  OPC_MoveParent,
/* 50496*/                  OPC_CheckType, MVT::i32,
/* 50498*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 50500*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 50510*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 50513*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 50520*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 50526*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50529*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 50537*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50540*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 50548*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50551*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 50560*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 50566*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50569*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 50577*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50580*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 50588*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50591*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 50600*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 50609*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 50612*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 50620*/                0, /*End of Scope*/
/* 50621*/              0, /*End of Scope*/
/* 50622*/            /*Scope*/ 57|128,6/*825*/, /*->51449*/
/* 50624*/              OPC_CheckChild1Same, 3,
/* 50626*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50628*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 50630*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50632*/              OPC_MoveParent,
/* 50633*/              OPC_MoveChild1,
/* 50634*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50637*/              OPC_RecordMemRef,
/* 50638*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 50639*/              OPC_CheckFoldableChainNode,
/* 50640*/              OPC_CheckChild1Same, 1,
/* 50642*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50644*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 50646*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50648*/              OPC_MoveParent,
/* 50649*/              OPC_MoveParent,
/* 50650*/              OPC_MoveChild1,
/* 50651*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 50654*/              OPC_MoveChild0,
/* 50655*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50658*/              OPC_RecordMemRef,
/* 50659*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 50660*/              OPC_CheckFoldableChainNode,
/* 50661*/              OPC_MoveChild1,
/* 50662*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50665*/              OPC_CheckType, MVT::i64,
/* 50667*/              OPC_Scope, 4|128,3/*388*/, /*->51058*/ // 2 children in Scope
/* 50670*/                OPC_CheckChild0Same, 1,
/* 50672*/                OPC_CheckChild1Integer, 2, 
/* 50674*/                OPC_MoveParent,
/* 50675*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50677*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 50679*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50681*/                OPC_MoveParent,
/* 50682*/                OPC_MoveChild1,
/* 50683*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50686*/                OPC_RecordMemRef,
/* 50687*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 50688*/                OPC_CheckFoldableChainNode,
/* 50689*/                OPC_MoveChild1,
/* 50690*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50693*/                OPC_CheckChild0Same, 3,
/* 50695*/                OPC_CheckChild1Integer, 2, 
/* 50697*/                OPC_CheckType, MVT::i64,
/* 50699*/                OPC_MoveParent,
/* 50700*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50702*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 50704*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50706*/                OPC_MoveParent,
/* 50707*/                OPC_MoveParent,
/* 50708*/                OPC_MoveParent,
/* 50709*/                OPC_MoveChild1,
/* 50710*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 50713*/                OPC_MoveChild0,
/* 50714*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50717*/                OPC_RecordMemRef,
/* 50718*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 50719*/                OPC_CheckFoldableChainNode,
/* 50720*/                OPC_MoveChild1,
/* 50721*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50724*/                OPC_CheckType, MVT::i64,
/* 50726*/                OPC_Scope, 35|128,1/*163*/, /*->50892*/ // 2 children in Scope
/* 50729*/                  OPC_CheckChild0Same, 1,
/* 50731*/                  OPC_CheckChild1Integer, 1, 
/* 50733*/                  OPC_MoveParent,
/* 50734*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50736*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50738*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50740*/                  OPC_MoveParent,
/* 50741*/                  OPC_MoveChild1,
/* 50742*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50745*/                  OPC_RecordMemRef,
/* 50746*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 50747*/                  OPC_CheckFoldableChainNode,
/* 50748*/                  OPC_MoveChild1,
/* 50749*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50752*/                  OPC_CheckChild0Same, 3,
/* 50754*/                  OPC_CheckChild1Integer, 1, 
/* 50756*/                  OPC_CheckType, MVT::i64,
/* 50758*/                  OPC_MoveParent,
/* 50759*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50761*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50763*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50765*/                  OPC_MoveParent,
/* 50766*/                  OPC_MoveParent,
/* 50767*/                  OPC_MoveParent,
/* 50768*/                  OPC_CheckType, MVT::i32,
/* 50770*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 50772*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 50782*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 50785*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 50792*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 50798*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50801*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 50809*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50812*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 50820*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50823*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 50832*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 50838*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50841*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 50849*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50852*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 50860*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50863*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 50872*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 50881*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 50884*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 50892*/                /*Scope*/ 35|128,1/*163*/, /*->51057*/
/* 50894*/                  OPC_CheckChild0Same, 3,
/* 50896*/                  OPC_CheckChild1Integer, 1, 
/* 50898*/                  OPC_MoveParent,
/* 50899*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50901*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50903*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50905*/                  OPC_MoveParent,
/* 50906*/                  OPC_MoveChild1,
/* 50907*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 50910*/                  OPC_RecordMemRef,
/* 50911*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 50912*/                  OPC_CheckFoldableChainNode,
/* 50913*/                  OPC_MoveChild1,
/* 50914*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 50917*/                  OPC_CheckChild0Same, 1,
/* 50919*/                  OPC_CheckChild1Integer, 1, 
/* 50921*/                  OPC_CheckType, MVT::i64,
/* 50923*/                  OPC_MoveParent,
/* 50924*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 50926*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 50928*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 50930*/                  OPC_MoveParent,
/* 50931*/                  OPC_MoveParent,
/* 50932*/                  OPC_MoveParent,
/* 50933*/                  OPC_CheckType, MVT::i32,
/* 50935*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 50937*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 50947*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 50950*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 50957*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 50963*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 50966*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 50974*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 50977*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 50985*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 50988*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 50997*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 51003*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 51006*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 51014*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51017*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 51025*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51028*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 51037*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 51046*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 51049*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 51057*/                0, /*End of Scope*/
/* 51058*/              /*Scope*/ 4|128,3/*388*/, /*->51448*/
/* 51060*/                OPC_CheckChild0Same, 3,
/* 51062*/                OPC_CheckChild1Integer, 2, 
/* 51064*/                OPC_MoveParent,
/* 51065*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51067*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 51069*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51071*/                OPC_MoveParent,
/* 51072*/                OPC_MoveChild1,
/* 51073*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51076*/                OPC_RecordMemRef,
/* 51077*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 51078*/                OPC_CheckFoldableChainNode,
/* 51079*/                OPC_MoveChild1,
/* 51080*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51083*/                OPC_CheckChild0Same, 1,
/* 51085*/                OPC_CheckChild1Integer, 2, 
/* 51087*/                OPC_CheckType, MVT::i64,
/* 51089*/                OPC_MoveParent,
/* 51090*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51092*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 51094*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51096*/                OPC_MoveParent,
/* 51097*/                OPC_MoveParent,
/* 51098*/                OPC_MoveParent,
/* 51099*/                OPC_MoveChild1,
/* 51100*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 51103*/                OPC_MoveChild0,
/* 51104*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51107*/                OPC_RecordMemRef,
/* 51108*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 51109*/                OPC_CheckFoldableChainNode,
/* 51110*/                OPC_MoveChild1,
/* 51111*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51114*/                OPC_CheckType, MVT::i64,
/* 51116*/                OPC_Scope, 35|128,1/*163*/, /*->51282*/ // 2 children in Scope
/* 51119*/                  OPC_CheckChild0Same, 1,
/* 51121*/                  OPC_CheckChild1Integer, 1, 
/* 51123*/                  OPC_MoveParent,
/* 51124*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51126*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 51128*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51130*/                  OPC_MoveParent,
/* 51131*/                  OPC_MoveChild1,
/* 51132*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51135*/                  OPC_RecordMemRef,
/* 51136*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 51137*/                  OPC_CheckFoldableChainNode,
/* 51138*/                  OPC_MoveChild1,
/* 51139*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51142*/                  OPC_CheckChild0Same, 3,
/* 51144*/                  OPC_CheckChild1Integer, 1, 
/* 51146*/                  OPC_CheckType, MVT::i64,
/* 51148*/                  OPC_MoveParent,
/* 51149*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51151*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 51153*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51155*/                  OPC_MoveParent,
/* 51156*/                  OPC_MoveParent,
/* 51157*/                  OPC_MoveParent,
/* 51158*/                  OPC_CheckType, MVT::i32,
/* 51160*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 51162*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 51172*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 51175*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 51182*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 51188*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 51191*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 51199*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51202*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 51210*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51213*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 51222*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 51228*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 51231*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 51239*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51242*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 51250*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51253*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 51262*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 51271*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 51274*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 51282*/                /*Scope*/ 35|128,1/*163*/, /*->51447*/
/* 51284*/                  OPC_CheckChild0Same, 3,
/* 51286*/                  OPC_CheckChild1Integer, 1, 
/* 51288*/                  OPC_MoveParent,
/* 51289*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51291*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 51293*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51295*/                  OPC_MoveParent,
/* 51296*/                  OPC_MoveChild1,
/* 51297*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51300*/                  OPC_RecordMemRef,
/* 51301*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 51302*/                  OPC_CheckFoldableChainNode,
/* 51303*/                  OPC_MoveChild1,
/* 51304*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51307*/                  OPC_CheckChild0Same, 1,
/* 51309*/                  OPC_CheckChild1Integer, 1, 
/* 51311*/                  OPC_CheckType, MVT::i64,
/* 51313*/                  OPC_MoveParent,
/* 51314*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51316*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 51318*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51320*/                  OPC_MoveParent,
/* 51321*/                  OPC_MoveParent,
/* 51322*/                  OPC_MoveParent,
/* 51323*/                  OPC_CheckType, MVT::i32,
/* 51325*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 51327*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 51337*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 51340*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 51347*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 51353*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 51356*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 51364*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51367*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 51375*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51378*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 51387*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 51393*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 51396*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 51404*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51407*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 51415*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51418*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 51427*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 51436*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 51439*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 51447*/                0, /*End of Scope*/
/* 51448*/              0, /*End of Scope*/
/* 51449*/            /*Scope*/ 90|128,12/*1626*/, /*->53077*/
/* 51451*/              OPC_MoveChild1,
/* 51452*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51455*/              OPC_CheckType, MVT::i64,
/* 51457*/              OPC_Scope, 39|128,6/*807*/, /*->52267*/ // 2 children in Scope
/* 51460*/                OPC_CheckChild0Same, 1,
/* 51462*/                OPC_CheckChild1Integer, 1, 
/* 51464*/                OPC_MoveParent,
/* 51465*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51467*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 51469*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51471*/                OPC_MoveParent,
/* 51472*/                OPC_MoveChild1,
/* 51473*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51476*/                OPC_RecordMemRef,
/* 51477*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 51478*/                OPC_CheckFoldableChainNode,
/* 51479*/                OPC_MoveChild1,
/* 51480*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51483*/                OPC_CheckChild0Same, 3,
/* 51485*/                OPC_CheckChild1Integer, 1, 
/* 51487*/                OPC_CheckType, MVT::i64,
/* 51489*/                OPC_MoveParent,
/* 51490*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51492*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 51494*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51496*/                OPC_MoveParent,
/* 51497*/                OPC_MoveParent,
/* 51498*/                OPC_MoveChild1,
/* 51499*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 51502*/                OPC_MoveChild0,
/* 51503*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51506*/                OPC_RecordMemRef,
/* 51507*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 51508*/                OPC_CheckFoldableChainNode,
/* 51509*/                OPC_Scope, 120|128,2/*376*/, /*->51888*/ // 2 children in Scope
/* 51512*/                  OPC_CheckChild1Same, 1,
/* 51514*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51516*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 51518*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51520*/                  OPC_MoveParent,
/* 51521*/                  OPC_MoveChild1,
/* 51522*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51525*/                  OPC_RecordMemRef,
/* 51526*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 51527*/                  OPC_CheckFoldableChainNode,
/* 51528*/                  OPC_CheckChild1Same, 3,
/* 51530*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51532*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 51534*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51536*/                  OPC_MoveParent,
/* 51537*/                  OPC_MoveParent,
/* 51538*/                  OPC_MoveParent,
/* 51539*/                  OPC_MoveChild1,
/* 51540*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 51543*/                  OPC_MoveChild0,
/* 51544*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51547*/                  OPC_RecordMemRef,
/* 51548*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 51549*/                  OPC_CheckFoldableChainNode,
/* 51550*/                  OPC_MoveChild1,
/* 51551*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51554*/                  OPC_CheckType, MVT::i64,
/* 51556*/                  OPC_Scope, 35|128,1/*163*/, /*->51722*/ // 2 children in Scope
/* 51559*/                    OPC_CheckChild0Same, 1,
/* 51561*/                    OPC_CheckChild1Integer, 2, 
/* 51563*/                    OPC_MoveParent,
/* 51564*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51566*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 51568*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51570*/                    OPC_MoveParent,
/* 51571*/                    OPC_MoveChild1,
/* 51572*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51575*/                    OPC_RecordMemRef,
/* 51576*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 51577*/                    OPC_CheckFoldableChainNode,
/* 51578*/                    OPC_MoveChild1,
/* 51579*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51582*/                    OPC_CheckChild0Same, 3,
/* 51584*/                    OPC_CheckChild1Integer, 2, 
/* 51586*/                    OPC_CheckType, MVT::i64,
/* 51588*/                    OPC_MoveParent,
/* 51589*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51591*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 51593*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51595*/                    OPC_MoveParent,
/* 51596*/                    OPC_MoveParent,
/* 51597*/                    OPC_MoveParent,
/* 51598*/                    OPC_CheckType, MVT::i32,
/* 51600*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 51602*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 51612*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 51615*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 51622*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 51628*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 51631*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 51639*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51642*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 51650*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51653*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 51662*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 51668*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 51671*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 51679*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51682*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 51690*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51693*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 51702*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 51711*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 51714*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 51722*/                  /*Scope*/ 35|128,1/*163*/, /*->51887*/
/* 51724*/                    OPC_CheckChild0Same, 3,
/* 51726*/                    OPC_CheckChild1Integer, 2, 
/* 51728*/                    OPC_MoveParent,
/* 51729*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51731*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 51733*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51735*/                    OPC_MoveParent,
/* 51736*/                    OPC_MoveChild1,
/* 51737*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51740*/                    OPC_RecordMemRef,
/* 51741*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 51742*/                    OPC_CheckFoldableChainNode,
/* 51743*/                    OPC_MoveChild1,
/* 51744*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51747*/                    OPC_CheckChild0Same, 1,
/* 51749*/                    OPC_CheckChild1Integer, 2, 
/* 51751*/                    OPC_CheckType, MVT::i64,
/* 51753*/                    OPC_MoveParent,
/* 51754*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51756*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 51758*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51760*/                    OPC_MoveParent,
/* 51761*/                    OPC_MoveParent,
/* 51762*/                    OPC_MoveParent,
/* 51763*/                    OPC_CheckType, MVT::i32,
/* 51765*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 51767*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 51777*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 51780*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 51787*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 51793*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 51796*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 51804*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51807*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 51815*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51818*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 51827*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 51833*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 51836*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 51844*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 51847*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 51855*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 51858*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 51867*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 51876*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 51879*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 51887*/                  0, /*End of Scope*/
/* 51888*/                /*Scope*/ 120|128,2/*376*/, /*->52266*/
/* 51890*/                  OPC_CheckChild1Same, 3,
/* 51892*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51894*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 51896*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51898*/                  OPC_MoveParent,
/* 51899*/                  OPC_MoveChild1,
/* 51900*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51903*/                  OPC_RecordMemRef,
/* 51904*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 51905*/                  OPC_CheckFoldableChainNode,
/* 51906*/                  OPC_CheckChild1Same, 1,
/* 51908*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51910*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 51912*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51914*/                  OPC_MoveParent,
/* 51915*/                  OPC_MoveParent,
/* 51916*/                  OPC_MoveParent,
/* 51917*/                  OPC_MoveChild1,
/* 51918*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 51921*/                  OPC_MoveChild0,
/* 51922*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51925*/                  OPC_RecordMemRef,
/* 51926*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 51927*/                  OPC_CheckFoldableChainNode,
/* 51928*/                  OPC_MoveChild1,
/* 51929*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51932*/                  OPC_CheckType, MVT::i64,
/* 51934*/                  OPC_Scope, 35|128,1/*163*/, /*->52100*/ // 2 children in Scope
/* 51937*/                    OPC_CheckChild0Same, 1,
/* 51939*/                    OPC_CheckChild1Integer, 2, 
/* 51941*/                    OPC_MoveParent,
/* 51942*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51944*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 51946*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51948*/                    OPC_MoveParent,
/* 51949*/                    OPC_MoveChild1,
/* 51950*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 51953*/                    OPC_RecordMemRef,
/* 51954*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 51955*/                    OPC_CheckFoldableChainNode,
/* 51956*/                    OPC_MoveChild1,
/* 51957*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 51960*/                    OPC_CheckChild0Same, 3,
/* 51962*/                    OPC_CheckChild1Integer, 2, 
/* 51964*/                    OPC_CheckType, MVT::i64,
/* 51966*/                    OPC_MoveParent,
/* 51967*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 51969*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 51971*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 51973*/                    OPC_MoveParent,
/* 51974*/                    OPC_MoveParent,
/* 51975*/                    OPC_MoveParent,
/* 51976*/                    OPC_CheckType, MVT::i32,
/* 51978*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 51980*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 51990*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 51993*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 52000*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 52006*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52009*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 52017*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52020*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 52028*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52031*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 52040*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 52046*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52049*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 52057*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52060*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 52068*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52071*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 52080*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 52089*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 52092*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 52100*/                  /*Scope*/ 35|128,1/*163*/, /*->52265*/
/* 52102*/                    OPC_CheckChild0Same, 3,
/* 52104*/                    OPC_CheckChild1Integer, 2, 
/* 52106*/                    OPC_MoveParent,
/* 52107*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52109*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52111*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52113*/                    OPC_MoveParent,
/* 52114*/                    OPC_MoveChild1,
/* 52115*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52118*/                    OPC_RecordMemRef,
/* 52119*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 52120*/                    OPC_CheckFoldableChainNode,
/* 52121*/                    OPC_MoveChild1,
/* 52122*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 52125*/                    OPC_CheckChild0Same, 1,
/* 52127*/                    OPC_CheckChild1Integer, 2, 
/* 52129*/                    OPC_CheckType, MVT::i64,
/* 52131*/                    OPC_MoveParent,
/* 52132*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52134*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52136*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52138*/                    OPC_MoveParent,
/* 52139*/                    OPC_MoveParent,
/* 52140*/                    OPC_MoveParent,
/* 52141*/                    OPC_CheckType, MVT::i32,
/* 52143*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 52145*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 52155*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 52158*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 52165*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 52171*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52174*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 52182*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52185*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 52193*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52196*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 52205*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 52211*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52214*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 52222*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52225*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 52233*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52236*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 52245*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 52254*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 52257*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 52265*/                  0, /*End of Scope*/
/* 52266*/                0, /*End of Scope*/
/* 52267*/              /*Scope*/ 39|128,6/*807*/, /*->53076*/
/* 52269*/                OPC_CheckChild0Same, 3,
/* 52271*/                OPC_CheckChild1Integer, 1, 
/* 52273*/                OPC_MoveParent,
/* 52274*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52276*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 52278*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52280*/                OPC_MoveParent,
/* 52281*/                OPC_MoveChild1,
/* 52282*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52285*/                OPC_RecordMemRef,
/* 52286*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 52287*/                OPC_CheckFoldableChainNode,
/* 52288*/                OPC_MoveChild1,
/* 52289*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 52292*/                OPC_CheckChild0Same, 1,
/* 52294*/                OPC_CheckChild1Integer, 1, 
/* 52296*/                OPC_CheckType, MVT::i64,
/* 52298*/                OPC_MoveParent,
/* 52299*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52301*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 52303*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52305*/                OPC_MoveParent,
/* 52306*/                OPC_MoveParent,
/* 52307*/                OPC_MoveChild1,
/* 52308*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 52311*/                OPC_MoveChild0,
/* 52312*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52315*/                OPC_RecordMemRef,
/* 52316*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 52317*/                OPC_CheckFoldableChainNode,
/* 52318*/                OPC_Scope, 120|128,2/*376*/, /*->52697*/ // 2 children in Scope
/* 52321*/                  OPC_CheckChild1Same, 1,
/* 52323*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52325*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 52327*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52329*/                  OPC_MoveParent,
/* 52330*/                  OPC_MoveChild1,
/* 52331*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52334*/                  OPC_RecordMemRef,
/* 52335*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 52336*/                  OPC_CheckFoldableChainNode,
/* 52337*/                  OPC_CheckChild1Same, 3,
/* 52339*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52341*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 52343*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52345*/                  OPC_MoveParent,
/* 52346*/                  OPC_MoveParent,
/* 52347*/                  OPC_MoveParent,
/* 52348*/                  OPC_MoveChild1,
/* 52349*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 52352*/                  OPC_MoveChild0,
/* 52353*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52356*/                  OPC_RecordMemRef,
/* 52357*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 52358*/                  OPC_CheckFoldableChainNode,
/* 52359*/                  OPC_MoveChild1,
/* 52360*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 52363*/                  OPC_CheckType, MVT::i64,
/* 52365*/                  OPC_Scope, 35|128,1/*163*/, /*->52531*/ // 2 children in Scope
/* 52368*/                    OPC_CheckChild0Same, 1,
/* 52370*/                    OPC_CheckChild1Integer, 2, 
/* 52372*/                    OPC_MoveParent,
/* 52373*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52375*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52377*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52379*/                    OPC_MoveParent,
/* 52380*/                    OPC_MoveChild1,
/* 52381*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52384*/                    OPC_RecordMemRef,
/* 52385*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 52386*/                    OPC_CheckFoldableChainNode,
/* 52387*/                    OPC_MoveChild1,
/* 52388*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 52391*/                    OPC_CheckChild0Same, 3,
/* 52393*/                    OPC_CheckChild1Integer, 2, 
/* 52395*/                    OPC_CheckType, MVT::i64,
/* 52397*/                    OPC_MoveParent,
/* 52398*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52400*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52402*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52404*/                    OPC_MoveParent,
/* 52405*/                    OPC_MoveParent,
/* 52406*/                    OPC_MoveParent,
/* 52407*/                    OPC_CheckType, MVT::i32,
/* 52409*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 52411*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 52421*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 52424*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 52431*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 52437*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52440*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 52448*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52451*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 52459*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52462*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 52471*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 52477*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52480*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 52488*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52491*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 52499*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52502*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 52511*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 52520*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 52523*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 52531*/                  /*Scope*/ 35|128,1/*163*/, /*->52696*/
/* 52533*/                    OPC_CheckChild0Same, 3,
/* 52535*/                    OPC_CheckChild1Integer, 2, 
/* 52537*/                    OPC_MoveParent,
/* 52538*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52540*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52542*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52544*/                    OPC_MoveParent,
/* 52545*/                    OPC_MoveChild1,
/* 52546*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52549*/                    OPC_RecordMemRef,
/* 52550*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 52551*/                    OPC_CheckFoldableChainNode,
/* 52552*/                    OPC_MoveChild1,
/* 52553*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 52556*/                    OPC_CheckChild0Same, 1,
/* 52558*/                    OPC_CheckChild1Integer, 2, 
/* 52560*/                    OPC_CheckType, MVT::i64,
/* 52562*/                    OPC_MoveParent,
/* 52563*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52565*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52567*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52569*/                    OPC_MoveParent,
/* 52570*/                    OPC_MoveParent,
/* 52571*/                    OPC_MoveParent,
/* 52572*/                    OPC_CheckType, MVT::i32,
/* 52574*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 52576*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 52586*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 52589*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 52596*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 52602*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52605*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 52613*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52616*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 52624*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52627*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 52636*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 52642*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52645*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 52653*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52656*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 52664*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52667*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 52676*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 52685*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 52688*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 52696*/                  0, /*End of Scope*/
/* 52697*/                /*Scope*/ 120|128,2/*376*/, /*->53075*/
/* 52699*/                  OPC_CheckChild1Same, 3,
/* 52701*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52703*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 52705*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52707*/                  OPC_MoveParent,
/* 52708*/                  OPC_MoveChild1,
/* 52709*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52712*/                  OPC_RecordMemRef,
/* 52713*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 52714*/                  OPC_CheckFoldableChainNode,
/* 52715*/                  OPC_CheckChild1Same, 1,
/* 52717*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52719*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 52721*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52723*/                  OPC_MoveParent,
/* 52724*/                  OPC_MoveParent,
/* 52725*/                  OPC_MoveParent,
/* 52726*/                  OPC_MoveChild1,
/* 52727*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 52730*/                  OPC_MoveChild0,
/* 52731*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52734*/                  OPC_RecordMemRef,
/* 52735*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 52736*/                  OPC_CheckFoldableChainNode,
/* 52737*/                  OPC_MoveChild1,
/* 52738*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 52741*/                  OPC_CheckType, MVT::i64,
/* 52743*/                  OPC_Scope, 35|128,1/*163*/, /*->52909*/ // 2 children in Scope
/* 52746*/                    OPC_CheckChild0Same, 1,
/* 52748*/                    OPC_CheckChild1Integer, 2, 
/* 52750*/                    OPC_MoveParent,
/* 52751*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52753*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52755*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52757*/                    OPC_MoveParent,
/* 52758*/                    OPC_MoveChild1,
/* 52759*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52762*/                    OPC_RecordMemRef,
/* 52763*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 52764*/                    OPC_CheckFoldableChainNode,
/* 52765*/                    OPC_MoveChild1,
/* 52766*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 52769*/                    OPC_CheckChild0Same, 3,
/* 52771*/                    OPC_CheckChild1Integer, 2, 
/* 52773*/                    OPC_CheckType, MVT::i64,
/* 52775*/                    OPC_MoveParent,
/* 52776*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52778*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52780*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52782*/                    OPC_MoveParent,
/* 52783*/                    OPC_MoveParent,
/* 52784*/                    OPC_MoveParent,
/* 52785*/                    OPC_CheckType, MVT::i32,
/* 52787*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 52789*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 52799*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 52802*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 52809*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 52815*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52818*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 52826*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52829*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 52837*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52840*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 52849*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 52855*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52858*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 52866*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52869*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 52877*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 52880*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 52889*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 52898*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 52901*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 52909*/                  /*Scope*/ 35|128,1/*163*/, /*->53074*/
/* 52911*/                    OPC_CheckChild0Same, 3,
/* 52913*/                    OPC_CheckChild1Integer, 2, 
/* 52915*/                    OPC_MoveParent,
/* 52916*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52918*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52920*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52922*/                    OPC_MoveParent,
/* 52923*/                    OPC_MoveChild1,
/* 52924*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 52927*/                    OPC_RecordMemRef,
/* 52928*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 52929*/                    OPC_CheckFoldableChainNode,
/* 52930*/                    OPC_MoveChild1,
/* 52931*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 52934*/                    OPC_CheckChild0Same, 1,
/* 52936*/                    OPC_CheckChild1Integer, 2, 
/* 52938*/                    OPC_CheckType, MVT::i64,
/* 52940*/                    OPC_MoveParent,
/* 52941*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 52943*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 52945*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 52947*/                    OPC_MoveParent,
/* 52948*/                    OPC_MoveParent,
/* 52949*/                    OPC_MoveParent,
/* 52950*/                    OPC_CheckType, MVT::i32,
/* 52952*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 52954*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 52964*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 52967*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 52974*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 52980*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 52983*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 52991*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 52994*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 53002*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53005*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 53014*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 53020*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 53023*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 53031*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53034*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 53042*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53045*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 53054*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 53063*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 53066*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 53074*/                  0, /*End of Scope*/
/* 53075*/                0, /*End of Scope*/
/* 53076*/              0, /*End of Scope*/
/* 53077*/            /*Scope*/ 57|128,6/*825*/, /*->53904*/
/* 53079*/              OPC_CheckChild1Same, 1,
/* 53081*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53083*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 53085*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53087*/              OPC_MoveParent,
/* 53088*/              OPC_MoveChild1,
/* 53089*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53092*/              OPC_RecordMemRef,
/* 53093*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 53094*/              OPC_CheckFoldableChainNode,
/* 53095*/              OPC_CheckChild1Same, 3,
/* 53097*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53099*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 53101*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53103*/              OPC_MoveParent,
/* 53104*/              OPC_MoveParent,
/* 53105*/              OPC_MoveChild1,
/* 53106*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 53109*/              OPC_MoveChild0,
/* 53110*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53113*/              OPC_RecordMemRef,
/* 53114*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 53115*/              OPC_CheckFoldableChainNode,
/* 53116*/              OPC_MoveChild1,
/* 53117*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53120*/              OPC_CheckType, MVT::i64,
/* 53122*/              OPC_Scope, 4|128,3/*388*/, /*->53513*/ // 2 children in Scope
/* 53125*/                OPC_CheckChild0Same, 1,
/* 53127*/                OPC_CheckChild1Integer, 1, 
/* 53129*/                OPC_MoveParent,
/* 53130*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53132*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 53134*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53136*/                OPC_MoveParent,
/* 53137*/                OPC_MoveChild1,
/* 53138*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53141*/                OPC_RecordMemRef,
/* 53142*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 53143*/                OPC_CheckFoldableChainNode,
/* 53144*/                OPC_MoveChild1,
/* 53145*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53148*/                OPC_CheckChild0Same, 3,
/* 53150*/                OPC_CheckChild1Integer, 1, 
/* 53152*/                OPC_CheckType, MVT::i64,
/* 53154*/                OPC_MoveParent,
/* 53155*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53157*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 53159*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53161*/                OPC_MoveParent,
/* 53162*/                OPC_MoveParent,
/* 53163*/                OPC_MoveParent,
/* 53164*/                OPC_MoveChild1,
/* 53165*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 53168*/                OPC_MoveChild0,
/* 53169*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53172*/                OPC_RecordMemRef,
/* 53173*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 53174*/                OPC_CheckFoldableChainNode,
/* 53175*/                OPC_MoveChild1,
/* 53176*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53179*/                OPC_CheckType, MVT::i64,
/* 53181*/                OPC_Scope, 35|128,1/*163*/, /*->53347*/ // 2 children in Scope
/* 53184*/                  OPC_CheckChild0Same, 1,
/* 53186*/                  OPC_CheckChild1Integer, 2, 
/* 53188*/                  OPC_MoveParent,
/* 53189*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53191*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 53193*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53195*/                  OPC_MoveParent,
/* 53196*/                  OPC_MoveChild1,
/* 53197*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53200*/                  OPC_RecordMemRef,
/* 53201*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 53202*/                  OPC_CheckFoldableChainNode,
/* 53203*/                  OPC_MoveChild1,
/* 53204*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53207*/                  OPC_CheckChild0Same, 3,
/* 53209*/                  OPC_CheckChild1Integer, 2, 
/* 53211*/                  OPC_CheckType, MVT::i64,
/* 53213*/                  OPC_MoveParent,
/* 53214*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53216*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 53218*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53220*/                  OPC_MoveParent,
/* 53221*/                  OPC_MoveParent,
/* 53222*/                  OPC_MoveParent,
/* 53223*/                  OPC_CheckType, MVT::i32,
/* 53225*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 53227*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 53237*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 53240*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 53247*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 53253*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 53256*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 53264*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53267*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 53275*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53278*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 53287*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 53293*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 53296*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 53304*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53307*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 53315*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53318*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 53327*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 53336*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 53339*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 53347*/                /*Scope*/ 35|128,1/*163*/, /*->53512*/
/* 53349*/                  OPC_CheckChild0Same, 3,
/* 53351*/                  OPC_CheckChild1Integer, 2, 
/* 53353*/                  OPC_MoveParent,
/* 53354*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53356*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 53358*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53360*/                  OPC_MoveParent,
/* 53361*/                  OPC_MoveChild1,
/* 53362*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53365*/                  OPC_RecordMemRef,
/* 53366*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 53367*/                  OPC_CheckFoldableChainNode,
/* 53368*/                  OPC_MoveChild1,
/* 53369*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53372*/                  OPC_CheckChild0Same, 1,
/* 53374*/                  OPC_CheckChild1Integer, 2, 
/* 53376*/                  OPC_CheckType, MVT::i64,
/* 53378*/                  OPC_MoveParent,
/* 53379*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53381*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 53383*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53385*/                  OPC_MoveParent,
/* 53386*/                  OPC_MoveParent,
/* 53387*/                  OPC_MoveParent,
/* 53388*/                  OPC_CheckType, MVT::i32,
/* 53390*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 53392*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 53402*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 53405*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 53412*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 53418*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 53421*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 53429*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53432*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 53440*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53443*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 53452*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 53458*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 53461*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 53469*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53472*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 53480*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53483*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 53492*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 53501*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 53504*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 53512*/                0, /*End of Scope*/
/* 53513*/              /*Scope*/ 4|128,3/*388*/, /*->53903*/
/* 53515*/                OPC_CheckChild0Same, 3,
/* 53517*/                OPC_CheckChild1Integer, 1, 
/* 53519*/                OPC_MoveParent,
/* 53520*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53522*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 53524*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53526*/                OPC_MoveParent,
/* 53527*/                OPC_MoveChild1,
/* 53528*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53531*/                OPC_RecordMemRef,
/* 53532*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 53533*/                OPC_CheckFoldableChainNode,
/* 53534*/                OPC_MoveChild1,
/* 53535*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53538*/                OPC_CheckChild0Same, 1,
/* 53540*/                OPC_CheckChild1Integer, 1, 
/* 53542*/                OPC_CheckType, MVT::i64,
/* 53544*/                OPC_MoveParent,
/* 53545*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53547*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 53549*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53551*/                OPC_MoveParent,
/* 53552*/                OPC_MoveParent,
/* 53553*/                OPC_MoveParent,
/* 53554*/                OPC_MoveChild1,
/* 53555*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 53558*/                OPC_MoveChild0,
/* 53559*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53562*/                OPC_RecordMemRef,
/* 53563*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 53564*/                OPC_CheckFoldableChainNode,
/* 53565*/                OPC_MoveChild1,
/* 53566*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53569*/                OPC_CheckType, MVT::i64,
/* 53571*/                OPC_Scope, 35|128,1/*163*/, /*->53737*/ // 2 children in Scope
/* 53574*/                  OPC_CheckChild0Same, 1,
/* 53576*/                  OPC_CheckChild1Integer, 2, 
/* 53578*/                  OPC_MoveParent,
/* 53579*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53581*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 53583*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53585*/                  OPC_MoveParent,
/* 53586*/                  OPC_MoveChild1,
/* 53587*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53590*/                  OPC_RecordMemRef,
/* 53591*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 53592*/                  OPC_CheckFoldableChainNode,
/* 53593*/                  OPC_MoveChild1,
/* 53594*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53597*/                  OPC_CheckChild0Same, 3,
/* 53599*/                  OPC_CheckChild1Integer, 2, 
/* 53601*/                  OPC_CheckType, MVT::i64,
/* 53603*/                  OPC_MoveParent,
/* 53604*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53606*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 53608*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53610*/                  OPC_MoveParent,
/* 53611*/                  OPC_MoveParent,
/* 53612*/                  OPC_MoveParent,
/* 53613*/                  OPC_CheckType, MVT::i32,
/* 53615*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 53617*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 53627*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 53630*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 53637*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 53643*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 53646*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 53654*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53657*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 53665*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53668*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 53677*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 53683*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 53686*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 53694*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53697*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 53705*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53708*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 53717*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 53726*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 53729*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 53737*/                /*Scope*/ 35|128,1/*163*/, /*->53902*/
/* 53739*/                  OPC_CheckChild0Same, 3,
/* 53741*/                  OPC_CheckChild1Integer, 2, 
/* 53743*/                  OPC_MoveParent,
/* 53744*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53746*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 53748*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53750*/                  OPC_MoveParent,
/* 53751*/                  OPC_MoveChild1,
/* 53752*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53755*/                  OPC_RecordMemRef,
/* 53756*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 53757*/                  OPC_CheckFoldableChainNode,
/* 53758*/                  OPC_MoveChild1,
/* 53759*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53762*/                  OPC_CheckChild0Same, 1,
/* 53764*/                  OPC_CheckChild1Integer, 2, 
/* 53766*/                  OPC_CheckType, MVT::i64,
/* 53768*/                  OPC_MoveParent,
/* 53769*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53771*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 53773*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53775*/                  OPC_MoveParent,
/* 53776*/                  OPC_MoveParent,
/* 53777*/                  OPC_MoveParent,
/* 53778*/                  OPC_CheckType, MVT::i32,
/* 53780*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 53782*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 53792*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 53795*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 53802*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 53808*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 53811*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 53819*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53822*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 53830*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53833*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 53842*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 53848*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 53851*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 53859*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 53862*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 53870*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 53873*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 53882*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 53891*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 53894*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 53902*/                0, /*End of Scope*/
/* 53903*/              0, /*End of Scope*/
/* 53904*/            /*Scope*/ 57|128,6/*825*/, /*->54731*/
/* 53906*/              OPC_CheckChild1Same, 3,
/* 53908*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53910*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 53912*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53914*/              OPC_MoveParent,
/* 53915*/              OPC_MoveChild1,
/* 53916*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53919*/              OPC_RecordMemRef,
/* 53920*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 53921*/              OPC_CheckFoldableChainNode,
/* 53922*/              OPC_CheckChild1Same, 1,
/* 53924*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53926*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 53928*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53930*/              OPC_MoveParent,
/* 53931*/              OPC_MoveParent,
/* 53932*/              OPC_MoveChild1,
/* 53933*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 53936*/              OPC_MoveChild0,
/* 53937*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53940*/              OPC_RecordMemRef,
/* 53941*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 53942*/              OPC_CheckFoldableChainNode,
/* 53943*/              OPC_MoveChild1,
/* 53944*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53947*/              OPC_CheckType, MVT::i64,
/* 53949*/              OPC_Scope, 4|128,3/*388*/, /*->54340*/ // 2 children in Scope
/* 53952*/                OPC_CheckChild0Same, 1,
/* 53954*/                OPC_CheckChild1Integer, 1, 
/* 53956*/                OPC_MoveParent,
/* 53957*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53959*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 53961*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53963*/                OPC_MoveParent,
/* 53964*/                OPC_MoveChild1,
/* 53965*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53968*/                OPC_RecordMemRef,
/* 53969*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 53970*/                OPC_CheckFoldableChainNode,
/* 53971*/                OPC_MoveChild1,
/* 53972*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 53975*/                OPC_CheckChild0Same, 3,
/* 53977*/                OPC_CheckChild1Integer, 1, 
/* 53979*/                OPC_CheckType, MVT::i64,
/* 53981*/                OPC_MoveParent,
/* 53982*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 53984*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 53986*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 53988*/                OPC_MoveParent,
/* 53989*/                OPC_MoveParent,
/* 53990*/                OPC_MoveParent,
/* 53991*/                OPC_MoveChild1,
/* 53992*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 53995*/                OPC_MoveChild0,
/* 53996*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 53999*/                OPC_RecordMemRef,
/* 54000*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 54001*/                OPC_CheckFoldableChainNode,
/* 54002*/                OPC_MoveChild1,
/* 54003*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54006*/                OPC_CheckType, MVT::i64,
/* 54008*/                OPC_Scope, 35|128,1/*163*/, /*->54174*/ // 2 children in Scope
/* 54011*/                  OPC_CheckChild0Same, 1,
/* 54013*/                  OPC_CheckChild1Integer, 2, 
/* 54015*/                  OPC_MoveParent,
/* 54016*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54018*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54020*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54022*/                  OPC_MoveParent,
/* 54023*/                  OPC_MoveChild1,
/* 54024*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54027*/                  OPC_RecordMemRef,
/* 54028*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 54029*/                  OPC_CheckFoldableChainNode,
/* 54030*/                  OPC_MoveChild1,
/* 54031*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54034*/                  OPC_CheckChild0Same, 3,
/* 54036*/                  OPC_CheckChild1Integer, 2, 
/* 54038*/                  OPC_CheckType, MVT::i64,
/* 54040*/                  OPC_MoveParent,
/* 54041*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54043*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54045*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54047*/                  OPC_MoveParent,
/* 54048*/                  OPC_MoveParent,
/* 54049*/                  OPC_MoveParent,
/* 54050*/                  OPC_CheckType, MVT::i32,
/* 54052*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 54054*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 54064*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 54067*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 54074*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 54080*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 54083*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 54091*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54094*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 54102*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54105*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 54114*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 54120*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 54123*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 54131*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54134*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 54142*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54145*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 54154*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 54163*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 54166*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 54174*/                /*Scope*/ 35|128,1/*163*/, /*->54339*/
/* 54176*/                  OPC_CheckChild0Same, 3,
/* 54178*/                  OPC_CheckChild1Integer, 2, 
/* 54180*/                  OPC_MoveParent,
/* 54181*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54183*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54185*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54187*/                  OPC_MoveParent,
/* 54188*/                  OPC_MoveChild1,
/* 54189*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54192*/                  OPC_RecordMemRef,
/* 54193*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 54194*/                  OPC_CheckFoldableChainNode,
/* 54195*/                  OPC_MoveChild1,
/* 54196*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54199*/                  OPC_CheckChild0Same, 1,
/* 54201*/                  OPC_CheckChild1Integer, 2, 
/* 54203*/                  OPC_CheckType, MVT::i64,
/* 54205*/                  OPC_MoveParent,
/* 54206*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54208*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54210*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54212*/                  OPC_MoveParent,
/* 54213*/                  OPC_MoveParent,
/* 54214*/                  OPC_MoveParent,
/* 54215*/                  OPC_CheckType, MVT::i32,
/* 54217*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 54219*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 54229*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 54232*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 54239*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 54245*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 54248*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 54256*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54259*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 54267*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54270*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 54279*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 54285*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 54288*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 54296*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54299*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 54307*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54310*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 54319*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 54328*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 54331*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 54339*/                0, /*End of Scope*/
/* 54340*/              /*Scope*/ 4|128,3/*388*/, /*->54730*/
/* 54342*/                OPC_CheckChild0Same, 3,
/* 54344*/                OPC_CheckChild1Integer, 1, 
/* 54346*/                OPC_MoveParent,
/* 54347*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54349*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 54351*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54353*/                OPC_MoveParent,
/* 54354*/                OPC_MoveChild1,
/* 54355*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54358*/                OPC_RecordMemRef,
/* 54359*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 54360*/                OPC_CheckFoldableChainNode,
/* 54361*/                OPC_MoveChild1,
/* 54362*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54365*/                OPC_CheckChild0Same, 1,
/* 54367*/                OPC_CheckChild1Integer, 1, 
/* 54369*/                OPC_CheckType, MVT::i64,
/* 54371*/                OPC_MoveParent,
/* 54372*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54374*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 54376*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54378*/                OPC_MoveParent,
/* 54379*/                OPC_MoveParent,
/* 54380*/                OPC_MoveParent,
/* 54381*/                OPC_MoveChild1,
/* 54382*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 54385*/                OPC_MoveChild0,
/* 54386*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54389*/                OPC_RecordMemRef,
/* 54390*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 54391*/                OPC_CheckFoldableChainNode,
/* 54392*/                OPC_MoveChild1,
/* 54393*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54396*/                OPC_CheckType, MVT::i64,
/* 54398*/                OPC_Scope, 35|128,1/*163*/, /*->54564*/ // 2 children in Scope
/* 54401*/                  OPC_CheckChild0Same, 1,
/* 54403*/                  OPC_CheckChild1Integer, 2, 
/* 54405*/                  OPC_MoveParent,
/* 54406*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54408*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54410*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54412*/                  OPC_MoveParent,
/* 54413*/                  OPC_MoveChild1,
/* 54414*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54417*/                  OPC_RecordMemRef,
/* 54418*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 54419*/                  OPC_CheckFoldableChainNode,
/* 54420*/                  OPC_MoveChild1,
/* 54421*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54424*/                  OPC_CheckChild0Same, 3,
/* 54426*/                  OPC_CheckChild1Integer, 2, 
/* 54428*/                  OPC_CheckType, MVT::i64,
/* 54430*/                  OPC_MoveParent,
/* 54431*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54433*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54435*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54437*/                  OPC_MoveParent,
/* 54438*/                  OPC_MoveParent,
/* 54439*/                  OPC_MoveParent,
/* 54440*/                  OPC_CheckType, MVT::i32,
/* 54442*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 54444*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 54454*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 54457*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 54464*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 54470*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 54473*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 54481*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54484*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 54492*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54495*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 54504*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 54510*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 54513*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 54521*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54524*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 54532*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54535*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 54544*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 54553*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 54556*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 54564*/                /*Scope*/ 35|128,1/*163*/, /*->54729*/
/* 54566*/                  OPC_CheckChild0Same, 3,
/* 54568*/                  OPC_CheckChild1Integer, 2, 
/* 54570*/                  OPC_MoveParent,
/* 54571*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54573*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54575*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54577*/                  OPC_MoveParent,
/* 54578*/                  OPC_MoveChild1,
/* 54579*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54582*/                  OPC_RecordMemRef,
/* 54583*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 54584*/                  OPC_CheckFoldableChainNode,
/* 54585*/                  OPC_MoveChild1,
/* 54586*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54589*/                  OPC_CheckChild0Same, 1,
/* 54591*/                  OPC_CheckChild1Integer, 2, 
/* 54593*/                  OPC_CheckType, MVT::i64,
/* 54595*/                  OPC_MoveParent,
/* 54596*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54598*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54600*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54602*/                  OPC_MoveParent,
/* 54603*/                  OPC_MoveParent,
/* 54604*/                  OPC_MoveParent,
/* 54605*/                  OPC_CheckType, MVT::i32,
/* 54607*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 54609*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 54619*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 54622*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 54629*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 54635*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 54638*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 54646*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54649*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 54657*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54660*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 54669*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 54675*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 54678*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 54686*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54689*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 54697*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54700*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 54709*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 54718*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 54721*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 54729*/                0, /*End of Scope*/
/* 54730*/              0, /*End of Scope*/
/* 54731*/            /*Scope*/ 6|128,37/*4742*/, /*->59475*/
/* 54733*/              OPC_MoveChild1,
/* 54734*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54737*/              OPC_CheckType, MVT::i64,
/* 54739*/              OPC_Scope, 9|128,6/*777*/, /*->55519*/ // 6 children in Scope
/* 54742*/                OPC_CheckChild0Same, 3,
/* 54744*/                OPC_CheckChild1Integer, 2, 
/* 54746*/                OPC_MoveParent,
/* 54747*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54749*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 54751*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54753*/                OPC_MoveParent,
/* 54754*/                OPC_MoveChild1,
/* 54755*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54758*/                OPC_RecordMemRef,
/* 54759*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 54760*/                OPC_CheckFoldableChainNode,
/* 54761*/                OPC_MoveChild1,
/* 54762*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54765*/                OPC_CheckChild0Same, 1,
/* 54767*/                OPC_CheckChild1Integer, 2, 
/* 54769*/                OPC_CheckType, MVT::i64,
/* 54771*/                OPC_MoveParent,
/* 54772*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54774*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 54776*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54778*/                OPC_MoveParent,
/* 54779*/                OPC_MoveParent,
/* 54780*/                OPC_MoveChild1,
/* 54781*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 54784*/                OPC_MoveChild0,
/* 54785*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54788*/                OPC_RecordMemRef,
/* 54789*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 54790*/                OPC_CheckFoldableChainNode,
/* 54791*/                OPC_MoveChild1,
/* 54792*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54795*/                OPC_CheckType, MVT::i64,
/* 54797*/                OPC_Scope, 102|128,2/*358*/, /*->55158*/ // 2 children in Scope
/* 54800*/                  OPC_CheckChild0Same, 3,
/* 54802*/                  OPC_CheckChild1Integer, 1, 
/* 54804*/                  OPC_MoveParent,
/* 54805*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54807*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54809*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54811*/                  OPC_MoveParent,
/* 54812*/                  OPC_MoveChild1,
/* 54813*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54816*/                  OPC_RecordMemRef,
/* 54817*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 54818*/                  OPC_CheckFoldableChainNode,
/* 54819*/                  OPC_MoveChild1,
/* 54820*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 54823*/                  OPC_CheckChild0Same, 1,
/* 54825*/                  OPC_CheckChild1Integer, 1, 
/* 54827*/                  OPC_CheckType, MVT::i64,
/* 54829*/                  OPC_MoveParent,
/* 54830*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54832*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 54834*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54836*/                  OPC_MoveParent,
/* 54837*/                  OPC_MoveParent,
/* 54838*/                  OPC_MoveParent,
/* 54839*/                  OPC_MoveChild1,
/* 54840*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 54843*/                  OPC_MoveChild0,
/* 54844*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54847*/                  OPC_RecordMemRef,
/* 54848*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 54849*/                  OPC_CheckFoldableChainNode,
/* 54850*/                  OPC_Scope, 23|128,1/*151*/, /*->55004*/ // 2 children in Scope
/* 54853*/                    OPC_CheckChild1Same, 3,
/* 54855*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54857*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 54859*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54861*/                    OPC_MoveParent,
/* 54862*/                    OPC_MoveChild1,
/* 54863*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 54866*/                    OPC_RecordMemRef,
/* 54867*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 54868*/                    OPC_CheckFoldableChainNode,
/* 54869*/                    OPC_CheckChild1Same, 1,
/* 54871*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 54873*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 54875*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 54877*/                    OPC_MoveParent,
/* 54878*/                    OPC_MoveParent,
/* 54879*/                    OPC_MoveParent,
/* 54880*/                    OPC_CheckType, MVT::i32,
/* 54882*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 54884*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 54894*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 54897*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 54904*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 54910*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 54913*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 54921*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54924*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 54932*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54935*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 54944*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 54950*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 54953*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 54961*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 54964*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 54972*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 54975*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 54984*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 54993*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 54996*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 55004*/                  /*Scope*/ 23|128,1/*151*/, /*->55157*/
/* 55006*/                    OPC_CheckChild1Same, 1,
/* 55008*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55010*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55012*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55014*/                    OPC_MoveParent,
/* 55015*/                    OPC_MoveChild1,
/* 55016*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55019*/                    OPC_RecordMemRef,
/* 55020*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 55021*/                    OPC_CheckFoldableChainNode,
/* 55022*/                    OPC_CheckChild1Same, 3,
/* 55024*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55026*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55028*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55030*/                    OPC_MoveParent,
/* 55031*/                    OPC_MoveParent,
/* 55032*/                    OPC_MoveParent,
/* 55033*/                    OPC_CheckType, MVT::i32,
/* 55035*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 55037*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 55047*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 55050*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 55057*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 55063*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55066*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 55074*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55077*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 55085*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55088*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 55097*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 55103*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55106*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 55114*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55117*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 55125*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55128*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 55137*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 55146*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 55149*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 55157*/                  0, /*End of Scope*/
/* 55158*/                /*Scope*/ 102|128,2/*358*/, /*->55518*/
/* 55160*/                  OPC_CheckChild0Same, 1,
/* 55162*/                  OPC_CheckChild1Integer, 1, 
/* 55164*/                  OPC_MoveParent,
/* 55165*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55167*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 55169*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55171*/                  OPC_MoveParent,
/* 55172*/                  OPC_MoveChild1,
/* 55173*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55176*/                  OPC_RecordMemRef,
/* 55177*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 55178*/                  OPC_CheckFoldableChainNode,
/* 55179*/                  OPC_MoveChild1,
/* 55180*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 55183*/                  OPC_CheckChild0Same, 3,
/* 55185*/                  OPC_CheckChild1Integer, 1, 
/* 55187*/                  OPC_CheckType, MVT::i64,
/* 55189*/                  OPC_MoveParent,
/* 55190*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55192*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 55194*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55196*/                  OPC_MoveParent,
/* 55197*/                  OPC_MoveParent,
/* 55198*/                  OPC_MoveParent,
/* 55199*/                  OPC_MoveChild1,
/* 55200*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 55203*/                  OPC_MoveChild0,
/* 55204*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55207*/                  OPC_RecordMemRef,
/* 55208*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 55209*/                  OPC_CheckFoldableChainNode,
/* 55210*/                  OPC_Scope, 23|128,1/*151*/, /*->55364*/ // 2 children in Scope
/* 55213*/                    OPC_CheckChild1Same, 3,
/* 55215*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55217*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55219*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55221*/                    OPC_MoveParent,
/* 55222*/                    OPC_MoveChild1,
/* 55223*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55226*/                    OPC_RecordMemRef,
/* 55227*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 55228*/                    OPC_CheckFoldableChainNode,
/* 55229*/                    OPC_CheckChild1Same, 1,
/* 55231*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55233*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55235*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55237*/                    OPC_MoveParent,
/* 55238*/                    OPC_MoveParent,
/* 55239*/                    OPC_MoveParent,
/* 55240*/                    OPC_CheckType, MVT::i32,
/* 55242*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 55244*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 55254*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 55257*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 55264*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 55270*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55273*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 55281*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55284*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 55292*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55295*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 55304*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 55310*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55313*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 55321*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55324*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 55332*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55335*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 55344*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 55353*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 55356*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 55364*/                  /*Scope*/ 23|128,1/*151*/, /*->55517*/
/* 55366*/                    OPC_CheckChild1Same, 1,
/* 55368*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55370*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55372*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55374*/                    OPC_MoveParent,
/* 55375*/                    OPC_MoveChild1,
/* 55376*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55379*/                    OPC_RecordMemRef,
/* 55380*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 55381*/                    OPC_CheckFoldableChainNode,
/* 55382*/                    OPC_CheckChild1Same, 3,
/* 55384*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55386*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55388*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55390*/                    OPC_MoveParent,
/* 55391*/                    OPC_MoveParent,
/* 55392*/                    OPC_MoveParent,
/* 55393*/                    OPC_CheckType, MVT::i32,
/* 55395*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 55397*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 55407*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 55410*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 55417*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 55423*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55426*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 55434*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55437*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 55445*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55448*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 55457*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 55463*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55466*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 55474*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55477*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 55485*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55488*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 55497*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 55506*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 55509*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 55517*/                  0, /*End of Scope*/
/* 55518*/                0, /*End of Scope*/
/* 55519*/              /*Scope*/ 9|128,6/*777*/, /*->56298*/
/* 55521*/                OPC_CheckChild0Same, 1,
/* 55523*/                OPC_CheckChild1Integer, 2, 
/* 55525*/                OPC_MoveParent,
/* 55526*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55528*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 55530*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55532*/                OPC_MoveParent,
/* 55533*/                OPC_MoveChild1,
/* 55534*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55537*/                OPC_RecordMemRef,
/* 55538*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 55539*/                OPC_CheckFoldableChainNode,
/* 55540*/                OPC_MoveChild1,
/* 55541*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 55544*/                OPC_CheckChild0Same, 3,
/* 55546*/                OPC_CheckChild1Integer, 2, 
/* 55548*/                OPC_CheckType, MVT::i64,
/* 55550*/                OPC_MoveParent,
/* 55551*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55553*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 55555*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55557*/                OPC_MoveParent,
/* 55558*/                OPC_MoveParent,
/* 55559*/                OPC_MoveChild1,
/* 55560*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 55563*/                OPC_MoveChild0,
/* 55564*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55567*/                OPC_RecordMemRef,
/* 55568*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 55569*/                OPC_CheckFoldableChainNode,
/* 55570*/                OPC_MoveChild1,
/* 55571*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 55574*/                OPC_CheckType, MVT::i64,
/* 55576*/                OPC_Scope, 102|128,2/*358*/, /*->55937*/ // 2 children in Scope
/* 55579*/                  OPC_CheckChild0Same, 3,
/* 55581*/                  OPC_CheckChild1Integer, 1, 
/* 55583*/                  OPC_MoveParent,
/* 55584*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55586*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 55588*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55590*/                  OPC_MoveParent,
/* 55591*/                  OPC_MoveChild1,
/* 55592*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55595*/                  OPC_RecordMemRef,
/* 55596*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 55597*/                  OPC_CheckFoldableChainNode,
/* 55598*/                  OPC_MoveChild1,
/* 55599*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 55602*/                  OPC_CheckChild0Same, 1,
/* 55604*/                  OPC_CheckChild1Integer, 1, 
/* 55606*/                  OPC_CheckType, MVT::i64,
/* 55608*/                  OPC_MoveParent,
/* 55609*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55611*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 55613*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55615*/                  OPC_MoveParent,
/* 55616*/                  OPC_MoveParent,
/* 55617*/                  OPC_MoveParent,
/* 55618*/                  OPC_MoveChild1,
/* 55619*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 55622*/                  OPC_MoveChild0,
/* 55623*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55626*/                  OPC_RecordMemRef,
/* 55627*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 55628*/                  OPC_CheckFoldableChainNode,
/* 55629*/                  OPC_Scope, 23|128,1/*151*/, /*->55783*/ // 2 children in Scope
/* 55632*/                    OPC_CheckChild1Same, 3,
/* 55634*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55636*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55638*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55640*/                    OPC_MoveParent,
/* 55641*/                    OPC_MoveChild1,
/* 55642*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55645*/                    OPC_RecordMemRef,
/* 55646*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 55647*/                    OPC_CheckFoldableChainNode,
/* 55648*/                    OPC_CheckChild1Same, 1,
/* 55650*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55652*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55654*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55656*/                    OPC_MoveParent,
/* 55657*/                    OPC_MoveParent,
/* 55658*/                    OPC_MoveParent,
/* 55659*/                    OPC_CheckType, MVT::i32,
/* 55661*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 55663*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 55673*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 55676*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 55683*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 55689*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55692*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 55700*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55703*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 55711*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55714*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 55723*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 55729*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55732*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 55740*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55743*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 55751*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55754*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 55763*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 55772*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 55775*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 55783*/                  /*Scope*/ 23|128,1/*151*/, /*->55936*/
/* 55785*/                    OPC_CheckChild1Same, 1,
/* 55787*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55789*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55791*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55793*/                    OPC_MoveParent,
/* 55794*/                    OPC_MoveChild1,
/* 55795*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55798*/                    OPC_RecordMemRef,
/* 55799*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 55800*/                    OPC_CheckFoldableChainNode,
/* 55801*/                    OPC_CheckChild1Same, 3,
/* 55803*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55805*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55807*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55809*/                    OPC_MoveParent,
/* 55810*/                    OPC_MoveParent,
/* 55811*/                    OPC_MoveParent,
/* 55812*/                    OPC_CheckType, MVT::i32,
/* 55814*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 55816*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 55826*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 55829*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 55836*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 55842*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55845*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 55853*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55856*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 55864*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55867*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 55876*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 55882*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 55885*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 55893*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 55896*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 55904*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 55907*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 55916*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 55925*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 55928*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 55936*/                  0, /*End of Scope*/
/* 55937*/                /*Scope*/ 102|128,2/*358*/, /*->56297*/
/* 55939*/                  OPC_CheckChild0Same, 1,
/* 55941*/                  OPC_CheckChild1Integer, 1, 
/* 55943*/                  OPC_MoveParent,
/* 55944*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55946*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 55948*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55950*/                  OPC_MoveParent,
/* 55951*/                  OPC_MoveChild1,
/* 55952*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55955*/                  OPC_RecordMemRef,
/* 55956*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 55957*/                  OPC_CheckFoldableChainNode,
/* 55958*/                  OPC_MoveChild1,
/* 55959*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 55962*/                  OPC_CheckChild0Same, 3,
/* 55964*/                  OPC_CheckChild1Integer, 1, 
/* 55966*/                  OPC_CheckType, MVT::i64,
/* 55968*/                  OPC_MoveParent,
/* 55969*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55971*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 55973*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 55975*/                  OPC_MoveParent,
/* 55976*/                  OPC_MoveParent,
/* 55977*/                  OPC_MoveParent,
/* 55978*/                  OPC_MoveChild1,
/* 55979*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 55982*/                  OPC_MoveChild0,
/* 55983*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 55986*/                  OPC_RecordMemRef,
/* 55987*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 55988*/                  OPC_CheckFoldableChainNode,
/* 55989*/                  OPC_Scope, 23|128,1/*151*/, /*->56143*/ // 2 children in Scope
/* 55992*/                    OPC_CheckChild1Same, 3,
/* 55994*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 55996*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 55998*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56000*/                    OPC_MoveParent,
/* 56001*/                    OPC_MoveChild1,
/* 56002*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56005*/                    OPC_RecordMemRef,
/* 56006*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 56007*/                    OPC_CheckFoldableChainNode,
/* 56008*/                    OPC_CheckChild1Same, 1,
/* 56010*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56012*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56014*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56016*/                    OPC_MoveParent,
/* 56017*/                    OPC_MoveParent,
/* 56018*/                    OPC_MoveParent,
/* 56019*/                    OPC_CheckType, MVT::i32,
/* 56021*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 56023*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 56033*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 56036*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 56043*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 56049*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56052*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 56060*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56063*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 56071*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56074*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 56083*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 56089*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56092*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 56100*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56103*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 56111*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56114*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 56123*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 56132*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 56135*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 56143*/                  /*Scope*/ 23|128,1/*151*/, /*->56296*/
/* 56145*/                    OPC_CheckChild1Same, 1,
/* 56147*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56149*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56151*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56153*/                    OPC_MoveParent,
/* 56154*/                    OPC_MoveChild1,
/* 56155*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56158*/                    OPC_RecordMemRef,
/* 56159*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 56160*/                    OPC_CheckFoldableChainNode,
/* 56161*/                    OPC_CheckChild1Same, 3,
/* 56163*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56165*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56167*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56169*/                    OPC_MoveParent,
/* 56170*/                    OPC_MoveParent,
/* 56171*/                    OPC_MoveParent,
/* 56172*/                    OPC_CheckType, MVT::i32,
/* 56174*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 56176*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 56186*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 56189*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 56196*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 56202*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56205*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 56213*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56216*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 56224*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56227*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 56236*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 56242*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56245*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 56253*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56256*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 56264*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56267*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 56276*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 56285*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 56288*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 56296*/                  0, /*End of Scope*/
/* 56297*/                0, /*End of Scope*/
/* 56298*/              /*Scope*/ 9|128,6/*777*/, /*->57077*/
/* 56300*/                OPC_CheckChild0Same, 3,
/* 56302*/                OPC_CheckChild1Integer, 1, 
/* 56304*/                OPC_MoveParent,
/* 56305*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56307*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 56309*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56311*/                OPC_MoveParent,
/* 56312*/                OPC_MoveChild1,
/* 56313*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56316*/                OPC_RecordMemRef,
/* 56317*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 56318*/                OPC_CheckFoldableChainNode,
/* 56319*/                OPC_MoveChild1,
/* 56320*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 56323*/                OPC_CheckChild0Same, 1,
/* 56325*/                OPC_CheckChild1Integer, 1, 
/* 56327*/                OPC_CheckType, MVT::i64,
/* 56329*/                OPC_MoveParent,
/* 56330*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56332*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 56334*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56336*/                OPC_MoveParent,
/* 56337*/                OPC_MoveParent,
/* 56338*/                OPC_MoveChild1,
/* 56339*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 56342*/                OPC_MoveChild0,
/* 56343*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56346*/                OPC_RecordMemRef,
/* 56347*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 56348*/                OPC_CheckFoldableChainNode,
/* 56349*/                OPC_MoveChild1,
/* 56350*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 56353*/                OPC_CheckType, MVT::i64,
/* 56355*/                OPC_Scope, 102|128,2/*358*/, /*->56716*/ // 2 children in Scope
/* 56358*/                  OPC_CheckChild0Same, 3,
/* 56360*/                  OPC_CheckChild1Integer, 2, 
/* 56362*/                  OPC_MoveParent,
/* 56363*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56365*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 56367*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56369*/                  OPC_MoveParent,
/* 56370*/                  OPC_MoveChild1,
/* 56371*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56374*/                  OPC_RecordMemRef,
/* 56375*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 56376*/                  OPC_CheckFoldableChainNode,
/* 56377*/                  OPC_MoveChild1,
/* 56378*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 56381*/                  OPC_CheckChild0Same, 1,
/* 56383*/                  OPC_CheckChild1Integer, 2, 
/* 56385*/                  OPC_CheckType, MVT::i64,
/* 56387*/                  OPC_MoveParent,
/* 56388*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56390*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 56392*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56394*/                  OPC_MoveParent,
/* 56395*/                  OPC_MoveParent,
/* 56396*/                  OPC_MoveParent,
/* 56397*/                  OPC_MoveChild1,
/* 56398*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 56401*/                  OPC_MoveChild0,
/* 56402*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56405*/                  OPC_RecordMemRef,
/* 56406*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 56407*/                  OPC_CheckFoldableChainNode,
/* 56408*/                  OPC_Scope, 23|128,1/*151*/, /*->56562*/ // 2 children in Scope
/* 56411*/                    OPC_CheckChild1Same, 3,
/* 56413*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56415*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56417*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56419*/                    OPC_MoveParent,
/* 56420*/                    OPC_MoveChild1,
/* 56421*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56424*/                    OPC_RecordMemRef,
/* 56425*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 56426*/                    OPC_CheckFoldableChainNode,
/* 56427*/                    OPC_CheckChild1Same, 1,
/* 56429*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56431*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56433*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56435*/                    OPC_MoveParent,
/* 56436*/                    OPC_MoveParent,
/* 56437*/                    OPC_MoveParent,
/* 56438*/                    OPC_CheckType, MVT::i32,
/* 56440*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 56442*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 56452*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 56455*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 56462*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 56468*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56471*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 56479*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56482*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 56490*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56493*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 56502*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 56508*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56511*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 56519*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56522*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 56530*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56533*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 56542*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 56551*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 56554*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 56562*/                  /*Scope*/ 23|128,1/*151*/, /*->56715*/
/* 56564*/                    OPC_CheckChild1Same, 1,
/* 56566*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56568*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56570*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56572*/                    OPC_MoveParent,
/* 56573*/                    OPC_MoveChild1,
/* 56574*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56577*/                    OPC_RecordMemRef,
/* 56578*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 56579*/                    OPC_CheckFoldableChainNode,
/* 56580*/                    OPC_CheckChild1Same, 3,
/* 56582*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56584*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56586*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56588*/                    OPC_MoveParent,
/* 56589*/                    OPC_MoveParent,
/* 56590*/                    OPC_MoveParent,
/* 56591*/                    OPC_CheckType, MVT::i32,
/* 56593*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 56595*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 56605*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 56608*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 56615*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 56621*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56624*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 56632*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56635*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 56643*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56646*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 56655*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 56661*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56664*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 56672*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56675*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 56683*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56686*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 56695*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 56704*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 56707*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 56715*/                  0, /*End of Scope*/
/* 56716*/                /*Scope*/ 102|128,2/*358*/, /*->57076*/
/* 56718*/                  OPC_CheckChild0Same, 1,
/* 56720*/                  OPC_CheckChild1Integer, 2, 
/* 56722*/                  OPC_MoveParent,
/* 56723*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56725*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 56727*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56729*/                  OPC_MoveParent,
/* 56730*/                  OPC_MoveChild1,
/* 56731*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56734*/                  OPC_RecordMemRef,
/* 56735*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 56736*/                  OPC_CheckFoldableChainNode,
/* 56737*/                  OPC_MoveChild1,
/* 56738*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 56741*/                  OPC_CheckChild0Same, 3,
/* 56743*/                  OPC_CheckChild1Integer, 2, 
/* 56745*/                  OPC_CheckType, MVT::i64,
/* 56747*/                  OPC_MoveParent,
/* 56748*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56750*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 56752*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56754*/                  OPC_MoveParent,
/* 56755*/                  OPC_MoveParent,
/* 56756*/                  OPC_MoveParent,
/* 56757*/                  OPC_MoveChild1,
/* 56758*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 56761*/                  OPC_MoveChild0,
/* 56762*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56765*/                  OPC_RecordMemRef,
/* 56766*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 56767*/                  OPC_CheckFoldableChainNode,
/* 56768*/                  OPC_Scope, 23|128,1/*151*/, /*->56922*/ // 2 children in Scope
/* 56771*/                    OPC_CheckChild1Same, 3,
/* 56773*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56775*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56777*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56779*/                    OPC_MoveParent,
/* 56780*/                    OPC_MoveChild1,
/* 56781*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56784*/                    OPC_RecordMemRef,
/* 56785*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 56786*/                    OPC_CheckFoldableChainNode,
/* 56787*/                    OPC_CheckChild1Same, 1,
/* 56789*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56791*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56793*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56795*/                    OPC_MoveParent,
/* 56796*/                    OPC_MoveParent,
/* 56797*/                    OPC_MoveParent,
/* 56798*/                    OPC_CheckType, MVT::i32,
/* 56800*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 56802*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 56812*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 56815*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 56822*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 56828*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56831*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 56839*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56842*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 56850*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56853*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 56862*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 56868*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56871*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 56879*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56882*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 56890*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 56893*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 56902*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 56911*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 56914*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 56922*/                  /*Scope*/ 23|128,1/*151*/, /*->57075*/
/* 56924*/                    OPC_CheckChild1Same, 1,
/* 56926*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56928*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56930*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56932*/                    OPC_MoveParent,
/* 56933*/                    OPC_MoveChild1,
/* 56934*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 56937*/                    OPC_RecordMemRef,
/* 56938*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 56939*/                    OPC_CheckFoldableChainNode,
/* 56940*/                    OPC_CheckChild1Same, 3,
/* 56942*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 56944*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 56946*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 56948*/                    OPC_MoveParent,
/* 56949*/                    OPC_MoveParent,
/* 56950*/                    OPC_MoveParent,
/* 56951*/                    OPC_CheckType, MVT::i32,
/* 56953*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 56955*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 56965*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 56968*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 56975*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 56981*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 56984*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 56992*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 56995*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 57003*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57006*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 57015*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 57021*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57024*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 57032*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57035*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 57043*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57046*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 57055*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 57064*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 57067*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 57075*/                  0, /*End of Scope*/
/* 57076*/                0, /*End of Scope*/
/* 57077*/              /*Scope*/ 9|128,6/*777*/, /*->57856*/
/* 57079*/                OPC_CheckChild0Same, 1,
/* 57081*/                OPC_CheckChild1Integer, 1, 
/* 57083*/                OPC_MoveParent,
/* 57084*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57086*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 57088*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57090*/                OPC_MoveParent,
/* 57091*/                OPC_MoveChild1,
/* 57092*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57095*/                OPC_RecordMemRef,
/* 57096*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 57097*/                OPC_CheckFoldableChainNode,
/* 57098*/                OPC_MoveChild1,
/* 57099*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 57102*/                OPC_CheckChild0Same, 3,
/* 57104*/                OPC_CheckChild1Integer, 1, 
/* 57106*/                OPC_CheckType, MVT::i64,
/* 57108*/                OPC_MoveParent,
/* 57109*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57111*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 57113*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57115*/                OPC_MoveParent,
/* 57116*/                OPC_MoveParent,
/* 57117*/                OPC_MoveChild1,
/* 57118*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 57121*/                OPC_MoveChild0,
/* 57122*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57125*/                OPC_RecordMemRef,
/* 57126*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 57127*/                OPC_CheckFoldableChainNode,
/* 57128*/                OPC_MoveChild1,
/* 57129*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 57132*/                OPC_CheckType, MVT::i64,
/* 57134*/                OPC_Scope, 102|128,2/*358*/, /*->57495*/ // 2 children in Scope
/* 57137*/                  OPC_CheckChild0Same, 3,
/* 57139*/                  OPC_CheckChild1Integer, 2, 
/* 57141*/                  OPC_MoveParent,
/* 57142*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57144*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 57146*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57148*/                  OPC_MoveParent,
/* 57149*/                  OPC_MoveChild1,
/* 57150*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57153*/                  OPC_RecordMemRef,
/* 57154*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 57155*/                  OPC_CheckFoldableChainNode,
/* 57156*/                  OPC_MoveChild1,
/* 57157*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 57160*/                  OPC_CheckChild0Same, 1,
/* 57162*/                  OPC_CheckChild1Integer, 2, 
/* 57164*/                  OPC_CheckType, MVT::i64,
/* 57166*/                  OPC_MoveParent,
/* 57167*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57169*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 57171*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57173*/                  OPC_MoveParent,
/* 57174*/                  OPC_MoveParent,
/* 57175*/                  OPC_MoveParent,
/* 57176*/                  OPC_MoveChild1,
/* 57177*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 57180*/                  OPC_MoveChild0,
/* 57181*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57184*/                  OPC_RecordMemRef,
/* 57185*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 57186*/                  OPC_CheckFoldableChainNode,
/* 57187*/                  OPC_Scope, 23|128,1/*151*/, /*->57341*/ // 2 children in Scope
/* 57190*/                    OPC_CheckChild1Same, 3,
/* 57192*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57194*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57196*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57198*/                    OPC_MoveParent,
/* 57199*/                    OPC_MoveChild1,
/* 57200*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57203*/                    OPC_RecordMemRef,
/* 57204*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 57205*/                    OPC_CheckFoldableChainNode,
/* 57206*/                    OPC_CheckChild1Same, 1,
/* 57208*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57210*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57212*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57214*/                    OPC_MoveParent,
/* 57215*/                    OPC_MoveParent,
/* 57216*/                    OPC_MoveParent,
/* 57217*/                    OPC_CheckType, MVT::i32,
/* 57219*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 57221*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 57231*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 57234*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 57241*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 57247*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57250*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 57258*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57261*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 57269*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57272*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 57281*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 57287*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57290*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 57298*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57301*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 57309*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57312*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 57321*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 57330*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 57333*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 57341*/                  /*Scope*/ 23|128,1/*151*/, /*->57494*/
/* 57343*/                    OPC_CheckChild1Same, 1,
/* 57345*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57347*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57349*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57351*/                    OPC_MoveParent,
/* 57352*/                    OPC_MoveChild1,
/* 57353*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57356*/                    OPC_RecordMemRef,
/* 57357*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 57358*/                    OPC_CheckFoldableChainNode,
/* 57359*/                    OPC_CheckChild1Same, 3,
/* 57361*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57363*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57365*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57367*/                    OPC_MoveParent,
/* 57368*/                    OPC_MoveParent,
/* 57369*/                    OPC_MoveParent,
/* 57370*/                    OPC_CheckType, MVT::i32,
/* 57372*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 57374*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 57384*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 57387*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 57394*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 57400*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57403*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 57411*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57414*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 57422*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57425*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 57434*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 57440*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57443*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 57451*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57454*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 57462*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57465*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 57474*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 57483*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 57486*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 57494*/                  0, /*End of Scope*/
/* 57495*/                /*Scope*/ 102|128,2/*358*/, /*->57855*/
/* 57497*/                  OPC_CheckChild0Same, 1,
/* 57499*/                  OPC_CheckChild1Integer, 2, 
/* 57501*/                  OPC_MoveParent,
/* 57502*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57504*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 57506*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57508*/                  OPC_MoveParent,
/* 57509*/                  OPC_MoveChild1,
/* 57510*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57513*/                  OPC_RecordMemRef,
/* 57514*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 57515*/                  OPC_CheckFoldableChainNode,
/* 57516*/                  OPC_MoveChild1,
/* 57517*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 57520*/                  OPC_CheckChild0Same, 3,
/* 57522*/                  OPC_CheckChild1Integer, 2, 
/* 57524*/                  OPC_CheckType, MVT::i64,
/* 57526*/                  OPC_MoveParent,
/* 57527*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57529*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 57531*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57533*/                  OPC_MoveParent,
/* 57534*/                  OPC_MoveParent,
/* 57535*/                  OPC_MoveParent,
/* 57536*/                  OPC_MoveChild1,
/* 57537*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 57540*/                  OPC_MoveChild0,
/* 57541*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57544*/                  OPC_RecordMemRef,
/* 57545*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 57546*/                  OPC_CheckFoldableChainNode,
/* 57547*/                  OPC_Scope, 23|128,1/*151*/, /*->57701*/ // 2 children in Scope
/* 57550*/                    OPC_CheckChild1Same, 3,
/* 57552*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57554*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57556*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57558*/                    OPC_MoveParent,
/* 57559*/                    OPC_MoveChild1,
/* 57560*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57563*/                    OPC_RecordMemRef,
/* 57564*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 57565*/                    OPC_CheckFoldableChainNode,
/* 57566*/                    OPC_CheckChild1Same, 1,
/* 57568*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57570*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57572*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57574*/                    OPC_MoveParent,
/* 57575*/                    OPC_MoveParent,
/* 57576*/                    OPC_MoveParent,
/* 57577*/                    OPC_CheckType, MVT::i32,
/* 57579*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 57581*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 57591*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 57594*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 57601*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 57607*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57610*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 57618*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57621*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 57629*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57632*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 57641*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 57647*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57650*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 57658*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57661*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 57669*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57672*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 57681*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 57690*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 57693*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 57701*/                  /*Scope*/ 23|128,1/*151*/, /*->57854*/
/* 57703*/                    OPC_CheckChild1Same, 1,
/* 57705*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57707*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57709*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57711*/                    OPC_MoveParent,
/* 57712*/                    OPC_MoveChild1,
/* 57713*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57716*/                    OPC_RecordMemRef,
/* 57717*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 57718*/                    OPC_CheckFoldableChainNode,
/* 57719*/                    OPC_CheckChild1Same, 3,
/* 57721*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57723*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57725*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57727*/                    OPC_MoveParent,
/* 57728*/                    OPC_MoveParent,
/* 57729*/                    OPC_MoveParent,
/* 57730*/                    OPC_CheckType, MVT::i32,
/* 57732*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 57734*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 57744*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 57747*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 57754*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 57760*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57763*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 57771*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57774*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 57782*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57785*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 57794*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 57800*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 57803*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 57811*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 57814*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 57822*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 57825*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 57834*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 57843*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 57846*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 57854*/                  0, /*End of Scope*/
/* 57855*/                0, /*End of Scope*/
/* 57856*/              /*Scope*/ 39|128,6/*807*/, /*->58665*/
/* 57858*/                OPC_CheckChild0Same, 3,
/* 57860*/                OPC_CheckChild1Integer, 2, 
/* 57862*/                OPC_MoveParent,
/* 57863*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57865*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 57867*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57869*/                OPC_MoveParent,
/* 57870*/                OPC_MoveChild1,
/* 57871*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57874*/                OPC_RecordMemRef,
/* 57875*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 57876*/                OPC_CheckFoldableChainNode,
/* 57877*/                OPC_MoveChild1,
/* 57878*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 57881*/                OPC_CheckChild0Same, 1,
/* 57883*/                OPC_CheckChild1Integer, 2, 
/* 57885*/                OPC_CheckType, MVT::i64,
/* 57887*/                OPC_MoveParent,
/* 57888*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57890*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 57892*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57894*/                OPC_MoveParent,
/* 57895*/                OPC_MoveParent,
/* 57896*/                OPC_MoveChild1,
/* 57897*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 57900*/                OPC_MoveChild0,
/* 57901*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57904*/                OPC_RecordMemRef,
/* 57905*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 57906*/                OPC_CheckFoldableChainNode,
/* 57907*/                OPC_Scope, 120|128,2/*376*/, /*->58286*/ // 2 children in Scope
/* 57910*/                  OPC_CheckChild1Same, 3,
/* 57912*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57914*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 57916*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57918*/                  OPC_MoveParent,
/* 57919*/                  OPC_MoveChild1,
/* 57920*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57923*/                  OPC_RecordMemRef,
/* 57924*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 57925*/                  OPC_CheckFoldableChainNode,
/* 57926*/                  OPC_CheckChild1Same, 1,
/* 57928*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57930*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 57932*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57934*/                  OPC_MoveParent,
/* 57935*/                  OPC_MoveParent,
/* 57936*/                  OPC_MoveParent,
/* 57937*/                  OPC_MoveChild1,
/* 57938*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 57941*/                  OPC_MoveChild0,
/* 57942*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57945*/                  OPC_RecordMemRef,
/* 57946*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 57947*/                  OPC_CheckFoldableChainNode,
/* 57948*/                  OPC_MoveChild1,
/* 57949*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 57952*/                  OPC_CheckType, MVT::i64,
/* 57954*/                  OPC_Scope, 35|128,1/*163*/, /*->58120*/ // 2 children in Scope
/* 57957*/                    OPC_CheckChild0Same, 3,
/* 57959*/                    OPC_CheckChild1Integer, 1, 
/* 57961*/                    OPC_MoveParent,
/* 57962*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57964*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57966*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57968*/                    OPC_MoveParent,
/* 57969*/                    OPC_MoveChild1,
/* 57970*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 57973*/                    OPC_RecordMemRef,
/* 57974*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 57975*/                    OPC_CheckFoldableChainNode,
/* 57976*/                    OPC_MoveChild1,
/* 57977*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 57980*/                    OPC_CheckChild0Same, 1,
/* 57982*/                    OPC_CheckChild1Integer, 1, 
/* 57984*/                    OPC_CheckType, MVT::i64,
/* 57986*/                    OPC_MoveParent,
/* 57987*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 57989*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 57991*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 57993*/                    OPC_MoveParent,
/* 57994*/                    OPC_MoveParent,
/* 57995*/                    OPC_MoveParent,
/* 57996*/                    OPC_CheckType, MVT::i32,
/* 57998*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 58000*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 58010*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 58013*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 58020*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 58026*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58029*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 58037*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58040*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 58048*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58051*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 58060*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 58066*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58069*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 58077*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58080*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 58088*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58091*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 58100*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 58109*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 58112*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 58120*/                  /*Scope*/ 35|128,1/*163*/, /*->58285*/
/* 58122*/                    OPC_CheckChild0Same, 1,
/* 58124*/                    OPC_CheckChild1Integer, 1, 
/* 58126*/                    OPC_MoveParent,
/* 58127*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58129*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58131*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58133*/                    OPC_MoveParent,
/* 58134*/                    OPC_MoveChild1,
/* 58135*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58138*/                    OPC_RecordMemRef,
/* 58139*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 58140*/                    OPC_CheckFoldableChainNode,
/* 58141*/                    OPC_MoveChild1,
/* 58142*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 58145*/                    OPC_CheckChild0Same, 3,
/* 58147*/                    OPC_CheckChild1Integer, 1, 
/* 58149*/                    OPC_CheckType, MVT::i64,
/* 58151*/                    OPC_MoveParent,
/* 58152*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58154*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58156*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58158*/                    OPC_MoveParent,
/* 58159*/                    OPC_MoveParent,
/* 58160*/                    OPC_MoveParent,
/* 58161*/                    OPC_CheckType, MVT::i32,
/* 58163*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 58165*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 58175*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 58178*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 58185*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 58191*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58194*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 58202*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58205*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 58213*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58216*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 58225*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 58231*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58234*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 58242*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58245*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 58253*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58256*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 58265*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 58274*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 58277*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 58285*/                  0, /*End of Scope*/
/* 58286*/                /*Scope*/ 120|128,2/*376*/, /*->58664*/
/* 58288*/                  OPC_CheckChild1Same, 1,
/* 58290*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58292*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 58294*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58296*/                  OPC_MoveParent,
/* 58297*/                  OPC_MoveChild1,
/* 58298*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58301*/                  OPC_RecordMemRef,
/* 58302*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 58303*/                  OPC_CheckFoldableChainNode,
/* 58304*/                  OPC_CheckChild1Same, 3,
/* 58306*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58308*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 58310*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58312*/                  OPC_MoveParent,
/* 58313*/                  OPC_MoveParent,
/* 58314*/                  OPC_MoveParent,
/* 58315*/                  OPC_MoveChild1,
/* 58316*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 58319*/                  OPC_MoveChild0,
/* 58320*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58323*/                  OPC_RecordMemRef,
/* 58324*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 58325*/                  OPC_CheckFoldableChainNode,
/* 58326*/                  OPC_MoveChild1,
/* 58327*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 58330*/                  OPC_CheckType, MVT::i64,
/* 58332*/                  OPC_Scope, 35|128,1/*163*/, /*->58498*/ // 2 children in Scope
/* 58335*/                    OPC_CheckChild0Same, 3,
/* 58337*/                    OPC_CheckChild1Integer, 1, 
/* 58339*/                    OPC_MoveParent,
/* 58340*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58342*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58344*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58346*/                    OPC_MoveParent,
/* 58347*/                    OPC_MoveChild1,
/* 58348*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58351*/                    OPC_RecordMemRef,
/* 58352*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 58353*/                    OPC_CheckFoldableChainNode,
/* 58354*/                    OPC_MoveChild1,
/* 58355*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 58358*/                    OPC_CheckChild0Same, 1,
/* 58360*/                    OPC_CheckChild1Integer, 1, 
/* 58362*/                    OPC_CheckType, MVT::i64,
/* 58364*/                    OPC_MoveParent,
/* 58365*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58367*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58369*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58371*/                    OPC_MoveParent,
/* 58372*/                    OPC_MoveParent,
/* 58373*/                    OPC_MoveParent,
/* 58374*/                    OPC_CheckType, MVT::i32,
/* 58376*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 58378*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 58388*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 58391*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 58398*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 58404*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58407*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 58415*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58418*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 58426*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58429*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 58438*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 58444*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58447*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 58455*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58458*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 58466*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58469*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 58478*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 58487*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 58490*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 58498*/                  /*Scope*/ 35|128,1/*163*/, /*->58663*/
/* 58500*/                    OPC_CheckChild0Same, 1,
/* 58502*/                    OPC_CheckChild1Integer, 1, 
/* 58504*/                    OPC_MoveParent,
/* 58505*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58507*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58509*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58511*/                    OPC_MoveParent,
/* 58512*/                    OPC_MoveChild1,
/* 58513*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58516*/                    OPC_RecordMemRef,
/* 58517*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 58518*/                    OPC_CheckFoldableChainNode,
/* 58519*/                    OPC_MoveChild1,
/* 58520*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 58523*/                    OPC_CheckChild0Same, 3,
/* 58525*/                    OPC_CheckChild1Integer, 1, 
/* 58527*/                    OPC_CheckType, MVT::i64,
/* 58529*/                    OPC_MoveParent,
/* 58530*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58532*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58534*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58536*/                    OPC_MoveParent,
/* 58537*/                    OPC_MoveParent,
/* 58538*/                    OPC_MoveParent,
/* 58539*/                    OPC_CheckType, MVT::i32,
/* 58541*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 58543*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 58553*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 58556*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 58563*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 58569*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58572*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 58580*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58583*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 58591*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58594*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 58603*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 58609*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58612*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 58620*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58623*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 58631*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58634*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 58643*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 58652*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 58655*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 58663*/                  0, /*End of Scope*/
/* 58664*/                0, /*End of Scope*/
/* 58665*/              /*Scope*/ 39|128,6/*807*/, /*->59474*/
/* 58667*/                OPC_CheckChild0Same, 1,
/* 58669*/                OPC_CheckChild1Integer, 2, 
/* 58671*/                OPC_MoveParent,
/* 58672*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58674*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 58676*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58678*/                OPC_MoveParent,
/* 58679*/                OPC_MoveChild1,
/* 58680*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58683*/                OPC_RecordMemRef,
/* 58684*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 58685*/                OPC_CheckFoldableChainNode,
/* 58686*/                OPC_MoveChild1,
/* 58687*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 58690*/                OPC_CheckChild0Same, 3,
/* 58692*/                OPC_CheckChild1Integer, 2, 
/* 58694*/                OPC_CheckType, MVT::i64,
/* 58696*/                OPC_MoveParent,
/* 58697*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58699*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 58701*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58703*/                OPC_MoveParent,
/* 58704*/                OPC_MoveParent,
/* 58705*/                OPC_MoveChild1,
/* 58706*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 58709*/                OPC_MoveChild0,
/* 58710*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58713*/                OPC_RecordMemRef,
/* 58714*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 58715*/                OPC_CheckFoldableChainNode,
/* 58716*/                OPC_Scope, 120|128,2/*376*/, /*->59095*/ // 2 children in Scope
/* 58719*/                  OPC_CheckChild1Same, 3,
/* 58721*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58723*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 58725*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58727*/                  OPC_MoveParent,
/* 58728*/                  OPC_MoveChild1,
/* 58729*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58732*/                  OPC_RecordMemRef,
/* 58733*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 58734*/                  OPC_CheckFoldableChainNode,
/* 58735*/                  OPC_CheckChild1Same, 1,
/* 58737*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58739*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 58741*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58743*/                  OPC_MoveParent,
/* 58744*/                  OPC_MoveParent,
/* 58745*/                  OPC_MoveParent,
/* 58746*/                  OPC_MoveChild1,
/* 58747*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 58750*/                  OPC_MoveChild0,
/* 58751*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58754*/                  OPC_RecordMemRef,
/* 58755*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 58756*/                  OPC_CheckFoldableChainNode,
/* 58757*/                  OPC_MoveChild1,
/* 58758*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 58761*/                  OPC_CheckType, MVT::i64,
/* 58763*/                  OPC_Scope, 35|128,1/*163*/, /*->58929*/ // 2 children in Scope
/* 58766*/                    OPC_CheckChild0Same, 3,
/* 58768*/                    OPC_CheckChild1Integer, 1, 
/* 58770*/                    OPC_MoveParent,
/* 58771*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58773*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58775*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58777*/                    OPC_MoveParent,
/* 58778*/                    OPC_MoveChild1,
/* 58779*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58782*/                    OPC_RecordMemRef,
/* 58783*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 58784*/                    OPC_CheckFoldableChainNode,
/* 58785*/                    OPC_MoveChild1,
/* 58786*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 58789*/                    OPC_CheckChild0Same, 1,
/* 58791*/                    OPC_CheckChild1Integer, 1, 
/* 58793*/                    OPC_CheckType, MVT::i64,
/* 58795*/                    OPC_MoveParent,
/* 58796*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58798*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58800*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58802*/                    OPC_MoveParent,
/* 58803*/                    OPC_MoveParent,
/* 58804*/                    OPC_MoveParent,
/* 58805*/                    OPC_CheckType, MVT::i32,
/* 58807*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 58809*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 58819*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 58822*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 58829*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 58835*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58838*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 58846*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58849*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 58857*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58860*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 58869*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 58875*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 58878*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 58886*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 58889*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 58897*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 58900*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 58909*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 58918*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 58921*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 58929*/                  /*Scope*/ 35|128,1/*163*/, /*->59094*/
/* 58931*/                    OPC_CheckChild0Same, 1,
/* 58933*/                    OPC_CheckChild1Integer, 1, 
/* 58935*/                    OPC_MoveParent,
/* 58936*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58938*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58940*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58942*/                    OPC_MoveParent,
/* 58943*/                    OPC_MoveChild1,
/* 58944*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 58947*/                    OPC_RecordMemRef,
/* 58948*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 58949*/                    OPC_CheckFoldableChainNode,
/* 58950*/                    OPC_MoveChild1,
/* 58951*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 58954*/                    OPC_CheckChild0Same, 3,
/* 58956*/                    OPC_CheckChild1Integer, 1, 
/* 58958*/                    OPC_CheckType, MVT::i64,
/* 58960*/                    OPC_MoveParent,
/* 58961*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 58963*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 58965*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 58967*/                    OPC_MoveParent,
/* 58968*/                    OPC_MoveParent,
/* 58969*/                    OPC_MoveParent,
/* 58970*/                    OPC_CheckType, MVT::i32,
/* 58972*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 58974*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 58984*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 58987*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 58994*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 59000*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 59003*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 59011*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59014*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 59022*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59025*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 59034*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 59040*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 59043*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 59051*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59054*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 59062*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59065*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 59074*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 59083*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 59086*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 59094*/                  0, /*End of Scope*/
/* 59095*/                /*Scope*/ 120|128,2/*376*/, /*->59473*/
/* 59097*/                  OPC_CheckChild1Same, 1,
/* 59099*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59101*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 59103*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59105*/                  OPC_MoveParent,
/* 59106*/                  OPC_MoveChild1,
/* 59107*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59110*/                  OPC_RecordMemRef,
/* 59111*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 59112*/                  OPC_CheckFoldableChainNode,
/* 59113*/                  OPC_CheckChild1Same, 3,
/* 59115*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59117*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 59119*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59121*/                  OPC_MoveParent,
/* 59122*/                  OPC_MoveParent,
/* 59123*/                  OPC_MoveParent,
/* 59124*/                  OPC_MoveChild1,
/* 59125*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 59128*/                  OPC_MoveChild0,
/* 59129*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59132*/                  OPC_RecordMemRef,
/* 59133*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 59134*/                  OPC_CheckFoldableChainNode,
/* 59135*/                  OPC_MoveChild1,
/* 59136*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59139*/                  OPC_CheckType, MVT::i64,
/* 59141*/                  OPC_Scope, 35|128,1/*163*/, /*->59307*/ // 2 children in Scope
/* 59144*/                    OPC_CheckChild0Same, 3,
/* 59146*/                    OPC_CheckChild1Integer, 1, 
/* 59148*/                    OPC_MoveParent,
/* 59149*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59151*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 59153*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59155*/                    OPC_MoveParent,
/* 59156*/                    OPC_MoveChild1,
/* 59157*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59160*/                    OPC_RecordMemRef,
/* 59161*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 59162*/                    OPC_CheckFoldableChainNode,
/* 59163*/                    OPC_MoveChild1,
/* 59164*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59167*/                    OPC_CheckChild0Same, 1,
/* 59169*/                    OPC_CheckChild1Integer, 1, 
/* 59171*/                    OPC_CheckType, MVT::i64,
/* 59173*/                    OPC_MoveParent,
/* 59174*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59176*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 59178*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59180*/                    OPC_MoveParent,
/* 59181*/                    OPC_MoveParent,
/* 59182*/                    OPC_MoveParent,
/* 59183*/                    OPC_CheckType, MVT::i32,
/* 59185*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 59187*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 59197*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 59200*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 59207*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 59213*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 59216*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 59224*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59227*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 59235*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59238*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 59247*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 59253*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 59256*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 59264*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59267*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 59275*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59278*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 59287*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 59296*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 59299*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 59307*/                  /*Scope*/ 35|128,1/*163*/, /*->59472*/
/* 59309*/                    OPC_CheckChild0Same, 1,
/* 59311*/                    OPC_CheckChild1Integer, 1, 
/* 59313*/                    OPC_MoveParent,
/* 59314*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59316*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 59318*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59320*/                    OPC_MoveParent,
/* 59321*/                    OPC_MoveChild1,
/* 59322*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59325*/                    OPC_RecordMemRef,
/* 59326*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 59327*/                    OPC_CheckFoldableChainNode,
/* 59328*/                    OPC_MoveChild1,
/* 59329*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59332*/                    OPC_CheckChild0Same, 3,
/* 59334*/                    OPC_CheckChild1Integer, 1, 
/* 59336*/                    OPC_CheckType, MVT::i64,
/* 59338*/                    OPC_MoveParent,
/* 59339*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59341*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 59343*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59345*/                    OPC_MoveParent,
/* 59346*/                    OPC_MoveParent,
/* 59347*/                    OPC_MoveParent,
/* 59348*/                    OPC_CheckType, MVT::i32,
/* 59350*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 59352*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 59362*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 59365*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 59372*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 59378*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 59381*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 59389*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59392*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 59400*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59403*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 59412*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 59418*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 59421*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 59429*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59432*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 59440*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59443*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 59452*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 59461*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 59464*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 59472*/                  0, /*End of Scope*/
/* 59473*/                0, /*End of Scope*/
/* 59474*/              0, /*End of Scope*/
/* 59475*/            /*Scope*/ 57|128,6/*825*/, /*->60302*/
/* 59477*/              OPC_CheckChild1Same, 3,
/* 59479*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59481*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 59483*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59485*/              OPC_MoveParent,
/* 59486*/              OPC_MoveChild1,
/* 59487*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59490*/              OPC_RecordMemRef,
/* 59491*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 59492*/              OPC_CheckFoldableChainNode,
/* 59493*/              OPC_CheckChild1Same, 1,
/* 59495*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59497*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 59499*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59501*/              OPC_MoveParent,
/* 59502*/              OPC_MoveParent,
/* 59503*/              OPC_MoveChild1,
/* 59504*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 59507*/              OPC_MoveChild0,
/* 59508*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59511*/              OPC_RecordMemRef,
/* 59512*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 59513*/              OPC_CheckFoldableChainNode,
/* 59514*/              OPC_MoveChild1,
/* 59515*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59518*/              OPC_CheckType, MVT::i64,
/* 59520*/              OPC_Scope, 4|128,3/*388*/, /*->59911*/ // 2 children in Scope
/* 59523*/                OPC_CheckChild0Same, 3,
/* 59525*/                OPC_CheckChild1Integer, 2, 
/* 59527*/                OPC_MoveParent,
/* 59528*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59530*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 59532*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59534*/                OPC_MoveParent,
/* 59535*/                OPC_MoveChild1,
/* 59536*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59539*/                OPC_RecordMemRef,
/* 59540*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 59541*/                OPC_CheckFoldableChainNode,
/* 59542*/                OPC_MoveChild1,
/* 59543*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59546*/                OPC_CheckChild0Same, 1,
/* 59548*/                OPC_CheckChild1Integer, 2, 
/* 59550*/                OPC_CheckType, MVT::i64,
/* 59552*/                OPC_MoveParent,
/* 59553*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59555*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 59557*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59559*/                OPC_MoveParent,
/* 59560*/                OPC_MoveParent,
/* 59561*/                OPC_MoveParent,
/* 59562*/                OPC_MoveChild1,
/* 59563*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 59566*/                OPC_MoveChild0,
/* 59567*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59570*/                OPC_RecordMemRef,
/* 59571*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 59572*/                OPC_CheckFoldableChainNode,
/* 59573*/                OPC_MoveChild1,
/* 59574*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59577*/                OPC_CheckType, MVT::i64,
/* 59579*/                OPC_Scope, 35|128,1/*163*/, /*->59745*/ // 2 children in Scope
/* 59582*/                  OPC_CheckChild0Same, 3,
/* 59584*/                  OPC_CheckChild1Integer, 1, 
/* 59586*/                  OPC_MoveParent,
/* 59587*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59589*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 59591*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59593*/                  OPC_MoveParent,
/* 59594*/                  OPC_MoveChild1,
/* 59595*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59598*/                  OPC_RecordMemRef,
/* 59599*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 59600*/                  OPC_CheckFoldableChainNode,
/* 59601*/                  OPC_MoveChild1,
/* 59602*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59605*/                  OPC_CheckChild0Same, 1,
/* 59607*/                  OPC_CheckChild1Integer, 1, 
/* 59609*/                  OPC_CheckType, MVT::i64,
/* 59611*/                  OPC_MoveParent,
/* 59612*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59614*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 59616*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59618*/                  OPC_MoveParent,
/* 59619*/                  OPC_MoveParent,
/* 59620*/                  OPC_MoveParent,
/* 59621*/                  OPC_CheckType, MVT::i32,
/* 59623*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 59625*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 59635*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 59638*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 59645*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 59651*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 59654*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 59662*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59665*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 59673*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59676*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 59685*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 59691*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 59694*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 59702*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59705*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 59713*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59716*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 59725*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 59734*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 59737*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 59745*/                /*Scope*/ 35|128,1/*163*/, /*->59910*/
/* 59747*/                  OPC_CheckChild0Same, 1,
/* 59749*/                  OPC_CheckChild1Integer, 1, 
/* 59751*/                  OPC_MoveParent,
/* 59752*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59754*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 59756*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59758*/                  OPC_MoveParent,
/* 59759*/                  OPC_MoveChild1,
/* 59760*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59763*/                  OPC_RecordMemRef,
/* 59764*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 59765*/                  OPC_CheckFoldableChainNode,
/* 59766*/                  OPC_MoveChild1,
/* 59767*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59770*/                  OPC_CheckChild0Same, 3,
/* 59772*/                  OPC_CheckChild1Integer, 1, 
/* 59774*/                  OPC_CheckType, MVT::i64,
/* 59776*/                  OPC_MoveParent,
/* 59777*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59779*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 59781*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59783*/                  OPC_MoveParent,
/* 59784*/                  OPC_MoveParent,
/* 59785*/                  OPC_MoveParent,
/* 59786*/                  OPC_CheckType, MVT::i32,
/* 59788*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 59790*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 59800*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 59803*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 59810*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 59816*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 59819*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 59827*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59830*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 59838*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59841*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 59850*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 59856*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 59859*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 59867*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 59870*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 59878*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 59881*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 59890*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 59899*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 59902*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 59910*/                0, /*End of Scope*/
/* 59911*/              /*Scope*/ 4|128,3/*388*/, /*->60301*/
/* 59913*/                OPC_CheckChild0Same, 1,
/* 59915*/                OPC_CheckChild1Integer, 2, 
/* 59917*/                OPC_MoveParent,
/* 59918*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59920*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 59922*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59924*/                OPC_MoveParent,
/* 59925*/                OPC_MoveChild1,
/* 59926*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59929*/                OPC_RecordMemRef,
/* 59930*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 59931*/                OPC_CheckFoldableChainNode,
/* 59932*/                OPC_MoveChild1,
/* 59933*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59936*/                OPC_CheckChild0Same, 3,
/* 59938*/                OPC_CheckChild1Integer, 2, 
/* 59940*/                OPC_CheckType, MVT::i64,
/* 59942*/                OPC_MoveParent,
/* 59943*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59945*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 59947*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59949*/                OPC_MoveParent,
/* 59950*/                OPC_MoveParent,
/* 59951*/                OPC_MoveParent,
/* 59952*/                OPC_MoveChild1,
/* 59953*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 59956*/                OPC_MoveChild0,
/* 59957*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59960*/                OPC_RecordMemRef,
/* 59961*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 59962*/                OPC_CheckFoldableChainNode,
/* 59963*/                OPC_MoveChild1,
/* 59964*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59967*/                OPC_CheckType, MVT::i64,
/* 59969*/                OPC_Scope, 35|128,1/*163*/, /*->60135*/ // 2 children in Scope
/* 59972*/                  OPC_CheckChild0Same, 3,
/* 59974*/                  OPC_CheckChild1Integer, 1, 
/* 59976*/                  OPC_MoveParent,
/* 59977*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 59979*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 59981*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 59983*/                  OPC_MoveParent,
/* 59984*/                  OPC_MoveChild1,
/* 59985*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 59988*/                  OPC_RecordMemRef,
/* 59989*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 59990*/                  OPC_CheckFoldableChainNode,
/* 59991*/                  OPC_MoveChild1,
/* 59992*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 59995*/                  OPC_CheckChild0Same, 1,
/* 59997*/                  OPC_CheckChild1Integer, 1, 
/* 59999*/                  OPC_CheckType, MVT::i64,
/* 60001*/                  OPC_MoveParent,
/* 60002*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60004*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60006*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60008*/                  OPC_MoveParent,
/* 60009*/                  OPC_MoveParent,
/* 60010*/                  OPC_MoveParent,
/* 60011*/                  OPC_CheckType, MVT::i32,
/* 60013*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 60015*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 60025*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 60028*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 60035*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 60041*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60044*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 60052*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60055*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 60063*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60066*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 60075*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 60081*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60084*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 60092*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60095*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 60103*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60106*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 60115*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 60124*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 60127*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 60135*/                /*Scope*/ 35|128,1/*163*/, /*->60300*/
/* 60137*/                  OPC_CheckChild0Same, 1,
/* 60139*/                  OPC_CheckChild1Integer, 1, 
/* 60141*/                  OPC_MoveParent,
/* 60142*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60144*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60146*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60148*/                  OPC_MoveParent,
/* 60149*/                  OPC_MoveChild1,
/* 60150*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60153*/                  OPC_RecordMemRef,
/* 60154*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 60155*/                  OPC_CheckFoldableChainNode,
/* 60156*/                  OPC_MoveChild1,
/* 60157*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60160*/                  OPC_CheckChild0Same, 3,
/* 60162*/                  OPC_CheckChild1Integer, 1, 
/* 60164*/                  OPC_CheckType, MVT::i64,
/* 60166*/                  OPC_MoveParent,
/* 60167*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60169*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60171*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60173*/                  OPC_MoveParent,
/* 60174*/                  OPC_MoveParent,
/* 60175*/                  OPC_MoveParent,
/* 60176*/                  OPC_CheckType, MVT::i32,
/* 60178*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 60180*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 60190*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 60193*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 60200*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 60206*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60209*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 60217*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60220*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 60228*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60231*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 60240*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 60246*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60249*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 60257*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60260*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 60268*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60271*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 60280*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 60289*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 60292*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 60300*/                0, /*End of Scope*/
/* 60301*/              0, /*End of Scope*/
/* 60302*/            /*Scope*/ 57|128,6/*825*/, /*->61129*/
/* 60304*/              OPC_CheckChild1Same, 1,
/* 60306*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60308*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 60310*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60312*/              OPC_MoveParent,
/* 60313*/              OPC_MoveChild1,
/* 60314*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60317*/              OPC_RecordMemRef,
/* 60318*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 60319*/              OPC_CheckFoldableChainNode,
/* 60320*/              OPC_CheckChild1Same, 3,
/* 60322*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60324*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 60326*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60328*/              OPC_MoveParent,
/* 60329*/              OPC_MoveParent,
/* 60330*/              OPC_MoveChild1,
/* 60331*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 60334*/              OPC_MoveChild0,
/* 60335*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60338*/              OPC_RecordMemRef,
/* 60339*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 60340*/              OPC_CheckFoldableChainNode,
/* 60341*/              OPC_MoveChild1,
/* 60342*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60345*/              OPC_CheckType, MVT::i64,
/* 60347*/              OPC_Scope, 4|128,3/*388*/, /*->60738*/ // 2 children in Scope
/* 60350*/                OPC_CheckChild0Same, 3,
/* 60352*/                OPC_CheckChild1Integer, 2, 
/* 60354*/                OPC_MoveParent,
/* 60355*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60357*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 60359*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60361*/                OPC_MoveParent,
/* 60362*/                OPC_MoveChild1,
/* 60363*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60366*/                OPC_RecordMemRef,
/* 60367*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 60368*/                OPC_CheckFoldableChainNode,
/* 60369*/                OPC_MoveChild1,
/* 60370*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60373*/                OPC_CheckChild0Same, 1,
/* 60375*/                OPC_CheckChild1Integer, 2, 
/* 60377*/                OPC_CheckType, MVT::i64,
/* 60379*/                OPC_MoveParent,
/* 60380*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60382*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 60384*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60386*/                OPC_MoveParent,
/* 60387*/                OPC_MoveParent,
/* 60388*/                OPC_MoveParent,
/* 60389*/                OPC_MoveChild1,
/* 60390*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 60393*/                OPC_MoveChild0,
/* 60394*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60397*/                OPC_RecordMemRef,
/* 60398*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 60399*/                OPC_CheckFoldableChainNode,
/* 60400*/                OPC_MoveChild1,
/* 60401*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60404*/                OPC_CheckType, MVT::i64,
/* 60406*/                OPC_Scope, 35|128,1/*163*/, /*->60572*/ // 2 children in Scope
/* 60409*/                  OPC_CheckChild0Same, 3,
/* 60411*/                  OPC_CheckChild1Integer, 1, 
/* 60413*/                  OPC_MoveParent,
/* 60414*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60416*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60418*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60420*/                  OPC_MoveParent,
/* 60421*/                  OPC_MoveChild1,
/* 60422*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60425*/                  OPC_RecordMemRef,
/* 60426*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 60427*/                  OPC_CheckFoldableChainNode,
/* 60428*/                  OPC_MoveChild1,
/* 60429*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60432*/                  OPC_CheckChild0Same, 1,
/* 60434*/                  OPC_CheckChild1Integer, 1, 
/* 60436*/                  OPC_CheckType, MVT::i64,
/* 60438*/                  OPC_MoveParent,
/* 60439*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60441*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60443*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60445*/                  OPC_MoveParent,
/* 60446*/                  OPC_MoveParent,
/* 60447*/                  OPC_MoveParent,
/* 60448*/                  OPC_CheckType, MVT::i32,
/* 60450*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 60452*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 60462*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 60465*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 60472*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 60478*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60481*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 60489*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60492*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 60500*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60503*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 60512*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 60518*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60521*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 60529*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60532*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 60540*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60543*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 60552*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 60561*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 60564*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 60572*/                /*Scope*/ 35|128,1/*163*/, /*->60737*/
/* 60574*/                  OPC_CheckChild0Same, 1,
/* 60576*/                  OPC_CheckChild1Integer, 1, 
/* 60578*/                  OPC_MoveParent,
/* 60579*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60581*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60583*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60585*/                  OPC_MoveParent,
/* 60586*/                  OPC_MoveChild1,
/* 60587*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60590*/                  OPC_RecordMemRef,
/* 60591*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 60592*/                  OPC_CheckFoldableChainNode,
/* 60593*/                  OPC_MoveChild1,
/* 60594*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60597*/                  OPC_CheckChild0Same, 3,
/* 60599*/                  OPC_CheckChild1Integer, 1, 
/* 60601*/                  OPC_CheckType, MVT::i64,
/* 60603*/                  OPC_MoveParent,
/* 60604*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60606*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60608*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60610*/                  OPC_MoveParent,
/* 60611*/                  OPC_MoveParent,
/* 60612*/                  OPC_MoveParent,
/* 60613*/                  OPC_CheckType, MVT::i32,
/* 60615*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 60617*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 60627*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 60630*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 60637*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 60643*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60646*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 60654*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60657*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 60665*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60668*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 60677*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 60683*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60686*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 60694*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60697*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 60705*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60708*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 60717*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 60726*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 60729*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 60737*/                0, /*End of Scope*/
/* 60738*/              /*Scope*/ 4|128,3/*388*/, /*->61128*/
/* 60740*/                OPC_CheckChild0Same, 1,
/* 60742*/                OPC_CheckChild1Integer, 2, 
/* 60744*/                OPC_MoveParent,
/* 60745*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60747*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 60749*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60751*/                OPC_MoveParent,
/* 60752*/                OPC_MoveChild1,
/* 60753*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60756*/                OPC_RecordMemRef,
/* 60757*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 60758*/                OPC_CheckFoldableChainNode,
/* 60759*/                OPC_MoveChild1,
/* 60760*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60763*/                OPC_CheckChild0Same, 3,
/* 60765*/                OPC_CheckChild1Integer, 2, 
/* 60767*/                OPC_CheckType, MVT::i64,
/* 60769*/                OPC_MoveParent,
/* 60770*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60772*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 60774*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60776*/                OPC_MoveParent,
/* 60777*/                OPC_MoveParent,
/* 60778*/                OPC_MoveParent,
/* 60779*/                OPC_MoveChild1,
/* 60780*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 60783*/                OPC_MoveChild0,
/* 60784*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60787*/                OPC_RecordMemRef,
/* 60788*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 60789*/                OPC_CheckFoldableChainNode,
/* 60790*/                OPC_MoveChild1,
/* 60791*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60794*/                OPC_CheckType, MVT::i64,
/* 60796*/                OPC_Scope, 35|128,1/*163*/, /*->60962*/ // 2 children in Scope
/* 60799*/                  OPC_CheckChild0Same, 3,
/* 60801*/                  OPC_CheckChild1Integer, 1, 
/* 60803*/                  OPC_MoveParent,
/* 60804*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60806*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60808*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60810*/                  OPC_MoveParent,
/* 60811*/                  OPC_MoveChild1,
/* 60812*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60815*/                  OPC_RecordMemRef,
/* 60816*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 60817*/                  OPC_CheckFoldableChainNode,
/* 60818*/                  OPC_MoveChild1,
/* 60819*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60822*/                  OPC_CheckChild0Same, 1,
/* 60824*/                  OPC_CheckChild1Integer, 1, 
/* 60826*/                  OPC_CheckType, MVT::i64,
/* 60828*/                  OPC_MoveParent,
/* 60829*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60831*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60833*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60835*/                  OPC_MoveParent,
/* 60836*/                  OPC_MoveParent,
/* 60837*/                  OPC_MoveParent,
/* 60838*/                  OPC_CheckType, MVT::i32,
/* 60840*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 60842*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 60852*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 60855*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 60862*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 60868*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60871*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 60879*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60882*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 60890*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60893*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 60902*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 60908*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 60911*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 60919*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 60922*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 60930*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 60933*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 60942*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 60951*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 60954*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 60962*/                /*Scope*/ 35|128,1/*163*/, /*->61127*/
/* 60964*/                  OPC_CheckChild0Same, 1,
/* 60966*/                  OPC_CheckChild1Integer, 1, 
/* 60968*/                  OPC_MoveParent,
/* 60969*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60971*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60973*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 60975*/                  OPC_MoveParent,
/* 60976*/                  OPC_MoveChild1,
/* 60977*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 60980*/                  OPC_RecordMemRef,
/* 60981*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 60982*/                  OPC_CheckFoldableChainNode,
/* 60983*/                  OPC_MoveChild1,
/* 60984*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 60987*/                  OPC_CheckChild0Same, 3,
/* 60989*/                  OPC_CheckChild1Integer, 1, 
/* 60991*/                  OPC_CheckType, MVT::i64,
/* 60993*/                  OPC_MoveParent,
/* 60994*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 60996*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 60998*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61000*/                  OPC_MoveParent,
/* 61001*/                  OPC_MoveParent,
/* 61002*/                  OPC_MoveParent,
/* 61003*/                  OPC_CheckType, MVT::i32,
/* 61005*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 61007*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 61017*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 61020*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 61027*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 61033*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 61036*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 61044*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61047*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 61055*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61058*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 61067*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 61073*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 61076*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 61084*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61087*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 61095*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61098*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 61107*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 61116*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 61119*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 61127*/                0, /*End of Scope*/
/* 61128*/              0, /*End of Scope*/
/* 61129*/            /*Scope*/ 90|128,12/*1626*/, /*->62757*/
/* 61131*/              OPC_MoveChild1,
/* 61132*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61135*/              OPC_CheckType, MVT::i64,
/* 61137*/              OPC_Scope, 39|128,6/*807*/, /*->61947*/ // 2 children in Scope
/* 61140*/                OPC_CheckChild0Same, 3,
/* 61142*/                OPC_CheckChild1Integer, 1, 
/* 61144*/                OPC_MoveParent,
/* 61145*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61147*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 61149*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61151*/                OPC_MoveParent,
/* 61152*/                OPC_MoveChild1,
/* 61153*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61156*/                OPC_RecordMemRef,
/* 61157*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 61158*/                OPC_CheckFoldableChainNode,
/* 61159*/                OPC_MoveChild1,
/* 61160*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61163*/                OPC_CheckChild0Same, 1,
/* 61165*/                OPC_CheckChild1Integer, 1, 
/* 61167*/                OPC_CheckType, MVT::i64,
/* 61169*/                OPC_MoveParent,
/* 61170*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61172*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 61174*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61176*/                OPC_MoveParent,
/* 61177*/                OPC_MoveParent,
/* 61178*/                OPC_MoveChild1,
/* 61179*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 61182*/                OPC_MoveChild0,
/* 61183*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61186*/                OPC_RecordMemRef,
/* 61187*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 61188*/                OPC_CheckFoldableChainNode,
/* 61189*/                OPC_Scope, 120|128,2/*376*/, /*->61568*/ // 2 children in Scope
/* 61192*/                  OPC_CheckChild1Same, 3,
/* 61194*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61196*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 61198*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61200*/                  OPC_MoveParent,
/* 61201*/                  OPC_MoveChild1,
/* 61202*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61205*/                  OPC_RecordMemRef,
/* 61206*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 61207*/                  OPC_CheckFoldableChainNode,
/* 61208*/                  OPC_CheckChild1Same, 1,
/* 61210*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61212*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 61214*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61216*/                  OPC_MoveParent,
/* 61217*/                  OPC_MoveParent,
/* 61218*/                  OPC_MoveParent,
/* 61219*/                  OPC_MoveChild1,
/* 61220*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 61223*/                  OPC_MoveChild0,
/* 61224*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61227*/                  OPC_RecordMemRef,
/* 61228*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 61229*/                  OPC_CheckFoldableChainNode,
/* 61230*/                  OPC_MoveChild1,
/* 61231*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61234*/                  OPC_CheckType, MVT::i64,
/* 61236*/                  OPC_Scope, 35|128,1/*163*/, /*->61402*/ // 2 children in Scope
/* 61239*/                    OPC_CheckChild0Same, 3,
/* 61241*/                    OPC_CheckChild1Integer, 2, 
/* 61243*/                    OPC_MoveParent,
/* 61244*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61246*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 61248*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61250*/                    OPC_MoveParent,
/* 61251*/                    OPC_MoveChild1,
/* 61252*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61255*/                    OPC_RecordMemRef,
/* 61256*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 61257*/                    OPC_CheckFoldableChainNode,
/* 61258*/                    OPC_MoveChild1,
/* 61259*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61262*/                    OPC_CheckChild0Same, 1,
/* 61264*/                    OPC_CheckChild1Integer, 2, 
/* 61266*/                    OPC_CheckType, MVT::i64,
/* 61268*/                    OPC_MoveParent,
/* 61269*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61271*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 61273*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61275*/                    OPC_MoveParent,
/* 61276*/                    OPC_MoveParent,
/* 61277*/                    OPC_MoveParent,
/* 61278*/                    OPC_CheckType, MVT::i32,
/* 61280*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 61282*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 61292*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 61295*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 61302*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 61308*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 61311*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 61319*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61322*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 61330*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61333*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 61342*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 61348*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 61351*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 61359*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61362*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 61370*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61373*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 61382*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 61391*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 61394*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 61402*/                  /*Scope*/ 35|128,1/*163*/, /*->61567*/
/* 61404*/                    OPC_CheckChild0Same, 1,
/* 61406*/                    OPC_CheckChild1Integer, 2, 
/* 61408*/                    OPC_MoveParent,
/* 61409*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61411*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 61413*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61415*/                    OPC_MoveParent,
/* 61416*/                    OPC_MoveChild1,
/* 61417*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61420*/                    OPC_RecordMemRef,
/* 61421*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 61422*/                    OPC_CheckFoldableChainNode,
/* 61423*/                    OPC_MoveChild1,
/* 61424*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61427*/                    OPC_CheckChild0Same, 3,
/* 61429*/                    OPC_CheckChild1Integer, 2, 
/* 61431*/                    OPC_CheckType, MVT::i64,
/* 61433*/                    OPC_MoveParent,
/* 61434*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61436*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 61438*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61440*/                    OPC_MoveParent,
/* 61441*/                    OPC_MoveParent,
/* 61442*/                    OPC_MoveParent,
/* 61443*/                    OPC_CheckType, MVT::i32,
/* 61445*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 61447*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 61457*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 61460*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 61467*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 61473*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 61476*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 61484*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61487*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 61495*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61498*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 61507*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 61513*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 61516*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 61524*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61527*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 61535*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61538*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 61547*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 61556*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 61559*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 61567*/                  0, /*End of Scope*/
/* 61568*/                /*Scope*/ 120|128,2/*376*/, /*->61946*/
/* 61570*/                  OPC_CheckChild1Same, 1,
/* 61572*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61574*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 61576*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61578*/                  OPC_MoveParent,
/* 61579*/                  OPC_MoveChild1,
/* 61580*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61583*/                  OPC_RecordMemRef,
/* 61584*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 61585*/                  OPC_CheckFoldableChainNode,
/* 61586*/                  OPC_CheckChild1Same, 3,
/* 61588*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61590*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 61592*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61594*/                  OPC_MoveParent,
/* 61595*/                  OPC_MoveParent,
/* 61596*/                  OPC_MoveParent,
/* 61597*/                  OPC_MoveChild1,
/* 61598*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 61601*/                  OPC_MoveChild0,
/* 61602*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61605*/                  OPC_RecordMemRef,
/* 61606*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 61607*/                  OPC_CheckFoldableChainNode,
/* 61608*/                  OPC_MoveChild1,
/* 61609*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61612*/                  OPC_CheckType, MVT::i64,
/* 61614*/                  OPC_Scope, 35|128,1/*163*/, /*->61780*/ // 2 children in Scope
/* 61617*/                    OPC_CheckChild0Same, 3,
/* 61619*/                    OPC_CheckChild1Integer, 2, 
/* 61621*/                    OPC_MoveParent,
/* 61622*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61624*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 61626*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61628*/                    OPC_MoveParent,
/* 61629*/                    OPC_MoveChild1,
/* 61630*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61633*/                    OPC_RecordMemRef,
/* 61634*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 61635*/                    OPC_CheckFoldableChainNode,
/* 61636*/                    OPC_MoveChild1,
/* 61637*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61640*/                    OPC_CheckChild0Same, 1,
/* 61642*/                    OPC_CheckChild1Integer, 2, 
/* 61644*/                    OPC_CheckType, MVT::i64,
/* 61646*/                    OPC_MoveParent,
/* 61647*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61649*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 61651*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61653*/                    OPC_MoveParent,
/* 61654*/                    OPC_MoveParent,
/* 61655*/                    OPC_MoveParent,
/* 61656*/                    OPC_CheckType, MVT::i32,
/* 61658*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 61660*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 61670*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 61673*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 61680*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 61686*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 61689*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 61697*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61700*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 61708*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61711*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 61720*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 61726*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 61729*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 61737*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61740*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 61748*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61751*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 61760*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 61769*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 61772*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 61780*/                  /*Scope*/ 35|128,1/*163*/, /*->61945*/
/* 61782*/                    OPC_CheckChild0Same, 1,
/* 61784*/                    OPC_CheckChild1Integer, 2, 
/* 61786*/                    OPC_MoveParent,
/* 61787*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61789*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 61791*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61793*/                    OPC_MoveParent,
/* 61794*/                    OPC_MoveChild1,
/* 61795*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61798*/                    OPC_RecordMemRef,
/* 61799*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 61800*/                    OPC_CheckFoldableChainNode,
/* 61801*/                    OPC_MoveChild1,
/* 61802*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61805*/                    OPC_CheckChild0Same, 3,
/* 61807*/                    OPC_CheckChild1Integer, 2, 
/* 61809*/                    OPC_CheckType, MVT::i64,
/* 61811*/                    OPC_MoveParent,
/* 61812*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61814*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 61816*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61818*/                    OPC_MoveParent,
/* 61819*/                    OPC_MoveParent,
/* 61820*/                    OPC_MoveParent,
/* 61821*/                    OPC_CheckType, MVT::i32,
/* 61823*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 61825*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 61835*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 61838*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 61845*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 61851*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 61854*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 61862*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61865*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 61873*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61876*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 61885*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 61891*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 61894*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 61902*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 61905*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 61913*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 61916*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 61925*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 61934*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 61937*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 61945*/                  0, /*End of Scope*/
/* 61946*/                0, /*End of Scope*/
/* 61947*/              /*Scope*/ 39|128,6/*807*/, /*->62756*/
/* 61949*/                OPC_CheckChild0Same, 1,
/* 61951*/                OPC_CheckChild1Integer, 1, 
/* 61953*/                OPC_MoveParent,
/* 61954*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61956*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 61958*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61960*/                OPC_MoveParent,
/* 61961*/                OPC_MoveChild1,
/* 61962*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61965*/                OPC_RecordMemRef,
/* 61966*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 61967*/                OPC_CheckFoldableChainNode,
/* 61968*/                OPC_MoveChild1,
/* 61969*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 61972*/                OPC_CheckChild0Same, 3,
/* 61974*/                OPC_CheckChild1Integer, 1, 
/* 61976*/                OPC_CheckType, MVT::i64,
/* 61978*/                OPC_MoveParent,
/* 61979*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 61981*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 61983*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 61985*/                OPC_MoveParent,
/* 61986*/                OPC_MoveParent,
/* 61987*/                OPC_MoveChild1,
/* 61988*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 61991*/                OPC_MoveChild0,
/* 61992*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 61995*/                OPC_RecordMemRef,
/* 61996*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 61997*/                OPC_CheckFoldableChainNode,
/* 61998*/                OPC_Scope, 120|128,2/*376*/, /*->62377*/ // 2 children in Scope
/* 62001*/                  OPC_CheckChild1Same, 3,
/* 62003*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62005*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 62007*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62009*/                  OPC_MoveParent,
/* 62010*/                  OPC_MoveChild1,
/* 62011*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62014*/                  OPC_RecordMemRef,
/* 62015*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 62016*/                  OPC_CheckFoldableChainNode,
/* 62017*/                  OPC_CheckChild1Same, 1,
/* 62019*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62021*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 62023*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62025*/                  OPC_MoveParent,
/* 62026*/                  OPC_MoveParent,
/* 62027*/                  OPC_MoveParent,
/* 62028*/                  OPC_MoveChild1,
/* 62029*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 62032*/                  OPC_MoveChild0,
/* 62033*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62036*/                  OPC_RecordMemRef,
/* 62037*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 62038*/                  OPC_CheckFoldableChainNode,
/* 62039*/                  OPC_MoveChild1,
/* 62040*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62043*/                  OPC_CheckType, MVT::i64,
/* 62045*/                  OPC_Scope, 35|128,1/*163*/, /*->62211*/ // 2 children in Scope
/* 62048*/                    OPC_CheckChild0Same, 3,
/* 62050*/                    OPC_CheckChild1Integer, 2, 
/* 62052*/                    OPC_MoveParent,
/* 62053*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62055*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 62057*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62059*/                    OPC_MoveParent,
/* 62060*/                    OPC_MoveChild1,
/* 62061*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62064*/                    OPC_RecordMemRef,
/* 62065*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 62066*/                    OPC_CheckFoldableChainNode,
/* 62067*/                    OPC_MoveChild1,
/* 62068*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62071*/                    OPC_CheckChild0Same, 1,
/* 62073*/                    OPC_CheckChild1Integer, 2, 
/* 62075*/                    OPC_CheckType, MVT::i64,
/* 62077*/                    OPC_MoveParent,
/* 62078*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62080*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 62082*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62084*/                    OPC_MoveParent,
/* 62085*/                    OPC_MoveParent,
/* 62086*/                    OPC_MoveParent,
/* 62087*/                    OPC_CheckType, MVT::i32,
/* 62089*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 62091*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 62101*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 62104*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 62111*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 62117*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 62120*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 62128*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62131*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 62139*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62142*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 62151*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 62157*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 62160*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 62168*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62171*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 62179*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62182*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 62191*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 62200*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 62203*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 62211*/                  /*Scope*/ 35|128,1/*163*/, /*->62376*/
/* 62213*/                    OPC_CheckChild0Same, 1,
/* 62215*/                    OPC_CheckChild1Integer, 2, 
/* 62217*/                    OPC_MoveParent,
/* 62218*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62220*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 62222*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62224*/                    OPC_MoveParent,
/* 62225*/                    OPC_MoveChild1,
/* 62226*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62229*/                    OPC_RecordMemRef,
/* 62230*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 62231*/                    OPC_CheckFoldableChainNode,
/* 62232*/                    OPC_MoveChild1,
/* 62233*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62236*/                    OPC_CheckChild0Same, 3,
/* 62238*/                    OPC_CheckChild1Integer, 2, 
/* 62240*/                    OPC_CheckType, MVT::i64,
/* 62242*/                    OPC_MoveParent,
/* 62243*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62245*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 62247*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62249*/                    OPC_MoveParent,
/* 62250*/                    OPC_MoveParent,
/* 62251*/                    OPC_MoveParent,
/* 62252*/                    OPC_CheckType, MVT::i32,
/* 62254*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 62256*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 62266*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 62269*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 62276*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 62282*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 62285*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 62293*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62296*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 62304*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62307*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 62316*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 62322*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 62325*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 62333*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62336*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 62344*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62347*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 62356*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 62365*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 62368*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 62376*/                  0, /*End of Scope*/
/* 62377*/                /*Scope*/ 120|128,2/*376*/, /*->62755*/
/* 62379*/                  OPC_CheckChild1Same, 1,
/* 62381*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62383*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 62385*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62387*/                  OPC_MoveParent,
/* 62388*/                  OPC_MoveChild1,
/* 62389*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62392*/                  OPC_RecordMemRef,
/* 62393*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 62394*/                  OPC_CheckFoldableChainNode,
/* 62395*/                  OPC_CheckChild1Same, 3,
/* 62397*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62399*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 62401*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62403*/                  OPC_MoveParent,
/* 62404*/                  OPC_MoveParent,
/* 62405*/                  OPC_MoveParent,
/* 62406*/                  OPC_MoveChild1,
/* 62407*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 62410*/                  OPC_MoveChild0,
/* 62411*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62414*/                  OPC_RecordMemRef,
/* 62415*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 62416*/                  OPC_CheckFoldableChainNode,
/* 62417*/                  OPC_MoveChild1,
/* 62418*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62421*/                  OPC_CheckType, MVT::i64,
/* 62423*/                  OPC_Scope, 35|128,1/*163*/, /*->62589*/ // 2 children in Scope
/* 62426*/                    OPC_CheckChild0Same, 3,
/* 62428*/                    OPC_CheckChild1Integer, 2, 
/* 62430*/                    OPC_MoveParent,
/* 62431*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62433*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 62435*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62437*/                    OPC_MoveParent,
/* 62438*/                    OPC_MoveChild1,
/* 62439*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62442*/                    OPC_RecordMemRef,
/* 62443*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 62444*/                    OPC_CheckFoldableChainNode,
/* 62445*/                    OPC_MoveChild1,
/* 62446*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62449*/                    OPC_CheckChild0Same, 1,
/* 62451*/                    OPC_CheckChild1Integer, 2, 
/* 62453*/                    OPC_CheckType, MVT::i64,
/* 62455*/                    OPC_MoveParent,
/* 62456*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62458*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 62460*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62462*/                    OPC_MoveParent,
/* 62463*/                    OPC_MoveParent,
/* 62464*/                    OPC_MoveParent,
/* 62465*/                    OPC_CheckType, MVT::i32,
/* 62467*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 62469*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 62479*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 62482*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 62489*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 62495*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 62498*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 62506*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62509*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 62517*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62520*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 62529*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 62535*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 62538*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 62546*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62549*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 62557*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62560*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 62569*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 62578*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 62581*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 62589*/                  /*Scope*/ 35|128,1/*163*/, /*->62754*/
/* 62591*/                    OPC_CheckChild0Same, 1,
/* 62593*/                    OPC_CheckChild1Integer, 2, 
/* 62595*/                    OPC_MoveParent,
/* 62596*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62598*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 62600*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62602*/                    OPC_MoveParent,
/* 62603*/                    OPC_MoveChild1,
/* 62604*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62607*/                    OPC_RecordMemRef,
/* 62608*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 62609*/                    OPC_CheckFoldableChainNode,
/* 62610*/                    OPC_MoveChild1,
/* 62611*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62614*/                    OPC_CheckChild0Same, 3,
/* 62616*/                    OPC_CheckChild1Integer, 2, 
/* 62618*/                    OPC_CheckType, MVT::i64,
/* 62620*/                    OPC_MoveParent,
/* 62621*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62623*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 62625*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62627*/                    OPC_MoveParent,
/* 62628*/                    OPC_MoveParent,
/* 62629*/                    OPC_MoveParent,
/* 62630*/                    OPC_CheckType, MVT::i32,
/* 62632*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 62634*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 62644*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 62647*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 62654*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 62660*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 62663*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 62671*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62674*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 62682*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62685*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 62694*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 62700*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 62703*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 62711*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62714*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 62722*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62725*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 62734*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 62743*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 62746*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 62754*/                  0, /*End of Scope*/
/* 62755*/                0, /*End of Scope*/
/* 62756*/              0, /*End of Scope*/
/* 62757*/            /*Scope*/ 57|128,6/*825*/, /*->63584*/
/* 62759*/              OPC_CheckChild1Same, 3,
/* 62761*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62763*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 62765*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62767*/              OPC_MoveParent,
/* 62768*/              OPC_MoveChild1,
/* 62769*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62772*/              OPC_RecordMemRef,
/* 62773*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 62774*/              OPC_CheckFoldableChainNode,
/* 62775*/              OPC_CheckChild1Same, 1,
/* 62777*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62779*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 62781*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62783*/              OPC_MoveParent,
/* 62784*/              OPC_MoveParent,
/* 62785*/              OPC_MoveChild1,
/* 62786*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 62789*/              OPC_MoveChild0,
/* 62790*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62793*/              OPC_RecordMemRef,
/* 62794*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 62795*/              OPC_CheckFoldableChainNode,
/* 62796*/              OPC_MoveChild1,
/* 62797*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62800*/              OPC_CheckType, MVT::i64,
/* 62802*/              OPC_Scope, 4|128,3/*388*/, /*->63193*/ // 2 children in Scope
/* 62805*/                OPC_CheckChild0Same, 3,
/* 62807*/                OPC_CheckChild1Integer, 1, 
/* 62809*/                OPC_MoveParent,
/* 62810*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62812*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 62814*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62816*/                OPC_MoveParent,
/* 62817*/                OPC_MoveChild1,
/* 62818*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62821*/                OPC_RecordMemRef,
/* 62822*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 62823*/                OPC_CheckFoldableChainNode,
/* 62824*/                OPC_MoveChild1,
/* 62825*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62828*/                OPC_CheckChild0Same, 1,
/* 62830*/                OPC_CheckChild1Integer, 1, 
/* 62832*/                OPC_CheckType, MVT::i64,
/* 62834*/                OPC_MoveParent,
/* 62835*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62837*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 62839*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62841*/                OPC_MoveParent,
/* 62842*/                OPC_MoveParent,
/* 62843*/                OPC_MoveParent,
/* 62844*/                OPC_MoveChild1,
/* 62845*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 62848*/                OPC_MoveChild0,
/* 62849*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62852*/                OPC_RecordMemRef,
/* 62853*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 62854*/                OPC_CheckFoldableChainNode,
/* 62855*/                OPC_MoveChild1,
/* 62856*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62859*/                OPC_CheckType, MVT::i64,
/* 62861*/                OPC_Scope, 35|128,1/*163*/, /*->63027*/ // 2 children in Scope
/* 62864*/                  OPC_CheckChild0Same, 3,
/* 62866*/                  OPC_CheckChild1Integer, 2, 
/* 62868*/                  OPC_MoveParent,
/* 62869*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62871*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 62873*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62875*/                  OPC_MoveParent,
/* 62876*/                  OPC_MoveChild1,
/* 62877*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 62880*/                  OPC_RecordMemRef,
/* 62881*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 62882*/                  OPC_CheckFoldableChainNode,
/* 62883*/                  OPC_MoveChild1,
/* 62884*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 62887*/                  OPC_CheckChild0Same, 1,
/* 62889*/                  OPC_CheckChild1Integer, 2, 
/* 62891*/                  OPC_CheckType, MVT::i64,
/* 62893*/                  OPC_MoveParent,
/* 62894*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 62896*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 62898*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 62900*/                  OPC_MoveParent,
/* 62901*/                  OPC_MoveParent,
/* 62902*/                  OPC_MoveParent,
/* 62903*/                  OPC_CheckType, MVT::i32,
/* 62905*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 62907*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 62917*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 62920*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 62927*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 62933*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 62936*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 62944*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62947*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 62955*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62958*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 62967*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 62973*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 62976*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 62984*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 62987*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 62995*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 62998*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 63007*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 63016*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 63019*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 63027*/                /*Scope*/ 35|128,1/*163*/, /*->63192*/
/* 63029*/                  OPC_CheckChild0Same, 1,
/* 63031*/                  OPC_CheckChild1Integer, 2, 
/* 63033*/                  OPC_MoveParent,
/* 63034*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63036*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63038*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63040*/                  OPC_MoveParent,
/* 63041*/                  OPC_MoveChild1,
/* 63042*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63045*/                  OPC_RecordMemRef,
/* 63046*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 63047*/                  OPC_CheckFoldableChainNode,
/* 63048*/                  OPC_MoveChild1,
/* 63049*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63052*/                  OPC_CheckChild0Same, 3,
/* 63054*/                  OPC_CheckChild1Integer, 2, 
/* 63056*/                  OPC_CheckType, MVT::i64,
/* 63058*/                  OPC_MoveParent,
/* 63059*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63061*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63063*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63065*/                  OPC_MoveParent,
/* 63066*/                  OPC_MoveParent,
/* 63067*/                  OPC_MoveParent,
/* 63068*/                  OPC_CheckType, MVT::i32,
/* 63070*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 63072*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 63082*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 63085*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 63092*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 63098*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63101*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 63109*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63112*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 63120*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63123*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 63132*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 63138*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63141*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 63149*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63152*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 63160*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63163*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 63172*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 63181*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 63184*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 63192*/                0, /*End of Scope*/
/* 63193*/              /*Scope*/ 4|128,3/*388*/, /*->63583*/
/* 63195*/                OPC_CheckChild0Same, 1,
/* 63197*/                OPC_CheckChild1Integer, 1, 
/* 63199*/                OPC_MoveParent,
/* 63200*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63202*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 63204*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63206*/                OPC_MoveParent,
/* 63207*/                OPC_MoveChild1,
/* 63208*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63211*/                OPC_RecordMemRef,
/* 63212*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 63213*/                OPC_CheckFoldableChainNode,
/* 63214*/                OPC_MoveChild1,
/* 63215*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63218*/                OPC_CheckChild0Same, 3,
/* 63220*/                OPC_CheckChild1Integer, 1, 
/* 63222*/                OPC_CheckType, MVT::i64,
/* 63224*/                OPC_MoveParent,
/* 63225*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63227*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 63229*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63231*/                OPC_MoveParent,
/* 63232*/                OPC_MoveParent,
/* 63233*/                OPC_MoveParent,
/* 63234*/                OPC_MoveChild1,
/* 63235*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 63238*/                OPC_MoveChild0,
/* 63239*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63242*/                OPC_RecordMemRef,
/* 63243*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 63244*/                OPC_CheckFoldableChainNode,
/* 63245*/                OPC_MoveChild1,
/* 63246*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63249*/                OPC_CheckType, MVT::i64,
/* 63251*/                OPC_Scope, 35|128,1/*163*/, /*->63417*/ // 2 children in Scope
/* 63254*/                  OPC_CheckChild0Same, 3,
/* 63256*/                  OPC_CheckChild1Integer, 2, 
/* 63258*/                  OPC_MoveParent,
/* 63259*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63261*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63263*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63265*/                  OPC_MoveParent,
/* 63266*/                  OPC_MoveChild1,
/* 63267*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63270*/                  OPC_RecordMemRef,
/* 63271*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 63272*/                  OPC_CheckFoldableChainNode,
/* 63273*/                  OPC_MoveChild1,
/* 63274*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63277*/                  OPC_CheckChild0Same, 1,
/* 63279*/                  OPC_CheckChild1Integer, 2, 
/* 63281*/                  OPC_CheckType, MVT::i64,
/* 63283*/                  OPC_MoveParent,
/* 63284*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63286*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63288*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63290*/                  OPC_MoveParent,
/* 63291*/                  OPC_MoveParent,
/* 63292*/                  OPC_MoveParent,
/* 63293*/                  OPC_CheckType, MVT::i32,
/* 63295*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 63297*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 63307*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 63310*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 63317*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 63323*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63326*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 63334*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63337*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 63345*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63348*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 63357*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 63363*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63366*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 63374*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63377*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 63385*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63388*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 63397*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 63406*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 63409*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 63417*/                /*Scope*/ 35|128,1/*163*/, /*->63582*/
/* 63419*/                  OPC_CheckChild0Same, 1,
/* 63421*/                  OPC_CheckChild1Integer, 2, 
/* 63423*/                  OPC_MoveParent,
/* 63424*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63426*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63428*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63430*/                  OPC_MoveParent,
/* 63431*/                  OPC_MoveChild1,
/* 63432*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63435*/                  OPC_RecordMemRef,
/* 63436*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 63437*/                  OPC_CheckFoldableChainNode,
/* 63438*/                  OPC_MoveChild1,
/* 63439*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63442*/                  OPC_CheckChild0Same, 3,
/* 63444*/                  OPC_CheckChild1Integer, 2, 
/* 63446*/                  OPC_CheckType, MVT::i64,
/* 63448*/                  OPC_MoveParent,
/* 63449*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63451*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63453*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63455*/                  OPC_MoveParent,
/* 63456*/                  OPC_MoveParent,
/* 63457*/                  OPC_MoveParent,
/* 63458*/                  OPC_CheckType, MVT::i32,
/* 63460*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 63462*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 63472*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 63475*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 63482*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 63488*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63491*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 63499*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63502*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 63510*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63513*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 63522*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 63528*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63531*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 63539*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63542*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 63550*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63553*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 63562*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 63571*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 63574*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 63582*/                0, /*End of Scope*/
/* 63583*/              0, /*End of Scope*/
/* 63584*/            /*Scope*/ 57|128,6/*825*/, /*->64411*/
/* 63586*/              OPC_CheckChild1Same, 1,
/* 63588*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63590*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 63592*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63594*/              OPC_MoveParent,
/* 63595*/              OPC_MoveChild1,
/* 63596*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63599*/              OPC_RecordMemRef,
/* 63600*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 63601*/              OPC_CheckFoldableChainNode,
/* 63602*/              OPC_CheckChild1Same, 3,
/* 63604*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63606*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 63608*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63610*/              OPC_MoveParent,
/* 63611*/              OPC_MoveParent,
/* 63612*/              OPC_MoveChild1,
/* 63613*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 63616*/              OPC_MoveChild0,
/* 63617*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63620*/              OPC_RecordMemRef,
/* 63621*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 63622*/              OPC_CheckFoldableChainNode,
/* 63623*/              OPC_MoveChild1,
/* 63624*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63627*/              OPC_CheckType, MVT::i64,
/* 63629*/              OPC_Scope, 4|128,3/*388*/, /*->64020*/ // 2 children in Scope
/* 63632*/                OPC_CheckChild0Same, 3,
/* 63634*/                OPC_CheckChild1Integer, 1, 
/* 63636*/                OPC_MoveParent,
/* 63637*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63639*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 63641*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63643*/                OPC_MoveParent,
/* 63644*/                OPC_MoveChild1,
/* 63645*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63648*/                OPC_RecordMemRef,
/* 63649*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 63650*/                OPC_CheckFoldableChainNode,
/* 63651*/                OPC_MoveChild1,
/* 63652*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63655*/                OPC_CheckChild0Same, 1,
/* 63657*/                OPC_CheckChild1Integer, 1, 
/* 63659*/                OPC_CheckType, MVT::i64,
/* 63661*/                OPC_MoveParent,
/* 63662*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63664*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 63666*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63668*/                OPC_MoveParent,
/* 63669*/                OPC_MoveParent,
/* 63670*/                OPC_MoveParent,
/* 63671*/                OPC_MoveChild1,
/* 63672*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 63675*/                OPC_MoveChild0,
/* 63676*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63679*/                OPC_RecordMemRef,
/* 63680*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 63681*/                OPC_CheckFoldableChainNode,
/* 63682*/                OPC_MoveChild1,
/* 63683*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63686*/                OPC_CheckType, MVT::i64,
/* 63688*/                OPC_Scope, 35|128,1/*163*/, /*->63854*/ // 2 children in Scope
/* 63691*/                  OPC_CheckChild0Same, 3,
/* 63693*/                  OPC_CheckChild1Integer, 2, 
/* 63695*/                  OPC_MoveParent,
/* 63696*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63698*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63700*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63702*/                  OPC_MoveParent,
/* 63703*/                  OPC_MoveChild1,
/* 63704*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63707*/                  OPC_RecordMemRef,
/* 63708*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 63709*/                  OPC_CheckFoldableChainNode,
/* 63710*/                  OPC_MoveChild1,
/* 63711*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63714*/                  OPC_CheckChild0Same, 1,
/* 63716*/                  OPC_CheckChild1Integer, 2, 
/* 63718*/                  OPC_CheckType, MVT::i64,
/* 63720*/                  OPC_MoveParent,
/* 63721*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63723*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63725*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63727*/                  OPC_MoveParent,
/* 63728*/                  OPC_MoveParent,
/* 63729*/                  OPC_MoveParent,
/* 63730*/                  OPC_CheckType, MVT::i32,
/* 63732*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 63734*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 63744*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 63747*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 63754*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 63760*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63763*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 63771*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63774*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 63782*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63785*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 63794*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 63800*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63803*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 63811*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63814*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 63822*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63825*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 63834*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 63843*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 63846*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 63854*/                /*Scope*/ 35|128,1/*163*/, /*->64019*/
/* 63856*/                  OPC_CheckChild0Same, 1,
/* 63858*/                  OPC_CheckChild1Integer, 2, 
/* 63860*/                  OPC_MoveParent,
/* 63861*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63863*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63865*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63867*/                  OPC_MoveParent,
/* 63868*/                  OPC_MoveChild1,
/* 63869*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 63872*/                  OPC_RecordMemRef,
/* 63873*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 63874*/                  OPC_CheckFoldableChainNode,
/* 63875*/                  OPC_MoveChild1,
/* 63876*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 63879*/                  OPC_CheckChild0Same, 3,
/* 63881*/                  OPC_CheckChild1Integer, 2, 
/* 63883*/                  OPC_CheckType, MVT::i64,
/* 63885*/                  OPC_MoveParent,
/* 63886*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 63888*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 63890*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 63892*/                  OPC_MoveParent,
/* 63893*/                  OPC_MoveParent,
/* 63894*/                  OPC_MoveParent,
/* 63895*/                  OPC_CheckType, MVT::i32,
/* 63897*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 63899*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 63909*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 63912*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 63919*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 63925*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63928*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 63936*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63939*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 63947*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63950*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 63959*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 63965*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 63968*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 63976*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 63979*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 63987*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 63990*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 63999*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 64008*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 64011*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 64019*/                0, /*End of Scope*/
/* 64020*/              /*Scope*/ 4|128,3/*388*/, /*->64410*/
/* 64022*/                OPC_CheckChild0Same, 1,
/* 64024*/                OPC_CheckChild1Integer, 1, 
/* 64026*/                OPC_MoveParent,
/* 64027*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64029*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 64031*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64033*/                OPC_MoveParent,
/* 64034*/                OPC_MoveChild1,
/* 64035*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64038*/                OPC_RecordMemRef,
/* 64039*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 64040*/                OPC_CheckFoldableChainNode,
/* 64041*/                OPC_MoveChild1,
/* 64042*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64045*/                OPC_CheckChild0Same, 3,
/* 64047*/                OPC_CheckChild1Integer, 1, 
/* 64049*/                OPC_CheckType, MVT::i64,
/* 64051*/                OPC_MoveParent,
/* 64052*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64054*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 64056*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64058*/                OPC_MoveParent,
/* 64059*/                OPC_MoveParent,
/* 64060*/                OPC_MoveParent,
/* 64061*/                OPC_MoveChild1,
/* 64062*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 64065*/                OPC_MoveChild0,
/* 64066*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64069*/                OPC_RecordMemRef,
/* 64070*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 64071*/                OPC_CheckFoldableChainNode,
/* 64072*/                OPC_MoveChild1,
/* 64073*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64076*/                OPC_CheckType, MVT::i64,
/* 64078*/                OPC_Scope, 35|128,1/*163*/, /*->64244*/ // 2 children in Scope
/* 64081*/                  OPC_CheckChild0Same, 3,
/* 64083*/                  OPC_CheckChild1Integer, 2, 
/* 64085*/                  OPC_MoveParent,
/* 64086*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64088*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64090*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64092*/                  OPC_MoveParent,
/* 64093*/                  OPC_MoveChild1,
/* 64094*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64097*/                  OPC_RecordMemRef,
/* 64098*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 64099*/                  OPC_CheckFoldableChainNode,
/* 64100*/                  OPC_MoveChild1,
/* 64101*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64104*/                  OPC_CheckChild0Same, 1,
/* 64106*/                  OPC_CheckChild1Integer, 2, 
/* 64108*/                  OPC_CheckType, MVT::i64,
/* 64110*/                  OPC_MoveParent,
/* 64111*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64113*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64115*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64117*/                  OPC_MoveParent,
/* 64118*/                  OPC_MoveParent,
/* 64119*/                  OPC_MoveParent,
/* 64120*/                  OPC_CheckType, MVT::i32,
/* 64122*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 64124*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 64134*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 64137*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 64144*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 64150*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64153*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 64161*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 64164*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 64172*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 64175*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 64184*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 64190*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64193*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 64201*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 64204*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 64212*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 64215*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 64224*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 64233*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 64236*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 64244*/                /*Scope*/ 35|128,1/*163*/, /*->64409*/
/* 64246*/                  OPC_CheckChild0Same, 1,
/* 64248*/                  OPC_CheckChild1Integer, 2, 
/* 64250*/                  OPC_MoveParent,
/* 64251*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64253*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64255*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64257*/                  OPC_MoveParent,
/* 64258*/                  OPC_MoveChild1,
/* 64259*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64262*/                  OPC_RecordMemRef,
/* 64263*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 64264*/                  OPC_CheckFoldableChainNode,
/* 64265*/                  OPC_MoveChild1,
/* 64266*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64269*/                  OPC_CheckChild0Same, 3,
/* 64271*/                  OPC_CheckChild1Integer, 2, 
/* 64273*/                  OPC_CheckType, MVT::i64,
/* 64275*/                  OPC_MoveParent,
/* 64276*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64278*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64280*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64282*/                  OPC_MoveParent,
/* 64283*/                  OPC_MoveParent,
/* 64284*/                  OPC_MoveParent,
/* 64285*/                  OPC_CheckType, MVT::i32,
/* 64287*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 64289*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 64299*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 64302*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 64309*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 64315*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64318*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 64326*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 64329*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 64337*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 64340*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 64349*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 64355*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64358*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 64366*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 64369*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 64377*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 64380*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 64389*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 64398*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 64401*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 64409*/                0, /*End of Scope*/
/* 64410*/              0, /*End of Scope*/
/* 64411*/            0, /*End of Scope*/
/* 64412*/          /*SwitchOpcode*/ 7|128,23|128,1/*19335*/, TARGET_VAL(ISD::MUL),// ->83752
/* 64417*/            OPC_MoveChild0,
/* 64418*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64421*/            OPC_RecordMemRef,
/* 64422*/            OPC_RecordNode, // #4 = 'ld' chained node
/* 64423*/            OPC_CheckFoldableChainNode,
/* 64424*/            OPC_Scope, 63|128,6/*831*/, /*->65258*/ // 10 children in Scope
/* 64427*/              OPC_CheckChild1Same, 1,
/* 64429*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64431*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 64433*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64435*/              OPC_MoveParent,
/* 64436*/              OPC_MoveChild1,
/* 64437*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64440*/              OPC_RecordMemRef,
/* 64441*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 64442*/              OPC_CheckFoldableChainNode,
/* 64443*/              OPC_CheckChild1Same, 3,
/* 64445*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64447*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 64449*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64451*/              OPC_MoveParent,
/* 64452*/              OPC_MoveParent,
/* 64453*/              OPC_MoveChild1,
/* 64454*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64457*/              OPC_MoveChild0,
/* 64458*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 64461*/              OPC_MoveChild0,
/* 64462*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64465*/              OPC_RecordMemRef,
/* 64466*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 64467*/              OPC_CheckFoldableChainNode,
/* 64468*/              OPC_MoveChild1,
/* 64469*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64472*/              OPC_CheckType, MVT::i64,
/* 64474*/              OPC_Scope, 5|128,3/*389*/, /*->64866*/ // 2 children in Scope
/* 64477*/                OPC_CheckChild0Same, 1,
/* 64479*/                OPC_CheckChild1Integer, 2, 
/* 64481*/                OPC_MoveParent,
/* 64482*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64484*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 64486*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64488*/                OPC_MoveParent,
/* 64489*/                OPC_MoveChild1,
/* 64490*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64493*/                OPC_RecordMemRef,
/* 64494*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 64495*/                OPC_CheckFoldableChainNode,
/* 64496*/                OPC_MoveChild1,
/* 64497*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64500*/                OPC_CheckChild0Same, 3,
/* 64502*/                OPC_CheckChild1Integer, 2, 
/* 64504*/                OPC_CheckType, MVT::i64,
/* 64506*/                OPC_MoveParent,
/* 64507*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64509*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 64511*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64513*/                OPC_MoveParent,
/* 64514*/                OPC_MoveParent,
/* 64515*/                OPC_MoveChild1,
/* 64516*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 64519*/                OPC_MoveChild0,
/* 64520*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64523*/                OPC_RecordMemRef,
/* 64524*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 64525*/                OPC_CheckFoldableChainNode,
/* 64526*/                OPC_MoveChild1,
/* 64527*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64530*/                OPC_CheckType, MVT::i64,
/* 64532*/                OPC_Scope, 36|128,1/*164*/, /*->64699*/ // 2 children in Scope
/* 64535*/                  OPC_CheckChild0Same, 1,
/* 64537*/                  OPC_CheckChild1Integer, 1, 
/* 64539*/                  OPC_MoveParent,
/* 64540*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64542*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64544*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64546*/                  OPC_MoveParent,
/* 64547*/                  OPC_MoveChild1,
/* 64548*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64551*/                  OPC_RecordMemRef,
/* 64552*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 64553*/                  OPC_CheckFoldableChainNode,
/* 64554*/                  OPC_MoveChild1,
/* 64555*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64558*/                  OPC_CheckChild0Same, 3,
/* 64560*/                  OPC_CheckChild1Integer, 1, 
/* 64562*/                  OPC_CheckType, MVT::i64,
/* 64564*/                  OPC_MoveParent,
/* 64565*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64567*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64569*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64571*/                  OPC_MoveParent,
/* 64572*/                  OPC_MoveParent,
/* 64573*/                  OPC_MoveParent,
/* 64574*/                  OPC_MoveParent,
/* 64575*/                  OPC_CheckType, MVT::i32,
/* 64577*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 64579*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 64589*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 64592*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 64599*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 64605*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64608*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 64616*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 64619*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 64627*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 64630*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 64639*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 64645*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64648*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 64656*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 64659*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 64667*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 64670*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 64679*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 64688*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 64691*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 64699*/                /*Scope*/ 36|128,1/*164*/, /*->64865*/
/* 64701*/                  OPC_CheckChild0Same, 3,
/* 64703*/                  OPC_CheckChild1Integer, 1, 
/* 64705*/                  OPC_MoveParent,
/* 64706*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64708*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64710*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64712*/                  OPC_MoveParent,
/* 64713*/                  OPC_MoveChild1,
/* 64714*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64717*/                  OPC_RecordMemRef,
/* 64718*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 64719*/                  OPC_CheckFoldableChainNode,
/* 64720*/                  OPC_MoveChild1,
/* 64721*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64724*/                  OPC_CheckChild0Same, 1,
/* 64726*/                  OPC_CheckChild1Integer, 1, 
/* 64728*/                  OPC_CheckType, MVT::i64,
/* 64730*/                  OPC_MoveParent,
/* 64731*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64733*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64735*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64737*/                  OPC_MoveParent,
/* 64738*/                  OPC_MoveParent,
/* 64739*/                  OPC_MoveParent,
/* 64740*/                  OPC_MoveParent,
/* 64741*/                  OPC_CheckType, MVT::i32,
/* 64743*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 64745*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 64755*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 64758*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 64765*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 64771*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64774*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 64782*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 64785*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 64793*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 64796*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 64805*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 64811*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64814*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 64822*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 64825*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 64833*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 64836*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 64845*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 64854*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 64857*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 64865*/                0, /*End of Scope*/
/* 64866*/              /*Scope*/ 5|128,3/*389*/, /*->65257*/
/* 64868*/                OPC_CheckChild0Same, 3,
/* 64870*/                OPC_CheckChild1Integer, 2, 
/* 64872*/                OPC_MoveParent,
/* 64873*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64875*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 64877*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64879*/                OPC_MoveParent,
/* 64880*/                OPC_MoveChild1,
/* 64881*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64884*/                OPC_RecordMemRef,
/* 64885*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 64886*/                OPC_CheckFoldableChainNode,
/* 64887*/                OPC_MoveChild1,
/* 64888*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64891*/                OPC_CheckChild0Same, 1,
/* 64893*/                OPC_CheckChild1Integer, 2, 
/* 64895*/                OPC_CheckType, MVT::i64,
/* 64897*/                OPC_MoveParent,
/* 64898*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64900*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 64902*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64904*/                OPC_MoveParent,
/* 64905*/                OPC_MoveParent,
/* 64906*/                OPC_MoveChild1,
/* 64907*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 64910*/                OPC_MoveChild0,
/* 64911*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64914*/                OPC_RecordMemRef,
/* 64915*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 64916*/                OPC_CheckFoldableChainNode,
/* 64917*/                OPC_MoveChild1,
/* 64918*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64921*/                OPC_CheckType, MVT::i64,
/* 64923*/                OPC_Scope, 36|128,1/*164*/, /*->65090*/ // 2 children in Scope
/* 64926*/                  OPC_CheckChild0Same, 1,
/* 64928*/                  OPC_CheckChild1Integer, 1, 
/* 64930*/                  OPC_MoveParent,
/* 64931*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64933*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64935*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64937*/                  OPC_MoveParent,
/* 64938*/                  OPC_MoveChild1,
/* 64939*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 64942*/                  OPC_RecordMemRef,
/* 64943*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 64944*/                  OPC_CheckFoldableChainNode,
/* 64945*/                  OPC_MoveChild1,
/* 64946*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 64949*/                  OPC_CheckChild0Same, 3,
/* 64951*/                  OPC_CheckChild1Integer, 1, 
/* 64953*/                  OPC_CheckType, MVT::i64,
/* 64955*/                  OPC_MoveParent,
/* 64956*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 64958*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 64960*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 64962*/                  OPC_MoveParent,
/* 64963*/                  OPC_MoveParent,
/* 64964*/                  OPC_MoveParent,
/* 64965*/                  OPC_MoveParent,
/* 64966*/                  OPC_CheckType, MVT::i32,
/* 64968*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 64970*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 64980*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 64983*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 64990*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 64996*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 64999*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 65007*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65010*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 65018*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65021*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 65030*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 65036*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65039*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 65047*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65050*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 65058*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65061*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 65070*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 65079*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 65082*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 65090*/                /*Scope*/ 36|128,1/*164*/, /*->65256*/
/* 65092*/                  OPC_CheckChild0Same, 3,
/* 65094*/                  OPC_CheckChild1Integer, 1, 
/* 65096*/                  OPC_MoveParent,
/* 65097*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65099*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65101*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65103*/                  OPC_MoveParent,
/* 65104*/                  OPC_MoveChild1,
/* 65105*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65108*/                  OPC_RecordMemRef,
/* 65109*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 65110*/                  OPC_CheckFoldableChainNode,
/* 65111*/                  OPC_MoveChild1,
/* 65112*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65115*/                  OPC_CheckChild0Same, 1,
/* 65117*/                  OPC_CheckChild1Integer, 1, 
/* 65119*/                  OPC_CheckType, MVT::i64,
/* 65121*/                  OPC_MoveParent,
/* 65122*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65124*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65126*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65128*/                  OPC_MoveParent,
/* 65129*/                  OPC_MoveParent,
/* 65130*/                  OPC_MoveParent,
/* 65131*/                  OPC_MoveParent,
/* 65132*/                  OPC_CheckType, MVT::i32,
/* 65134*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 65136*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 65146*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 65149*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 65156*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 65162*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65165*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 65173*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65176*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 65184*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65187*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 65196*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 65202*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65205*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 65213*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65216*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 65224*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65227*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 65236*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 65245*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 65248*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 65256*/                0, /*End of Scope*/
/* 65257*/              0, /*End of Scope*/
/* 65258*/            /*Scope*/ 63|128,6/*831*/, /*->66091*/
/* 65260*/              OPC_CheckChild1Same, 3,
/* 65262*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65264*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 65266*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65268*/              OPC_MoveParent,
/* 65269*/              OPC_MoveChild1,
/* 65270*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65273*/              OPC_RecordMemRef,
/* 65274*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 65275*/              OPC_CheckFoldableChainNode,
/* 65276*/              OPC_CheckChild1Same, 1,
/* 65278*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65280*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 65282*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65284*/              OPC_MoveParent,
/* 65285*/              OPC_MoveParent,
/* 65286*/              OPC_MoveChild1,
/* 65287*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65290*/              OPC_MoveChild0,
/* 65291*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 65294*/              OPC_MoveChild0,
/* 65295*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65298*/              OPC_RecordMemRef,
/* 65299*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 65300*/              OPC_CheckFoldableChainNode,
/* 65301*/              OPC_MoveChild1,
/* 65302*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65305*/              OPC_CheckType, MVT::i64,
/* 65307*/              OPC_Scope, 5|128,3/*389*/, /*->65699*/ // 2 children in Scope
/* 65310*/                OPC_CheckChild0Same, 1,
/* 65312*/                OPC_CheckChild1Integer, 2, 
/* 65314*/                OPC_MoveParent,
/* 65315*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65317*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 65319*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65321*/                OPC_MoveParent,
/* 65322*/                OPC_MoveChild1,
/* 65323*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65326*/                OPC_RecordMemRef,
/* 65327*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 65328*/                OPC_CheckFoldableChainNode,
/* 65329*/                OPC_MoveChild1,
/* 65330*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65333*/                OPC_CheckChild0Same, 3,
/* 65335*/                OPC_CheckChild1Integer, 2, 
/* 65337*/                OPC_CheckType, MVT::i64,
/* 65339*/                OPC_MoveParent,
/* 65340*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65342*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 65344*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65346*/                OPC_MoveParent,
/* 65347*/                OPC_MoveParent,
/* 65348*/                OPC_MoveChild1,
/* 65349*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 65352*/                OPC_MoveChild0,
/* 65353*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65356*/                OPC_RecordMemRef,
/* 65357*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 65358*/                OPC_CheckFoldableChainNode,
/* 65359*/                OPC_MoveChild1,
/* 65360*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65363*/                OPC_CheckType, MVT::i64,
/* 65365*/                OPC_Scope, 36|128,1/*164*/, /*->65532*/ // 2 children in Scope
/* 65368*/                  OPC_CheckChild0Same, 1,
/* 65370*/                  OPC_CheckChild1Integer, 1, 
/* 65372*/                  OPC_MoveParent,
/* 65373*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65375*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65377*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65379*/                  OPC_MoveParent,
/* 65380*/                  OPC_MoveChild1,
/* 65381*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65384*/                  OPC_RecordMemRef,
/* 65385*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 65386*/                  OPC_CheckFoldableChainNode,
/* 65387*/                  OPC_MoveChild1,
/* 65388*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65391*/                  OPC_CheckChild0Same, 3,
/* 65393*/                  OPC_CheckChild1Integer, 1, 
/* 65395*/                  OPC_CheckType, MVT::i64,
/* 65397*/                  OPC_MoveParent,
/* 65398*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65400*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65402*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65404*/                  OPC_MoveParent,
/* 65405*/                  OPC_MoveParent,
/* 65406*/                  OPC_MoveParent,
/* 65407*/                  OPC_MoveParent,
/* 65408*/                  OPC_CheckType, MVT::i32,
/* 65410*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 65412*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 65422*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 65425*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 65432*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 65438*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65441*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 65449*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65452*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 65460*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65463*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 65472*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 65478*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65481*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 65489*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65492*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 65500*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65503*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 65512*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 65521*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 65524*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 65532*/                /*Scope*/ 36|128,1/*164*/, /*->65698*/
/* 65534*/                  OPC_CheckChild0Same, 3,
/* 65536*/                  OPC_CheckChild1Integer, 1, 
/* 65538*/                  OPC_MoveParent,
/* 65539*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65541*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65543*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65545*/                  OPC_MoveParent,
/* 65546*/                  OPC_MoveChild1,
/* 65547*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65550*/                  OPC_RecordMemRef,
/* 65551*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 65552*/                  OPC_CheckFoldableChainNode,
/* 65553*/                  OPC_MoveChild1,
/* 65554*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65557*/                  OPC_CheckChild0Same, 1,
/* 65559*/                  OPC_CheckChild1Integer, 1, 
/* 65561*/                  OPC_CheckType, MVT::i64,
/* 65563*/                  OPC_MoveParent,
/* 65564*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65566*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65568*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65570*/                  OPC_MoveParent,
/* 65571*/                  OPC_MoveParent,
/* 65572*/                  OPC_MoveParent,
/* 65573*/                  OPC_MoveParent,
/* 65574*/                  OPC_CheckType, MVT::i32,
/* 65576*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 65578*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 65588*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 65591*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 65598*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 65604*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65607*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 65615*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65618*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 65626*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65629*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 65638*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 65644*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65647*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 65655*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65658*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 65666*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65669*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 65678*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 65687*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 65690*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 65698*/                0, /*End of Scope*/
/* 65699*/              /*Scope*/ 5|128,3/*389*/, /*->66090*/
/* 65701*/                OPC_CheckChild0Same, 3,
/* 65703*/                OPC_CheckChild1Integer, 2, 
/* 65705*/                OPC_MoveParent,
/* 65706*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65708*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 65710*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65712*/                OPC_MoveParent,
/* 65713*/                OPC_MoveChild1,
/* 65714*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65717*/                OPC_RecordMemRef,
/* 65718*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 65719*/                OPC_CheckFoldableChainNode,
/* 65720*/                OPC_MoveChild1,
/* 65721*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65724*/                OPC_CheckChild0Same, 1,
/* 65726*/                OPC_CheckChild1Integer, 2, 
/* 65728*/                OPC_CheckType, MVT::i64,
/* 65730*/                OPC_MoveParent,
/* 65731*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65733*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 65735*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65737*/                OPC_MoveParent,
/* 65738*/                OPC_MoveParent,
/* 65739*/                OPC_MoveChild1,
/* 65740*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 65743*/                OPC_MoveChild0,
/* 65744*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65747*/                OPC_RecordMemRef,
/* 65748*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 65749*/                OPC_CheckFoldableChainNode,
/* 65750*/                OPC_MoveChild1,
/* 65751*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65754*/                OPC_CheckType, MVT::i64,
/* 65756*/                OPC_Scope, 36|128,1/*164*/, /*->65923*/ // 2 children in Scope
/* 65759*/                  OPC_CheckChild0Same, 1,
/* 65761*/                  OPC_CheckChild1Integer, 1, 
/* 65763*/                  OPC_MoveParent,
/* 65764*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65766*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65768*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65770*/                  OPC_MoveParent,
/* 65771*/                  OPC_MoveChild1,
/* 65772*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65775*/                  OPC_RecordMemRef,
/* 65776*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 65777*/                  OPC_CheckFoldableChainNode,
/* 65778*/                  OPC_MoveChild1,
/* 65779*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65782*/                  OPC_CheckChild0Same, 3,
/* 65784*/                  OPC_CheckChild1Integer, 1, 
/* 65786*/                  OPC_CheckType, MVT::i64,
/* 65788*/                  OPC_MoveParent,
/* 65789*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65791*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65793*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65795*/                  OPC_MoveParent,
/* 65796*/                  OPC_MoveParent,
/* 65797*/                  OPC_MoveParent,
/* 65798*/                  OPC_MoveParent,
/* 65799*/                  OPC_CheckType, MVT::i32,
/* 65801*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 65803*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 65813*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 65816*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 65823*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 65829*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65832*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 65840*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65843*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 65851*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65854*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 65863*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 65869*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65872*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 65880*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 65883*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 65891*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 65894*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 65903*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 65912*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 65915*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 65923*/                /*Scope*/ 36|128,1/*164*/, /*->66089*/
/* 65925*/                  OPC_CheckChild0Same, 3,
/* 65927*/                  OPC_CheckChild1Integer, 1, 
/* 65929*/                  OPC_MoveParent,
/* 65930*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65932*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65934*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65936*/                  OPC_MoveParent,
/* 65937*/                  OPC_MoveChild1,
/* 65938*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 65941*/                  OPC_RecordMemRef,
/* 65942*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 65943*/                  OPC_CheckFoldableChainNode,
/* 65944*/                  OPC_MoveChild1,
/* 65945*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 65948*/                  OPC_CheckChild0Same, 1,
/* 65950*/                  OPC_CheckChild1Integer, 1, 
/* 65952*/                  OPC_CheckType, MVT::i64,
/* 65954*/                  OPC_MoveParent,
/* 65955*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 65957*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 65959*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 65961*/                  OPC_MoveParent,
/* 65962*/                  OPC_MoveParent,
/* 65963*/                  OPC_MoveParent,
/* 65964*/                  OPC_MoveParent,
/* 65965*/                  OPC_CheckType, MVT::i32,
/* 65967*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 65969*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 65979*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 65982*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 65989*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 65995*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 65998*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 66006*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66009*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 66017*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66020*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 66029*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 66035*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66038*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 66046*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66049*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 66057*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66060*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 66069*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 66078*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 66081*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 66089*/                0, /*End of Scope*/
/* 66090*/              0, /*End of Scope*/
/* 66091*/            /*Scope*/ 63|128,6/*831*/, /*->66924*/
/* 66093*/              OPC_CheckChild1Same, 1,
/* 66095*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66097*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 66099*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66101*/              OPC_MoveParent,
/* 66102*/              OPC_MoveChild1,
/* 66103*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66106*/              OPC_RecordMemRef,
/* 66107*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 66108*/              OPC_CheckFoldableChainNode,
/* 66109*/              OPC_CheckChild1Same, 3,
/* 66111*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66113*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 66115*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66117*/              OPC_MoveParent,
/* 66118*/              OPC_MoveParent,
/* 66119*/              OPC_MoveChild1,
/* 66120*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66123*/              OPC_MoveChild0,
/* 66124*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 66127*/              OPC_MoveChild0,
/* 66128*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66131*/              OPC_RecordMemRef,
/* 66132*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 66133*/              OPC_CheckFoldableChainNode,
/* 66134*/              OPC_MoveChild1,
/* 66135*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66138*/              OPC_CheckType, MVT::i64,
/* 66140*/              OPC_Scope, 5|128,3/*389*/, /*->66532*/ // 2 children in Scope
/* 66143*/                OPC_CheckChild0Same, 1,
/* 66145*/                OPC_CheckChild1Integer, 1, 
/* 66147*/                OPC_MoveParent,
/* 66148*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66150*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 66152*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66154*/                OPC_MoveParent,
/* 66155*/                OPC_MoveChild1,
/* 66156*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66159*/                OPC_RecordMemRef,
/* 66160*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 66161*/                OPC_CheckFoldableChainNode,
/* 66162*/                OPC_MoveChild1,
/* 66163*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66166*/                OPC_CheckChild0Same, 3,
/* 66168*/                OPC_CheckChild1Integer, 1, 
/* 66170*/                OPC_CheckType, MVT::i64,
/* 66172*/                OPC_MoveParent,
/* 66173*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66175*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 66177*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66179*/                OPC_MoveParent,
/* 66180*/                OPC_MoveParent,
/* 66181*/                OPC_MoveChild1,
/* 66182*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 66185*/                OPC_MoveChild0,
/* 66186*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66189*/                OPC_RecordMemRef,
/* 66190*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 66191*/                OPC_CheckFoldableChainNode,
/* 66192*/                OPC_MoveChild1,
/* 66193*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66196*/                OPC_CheckType, MVT::i64,
/* 66198*/                OPC_Scope, 36|128,1/*164*/, /*->66365*/ // 2 children in Scope
/* 66201*/                  OPC_CheckChild0Same, 1,
/* 66203*/                  OPC_CheckChild1Integer, 2, 
/* 66205*/                  OPC_MoveParent,
/* 66206*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66208*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 66210*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66212*/                  OPC_MoveParent,
/* 66213*/                  OPC_MoveChild1,
/* 66214*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66217*/                  OPC_RecordMemRef,
/* 66218*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 66219*/                  OPC_CheckFoldableChainNode,
/* 66220*/                  OPC_MoveChild1,
/* 66221*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66224*/                  OPC_CheckChild0Same, 3,
/* 66226*/                  OPC_CheckChild1Integer, 2, 
/* 66228*/                  OPC_CheckType, MVT::i64,
/* 66230*/                  OPC_MoveParent,
/* 66231*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66233*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 66235*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66237*/                  OPC_MoveParent,
/* 66238*/                  OPC_MoveParent,
/* 66239*/                  OPC_MoveParent,
/* 66240*/                  OPC_MoveParent,
/* 66241*/                  OPC_CheckType, MVT::i32,
/* 66243*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 66245*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 66255*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 66258*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 66265*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 66271*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66274*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 66282*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66285*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 66293*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66296*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 66305*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 66311*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66314*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 66322*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66325*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 66333*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66336*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 66345*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 66354*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 66357*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 66365*/                /*Scope*/ 36|128,1/*164*/, /*->66531*/
/* 66367*/                  OPC_CheckChild0Same, 3,
/* 66369*/                  OPC_CheckChild1Integer, 2, 
/* 66371*/                  OPC_MoveParent,
/* 66372*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66374*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 66376*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66378*/                  OPC_MoveParent,
/* 66379*/                  OPC_MoveChild1,
/* 66380*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66383*/                  OPC_RecordMemRef,
/* 66384*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 66385*/                  OPC_CheckFoldableChainNode,
/* 66386*/                  OPC_MoveChild1,
/* 66387*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66390*/                  OPC_CheckChild0Same, 1,
/* 66392*/                  OPC_CheckChild1Integer, 2, 
/* 66394*/                  OPC_CheckType, MVT::i64,
/* 66396*/                  OPC_MoveParent,
/* 66397*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66399*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 66401*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66403*/                  OPC_MoveParent,
/* 66404*/                  OPC_MoveParent,
/* 66405*/                  OPC_MoveParent,
/* 66406*/                  OPC_MoveParent,
/* 66407*/                  OPC_CheckType, MVT::i32,
/* 66409*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 66411*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 66421*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 66424*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 66431*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 66437*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66440*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 66448*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66451*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 66459*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66462*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 66471*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 66477*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66480*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 66488*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66491*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 66499*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66502*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 66511*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 66520*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 66523*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 66531*/                0, /*End of Scope*/
/* 66532*/              /*Scope*/ 5|128,3/*389*/, /*->66923*/
/* 66534*/                OPC_CheckChild0Same, 3,
/* 66536*/                OPC_CheckChild1Integer, 1, 
/* 66538*/                OPC_MoveParent,
/* 66539*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66541*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 66543*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66545*/                OPC_MoveParent,
/* 66546*/                OPC_MoveChild1,
/* 66547*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66550*/                OPC_RecordMemRef,
/* 66551*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 66552*/                OPC_CheckFoldableChainNode,
/* 66553*/                OPC_MoveChild1,
/* 66554*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66557*/                OPC_CheckChild0Same, 1,
/* 66559*/                OPC_CheckChild1Integer, 1, 
/* 66561*/                OPC_CheckType, MVT::i64,
/* 66563*/                OPC_MoveParent,
/* 66564*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66566*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 66568*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66570*/                OPC_MoveParent,
/* 66571*/                OPC_MoveParent,
/* 66572*/                OPC_MoveChild1,
/* 66573*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 66576*/                OPC_MoveChild0,
/* 66577*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66580*/                OPC_RecordMemRef,
/* 66581*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 66582*/                OPC_CheckFoldableChainNode,
/* 66583*/                OPC_MoveChild1,
/* 66584*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66587*/                OPC_CheckType, MVT::i64,
/* 66589*/                OPC_Scope, 36|128,1/*164*/, /*->66756*/ // 2 children in Scope
/* 66592*/                  OPC_CheckChild0Same, 1,
/* 66594*/                  OPC_CheckChild1Integer, 2, 
/* 66596*/                  OPC_MoveParent,
/* 66597*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66599*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 66601*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66603*/                  OPC_MoveParent,
/* 66604*/                  OPC_MoveChild1,
/* 66605*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66608*/                  OPC_RecordMemRef,
/* 66609*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 66610*/                  OPC_CheckFoldableChainNode,
/* 66611*/                  OPC_MoveChild1,
/* 66612*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66615*/                  OPC_CheckChild0Same, 3,
/* 66617*/                  OPC_CheckChild1Integer, 2, 
/* 66619*/                  OPC_CheckType, MVT::i64,
/* 66621*/                  OPC_MoveParent,
/* 66622*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66624*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 66626*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66628*/                  OPC_MoveParent,
/* 66629*/                  OPC_MoveParent,
/* 66630*/                  OPC_MoveParent,
/* 66631*/                  OPC_MoveParent,
/* 66632*/                  OPC_CheckType, MVT::i32,
/* 66634*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 66636*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 66646*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 66649*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 66656*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 66662*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66665*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 66673*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66676*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 66684*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66687*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 66696*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 66702*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66705*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 66713*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66716*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 66724*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66727*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 66736*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 66745*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 66748*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 66756*/                /*Scope*/ 36|128,1/*164*/, /*->66922*/
/* 66758*/                  OPC_CheckChild0Same, 3,
/* 66760*/                  OPC_CheckChild1Integer, 2, 
/* 66762*/                  OPC_MoveParent,
/* 66763*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66765*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 66767*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66769*/                  OPC_MoveParent,
/* 66770*/                  OPC_MoveChild1,
/* 66771*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66774*/                  OPC_RecordMemRef,
/* 66775*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 66776*/                  OPC_CheckFoldableChainNode,
/* 66777*/                  OPC_MoveChild1,
/* 66778*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66781*/                  OPC_CheckChild0Same, 1,
/* 66783*/                  OPC_CheckChild1Integer, 2, 
/* 66785*/                  OPC_CheckType, MVT::i64,
/* 66787*/                  OPC_MoveParent,
/* 66788*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66790*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 66792*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66794*/                  OPC_MoveParent,
/* 66795*/                  OPC_MoveParent,
/* 66796*/                  OPC_MoveParent,
/* 66797*/                  OPC_MoveParent,
/* 66798*/                  OPC_CheckType, MVT::i32,
/* 66800*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 66802*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 66812*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 66815*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 66822*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 66828*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66831*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 66839*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66842*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 66850*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66853*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 66862*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 66868*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 66871*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 66879*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 66882*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 66890*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 66893*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 66902*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 66911*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 66914*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 66922*/                0, /*End of Scope*/
/* 66923*/              0, /*End of Scope*/
/* 66924*/            /*Scope*/ 63|128,6/*831*/, /*->67757*/
/* 66926*/              OPC_CheckChild1Same, 3,
/* 66928*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66930*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 66932*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66934*/              OPC_MoveParent,
/* 66935*/              OPC_MoveChild1,
/* 66936*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66939*/              OPC_RecordMemRef,
/* 66940*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 66941*/              OPC_CheckFoldableChainNode,
/* 66942*/              OPC_CheckChild1Same, 1,
/* 66944*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66946*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 66948*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66950*/              OPC_MoveParent,
/* 66951*/              OPC_MoveParent,
/* 66952*/              OPC_MoveChild1,
/* 66953*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66956*/              OPC_MoveChild0,
/* 66957*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 66960*/              OPC_MoveChild0,
/* 66961*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66964*/              OPC_RecordMemRef,
/* 66965*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 66966*/              OPC_CheckFoldableChainNode,
/* 66967*/              OPC_MoveChild1,
/* 66968*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66971*/              OPC_CheckType, MVT::i64,
/* 66973*/              OPC_Scope, 5|128,3/*389*/, /*->67365*/ // 2 children in Scope
/* 66976*/                OPC_CheckChild0Same, 1,
/* 66978*/                OPC_CheckChild1Integer, 1, 
/* 66980*/                OPC_MoveParent,
/* 66981*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 66983*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 66985*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 66987*/                OPC_MoveParent,
/* 66988*/                OPC_MoveChild1,
/* 66989*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 66992*/                OPC_RecordMemRef,
/* 66993*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 66994*/                OPC_CheckFoldableChainNode,
/* 66995*/                OPC_MoveChild1,
/* 66996*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 66999*/                OPC_CheckChild0Same, 3,
/* 67001*/                OPC_CheckChild1Integer, 1, 
/* 67003*/                OPC_CheckType, MVT::i64,
/* 67005*/                OPC_MoveParent,
/* 67006*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67008*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 67010*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67012*/                OPC_MoveParent,
/* 67013*/                OPC_MoveParent,
/* 67014*/                OPC_MoveChild1,
/* 67015*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 67018*/                OPC_MoveChild0,
/* 67019*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67022*/                OPC_RecordMemRef,
/* 67023*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 67024*/                OPC_CheckFoldableChainNode,
/* 67025*/                OPC_MoveChild1,
/* 67026*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67029*/                OPC_CheckType, MVT::i64,
/* 67031*/                OPC_Scope, 36|128,1/*164*/, /*->67198*/ // 2 children in Scope
/* 67034*/                  OPC_CheckChild0Same, 1,
/* 67036*/                  OPC_CheckChild1Integer, 2, 
/* 67038*/                  OPC_MoveParent,
/* 67039*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67041*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67043*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67045*/                  OPC_MoveParent,
/* 67046*/                  OPC_MoveChild1,
/* 67047*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67050*/                  OPC_RecordMemRef,
/* 67051*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 67052*/                  OPC_CheckFoldableChainNode,
/* 67053*/                  OPC_MoveChild1,
/* 67054*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67057*/                  OPC_CheckChild0Same, 3,
/* 67059*/                  OPC_CheckChild1Integer, 2, 
/* 67061*/                  OPC_CheckType, MVT::i64,
/* 67063*/                  OPC_MoveParent,
/* 67064*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67066*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67068*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67070*/                  OPC_MoveParent,
/* 67071*/                  OPC_MoveParent,
/* 67072*/                  OPC_MoveParent,
/* 67073*/                  OPC_MoveParent,
/* 67074*/                  OPC_CheckType, MVT::i32,
/* 67076*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 67078*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 67088*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 67091*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 67098*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 67104*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 67107*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 67115*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67118*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 67126*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67129*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 67138*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 67144*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 67147*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 67155*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67158*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 67166*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67169*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 67178*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 67187*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 67190*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 67198*/                /*Scope*/ 36|128,1/*164*/, /*->67364*/
/* 67200*/                  OPC_CheckChild0Same, 3,
/* 67202*/                  OPC_CheckChild1Integer, 2, 
/* 67204*/                  OPC_MoveParent,
/* 67205*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67207*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67209*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67211*/                  OPC_MoveParent,
/* 67212*/                  OPC_MoveChild1,
/* 67213*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67216*/                  OPC_RecordMemRef,
/* 67217*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 67218*/                  OPC_CheckFoldableChainNode,
/* 67219*/                  OPC_MoveChild1,
/* 67220*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67223*/                  OPC_CheckChild0Same, 1,
/* 67225*/                  OPC_CheckChild1Integer, 2, 
/* 67227*/                  OPC_CheckType, MVT::i64,
/* 67229*/                  OPC_MoveParent,
/* 67230*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67232*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67234*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67236*/                  OPC_MoveParent,
/* 67237*/                  OPC_MoveParent,
/* 67238*/                  OPC_MoveParent,
/* 67239*/                  OPC_MoveParent,
/* 67240*/                  OPC_CheckType, MVT::i32,
/* 67242*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 67244*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 67254*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 67257*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 67264*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 67270*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 67273*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 67281*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67284*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 67292*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67295*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 67304*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 67310*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 67313*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 67321*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67324*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 67332*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67335*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 67344*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 67353*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 67356*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 67364*/                0, /*End of Scope*/
/* 67365*/              /*Scope*/ 5|128,3/*389*/, /*->67756*/
/* 67367*/                OPC_CheckChild0Same, 3,
/* 67369*/                OPC_CheckChild1Integer, 1, 
/* 67371*/                OPC_MoveParent,
/* 67372*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67374*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 67376*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67378*/                OPC_MoveParent,
/* 67379*/                OPC_MoveChild1,
/* 67380*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67383*/                OPC_RecordMemRef,
/* 67384*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 67385*/                OPC_CheckFoldableChainNode,
/* 67386*/                OPC_MoveChild1,
/* 67387*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67390*/                OPC_CheckChild0Same, 1,
/* 67392*/                OPC_CheckChild1Integer, 1, 
/* 67394*/                OPC_CheckType, MVT::i64,
/* 67396*/                OPC_MoveParent,
/* 67397*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67399*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 67401*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67403*/                OPC_MoveParent,
/* 67404*/                OPC_MoveParent,
/* 67405*/                OPC_MoveChild1,
/* 67406*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 67409*/                OPC_MoveChild0,
/* 67410*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67413*/                OPC_RecordMemRef,
/* 67414*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 67415*/                OPC_CheckFoldableChainNode,
/* 67416*/                OPC_MoveChild1,
/* 67417*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67420*/                OPC_CheckType, MVT::i64,
/* 67422*/                OPC_Scope, 36|128,1/*164*/, /*->67589*/ // 2 children in Scope
/* 67425*/                  OPC_CheckChild0Same, 1,
/* 67427*/                  OPC_CheckChild1Integer, 2, 
/* 67429*/                  OPC_MoveParent,
/* 67430*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67432*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67434*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67436*/                  OPC_MoveParent,
/* 67437*/                  OPC_MoveChild1,
/* 67438*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67441*/                  OPC_RecordMemRef,
/* 67442*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 67443*/                  OPC_CheckFoldableChainNode,
/* 67444*/                  OPC_MoveChild1,
/* 67445*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67448*/                  OPC_CheckChild0Same, 3,
/* 67450*/                  OPC_CheckChild1Integer, 2, 
/* 67452*/                  OPC_CheckType, MVT::i64,
/* 67454*/                  OPC_MoveParent,
/* 67455*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67457*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67459*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67461*/                  OPC_MoveParent,
/* 67462*/                  OPC_MoveParent,
/* 67463*/                  OPC_MoveParent,
/* 67464*/                  OPC_MoveParent,
/* 67465*/                  OPC_CheckType, MVT::i32,
/* 67467*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 67469*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 67479*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 67482*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 67489*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 67495*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 67498*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 67506*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67509*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 67517*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67520*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 67529*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 67535*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 67538*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 67546*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67549*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 67557*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67560*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 67569*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 67578*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 67581*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 67589*/                /*Scope*/ 36|128,1/*164*/, /*->67755*/
/* 67591*/                  OPC_CheckChild0Same, 3,
/* 67593*/                  OPC_CheckChild1Integer, 2, 
/* 67595*/                  OPC_MoveParent,
/* 67596*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67598*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67600*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67602*/                  OPC_MoveParent,
/* 67603*/                  OPC_MoveChild1,
/* 67604*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67607*/                  OPC_RecordMemRef,
/* 67608*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 67609*/                  OPC_CheckFoldableChainNode,
/* 67610*/                  OPC_MoveChild1,
/* 67611*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67614*/                  OPC_CheckChild0Same, 1,
/* 67616*/                  OPC_CheckChild1Integer, 2, 
/* 67618*/                  OPC_CheckType, MVT::i64,
/* 67620*/                  OPC_MoveParent,
/* 67621*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67623*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67625*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67627*/                  OPC_MoveParent,
/* 67628*/                  OPC_MoveParent,
/* 67629*/                  OPC_MoveParent,
/* 67630*/                  OPC_MoveParent,
/* 67631*/                  OPC_CheckType, MVT::i32,
/* 67633*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 67635*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 67645*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 67648*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 67655*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 67661*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 67664*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 67672*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67675*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 67683*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67686*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 67695*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 67701*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 67704*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 67712*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67715*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 67723*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67726*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 67735*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 67744*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 67747*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 67755*/                0, /*End of Scope*/
/* 67756*/              0, /*End of Scope*/
/* 67757*/            /*Scope*/ 106|128,48/*6250*/, /*->74009*/
/* 67759*/              OPC_MoveChild1,
/* 67760*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67763*/              OPC_CheckType, MVT::i64,
/* 67765*/              OPC_Scope, 15|128,6/*783*/, /*->68551*/ // 8 children in Scope
/* 67768*/                OPC_CheckChild0Same, 1,
/* 67770*/                OPC_CheckChild1Integer, 1, 
/* 67772*/                OPC_MoveParent,
/* 67773*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67775*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 67777*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67779*/                OPC_MoveParent,
/* 67780*/                OPC_MoveChild1,
/* 67781*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67784*/                OPC_RecordMemRef,
/* 67785*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 67786*/                OPC_CheckFoldableChainNode,
/* 67787*/                OPC_MoveChild1,
/* 67788*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67791*/                OPC_CheckChild0Same, 3,
/* 67793*/                OPC_CheckChild1Integer, 1, 
/* 67795*/                OPC_CheckType, MVT::i64,
/* 67797*/                OPC_MoveParent,
/* 67798*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67800*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 67802*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67804*/                OPC_MoveParent,
/* 67805*/                OPC_MoveParent,
/* 67806*/                OPC_MoveChild1,
/* 67807*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67810*/                OPC_MoveChild0,
/* 67811*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 67814*/                OPC_MoveChild0,
/* 67815*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67818*/                OPC_RecordMemRef,
/* 67819*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 67820*/                OPC_CheckFoldableChainNode,
/* 67821*/                OPC_MoveChild1,
/* 67822*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67825*/                OPC_CheckType, MVT::i64,
/* 67827*/                OPC_Scope, 103|128,2/*359*/, /*->68189*/ // 2 children in Scope
/* 67830*/                  OPC_CheckChild0Same, 1,
/* 67832*/                  OPC_CheckChild1Integer, 2, 
/* 67834*/                  OPC_MoveParent,
/* 67835*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67837*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67839*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67841*/                  OPC_MoveParent,
/* 67842*/                  OPC_MoveChild1,
/* 67843*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67846*/                  OPC_RecordMemRef,
/* 67847*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 67848*/                  OPC_CheckFoldableChainNode,
/* 67849*/                  OPC_MoveChild1,
/* 67850*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 67853*/                  OPC_CheckChild0Same, 3,
/* 67855*/                  OPC_CheckChild1Integer, 2, 
/* 67857*/                  OPC_CheckType, MVT::i64,
/* 67859*/                  OPC_MoveParent,
/* 67860*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67862*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 67864*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67866*/                  OPC_MoveParent,
/* 67867*/                  OPC_MoveParent,
/* 67868*/                  OPC_MoveChild1,
/* 67869*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 67872*/                  OPC_MoveChild0,
/* 67873*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67876*/                  OPC_RecordMemRef,
/* 67877*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 67878*/                  OPC_CheckFoldableChainNode,
/* 67879*/                  OPC_Scope, 24|128,1/*152*/, /*->68034*/ // 2 children in Scope
/* 67882*/                    OPC_CheckChild1Same, 1,
/* 67884*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67886*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 67888*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67890*/                    OPC_MoveParent,
/* 67891*/                    OPC_MoveChild1,
/* 67892*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 67895*/                    OPC_RecordMemRef,
/* 67896*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 67897*/                    OPC_CheckFoldableChainNode,
/* 67898*/                    OPC_CheckChild1Same, 3,
/* 67900*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 67902*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 67904*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 67906*/                    OPC_MoveParent,
/* 67907*/                    OPC_MoveParent,
/* 67908*/                    OPC_MoveParent,
/* 67909*/                    OPC_MoveParent,
/* 67910*/                    OPC_CheckType, MVT::i32,
/* 67912*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 67914*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 67924*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 67927*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 67934*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 67940*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 67943*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 67951*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67954*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 67962*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 67965*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 67974*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 67980*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 67983*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 67991*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 67994*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 68002*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68005*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 68014*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 68023*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 68026*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 68034*/                  /*Scope*/ 24|128,1/*152*/, /*->68188*/
/* 68036*/                    OPC_CheckChild1Same, 3,
/* 68038*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68040*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68042*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68044*/                    OPC_MoveParent,
/* 68045*/                    OPC_MoveChild1,
/* 68046*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68049*/                    OPC_RecordMemRef,
/* 68050*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 68051*/                    OPC_CheckFoldableChainNode,
/* 68052*/                    OPC_CheckChild1Same, 1,
/* 68054*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68056*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68058*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68060*/                    OPC_MoveParent,
/* 68061*/                    OPC_MoveParent,
/* 68062*/                    OPC_MoveParent,
/* 68063*/                    OPC_MoveParent,
/* 68064*/                    OPC_CheckType, MVT::i32,
/* 68066*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 68068*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 68078*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 68081*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 68088*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 68094*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68097*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 68105*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68108*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 68116*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68119*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 68128*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 68134*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68137*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 68145*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68148*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 68156*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68159*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 68168*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 68177*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 68180*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 68188*/                  0, /*End of Scope*/
/* 68189*/                /*Scope*/ 103|128,2/*359*/, /*->68550*/
/* 68191*/                  OPC_CheckChild0Same, 3,
/* 68193*/                  OPC_CheckChild1Integer, 2, 
/* 68195*/                  OPC_MoveParent,
/* 68196*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68198*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 68200*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68202*/                  OPC_MoveParent,
/* 68203*/                  OPC_MoveChild1,
/* 68204*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68207*/                  OPC_RecordMemRef,
/* 68208*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 68209*/                  OPC_CheckFoldableChainNode,
/* 68210*/                  OPC_MoveChild1,
/* 68211*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 68214*/                  OPC_CheckChild0Same, 1,
/* 68216*/                  OPC_CheckChild1Integer, 2, 
/* 68218*/                  OPC_CheckType, MVT::i64,
/* 68220*/                  OPC_MoveParent,
/* 68221*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68223*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 68225*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68227*/                  OPC_MoveParent,
/* 68228*/                  OPC_MoveParent,
/* 68229*/                  OPC_MoveChild1,
/* 68230*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 68233*/                  OPC_MoveChild0,
/* 68234*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68237*/                  OPC_RecordMemRef,
/* 68238*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 68239*/                  OPC_CheckFoldableChainNode,
/* 68240*/                  OPC_Scope, 24|128,1/*152*/, /*->68395*/ // 2 children in Scope
/* 68243*/                    OPC_CheckChild1Same, 1,
/* 68245*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68247*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68249*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68251*/                    OPC_MoveParent,
/* 68252*/                    OPC_MoveChild1,
/* 68253*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68256*/                    OPC_RecordMemRef,
/* 68257*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 68258*/                    OPC_CheckFoldableChainNode,
/* 68259*/                    OPC_CheckChild1Same, 3,
/* 68261*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68263*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68265*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68267*/                    OPC_MoveParent,
/* 68268*/                    OPC_MoveParent,
/* 68269*/                    OPC_MoveParent,
/* 68270*/                    OPC_MoveParent,
/* 68271*/                    OPC_CheckType, MVT::i32,
/* 68273*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 68275*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 68285*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 68288*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 68295*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 68301*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68304*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 68312*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68315*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 68323*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68326*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 68335*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 68341*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68344*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 68352*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68355*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 68363*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68366*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 68375*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 68384*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 68387*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 68395*/                  /*Scope*/ 24|128,1/*152*/, /*->68549*/
/* 68397*/                    OPC_CheckChild1Same, 3,
/* 68399*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68401*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68403*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68405*/                    OPC_MoveParent,
/* 68406*/                    OPC_MoveChild1,
/* 68407*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68410*/                    OPC_RecordMemRef,
/* 68411*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 68412*/                    OPC_CheckFoldableChainNode,
/* 68413*/                    OPC_CheckChild1Same, 1,
/* 68415*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68417*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68419*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68421*/                    OPC_MoveParent,
/* 68422*/                    OPC_MoveParent,
/* 68423*/                    OPC_MoveParent,
/* 68424*/                    OPC_MoveParent,
/* 68425*/                    OPC_CheckType, MVT::i32,
/* 68427*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 68429*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 68439*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 68442*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 68449*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 68455*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68458*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 68466*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68469*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 68477*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68480*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 68489*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 68495*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68498*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 68506*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68509*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 68517*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68520*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 68529*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 68538*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 68541*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 68549*/                  0, /*End of Scope*/
/* 68550*/                0, /*End of Scope*/
/* 68551*/              /*Scope*/ 15|128,6/*783*/, /*->69336*/
/* 68553*/                OPC_CheckChild0Same, 3,
/* 68555*/                OPC_CheckChild1Integer, 1, 
/* 68557*/                OPC_MoveParent,
/* 68558*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68560*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 68562*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68564*/                OPC_MoveParent,
/* 68565*/                OPC_MoveChild1,
/* 68566*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68569*/                OPC_RecordMemRef,
/* 68570*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 68571*/                OPC_CheckFoldableChainNode,
/* 68572*/                OPC_MoveChild1,
/* 68573*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 68576*/                OPC_CheckChild0Same, 1,
/* 68578*/                OPC_CheckChild1Integer, 1, 
/* 68580*/                OPC_CheckType, MVT::i64,
/* 68582*/                OPC_MoveParent,
/* 68583*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68585*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 68587*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68589*/                OPC_MoveParent,
/* 68590*/                OPC_MoveParent,
/* 68591*/                OPC_MoveChild1,
/* 68592*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 68595*/                OPC_MoveChild0,
/* 68596*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 68599*/                OPC_MoveChild0,
/* 68600*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68603*/                OPC_RecordMemRef,
/* 68604*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 68605*/                OPC_CheckFoldableChainNode,
/* 68606*/                OPC_MoveChild1,
/* 68607*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 68610*/                OPC_CheckType, MVT::i64,
/* 68612*/                OPC_Scope, 103|128,2/*359*/, /*->68974*/ // 2 children in Scope
/* 68615*/                  OPC_CheckChild0Same, 1,
/* 68617*/                  OPC_CheckChild1Integer, 2, 
/* 68619*/                  OPC_MoveParent,
/* 68620*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68622*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 68624*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68626*/                  OPC_MoveParent,
/* 68627*/                  OPC_MoveChild1,
/* 68628*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68631*/                  OPC_RecordMemRef,
/* 68632*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 68633*/                  OPC_CheckFoldableChainNode,
/* 68634*/                  OPC_MoveChild1,
/* 68635*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 68638*/                  OPC_CheckChild0Same, 3,
/* 68640*/                  OPC_CheckChild1Integer, 2, 
/* 68642*/                  OPC_CheckType, MVT::i64,
/* 68644*/                  OPC_MoveParent,
/* 68645*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68647*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 68649*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68651*/                  OPC_MoveParent,
/* 68652*/                  OPC_MoveParent,
/* 68653*/                  OPC_MoveChild1,
/* 68654*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 68657*/                  OPC_MoveChild0,
/* 68658*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68661*/                  OPC_RecordMemRef,
/* 68662*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 68663*/                  OPC_CheckFoldableChainNode,
/* 68664*/                  OPC_Scope, 24|128,1/*152*/, /*->68819*/ // 2 children in Scope
/* 68667*/                    OPC_CheckChild1Same, 1,
/* 68669*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68671*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68673*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68675*/                    OPC_MoveParent,
/* 68676*/                    OPC_MoveChild1,
/* 68677*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68680*/                    OPC_RecordMemRef,
/* 68681*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 68682*/                    OPC_CheckFoldableChainNode,
/* 68683*/                    OPC_CheckChild1Same, 3,
/* 68685*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68687*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68689*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68691*/                    OPC_MoveParent,
/* 68692*/                    OPC_MoveParent,
/* 68693*/                    OPC_MoveParent,
/* 68694*/                    OPC_MoveParent,
/* 68695*/                    OPC_CheckType, MVT::i32,
/* 68697*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 68699*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 68709*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 68712*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 68719*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 68725*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68728*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 68736*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68739*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 68747*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68750*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 68759*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 68765*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68768*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 68776*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68779*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 68787*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68790*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 68799*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 68808*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 68811*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 68819*/                  /*Scope*/ 24|128,1/*152*/, /*->68973*/
/* 68821*/                    OPC_CheckChild1Same, 3,
/* 68823*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68825*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68827*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68829*/                    OPC_MoveParent,
/* 68830*/                    OPC_MoveChild1,
/* 68831*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68834*/                    OPC_RecordMemRef,
/* 68835*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 68836*/                    OPC_CheckFoldableChainNode,
/* 68837*/                    OPC_CheckChild1Same, 1,
/* 68839*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68841*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 68843*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68845*/                    OPC_MoveParent,
/* 68846*/                    OPC_MoveParent,
/* 68847*/                    OPC_MoveParent,
/* 68848*/                    OPC_MoveParent,
/* 68849*/                    OPC_CheckType, MVT::i32,
/* 68851*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 68853*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 68863*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 68866*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 68873*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 68879*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68882*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 68890*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68893*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 68901*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68904*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 68913*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 68919*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 68922*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 68930*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 68933*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 68941*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 68944*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 68953*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 68962*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 68965*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 68973*/                  0, /*End of Scope*/
/* 68974*/                /*Scope*/ 103|128,2/*359*/, /*->69335*/
/* 68976*/                  OPC_CheckChild0Same, 3,
/* 68978*/                  OPC_CheckChild1Integer, 2, 
/* 68980*/                  OPC_MoveParent,
/* 68981*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 68983*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 68985*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 68987*/                  OPC_MoveParent,
/* 68988*/                  OPC_MoveChild1,
/* 68989*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 68992*/                  OPC_RecordMemRef,
/* 68993*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 68994*/                  OPC_CheckFoldableChainNode,
/* 68995*/                  OPC_MoveChild1,
/* 68996*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 68999*/                  OPC_CheckChild0Same, 1,
/* 69001*/                  OPC_CheckChild1Integer, 2, 
/* 69003*/                  OPC_CheckType, MVT::i64,
/* 69005*/                  OPC_MoveParent,
/* 69006*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69008*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 69010*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69012*/                  OPC_MoveParent,
/* 69013*/                  OPC_MoveParent,
/* 69014*/                  OPC_MoveChild1,
/* 69015*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 69018*/                  OPC_MoveChild0,
/* 69019*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69022*/                  OPC_RecordMemRef,
/* 69023*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 69024*/                  OPC_CheckFoldableChainNode,
/* 69025*/                  OPC_Scope, 24|128,1/*152*/, /*->69180*/ // 2 children in Scope
/* 69028*/                    OPC_CheckChild1Same, 1,
/* 69030*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69032*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69034*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69036*/                    OPC_MoveParent,
/* 69037*/                    OPC_MoveChild1,
/* 69038*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69041*/                    OPC_RecordMemRef,
/* 69042*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 69043*/                    OPC_CheckFoldableChainNode,
/* 69044*/                    OPC_CheckChild1Same, 3,
/* 69046*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69048*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69050*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69052*/                    OPC_MoveParent,
/* 69053*/                    OPC_MoveParent,
/* 69054*/                    OPC_MoveParent,
/* 69055*/                    OPC_MoveParent,
/* 69056*/                    OPC_CheckType, MVT::i32,
/* 69058*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 69060*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 69070*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 69073*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 69080*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 69086*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69089*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 69097*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69100*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 69108*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69111*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 69120*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 69126*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69129*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 69137*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69140*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 69148*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69151*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 69160*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 69169*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 69172*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 69180*/                  /*Scope*/ 24|128,1/*152*/, /*->69334*/
/* 69182*/                    OPC_CheckChild1Same, 3,
/* 69184*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69186*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69188*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69190*/                    OPC_MoveParent,
/* 69191*/                    OPC_MoveChild1,
/* 69192*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69195*/                    OPC_RecordMemRef,
/* 69196*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 69197*/                    OPC_CheckFoldableChainNode,
/* 69198*/                    OPC_CheckChild1Same, 1,
/* 69200*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69202*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69204*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69206*/                    OPC_MoveParent,
/* 69207*/                    OPC_MoveParent,
/* 69208*/                    OPC_MoveParent,
/* 69209*/                    OPC_MoveParent,
/* 69210*/                    OPC_CheckType, MVT::i32,
/* 69212*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 69214*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 69224*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 69227*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 69234*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 69240*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69243*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 69251*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69254*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 69262*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69265*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 69274*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 69280*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69283*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 69291*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69294*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 69302*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69305*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 69314*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 69323*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 69326*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 69334*/                  0, /*End of Scope*/
/* 69335*/                0, /*End of Scope*/
/* 69336*/              /*Scope*/ 45|128,6/*813*/, /*->70151*/
/* 69338*/                OPC_CheckChild0Same, 1,
/* 69340*/                OPC_CheckChild1Integer, 1, 
/* 69342*/                OPC_MoveParent,
/* 69343*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69345*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 69347*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69349*/                OPC_MoveParent,
/* 69350*/                OPC_MoveChild1,
/* 69351*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69354*/                OPC_RecordMemRef,
/* 69355*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 69356*/                OPC_CheckFoldableChainNode,
/* 69357*/                OPC_MoveChild1,
/* 69358*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 69361*/                OPC_CheckChild0Same, 3,
/* 69363*/                OPC_CheckChild1Integer, 1, 
/* 69365*/                OPC_CheckType, MVT::i64,
/* 69367*/                OPC_MoveParent,
/* 69368*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69370*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 69372*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69374*/                OPC_MoveParent,
/* 69375*/                OPC_MoveParent,
/* 69376*/                OPC_MoveChild1,
/* 69377*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 69380*/                OPC_MoveChild0,
/* 69381*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 69384*/                OPC_MoveChild0,
/* 69385*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69388*/                OPC_RecordMemRef,
/* 69389*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 69390*/                OPC_CheckFoldableChainNode,
/* 69391*/                OPC_Scope, 121|128,2/*377*/, /*->69771*/ // 2 children in Scope
/* 69394*/                  OPC_CheckChild1Same, 1,
/* 69396*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69398*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 69400*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69402*/                  OPC_MoveParent,
/* 69403*/                  OPC_MoveChild1,
/* 69404*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69407*/                  OPC_RecordMemRef,
/* 69408*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 69409*/                  OPC_CheckFoldableChainNode,
/* 69410*/                  OPC_CheckChild1Same, 3,
/* 69412*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69414*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 69416*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69418*/                  OPC_MoveParent,
/* 69419*/                  OPC_MoveParent,
/* 69420*/                  OPC_MoveChild1,
/* 69421*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 69424*/                  OPC_MoveChild0,
/* 69425*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69428*/                  OPC_RecordMemRef,
/* 69429*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 69430*/                  OPC_CheckFoldableChainNode,
/* 69431*/                  OPC_MoveChild1,
/* 69432*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 69435*/                  OPC_CheckType, MVT::i64,
/* 69437*/                  OPC_Scope, 36|128,1/*164*/, /*->69604*/ // 2 children in Scope
/* 69440*/                    OPC_CheckChild0Same, 1,
/* 69442*/                    OPC_CheckChild1Integer, 2, 
/* 69444*/                    OPC_MoveParent,
/* 69445*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69447*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69449*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69451*/                    OPC_MoveParent,
/* 69452*/                    OPC_MoveChild1,
/* 69453*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69456*/                    OPC_RecordMemRef,
/* 69457*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 69458*/                    OPC_CheckFoldableChainNode,
/* 69459*/                    OPC_MoveChild1,
/* 69460*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 69463*/                    OPC_CheckChild0Same, 3,
/* 69465*/                    OPC_CheckChild1Integer, 2, 
/* 69467*/                    OPC_CheckType, MVT::i64,
/* 69469*/                    OPC_MoveParent,
/* 69470*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69472*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69474*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69476*/                    OPC_MoveParent,
/* 69477*/                    OPC_MoveParent,
/* 69478*/                    OPC_MoveParent,
/* 69479*/                    OPC_MoveParent,
/* 69480*/                    OPC_CheckType, MVT::i32,
/* 69482*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 69484*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 69494*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 69497*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 69504*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 69510*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69513*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 69521*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69524*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 69532*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69535*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 69544*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 69550*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69553*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 69561*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69564*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 69572*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69575*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 69584*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 69593*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 69596*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 69604*/                  /*Scope*/ 36|128,1/*164*/, /*->69770*/
/* 69606*/                    OPC_CheckChild0Same, 3,
/* 69608*/                    OPC_CheckChild1Integer, 2, 
/* 69610*/                    OPC_MoveParent,
/* 69611*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69613*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69615*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69617*/                    OPC_MoveParent,
/* 69618*/                    OPC_MoveChild1,
/* 69619*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69622*/                    OPC_RecordMemRef,
/* 69623*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 69624*/                    OPC_CheckFoldableChainNode,
/* 69625*/                    OPC_MoveChild1,
/* 69626*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 69629*/                    OPC_CheckChild0Same, 1,
/* 69631*/                    OPC_CheckChild1Integer, 2, 
/* 69633*/                    OPC_CheckType, MVT::i64,
/* 69635*/                    OPC_MoveParent,
/* 69636*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69638*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69640*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69642*/                    OPC_MoveParent,
/* 69643*/                    OPC_MoveParent,
/* 69644*/                    OPC_MoveParent,
/* 69645*/                    OPC_MoveParent,
/* 69646*/                    OPC_CheckType, MVT::i32,
/* 69648*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 69650*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 69660*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 69663*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 69670*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 69676*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69679*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 69687*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69690*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 69698*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69701*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 69710*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 69716*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69719*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 69727*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69730*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 69738*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69741*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 69750*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 69759*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 69762*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 69770*/                  0, /*End of Scope*/
/* 69771*/                /*Scope*/ 121|128,2/*377*/, /*->70150*/
/* 69773*/                  OPC_CheckChild1Same, 3,
/* 69775*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69777*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 69779*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69781*/                  OPC_MoveParent,
/* 69782*/                  OPC_MoveChild1,
/* 69783*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69786*/                  OPC_RecordMemRef,
/* 69787*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 69788*/                  OPC_CheckFoldableChainNode,
/* 69789*/                  OPC_CheckChild1Same, 1,
/* 69791*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69793*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 69795*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69797*/                  OPC_MoveParent,
/* 69798*/                  OPC_MoveParent,
/* 69799*/                  OPC_MoveChild1,
/* 69800*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 69803*/                  OPC_MoveChild0,
/* 69804*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69807*/                  OPC_RecordMemRef,
/* 69808*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 69809*/                  OPC_CheckFoldableChainNode,
/* 69810*/                  OPC_MoveChild1,
/* 69811*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 69814*/                  OPC_CheckType, MVT::i64,
/* 69816*/                  OPC_Scope, 36|128,1/*164*/, /*->69983*/ // 2 children in Scope
/* 69819*/                    OPC_CheckChild0Same, 1,
/* 69821*/                    OPC_CheckChild1Integer, 2, 
/* 69823*/                    OPC_MoveParent,
/* 69824*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69826*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69828*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69830*/                    OPC_MoveParent,
/* 69831*/                    OPC_MoveChild1,
/* 69832*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 69835*/                    OPC_RecordMemRef,
/* 69836*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 69837*/                    OPC_CheckFoldableChainNode,
/* 69838*/                    OPC_MoveChild1,
/* 69839*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 69842*/                    OPC_CheckChild0Same, 3,
/* 69844*/                    OPC_CheckChild1Integer, 2, 
/* 69846*/                    OPC_CheckType, MVT::i64,
/* 69848*/                    OPC_MoveParent,
/* 69849*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69851*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69853*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69855*/                    OPC_MoveParent,
/* 69856*/                    OPC_MoveParent,
/* 69857*/                    OPC_MoveParent,
/* 69858*/                    OPC_MoveParent,
/* 69859*/                    OPC_CheckType, MVT::i32,
/* 69861*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 69863*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 69873*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 69876*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 69883*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 69889*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69892*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 69900*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69903*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 69911*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69914*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 69923*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 69929*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 69932*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 69940*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 69943*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 69951*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 69954*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 69963*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 69972*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 69975*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 69983*/                  /*Scope*/ 36|128,1/*164*/, /*->70149*/
/* 69985*/                    OPC_CheckChild0Same, 3,
/* 69987*/                    OPC_CheckChild1Integer, 2, 
/* 69989*/                    OPC_MoveParent,
/* 69990*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 69992*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 69994*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 69996*/                    OPC_MoveParent,
/* 69997*/                    OPC_MoveChild1,
/* 69998*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70001*/                    OPC_RecordMemRef,
/* 70002*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 70003*/                    OPC_CheckFoldableChainNode,
/* 70004*/                    OPC_MoveChild1,
/* 70005*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70008*/                    OPC_CheckChild0Same, 1,
/* 70010*/                    OPC_CheckChild1Integer, 2, 
/* 70012*/                    OPC_CheckType, MVT::i64,
/* 70014*/                    OPC_MoveParent,
/* 70015*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70017*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70019*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70021*/                    OPC_MoveParent,
/* 70022*/                    OPC_MoveParent,
/* 70023*/                    OPC_MoveParent,
/* 70024*/                    OPC_MoveParent,
/* 70025*/                    OPC_CheckType, MVT::i32,
/* 70027*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 70029*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 70039*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 70042*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 70049*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 70055*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70058*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 70066*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70069*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 70077*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70080*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 70089*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 70095*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70098*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 70106*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70109*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 70117*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70120*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 70129*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 70138*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 70141*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 70149*/                  0, /*End of Scope*/
/* 70150*/                0, /*End of Scope*/
/* 70151*/              /*Scope*/ 45|128,6/*813*/, /*->70966*/
/* 70153*/                OPC_CheckChild0Same, 3,
/* 70155*/                OPC_CheckChild1Integer, 1, 
/* 70157*/                OPC_MoveParent,
/* 70158*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70160*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 70162*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70164*/                OPC_MoveParent,
/* 70165*/                OPC_MoveChild1,
/* 70166*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70169*/                OPC_RecordMemRef,
/* 70170*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 70171*/                OPC_CheckFoldableChainNode,
/* 70172*/                OPC_MoveChild1,
/* 70173*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70176*/                OPC_CheckChild0Same, 1,
/* 70178*/                OPC_CheckChild1Integer, 1, 
/* 70180*/                OPC_CheckType, MVT::i64,
/* 70182*/                OPC_MoveParent,
/* 70183*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70185*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 70187*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70189*/                OPC_MoveParent,
/* 70190*/                OPC_MoveParent,
/* 70191*/                OPC_MoveChild1,
/* 70192*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70195*/                OPC_MoveChild0,
/* 70196*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 70199*/                OPC_MoveChild0,
/* 70200*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70203*/                OPC_RecordMemRef,
/* 70204*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 70205*/                OPC_CheckFoldableChainNode,
/* 70206*/                OPC_Scope, 121|128,2/*377*/, /*->70586*/ // 2 children in Scope
/* 70209*/                  OPC_CheckChild1Same, 1,
/* 70211*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70213*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 70215*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70217*/                  OPC_MoveParent,
/* 70218*/                  OPC_MoveChild1,
/* 70219*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70222*/                  OPC_RecordMemRef,
/* 70223*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 70224*/                  OPC_CheckFoldableChainNode,
/* 70225*/                  OPC_CheckChild1Same, 3,
/* 70227*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70229*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 70231*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70233*/                  OPC_MoveParent,
/* 70234*/                  OPC_MoveParent,
/* 70235*/                  OPC_MoveChild1,
/* 70236*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 70239*/                  OPC_MoveChild0,
/* 70240*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70243*/                  OPC_RecordMemRef,
/* 70244*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 70245*/                  OPC_CheckFoldableChainNode,
/* 70246*/                  OPC_MoveChild1,
/* 70247*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70250*/                  OPC_CheckType, MVT::i64,
/* 70252*/                  OPC_Scope, 36|128,1/*164*/, /*->70419*/ // 2 children in Scope
/* 70255*/                    OPC_CheckChild0Same, 1,
/* 70257*/                    OPC_CheckChild1Integer, 2, 
/* 70259*/                    OPC_MoveParent,
/* 70260*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70262*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70264*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70266*/                    OPC_MoveParent,
/* 70267*/                    OPC_MoveChild1,
/* 70268*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70271*/                    OPC_RecordMemRef,
/* 70272*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 70273*/                    OPC_CheckFoldableChainNode,
/* 70274*/                    OPC_MoveChild1,
/* 70275*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70278*/                    OPC_CheckChild0Same, 3,
/* 70280*/                    OPC_CheckChild1Integer, 2, 
/* 70282*/                    OPC_CheckType, MVT::i64,
/* 70284*/                    OPC_MoveParent,
/* 70285*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70287*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70289*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70291*/                    OPC_MoveParent,
/* 70292*/                    OPC_MoveParent,
/* 70293*/                    OPC_MoveParent,
/* 70294*/                    OPC_MoveParent,
/* 70295*/                    OPC_CheckType, MVT::i32,
/* 70297*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 70299*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 70309*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 70312*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 70319*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 70325*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70328*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 70336*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70339*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 70347*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70350*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 70359*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 70365*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70368*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 70376*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70379*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 70387*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70390*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 70399*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 70408*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 70411*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 70419*/                  /*Scope*/ 36|128,1/*164*/, /*->70585*/
/* 70421*/                    OPC_CheckChild0Same, 3,
/* 70423*/                    OPC_CheckChild1Integer, 2, 
/* 70425*/                    OPC_MoveParent,
/* 70426*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70428*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70430*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70432*/                    OPC_MoveParent,
/* 70433*/                    OPC_MoveChild1,
/* 70434*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70437*/                    OPC_RecordMemRef,
/* 70438*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 70439*/                    OPC_CheckFoldableChainNode,
/* 70440*/                    OPC_MoveChild1,
/* 70441*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70444*/                    OPC_CheckChild0Same, 1,
/* 70446*/                    OPC_CheckChild1Integer, 2, 
/* 70448*/                    OPC_CheckType, MVT::i64,
/* 70450*/                    OPC_MoveParent,
/* 70451*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70453*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70455*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70457*/                    OPC_MoveParent,
/* 70458*/                    OPC_MoveParent,
/* 70459*/                    OPC_MoveParent,
/* 70460*/                    OPC_MoveParent,
/* 70461*/                    OPC_CheckType, MVT::i32,
/* 70463*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 70465*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 70475*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 70478*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 70485*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 70491*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70494*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 70502*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70505*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 70513*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70516*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 70525*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 70531*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70534*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 70542*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70545*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 70553*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70556*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 70565*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 70574*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 70577*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 70585*/                  0, /*End of Scope*/
/* 70586*/                /*Scope*/ 121|128,2/*377*/, /*->70965*/
/* 70588*/                  OPC_CheckChild1Same, 3,
/* 70590*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70592*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 70594*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70596*/                  OPC_MoveParent,
/* 70597*/                  OPC_MoveChild1,
/* 70598*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70601*/                  OPC_RecordMemRef,
/* 70602*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 70603*/                  OPC_CheckFoldableChainNode,
/* 70604*/                  OPC_CheckChild1Same, 1,
/* 70606*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70608*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 70610*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70612*/                  OPC_MoveParent,
/* 70613*/                  OPC_MoveParent,
/* 70614*/                  OPC_MoveChild1,
/* 70615*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 70618*/                  OPC_MoveChild0,
/* 70619*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70622*/                  OPC_RecordMemRef,
/* 70623*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 70624*/                  OPC_CheckFoldableChainNode,
/* 70625*/                  OPC_MoveChild1,
/* 70626*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70629*/                  OPC_CheckType, MVT::i64,
/* 70631*/                  OPC_Scope, 36|128,1/*164*/, /*->70798*/ // 2 children in Scope
/* 70634*/                    OPC_CheckChild0Same, 1,
/* 70636*/                    OPC_CheckChild1Integer, 2, 
/* 70638*/                    OPC_MoveParent,
/* 70639*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70641*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70643*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70645*/                    OPC_MoveParent,
/* 70646*/                    OPC_MoveChild1,
/* 70647*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70650*/                    OPC_RecordMemRef,
/* 70651*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 70652*/                    OPC_CheckFoldableChainNode,
/* 70653*/                    OPC_MoveChild1,
/* 70654*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70657*/                    OPC_CheckChild0Same, 3,
/* 70659*/                    OPC_CheckChild1Integer, 2, 
/* 70661*/                    OPC_CheckType, MVT::i64,
/* 70663*/                    OPC_MoveParent,
/* 70664*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70666*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70668*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70670*/                    OPC_MoveParent,
/* 70671*/                    OPC_MoveParent,
/* 70672*/                    OPC_MoveParent,
/* 70673*/                    OPC_MoveParent,
/* 70674*/                    OPC_CheckType, MVT::i32,
/* 70676*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 70678*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 70688*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 70691*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 70698*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 70704*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70707*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 70715*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70718*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 70726*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70729*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 70738*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 70744*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70747*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 70755*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70758*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 70766*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70769*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 70778*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 70787*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 70790*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 70798*/                  /*Scope*/ 36|128,1/*164*/, /*->70964*/
/* 70800*/                    OPC_CheckChild0Same, 3,
/* 70802*/                    OPC_CheckChild1Integer, 2, 
/* 70804*/                    OPC_MoveParent,
/* 70805*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70807*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70809*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70811*/                    OPC_MoveParent,
/* 70812*/                    OPC_MoveChild1,
/* 70813*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70816*/                    OPC_RecordMemRef,
/* 70817*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 70818*/                    OPC_CheckFoldableChainNode,
/* 70819*/                    OPC_MoveChild1,
/* 70820*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70823*/                    OPC_CheckChild0Same, 1,
/* 70825*/                    OPC_CheckChild1Integer, 2, 
/* 70827*/                    OPC_CheckType, MVT::i64,
/* 70829*/                    OPC_MoveParent,
/* 70830*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70832*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 70834*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70836*/                    OPC_MoveParent,
/* 70837*/                    OPC_MoveParent,
/* 70838*/                    OPC_MoveParent,
/* 70839*/                    OPC_MoveParent,
/* 70840*/                    OPC_CheckType, MVT::i32,
/* 70842*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 70844*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 70854*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 70857*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 70864*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 70870*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70873*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 70881*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70884*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 70892*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70895*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 70904*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 70910*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 70913*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 70921*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 70924*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 70932*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 70935*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 70944*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 70953*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 70956*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 70964*/                  0, /*End of Scope*/
/* 70965*/                0, /*End of Scope*/
/* 70966*/              /*Scope*/ 113|128,4/*625*/, /*->71593*/
/* 70968*/                OPC_CheckChild0Same, 1,
/* 70970*/                OPC_CheckChild1Integer, 2, 
/* 70972*/                OPC_MoveParent,
/* 70973*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 70975*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 70977*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 70979*/                OPC_MoveParent,
/* 70980*/                OPC_MoveChild1,
/* 70981*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 70984*/                OPC_RecordMemRef,
/* 70985*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 70986*/                OPC_CheckFoldableChainNode,
/* 70987*/                OPC_MoveChild1,
/* 70988*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 70991*/                OPC_CheckChild0Same, 3,
/* 70993*/                OPC_CheckChild1Integer, 2, 
/* 70995*/                OPC_CheckType, MVT::i64,
/* 70997*/                OPC_MoveParent,
/* 70998*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71000*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 71002*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71004*/                OPC_MoveParent,
/* 71005*/                OPC_MoveParent,
/* 71006*/                OPC_MoveChild1,
/* 71007*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 71010*/                OPC_MoveChild0,
/* 71011*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 71014*/                OPC_MoveChild0,
/* 71015*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71018*/                OPC_RecordMemRef,
/* 71019*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 71020*/                OPC_CheckFoldableChainNode,
/* 71021*/                OPC_MoveChild1,
/* 71022*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 71025*/                OPC_CheckType, MVT::i64,
/* 71027*/                OPC_Scope, 73|128,1/*201*/, /*->71231*/ // 2 children in Scope
/* 71030*/                  OPC_CheckChild0Same, 1,
/* 71032*/                  OPC_CheckChild1Integer, 1, 
/* 71034*/                  OPC_MoveParent,
/* 71035*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71037*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 71039*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71041*/                  OPC_MoveParent,
/* 71042*/                  OPC_MoveChild1,
/* 71043*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71046*/                  OPC_RecordMemRef,
/* 71047*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 71048*/                  OPC_CheckFoldableChainNode,
/* 71049*/                  OPC_MoveChild1,
/* 71050*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 71053*/                  OPC_CheckChild0Same, 3,
/* 71055*/                  OPC_CheckChild1Integer, 1, 
/* 71057*/                  OPC_CheckType, MVT::i64,
/* 71059*/                  OPC_MoveParent,
/* 71060*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71062*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 71064*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71066*/                  OPC_MoveParent,
/* 71067*/                  OPC_MoveParent,
/* 71068*/                  OPC_MoveChild1,
/* 71069*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 71072*/                  OPC_MoveChild0,
/* 71073*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71076*/                  OPC_RecordMemRef,
/* 71077*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 71078*/                  OPC_CheckFoldableChainNode,
/* 71079*/                  OPC_CheckChild1Same, 3,
/* 71081*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71083*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 71085*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71087*/                  OPC_MoveParent,
/* 71088*/                  OPC_MoveChild1,
/* 71089*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71092*/                  OPC_RecordMemRef,
/* 71093*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 71094*/                  OPC_CheckFoldableChainNode,
/* 71095*/                  OPC_CheckChild1Same, 1,
/* 71097*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71099*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 71101*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71103*/                  OPC_MoveParent,
/* 71104*/                  OPC_MoveParent,
/* 71105*/                  OPC_MoveParent,
/* 71106*/                  OPC_MoveParent,
/* 71107*/                  OPC_CheckType, MVT::i32,
/* 71109*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 71111*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 71121*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 71124*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 71131*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 71137*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 71140*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 71148*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71151*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 71159*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71162*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 71171*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 71177*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 71180*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 71188*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71191*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 71199*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71202*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 71211*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 71220*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 71223*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 71231*/                /*Scope*/ 103|128,2/*359*/, /*->71592*/
/* 71233*/                  OPC_CheckChild0Same, 3,
/* 71235*/                  OPC_CheckChild1Integer, 1, 
/* 71237*/                  OPC_MoveParent,
/* 71238*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71240*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 71242*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71244*/                  OPC_MoveParent,
/* 71245*/                  OPC_MoveChild1,
/* 71246*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71249*/                  OPC_RecordMemRef,
/* 71250*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 71251*/                  OPC_CheckFoldableChainNode,
/* 71252*/                  OPC_MoveChild1,
/* 71253*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 71256*/                  OPC_CheckChild0Same, 1,
/* 71258*/                  OPC_CheckChild1Integer, 1, 
/* 71260*/                  OPC_CheckType, MVT::i64,
/* 71262*/                  OPC_MoveParent,
/* 71263*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71265*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 71267*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71269*/                  OPC_MoveParent,
/* 71270*/                  OPC_MoveParent,
/* 71271*/                  OPC_MoveChild1,
/* 71272*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 71275*/                  OPC_MoveChild0,
/* 71276*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71279*/                  OPC_RecordMemRef,
/* 71280*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 71281*/                  OPC_CheckFoldableChainNode,
/* 71282*/                  OPC_Scope, 24|128,1/*152*/, /*->71437*/ // 2 children in Scope
/* 71285*/                    OPC_CheckChild1Same, 1,
/* 71287*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71289*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 71291*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71293*/                    OPC_MoveParent,
/* 71294*/                    OPC_MoveChild1,
/* 71295*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71298*/                    OPC_RecordMemRef,
/* 71299*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 71300*/                    OPC_CheckFoldableChainNode,
/* 71301*/                    OPC_CheckChild1Same, 3,
/* 71303*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71305*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 71307*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71309*/                    OPC_MoveParent,
/* 71310*/                    OPC_MoveParent,
/* 71311*/                    OPC_MoveParent,
/* 71312*/                    OPC_MoveParent,
/* 71313*/                    OPC_CheckType, MVT::i32,
/* 71315*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 71317*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 71327*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 71330*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 71337*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 71343*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 71346*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 71354*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71357*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 71365*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71368*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 71377*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 71383*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 71386*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 71394*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71397*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 71405*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71408*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 71417*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 71426*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 71429*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 71437*/                  /*Scope*/ 24|128,1/*152*/, /*->71591*/
/* 71439*/                    OPC_CheckChild1Same, 3,
/* 71441*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71443*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 71445*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71447*/                    OPC_MoveParent,
/* 71448*/                    OPC_MoveChild1,
/* 71449*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71452*/                    OPC_RecordMemRef,
/* 71453*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 71454*/                    OPC_CheckFoldableChainNode,
/* 71455*/                    OPC_CheckChild1Same, 1,
/* 71457*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71459*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 71461*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71463*/                    OPC_MoveParent,
/* 71464*/                    OPC_MoveParent,
/* 71465*/                    OPC_MoveParent,
/* 71466*/                    OPC_MoveParent,
/* 71467*/                    OPC_CheckType, MVT::i32,
/* 71469*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 71471*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 71481*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 71484*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 71491*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 71497*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 71500*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 71508*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71511*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 71519*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71522*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 71531*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 71537*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 71540*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 71548*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71551*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 71559*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71562*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 71571*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 71580*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 71583*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 71591*/                  0, /*End of Scope*/
/* 71592*/                0, /*End of Scope*/
/* 71593*/              /*Scope*/ 15|128,6/*783*/, /*->72378*/
/* 71595*/                OPC_CheckChild0Same, 3,
/* 71597*/                OPC_CheckChild1Integer, 2, 
/* 71599*/                OPC_MoveParent,
/* 71600*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71602*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 71604*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71606*/                OPC_MoveParent,
/* 71607*/                OPC_MoveChild1,
/* 71608*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71611*/                OPC_RecordMemRef,
/* 71612*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 71613*/                OPC_CheckFoldableChainNode,
/* 71614*/                OPC_MoveChild1,
/* 71615*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 71618*/                OPC_CheckChild0Same, 1,
/* 71620*/                OPC_CheckChild1Integer, 2, 
/* 71622*/                OPC_CheckType, MVT::i64,
/* 71624*/                OPC_MoveParent,
/* 71625*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71627*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 71629*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71631*/                OPC_MoveParent,
/* 71632*/                OPC_MoveParent,
/* 71633*/                OPC_MoveChild1,
/* 71634*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 71637*/                OPC_MoveChild0,
/* 71638*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 71641*/                OPC_MoveChild0,
/* 71642*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71645*/                OPC_RecordMemRef,
/* 71646*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 71647*/                OPC_CheckFoldableChainNode,
/* 71648*/                OPC_MoveChild1,
/* 71649*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 71652*/                OPC_CheckType, MVT::i64,
/* 71654*/                OPC_Scope, 103|128,2/*359*/, /*->72016*/ // 2 children in Scope
/* 71657*/                  OPC_CheckChild0Same, 1,
/* 71659*/                  OPC_CheckChild1Integer, 1, 
/* 71661*/                  OPC_MoveParent,
/* 71662*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71664*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 71666*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71668*/                  OPC_MoveParent,
/* 71669*/                  OPC_MoveChild1,
/* 71670*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71673*/                  OPC_RecordMemRef,
/* 71674*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 71675*/                  OPC_CheckFoldableChainNode,
/* 71676*/                  OPC_MoveChild1,
/* 71677*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 71680*/                  OPC_CheckChild0Same, 3,
/* 71682*/                  OPC_CheckChild1Integer, 1, 
/* 71684*/                  OPC_CheckType, MVT::i64,
/* 71686*/                  OPC_MoveParent,
/* 71687*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71689*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 71691*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71693*/                  OPC_MoveParent,
/* 71694*/                  OPC_MoveParent,
/* 71695*/                  OPC_MoveChild1,
/* 71696*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 71699*/                  OPC_MoveChild0,
/* 71700*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71703*/                  OPC_RecordMemRef,
/* 71704*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 71705*/                  OPC_CheckFoldableChainNode,
/* 71706*/                  OPC_Scope, 24|128,1/*152*/, /*->71861*/ // 2 children in Scope
/* 71709*/                    OPC_CheckChild1Same, 1,
/* 71711*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71713*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 71715*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71717*/                    OPC_MoveParent,
/* 71718*/                    OPC_MoveChild1,
/* 71719*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71722*/                    OPC_RecordMemRef,
/* 71723*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 71724*/                    OPC_CheckFoldableChainNode,
/* 71725*/                    OPC_CheckChild1Same, 3,
/* 71727*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71729*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 71731*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71733*/                    OPC_MoveParent,
/* 71734*/                    OPC_MoveParent,
/* 71735*/                    OPC_MoveParent,
/* 71736*/                    OPC_MoveParent,
/* 71737*/                    OPC_CheckType, MVT::i32,
/* 71739*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 71741*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 71751*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 71754*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 71761*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 71767*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 71770*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 71778*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71781*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 71789*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71792*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 71801*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 71807*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 71810*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 71818*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71821*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 71829*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71832*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 71841*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 71850*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 71853*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 71861*/                  /*Scope*/ 24|128,1/*152*/, /*->72015*/
/* 71863*/                    OPC_CheckChild1Same, 3,
/* 71865*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71867*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 71869*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71871*/                    OPC_MoveParent,
/* 71872*/                    OPC_MoveChild1,
/* 71873*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 71876*/                    OPC_RecordMemRef,
/* 71877*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 71878*/                    OPC_CheckFoldableChainNode,
/* 71879*/                    OPC_CheckChild1Same, 1,
/* 71881*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 71883*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 71885*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 71887*/                    OPC_MoveParent,
/* 71888*/                    OPC_MoveParent,
/* 71889*/                    OPC_MoveParent,
/* 71890*/                    OPC_MoveParent,
/* 71891*/                    OPC_CheckType, MVT::i32,
/* 71893*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 71895*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 71905*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 71908*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 71915*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 71921*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 71924*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 71932*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71935*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 71943*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71946*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 71955*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 71961*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 71964*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 71972*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 71975*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 71983*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 71986*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 71995*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 72004*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 72007*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 72015*/                  0, /*End of Scope*/
/* 72016*/                /*Scope*/ 103|128,2/*359*/, /*->72377*/
/* 72018*/                  OPC_CheckChild0Same, 3,
/* 72020*/                  OPC_CheckChild1Integer, 1, 
/* 72022*/                  OPC_MoveParent,
/* 72023*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72025*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 72027*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72029*/                  OPC_MoveParent,
/* 72030*/                  OPC_MoveChild1,
/* 72031*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72034*/                  OPC_RecordMemRef,
/* 72035*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 72036*/                  OPC_CheckFoldableChainNode,
/* 72037*/                  OPC_MoveChild1,
/* 72038*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 72041*/                  OPC_CheckChild0Same, 1,
/* 72043*/                  OPC_CheckChild1Integer, 1, 
/* 72045*/                  OPC_CheckType, MVT::i64,
/* 72047*/                  OPC_MoveParent,
/* 72048*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72050*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 72052*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72054*/                  OPC_MoveParent,
/* 72055*/                  OPC_MoveParent,
/* 72056*/                  OPC_MoveChild1,
/* 72057*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 72060*/                  OPC_MoveChild0,
/* 72061*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72064*/                  OPC_RecordMemRef,
/* 72065*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 72066*/                  OPC_CheckFoldableChainNode,
/* 72067*/                  OPC_Scope, 24|128,1/*152*/, /*->72222*/ // 2 children in Scope
/* 72070*/                    OPC_CheckChild1Same, 1,
/* 72072*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72074*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72076*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72078*/                    OPC_MoveParent,
/* 72079*/                    OPC_MoveChild1,
/* 72080*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72083*/                    OPC_RecordMemRef,
/* 72084*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 72085*/                    OPC_CheckFoldableChainNode,
/* 72086*/                    OPC_CheckChild1Same, 3,
/* 72088*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72090*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72092*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72094*/                    OPC_MoveParent,
/* 72095*/                    OPC_MoveParent,
/* 72096*/                    OPC_MoveParent,
/* 72097*/                    OPC_MoveParent,
/* 72098*/                    OPC_CheckType, MVT::i32,
/* 72100*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 72102*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 72112*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 72115*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 72122*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 72128*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72131*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 72139*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72142*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 72150*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72153*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 72162*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 72168*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72171*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 72179*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72182*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 72190*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72193*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 72202*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 72211*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 72214*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 72222*/                  /*Scope*/ 24|128,1/*152*/, /*->72376*/
/* 72224*/                    OPC_CheckChild1Same, 3,
/* 72226*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72228*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72230*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72232*/                    OPC_MoveParent,
/* 72233*/                    OPC_MoveChild1,
/* 72234*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72237*/                    OPC_RecordMemRef,
/* 72238*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 72239*/                    OPC_CheckFoldableChainNode,
/* 72240*/                    OPC_CheckChild1Same, 1,
/* 72242*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72244*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72246*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72248*/                    OPC_MoveParent,
/* 72249*/                    OPC_MoveParent,
/* 72250*/                    OPC_MoveParent,
/* 72251*/                    OPC_MoveParent,
/* 72252*/                    OPC_CheckType, MVT::i32,
/* 72254*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 72256*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 72266*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 72269*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 72276*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 72282*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72285*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 72293*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72296*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 72304*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72307*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 72316*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 72322*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72325*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 72333*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72336*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 72344*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72347*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 72356*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 72365*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 72368*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 72376*/                  0, /*End of Scope*/
/* 72377*/                0, /*End of Scope*/
/* 72378*/              /*Scope*/ 45|128,6/*813*/, /*->73193*/
/* 72380*/                OPC_CheckChild0Same, 1,
/* 72382*/                OPC_CheckChild1Integer, 2, 
/* 72384*/                OPC_MoveParent,
/* 72385*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72387*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 72389*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72391*/                OPC_MoveParent,
/* 72392*/                OPC_MoveChild1,
/* 72393*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72396*/                OPC_RecordMemRef,
/* 72397*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 72398*/                OPC_CheckFoldableChainNode,
/* 72399*/                OPC_MoveChild1,
/* 72400*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 72403*/                OPC_CheckChild0Same, 3,
/* 72405*/                OPC_CheckChild1Integer, 2, 
/* 72407*/                OPC_CheckType, MVT::i64,
/* 72409*/                OPC_MoveParent,
/* 72410*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72412*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 72414*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72416*/                OPC_MoveParent,
/* 72417*/                OPC_MoveParent,
/* 72418*/                OPC_MoveChild1,
/* 72419*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 72422*/                OPC_MoveChild0,
/* 72423*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 72426*/                OPC_MoveChild0,
/* 72427*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72430*/                OPC_RecordMemRef,
/* 72431*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 72432*/                OPC_CheckFoldableChainNode,
/* 72433*/                OPC_Scope, 121|128,2/*377*/, /*->72813*/ // 2 children in Scope
/* 72436*/                  OPC_CheckChild1Same, 1,
/* 72438*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72440*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 72442*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72444*/                  OPC_MoveParent,
/* 72445*/                  OPC_MoveChild1,
/* 72446*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72449*/                  OPC_RecordMemRef,
/* 72450*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 72451*/                  OPC_CheckFoldableChainNode,
/* 72452*/                  OPC_CheckChild1Same, 3,
/* 72454*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72456*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 72458*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72460*/                  OPC_MoveParent,
/* 72461*/                  OPC_MoveParent,
/* 72462*/                  OPC_MoveChild1,
/* 72463*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 72466*/                  OPC_MoveChild0,
/* 72467*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72470*/                  OPC_RecordMemRef,
/* 72471*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 72472*/                  OPC_CheckFoldableChainNode,
/* 72473*/                  OPC_MoveChild1,
/* 72474*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 72477*/                  OPC_CheckType, MVT::i64,
/* 72479*/                  OPC_Scope, 36|128,1/*164*/, /*->72646*/ // 2 children in Scope
/* 72482*/                    OPC_CheckChild0Same, 1,
/* 72484*/                    OPC_CheckChild1Integer, 1, 
/* 72486*/                    OPC_MoveParent,
/* 72487*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72489*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72491*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72493*/                    OPC_MoveParent,
/* 72494*/                    OPC_MoveChild1,
/* 72495*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72498*/                    OPC_RecordMemRef,
/* 72499*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 72500*/                    OPC_CheckFoldableChainNode,
/* 72501*/                    OPC_MoveChild1,
/* 72502*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 72505*/                    OPC_CheckChild0Same, 3,
/* 72507*/                    OPC_CheckChild1Integer, 1, 
/* 72509*/                    OPC_CheckType, MVT::i64,
/* 72511*/                    OPC_MoveParent,
/* 72512*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72514*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72516*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72518*/                    OPC_MoveParent,
/* 72519*/                    OPC_MoveParent,
/* 72520*/                    OPC_MoveParent,
/* 72521*/                    OPC_MoveParent,
/* 72522*/                    OPC_CheckType, MVT::i32,
/* 72524*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 72526*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 72536*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 72539*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 72546*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 72552*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72555*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 72563*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72566*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 72574*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72577*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 72586*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 72592*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72595*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 72603*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72606*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 72614*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72617*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 72626*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 72635*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 72638*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 72646*/                  /*Scope*/ 36|128,1/*164*/, /*->72812*/
/* 72648*/                    OPC_CheckChild0Same, 3,
/* 72650*/                    OPC_CheckChild1Integer, 1, 
/* 72652*/                    OPC_MoveParent,
/* 72653*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72655*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72657*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72659*/                    OPC_MoveParent,
/* 72660*/                    OPC_MoveChild1,
/* 72661*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72664*/                    OPC_RecordMemRef,
/* 72665*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 72666*/                    OPC_CheckFoldableChainNode,
/* 72667*/                    OPC_MoveChild1,
/* 72668*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 72671*/                    OPC_CheckChild0Same, 1,
/* 72673*/                    OPC_CheckChild1Integer, 1, 
/* 72675*/                    OPC_CheckType, MVT::i64,
/* 72677*/                    OPC_MoveParent,
/* 72678*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72680*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72682*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72684*/                    OPC_MoveParent,
/* 72685*/                    OPC_MoveParent,
/* 72686*/                    OPC_MoveParent,
/* 72687*/                    OPC_MoveParent,
/* 72688*/                    OPC_CheckType, MVT::i32,
/* 72690*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 72692*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 72702*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 72705*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 72712*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 72718*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72721*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 72729*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72732*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 72740*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72743*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 72752*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 72758*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72761*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 72769*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72772*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 72780*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72783*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 72792*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 72801*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 72804*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 72812*/                  0, /*End of Scope*/
/* 72813*/                /*Scope*/ 121|128,2/*377*/, /*->73192*/
/* 72815*/                  OPC_CheckChild1Same, 3,
/* 72817*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72819*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 72821*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72823*/                  OPC_MoveParent,
/* 72824*/                  OPC_MoveChild1,
/* 72825*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72828*/                  OPC_RecordMemRef,
/* 72829*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 72830*/                  OPC_CheckFoldableChainNode,
/* 72831*/                  OPC_CheckChild1Same, 1,
/* 72833*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72835*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 72837*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72839*/                  OPC_MoveParent,
/* 72840*/                  OPC_MoveParent,
/* 72841*/                  OPC_MoveChild1,
/* 72842*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 72845*/                  OPC_MoveChild0,
/* 72846*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72849*/                  OPC_RecordMemRef,
/* 72850*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 72851*/                  OPC_CheckFoldableChainNode,
/* 72852*/                  OPC_MoveChild1,
/* 72853*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 72856*/                  OPC_CheckType, MVT::i64,
/* 72858*/                  OPC_Scope, 36|128,1/*164*/, /*->73025*/ // 2 children in Scope
/* 72861*/                    OPC_CheckChild0Same, 1,
/* 72863*/                    OPC_CheckChild1Integer, 1, 
/* 72865*/                    OPC_MoveParent,
/* 72866*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72868*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72870*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72872*/                    OPC_MoveParent,
/* 72873*/                    OPC_MoveChild1,
/* 72874*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 72877*/                    OPC_RecordMemRef,
/* 72878*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 72879*/                    OPC_CheckFoldableChainNode,
/* 72880*/                    OPC_MoveChild1,
/* 72881*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 72884*/                    OPC_CheckChild0Same, 3,
/* 72886*/                    OPC_CheckChild1Integer, 1, 
/* 72888*/                    OPC_CheckType, MVT::i64,
/* 72890*/                    OPC_MoveParent,
/* 72891*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 72893*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 72895*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 72897*/                    OPC_MoveParent,
/* 72898*/                    OPC_MoveParent,
/* 72899*/                    OPC_MoveParent,
/* 72900*/                    OPC_MoveParent,
/* 72901*/                    OPC_CheckType, MVT::i32,
/* 72903*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 72905*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 72915*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 72918*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 72925*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 72931*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72934*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 72942*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72945*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 72953*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72956*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 72965*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 72971*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 72974*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 72982*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 72985*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 72993*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 72996*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 73005*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 73014*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 73017*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 73025*/                  /*Scope*/ 36|128,1/*164*/, /*->73191*/
/* 73027*/                    OPC_CheckChild0Same, 3,
/* 73029*/                    OPC_CheckChild1Integer, 1, 
/* 73031*/                    OPC_MoveParent,
/* 73032*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73034*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73036*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73038*/                    OPC_MoveParent,
/* 73039*/                    OPC_MoveChild1,
/* 73040*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73043*/                    OPC_RecordMemRef,
/* 73044*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 73045*/                    OPC_CheckFoldableChainNode,
/* 73046*/                    OPC_MoveChild1,
/* 73047*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73050*/                    OPC_CheckChild0Same, 1,
/* 73052*/                    OPC_CheckChild1Integer, 1, 
/* 73054*/                    OPC_CheckType, MVT::i64,
/* 73056*/                    OPC_MoveParent,
/* 73057*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73059*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73061*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73063*/                    OPC_MoveParent,
/* 73064*/                    OPC_MoveParent,
/* 73065*/                    OPC_MoveParent,
/* 73066*/                    OPC_MoveParent,
/* 73067*/                    OPC_CheckType, MVT::i32,
/* 73069*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 73071*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 73081*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 73084*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 73091*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 73097*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73100*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 73108*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73111*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 73119*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73122*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 73131*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 73137*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73140*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 73148*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73151*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 73159*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73162*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 73171*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 73180*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 73183*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 73191*/                  0, /*End of Scope*/
/* 73192*/                0, /*End of Scope*/
/* 73193*/              /*Scope*/ 45|128,6/*813*/, /*->74008*/
/* 73195*/                OPC_CheckChild0Same, 3,
/* 73197*/                OPC_CheckChild1Integer, 2, 
/* 73199*/                OPC_MoveParent,
/* 73200*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73202*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 73204*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73206*/                OPC_MoveParent,
/* 73207*/                OPC_MoveChild1,
/* 73208*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73211*/                OPC_RecordMemRef,
/* 73212*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 73213*/                OPC_CheckFoldableChainNode,
/* 73214*/                OPC_MoveChild1,
/* 73215*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73218*/                OPC_CheckChild0Same, 1,
/* 73220*/                OPC_CheckChild1Integer, 2, 
/* 73222*/                OPC_CheckType, MVT::i64,
/* 73224*/                OPC_MoveParent,
/* 73225*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73227*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 73229*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73231*/                OPC_MoveParent,
/* 73232*/                OPC_MoveParent,
/* 73233*/                OPC_MoveChild1,
/* 73234*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73237*/                OPC_MoveChild0,
/* 73238*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 73241*/                OPC_MoveChild0,
/* 73242*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73245*/                OPC_RecordMemRef,
/* 73246*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 73247*/                OPC_CheckFoldableChainNode,
/* 73248*/                OPC_Scope, 121|128,2/*377*/, /*->73628*/ // 2 children in Scope
/* 73251*/                  OPC_CheckChild1Same, 1,
/* 73253*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73255*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 73257*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73259*/                  OPC_MoveParent,
/* 73260*/                  OPC_MoveChild1,
/* 73261*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73264*/                  OPC_RecordMemRef,
/* 73265*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 73266*/                  OPC_CheckFoldableChainNode,
/* 73267*/                  OPC_CheckChild1Same, 3,
/* 73269*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73271*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 73273*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73275*/                  OPC_MoveParent,
/* 73276*/                  OPC_MoveParent,
/* 73277*/                  OPC_MoveChild1,
/* 73278*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 73281*/                  OPC_MoveChild0,
/* 73282*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73285*/                  OPC_RecordMemRef,
/* 73286*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 73287*/                  OPC_CheckFoldableChainNode,
/* 73288*/                  OPC_MoveChild1,
/* 73289*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73292*/                  OPC_CheckType, MVT::i64,
/* 73294*/                  OPC_Scope, 36|128,1/*164*/, /*->73461*/ // 2 children in Scope
/* 73297*/                    OPC_CheckChild0Same, 1,
/* 73299*/                    OPC_CheckChild1Integer, 1, 
/* 73301*/                    OPC_MoveParent,
/* 73302*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73304*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73306*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73308*/                    OPC_MoveParent,
/* 73309*/                    OPC_MoveChild1,
/* 73310*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73313*/                    OPC_RecordMemRef,
/* 73314*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 73315*/                    OPC_CheckFoldableChainNode,
/* 73316*/                    OPC_MoveChild1,
/* 73317*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73320*/                    OPC_CheckChild0Same, 3,
/* 73322*/                    OPC_CheckChild1Integer, 1, 
/* 73324*/                    OPC_CheckType, MVT::i64,
/* 73326*/                    OPC_MoveParent,
/* 73327*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73329*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73331*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73333*/                    OPC_MoveParent,
/* 73334*/                    OPC_MoveParent,
/* 73335*/                    OPC_MoveParent,
/* 73336*/                    OPC_MoveParent,
/* 73337*/                    OPC_CheckType, MVT::i32,
/* 73339*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 73341*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 73351*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 73354*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 73361*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 73367*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73370*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 73378*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73381*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 73389*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73392*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 73401*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 73407*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73410*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 73418*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73421*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 73429*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73432*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 73441*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 73450*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 73453*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 73461*/                  /*Scope*/ 36|128,1/*164*/, /*->73627*/
/* 73463*/                    OPC_CheckChild0Same, 3,
/* 73465*/                    OPC_CheckChild1Integer, 1, 
/* 73467*/                    OPC_MoveParent,
/* 73468*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73470*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73472*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73474*/                    OPC_MoveParent,
/* 73475*/                    OPC_MoveChild1,
/* 73476*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73479*/                    OPC_RecordMemRef,
/* 73480*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 73481*/                    OPC_CheckFoldableChainNode,
/* 73482*/                    OPC_MoveChild1,
/* 73483*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73486*/                    OPC_CheckChild0Same, 1,
/* 73488*/                    OPC_CheckChild1Integer, 1, 
/* 73490*/                    OPC_CheckType, MVT::i64,
/* 73492*/                    OPC_MoveParent,
/* 73493*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73495*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73497*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73499*/                    OPC_MoveParent,
/* 73500*/                    OPC_MoveParent,
/* 73501*/                    OPC_MoveParent,
/* 73502*/                    OPC_MoveParent,
/* 73503*/                    OPC_CheckType, MVT::i32,
/* 73505*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 73507*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 73517*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 73520*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 73527*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 73533*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73536*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 73544*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73547*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 73555*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73558*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 73567*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 73573*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73576*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 73584*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73587*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 73595*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73598*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 73607*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 73616*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 73619*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 73627*/                  0, /*End of Scope*/
/* 73628*/                /*Scope*/ 121|128,2/*377*/, /*->74007*/
/* 73630*/                  OPC_CheckChild1Same, 3,
/* 73632*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73634*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 73636*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73638*/                  OPC_MoveParent,
/* 73639*/                  OPC_MoveChild1,
/* 73640*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73643*/                  OPC_RecordMemRef,
/* 73644*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 73645*/                  OPC_CheckFoldableChainNode,
/* 73646*/                  OPC_CheckChild1Same, 1,
/* 73648*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73650*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 73652*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73654*/                  OPC_MoveParent,
/* 73655*/                  OPC_MoveParent,
/* 73656*/                  OPC_MoveChild1,
/* 73657*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 73660*/                  OPC_MoveChild0,
/* 73661*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73664*/                  OPC_RecordMemRef,
/* 73665*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 73666*/                  OPC_CheckFoldableChainNode,
/* 73667*/                  OPC_MoveChild1,
/* 73668*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73671*/                  OPC_CheckType, MVT::i64,
/* 73673*/                  OPC_Scope, 36|128,1/*164*/, /*->73840*/ // 2 children in Scope
/* 73676*/                    OPC_CheckChild0Same, 1,
/* 73678*/                    OPC_CheckChild1Integer, 1, 
/* 73680*/                    OPC_MoveParent,
/* 73681*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73683*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73685*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73687*/                    OPC_MoveParent,
/* 73688*/                    OPC_MoveChild1,
/* 73689*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73692*/                    OPC_RecordMemRef,
/* 73693*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 73694*/                    OPC_CheckFoldableChainNode,
/* 73695*/                    OPC_MoveChild1,
/* 73696*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73699*/                    OPC_CheckChild0Same, 3,
/* 73701*/                    OPC_CheckChild1Integer, 1, 
/* 73703*/                    OPC_CheckType, MVT::i64,
/* 73705*/                    OPC_MoveParent,
/* 73706*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73708*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73710*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73712*/                    OPC_MoveParent,
/* 73713*/                    OPC_MoveParent,
/* 73714*/                    OPC_MoveParent,
/* 73715*/                    OPC_MoveParent,
/* 73716*/                    OPC_CheckType, MVT::i32,
/* 73718*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 73720*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 73730*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 73733*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 73740*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 73746*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73749*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 73757*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73760*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 73768*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73771*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 73780*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 73786*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73789*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 73797*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73800*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 73808*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73811*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 73820*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 73829*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 73832*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 73840*/                  /*Scope*/ 36|128,1/*164*/, /*->74006*/
/* 73842*/                    OPC_CheckChild0Same, 3,
/* 73844*/                    OPC_CheckChild1Integer, 1, 
/* 73846*/                    OPC_MoveParent,
/* 73847*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73849*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73851*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73853*/                    OPC_MoveParent,
/* 73854*/                    OPC_MoveChild1,
/* 73855*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 73858*/                    OPC_RecordMemRef,
/* 73859*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 73860*/                    OPC_CheckFoldableChainNode,
/* 73861*/                    OPC_MoveChild1,
/* 73862*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 73865*/                    OPC_CheckChild0Same, 1,
/* 73867*/                    OPC_CheckChild1Integer, 1, 
/* 73869*/                    OPC_CheckType, MVT::i64,
/* 73871*/                    OPC_MoveParent,
/* 73872*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 73874*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 73876*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 73878*/                    OPC_MoveParent,
/* 73879*/                    OPC_MoveParent,
/* 73880*/                    OPC_MoveParent,
/* 73881*/                    OPC_MoveParent,
/* 73882*/                    OPC_CheckType, MVT::i32,
/* 73884*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 73886*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 73896*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 73899*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 73906*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 73912*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73915*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 73923*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73926*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 73934*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73937*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 73946*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 73952*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 73955*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 73963*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 73966*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 73974*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 73977*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 73986*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 73995*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 73998*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 74006*/                  0, /*End of Scope*/
/* 74007*/                0, /*End of Scope*/
/* 74008*/              0, /*End of Scope*/
/* 74009*/            /*Scope*/ 63|128,6/*831*/, /*->74842*/
/* 74011*/              OPC_CheckChild1Same, 3,
/* 74013*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74015*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 74017*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74019*/              OPC_MoveParent,
/* 74020*/              OPC_MoveChild1,
/* 74021*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74024*/              OPC_RecordMemRef,
/* 74025*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 74026*/              OPC_CheckFoldableChainNode,
/* 74027*/              OPC_CheckChild1Same, 1,
/* 74029*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74031*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 74033*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74035*/              OPC_MoveParent,
/* 74036*/              OPC_MoveParent,
/* 74037*/              OPC_MoveChild1,
/* 74038*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74041*/              OPC_MoveChild0,
/* 74042*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 74045*/              OPC_MoveChild0,
/* 74046*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74049*/              OPC_RecordMemRef,
/* 74050*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 74051*/              OPC_CheckFoldableChainNode,
/* 74052*/              OPC_MoveChild1,
/* 74053*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74056*/              OPC_CheckType, MVT::i64,
/* 74058*/              OPC_Scope, 5|128,3/*389*/, /*->74450*/ // 2 children in Scope
/* 74061*/                OPC_CheckChild0Same, 3,
/* 74063*/                OPC_CheckChild1Integer, 2, 
/* 74065*/                OPC_MoveParent,
/* 74066*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74068*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 74070*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74072*/                OPC_MoveParent,
/* 74073*/                OPC_MoveChild1,
/* 74074*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74077*/                OPC_RecordMemRef,
/* 74078*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 74079*/                OPC_CheckFoldableChainNode,
/* 74080*/                OPC_MoveChild1,
/* 74081*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74084*/                OPC_CheckChild0Same, 1,
/* 74086*/                OPC_CheckChild1Integer, 2, 
/* 74088*/                OPC_CheckType, MVT::i64,
/* 74090*/                OPC_MoveParent,
/* 74091*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74093*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 74095*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74097*/                OPC_MoveParent,
/* 74098*/                OPC_MoveParent,
/* 74099*/                OPC_MoveChild1,
/* 74100*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 74103*/                OPC_MoveChild0,
/* 74104*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74107*/                OPC_RecordMemRef,
/* 74108*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 74109*/                OPC_CheckFoldableChainNode,
/* 74110*/                OPC_MoveChild1,
/* 74111*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74114*/                OPC_CheckType, MVT::i64,
/* 74116*/                OPC_Scope, 36|128,1/*164*/, /*->74283*/ // 2 children in Scope
/* 74119*/                  OPC_CheckChild0Same, 3,
/* 74121*/                  OPC_CheckChild1Integer, 1, 
/* 74123*/                  OPC_MoveParent,
/* 74124*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74126*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74128*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74130*/                  OPC_MoveParent,
/* 74131*/                  OPC_MoveChild1,
/* 74132*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74135*/                  OPC_RecordMemRef,
/* 74136*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 74137*/                  OPC_CheckFoldableChainNode,
/* 74138*/                  OPC_MoveChild1,
/* 74139*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74142*/                  OPC_CheckChild0Same, 1,
/* 74144*/                  OPC_CheckChild1Integer, 1, 
/* 74146*/                  OPC_CheckType, MVT::i64,
/* 74148*/                  OPC_MoveParent,
/* 74149*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74151*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74153*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74155*/                  OPC_MoveParent,
/* 74156*/                  OPC_MoveParent,
/* 74157*/                  OPC_MoveParent,
/* 74158*/                  OPC_MoveParent,
/* 74159*/                  OPC_CheckType, MVT::i32,
/* 74161*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 74163*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 74173*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 74176*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 74183*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 74189*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 74192*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 74200*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 74203*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 74211*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 74214*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 74223*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 74229*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 74232*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 74240*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 74243*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 74251*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 74254*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 74263*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 74272*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 74275*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 74283*/                /*Scope*/ 36|128,1/*164*/, /*->74449*/
/* 74285*/                  OPC_CheckChild0Same, 1,
/* 74287*/                  OPC_CheckChild1Integer, 1, 
/* 74289*/                  OPC_MoveParent,
/* 74290*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74292*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74294*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74296*/                  OPC_MoveParent,
/* 74297*/                  OPC_MoveChild1,
/* 74298*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74301*/                  OPC_RecordMemRef,
/* 74302*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 74303*/                  OPC_CheckFoldableChainNode,
/* 74304*/                  OPC_MoveChild1,
/* 74305*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74308*/                  OPC_CheckChild0Same, 3,
/* 74310*/                  OPC_CheckChild1Integer, 1, 
/* 74312*/                  OPC_CheckType, MVT::i64,
/* 74314*/                  OPC_MoveParent,
/* 74315*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74317*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74319*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74321*/                  OPC_MoveParent,
/* 74322*/                  OPC_MoveParent,
/* 74323*/                  OPC_MoveParent,
/* 74324*/                  OPC_MoveParent,
/* 74325*/                  OPC_CheckType, MVT::i32,
/* 74327*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 74329*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 74339*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 74342*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 74349*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 74355*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 74358*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 74366*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 74369*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 74377*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 74380*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 74389*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 74395*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 74398*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 74406*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 74409*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 74417*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 74420*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 74429*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 74438*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 74441*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 74449*/                0, /*End of Scope*/
/* 74450*/              /*Scope*/ 5|128,3/*389*/, /*->74841*/
/* 74452*/                OPC_CheckChild0Same, 1,
/* 74454*/                OPC_CheckChild1Integer, 2, 
/* 74456*/                OPC_MoveParent,
/* 74457*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74459*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 74461*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74463*/                OPC_MoveParent,
/* 74464*/                OPC_MoveChild1,
/* 74465*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74468*/                OPC_RecordMemRef,
/* 74469*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 74470*/                OPC_CheckFoldableChainNode,
/* 74471*/                OPC_MoveChild1,
/* 74472*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74475*/                OPC_CheckChild0Same, 3,
/* 74477*/                OPC_CheckChild1Integer, 2, 
/* 74479*/                OPC_CheckType, MVT::i64,
/* 74481*/                OPC_MoveParent,
/* 74482*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74484*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 74486*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74488*/                OPC_MoveParent,
/* 74489*/                OPC_MoveParent,
/* 74490*/                OPC_MoveChild1,
/* 74491*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 74494*/                OPC_MoveChild0,
/* 74495*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74498*/                OPC_RecordMemRef,
/* 74499*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 74500*/                OPC_CheckFoldableChainNode,
/* 74501*/                OPC_MoveChild1,
/* 74502*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74505*/                OPC_CheckType, MVT::i64,
/* 74507*/                OPC_Scope, 36|128,1/*164*/, /*->74674*/ // 2 children in Scope
/* 74510*/                  OPC_CheckChild0Same, 3,
/* 74512*/                  OPC_CheckChild1Integer, 1, 
/* 74514*/                  OPC_MoveParent,
/* 74515*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74517*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74519*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74521*/                  OPC_MoveParent,
/* 74522*/                  OPC_MoveChild1,
/* 74523*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74526*/                  OPC_RecordMemRef,
/* 74527*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 74528*/                  OPC_CheckFoldableChainNode,
/* 74529*/                  OPC_MoveChild1,
/* 74530*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74533*/                  OPC_CheckChild0Same, 1,
/* 74535*/                  OPC_CheckChild1Integer, 1, 
/* 74537*/                  OPC_CheckType, MVT::i64,
/* 74539*/                  OPC_MoveParent,
/* 74540*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74542*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74544*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74546*/                  OPC_MoveParent,
/* 74547*/                  OPC_MoveParent,
/* 74548*/                  OPC_MoveParent,
/* 74549*/                  OPC_MoveParent,
/* 74550*/                  OPC_CheckType, MVT::i32,
/* 74552*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 74554*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 74564*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 74567*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 74574*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 74580*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 74583*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 74591*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 74594*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 74602*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 74605*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 74614*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 74620*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 74623*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 74631*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 74634*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 74642*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 74645*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 74654*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 74663*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 74666*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 74674*/                /*Scope*/ 36|128,1/*164*/, /*->74840*/
/* 74676*/                  OPC_CheckChild0Same, 1,
/* 74678*/                  OPC_CheckChild1Integer, 1, 
/* 74680*/                  OPC_MoveParent,
/* 74681*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74683*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74685*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74687*/                  OPC_MoveParent,
/* 74688*/                  OPC_MoveChild1,
/* 74689*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74692*/                  OPC_RecordMemRef,
/* 74693*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 74694*/                  OPC_CheckFoldableChainNode,
/* 74695*/                  OPC_MoveChild1,
/* 74696*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74699*/                  OPC_CheckChild0Same, 3,
/* 74701*/                  OPC_CheckChild1Integer, 1, 
/* 74703*/                  OPC_CheckType, MVT::i64,
/* 74705*/                  OPC_MoveParent,
/* 74706*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74708*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74710*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74712*/                  OPC_MoveParent,
/* 74713*/                  OPC_MoveParent,
/* 74714*/                  OPC_MoveParent,
/* 74715*/                  OPC_MoveParent,
/* 74716*/                  OPC_CheckType, MVT::i32,
/* 74718*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 74720*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 74730*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 74733*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 74740*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 74746*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 74749*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 74757*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 74760*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 74768*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 74771*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 74780*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 74786*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 74789*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 74797*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 74800*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 74808*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 74811*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 74820*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 74829*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 74832*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 74840*/                0, /*End of Scope*/
/* 74841*/              0, /*End of Scope*/
/* 74842*/            /*Scope*/ 63|128,6/*831*/, /*->75675*/
/* 74844*/              OPC_CheckChild1Same, 1,
/* 74846*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74848*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 74850*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74852*/              OPC_MoveParent,
/* 74853*/              OPC_MoveChild1,
/* 74854*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74857*/              OPC_RecordMemRef,
/* 74858*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 74859*/              OPC_CheckFoldableChainNode,
/* 74860*/              OPC_CheckChild1Same, 3,
/* 74862*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74864*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 74866*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74868*/              OPC_MoveParent,
/* 74869*/              OPC_MoveParent,
/* 74870*/              OPC_MoveChild1,
/* 74871*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74874*/              OPC_MoveChild0,
/* 74875*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 74878*/              OPC_MoveChild0,
/* 74879*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74882*/              OPC_RecordMemRef,
/* 74883*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 74884*/              OPC_CheckFoldableChainNode,
/* 74885*/              OPC_MoveChild1,
/* 74886*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74889*/              OPC_CheckType, MVT::i64,
/* 74891*/              OPC_Scope, 5|128,3/*389*/, /*->75283*/ // 2 children in Scope
/* 74894*/                OPC_CheckChild0Same, 3,
/* 74896*/                OPC_CheckChild1Integer, 2, 
/* 74898*/                OPC_MoveParent,
/* 74899*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74901*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 74903*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74905*/                OPC_MoveParent,
/* 74906*/                OPC_MoveChild1,
/* 74907*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74910*/                OPC_RecordMemRef,
/* 74911*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 74912*/                OPC_CheckFoldableChainNode,
/* 74913*/                OPC_MoveChild1,
/* 74914*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74917*/                OPC_CheckChild0Same, 1,
/* 74919*/                OPC_CheckChild1Integer, 2, 
/* 74921*/                OPC_CheckType, MVT::i64,
/* 74923*/                OPC_MoveParent,
/* 74924*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74926*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 74928*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74930*/                OPC_MoveParent,
/* 74931*/                OPC_MoveParent,
/* 74932*/                OPC_MoveChild1,
/* 74933*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 74936*/                OPC_MoveChild0,
/* 74937*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74940*/                OPC_RecordMemRef,
/* 74941*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 74942*/                OPC_CheckFoldableChainNode,
/* 74943*/                OPC_MoveChild1,
/* 74944*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74947*/                OPC_CheckType, MVT::i64,
/* 74949*/                OPC_Scope, 36|128,1/*164*/, /*->75116*/ // 2 children in Scope
/* 74952*/                  OPC_CheckChild0Same, 3,
/* 74954*/                  OPC_CheckChild1Integer, 1, 
/* 74956*/                  OPC_MoveParent,
/* 74957*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74959*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74961*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74963*/                  OPC_MoveParent,
/* 74964*/                  OPC_MoveChild1,
/* 74965*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 74968*/                  OPC_RecordMemRef,
/* 74969*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 74970*/                  OPC_CheckFoldableChainNode,
/* 74971*/                  OPC_MoveChild1,
/* 74972*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 74975*/                  OPC_CheckChild0Same, 1,
/* 74977*/                  OPC_CheckChild1Integer, 1, 
/* 74979*/                  OPC_CheckType, MVT::i64,
/* 74981*/                  OPC_MoveParent,
/* 74982*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 74984*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 74986*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 74988*/                  OPC_MoveParent,
/* 74989*/                  OPC_MoveParent,
/* 74990*/                  OPC_MoveParent,
/* 74991*/                  OPC_MoveParent,
/* 74992*/                  OPC_CheckType, MVT::i32,
/* 74994*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 74996*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 75006*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 75009*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 75016*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 75022*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75025*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 75033*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75036*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 75044*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75047*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 75056*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 75062*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75065*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 75073*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75076*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 75084*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75087*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 75096*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 75105*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 75108*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 75116*/                /*Scope*/ 36|128,1/*164*/, /*->75282*/
/* 75118*/                  OPC_CheckChild0Same, 1,
/* 75120*/                  OPC_CheckChild1Integer, 1, 
/* 75122*/                  OPC_MoveParent,
/* 75123*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75125*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75127*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75129*/                  OPC_MoveParent,
/* 75130*/                  OPC_MoveChild1,
/* 75131*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75134*/                  OPC_RecordMemRef,
/* 75135*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 75136*/                  OPC_CheckFoldableChainNode,
/* 75137*/                  OPC_MoveChild1,
/* 75138*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75141*/                  OPC_CheckChild0Same, 3,
/* 75143*/                  OPC_CheckChild1Integer, 1, 
/* 75145*/                  OPC_CheckType, MVT::i64,
/* 75147*/                  OPC_MoveParent,
/* 75148*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75150*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75152*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75154*/                  OPC_MoveParent,
/* 75155*/                  OPC_MoveParent,
/* 75156*/                  OPC_MoveParent,
/* 75157*/                  OPC_MoveParent,
/* 75158*/                  OPC_CheckType, MVT::i32,
/* 75160*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 75162*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 75172*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 75175*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 75182*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 75188*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75191*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 75199*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75202*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 75210*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75213*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 75222*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 75228*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75231*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 75239*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75242*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 75250*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75253*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 75262*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 75271*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 75274*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 75282*/                0, /*End of Scope*/
/* 75283*/              /*Scope*/ 5|128,3/*389*/, /*->75674*/
/* 75285*/                OPC_CheckChild0Same, 1,
/* 75287*/                OPC_CheckChild1Integer, 2, 
/* 75289*/                OPC_MoveParent,
/* 75290*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75292*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 75294*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75296*/                OPC_MoveParent,
/* 75297*/                OPC_MoveChild1,
/* 75298*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75301*/                OPC_RecordMemRef,
/* 75302*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 75303*/                OPC_CheckFoldableChainNode,
/* 75304*/                OPC_MoveChild1,
/* 75305*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75308*/                OPC_CheckChild0Same, 3,
/* 75310*/                OPC_CheckChild1Integer, 2, 
/* 75312*/                OPC_CheckType, MVT::i64,
/* 75314*/                OPC_MoveParent,
/* 75315*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75317*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 75319*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75321*/                OPC_MoveParent,
/* 75322*/                OPC_MoveParent,
/* 75323*/                OPC_MoveChild1,
/* 75324*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 75327*/                OPC_MoveChild0,
/* 75328*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75331*/                OPC_RecordMemRef,
/* 75332*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 75333*/                OPC_CheckFoldableChainNode,
/* 75334*/                OPC_MoveChild1,
/* 75335*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75338*/                OPC_CheckType, MVT::i64,
/* 75340*/                OPC_Scope, 36|128,1/*164*/, /*->75507*/ // 2 children in Scope
/* 75343*/                  OPC_CheckChild0Same, 3,
/* 75345*/                  OPC_CheckChild1Integer, 1, 
/* 75347*/                  OPC_MoveParent,
/* 75348*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75350*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75352*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75354*/                  OPC_MoveParent,
/* 75355*/                  OPC_MoveChild1,
/* 75356*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75359*/                  OPC_RecordMemRef,
/* 75360*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 75361*/                  OPC_CheckFoldableChainNode,
/* 75362*/                  OPC_MoveChild1,
/* 75363*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75366*/                  OPC_CheckChild0Same, 1,
/* 75368*/                  OPC_CheckChild1Integer, 1, 
/* 75370*/                  OPC_CheckType, MVT::i64,
/* 75372*/                  OPC_MoveParent,
/* 75373*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75375*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75377*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75379*/                  OPC_MoveParent,
/* 75380*/                  OPC_MoveParent,
/* 75381*/                  OPC_MoveParent,
/* 75382*/                  OPC_MoveParent,
/* 75383*/                  OPC_CheckType, MVT::i32,
/* 75385*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 75387*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 75397*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 75400*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 75407*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 75413*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75416*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 75424*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75427*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 75435*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75438*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 75447*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 75453*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75456*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 75464*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75467*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 75475*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75478*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 75487*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 75496*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 75499*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 75507*/                /*Scope*/ 36|128,1/*164*/, /*->75673*/
/* 75509*/                  OPC_CheckChild0Same, 1,
/* 75511*/                  OPC_CheckChild1Integer, 1, 
/* 75513*/                  OPC_MoveParent,
/* 75514*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75516*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75518*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75520*/                  OPC_MoveParent,
/* 75521*/                  OPC_MoveChild1,
/* 75522*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75525*/                  OPC_RecordMemRef,
/* 75526*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 75527*/                  OPC_CheckFoldableChainNode,
/* 75528*/                  OPC_MoveChild1,
/* 75529*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75532*/                  OPC_CheckChild0Same, 3,
/* 75534*/                  OPC_CheckChild1Integer, 1, 
/* 75536*/                  OPC_CheckType, MVT::i64,
/* 75538*/                  OPC_MoveParent,
/* 75539*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75541*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75543*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75545*/                  OPC_MoveParent,
/* 75546*/                  OPC_MoveParent,
/* 75547*/                  OPC_MoveParent,
/* 75548*/                  OPC_MoveParent,
/* 75549*/                  OPC_CheckType, MVT::i32,
/* 75551*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 75553*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 75563*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 75566*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 75573*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 75579*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75582*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 75590*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75593*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 75601*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75604*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 75613*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 75619*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75622*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 75630*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75633*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 75641*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75644*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 75653*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 75662*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 75665*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 75673*/                0, /*End of Scope*/
/* 75674*/              0, /*End of Scope*/
/* 75675*/            /*Scope*/ 63|128,6/*831*/, /*->76508*/
/* 75677*/              OPC_CheckChild1Same, 3,
/* 75679*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75681*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 75683*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75685*/              OPC_MoveParent,
/* 75686*/              OPC_MoveChild1,
/* 75687*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75690*/              OPC_RecordMemRef,
/* 75691*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 75692*/              OPC_CheckFoldableChainNode,
/* 75693*/              OPC_CheckChild1Same, 1,
/* 75695*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75697*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 75699*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75701*/              OPC_MoveParent,
/* 75702*/              OPC_MoveParent,
/* 75703*/              OPC_MoveChild1,
/* 75704*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75707*/              OPC_MoveChild0,
/* 75708*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 75711*/              OPC_MoveChild0,
/* 75712*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75715*/              OPC_RecordMemRef,
/* 75716*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 75717*/              OPC_CheckFoldableChainNode,
/* 75718*/              OPC_MoveChild1,
/* 75719*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75722*/              OPC_CheckType, MVT::i64,
/* 75724*/              OPC_Scope, 5|128,3/*389*/, /*->76116*/ // 2 children in Scope
/* 75727*/                OPC_CheckChild0Same, 3,
/* 75729*/                OPC_CheckChild1Integer, 1, 
/* 75731*/                OPC_MoveParent,
/* 75732*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75734*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 75736*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75738*/                OPC_MoveParent,
/* 75739*/                OPC_MoveChild1,
/* 75740*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75743*/                OPC_RecordMemRef,
/* 75744*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 75745*/                OPC_CheckFoldableChainNode,
/* 75746*/                OPC_MoveChild1,
/* 75747*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75750*/                OPC_CheckChild0Same, 1,
/* 75752*/                OPC_CheckChild1Integer, 1, 
/* 75754*/                OPC_CheckType, MVT::i64,
/* 75756*/                OPC_MoveParent,
/* 75757*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75759*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 75761*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75763*/                OPC_MoveParent,
/* 75764*/                OPC_MoveParent,
/* 75765*/                OPC_MoveChild1,
/* 75766*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 75769*/                OPC_MoveChild0,
/* 75770*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75773*/                OPC_RecordMemRef,
/* 75774*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 75775*/                OPC_CheckFoldableChainNode,
/* 75776*/                OPC_MoveChild1,
/* 75777*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75780*/                OPC_CheckType, MVT::i64,
/* 75782*/                OPC_Scope, 36|128,1/*164*/, /*->75949*/ // 2 children in Scope
/* 75785*/                  OPC_CheckChild0Same, 3,
/* 75787*/                  OPC_CheckChild1Integer, 2, 
/* 75789*/                  OPC_MoveParent,
/* 75790*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75792*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75794*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75796*/                  OPC_MoveParent,
/* 75797*/                  OPC_MoveChild1,
/* 75798*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75801*/                  OPC_RecordMemRef,
/* 75802*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 75803*/                  OPC_CheckFoldableChainNode,
/* 75804*/                  OPC_MoveChild1,
/* 75805*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75808*/                  OPC_CheckChild0Same, 1,
/* 75810*/                  OPC_CheckChild1Integer, 2, 
/* 75812*/                  OPC_CheckType, MVT::i64,
/* 75814*/                  OPC_MoveParent,
/* 75815*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75817*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75819*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75821*/                  OPC_MoveParent,
/* 75822*/                  OPC_MoveParent,
/* 75823*/                  OPC_MoveParent,
/* 75824*/                  OPC_MoveParent,
/* 75825*/                  OPC_CheckType, MVT::i32,
/* 75827*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 75829*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 75839*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 75842*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 75849*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 75855*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75858*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 75866*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75869*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 75877*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75880*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 75889*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 75895*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 75898*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 75906*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 75909*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 75917*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 75920*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 75929*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 75938*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 75941*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 75949*/                /*Scope*/ 36|128,1/*164*/, /*->76115*/
/* 75951*/                  OPC_CheckChild0Same, 1,
/* 75953*/                  OPC_CheckChild1Integer, 2, 
/* 75955*/                  OPC_MoveParent,
/* 75956*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75958*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75960*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75962*/                  OPC_MoveParent,
/* 75963*/                  OPC_MoveChild1,
/* 75964*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 75967*/                  OPC_RecordMemRef,
/* 75968*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 75969*/                  OPC_CheckFoldableChainNode,
/* 75970*/                  OPC_MoveChild1,
/* 75971*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 75974*/                  OPC_CheckChild0Same, 3,
/* 75976*/                  OPC_CheckChild1Integer, 2, 
/* 75978*/                  OPC_CheckType, MVT::i64,
/* 75980*/                  OPC_MoveParent,
/* 75981*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 75983*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 75985*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 75987*/                  OPC_MoveParent,
/* 75988*/                  OPC_MoveParent,
/* 75989*/                  OPC_MoveParent,
/* 75990*/                  OPC_MoveParent,
/* 75991*/                  OPC_CheckType, MVT::i32,
/* 75993*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 75995*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 76005*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 76008*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 76015*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 76021*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76024*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 76032*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76035*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 76043*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76046*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 76055*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 76061*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76064*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 76072*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76075*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 76083*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76086*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 76095*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 76104*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 76107*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 76115*/                0, /*End of Scope*/
/* 76116*/              /*Scope*/ 5|128,3/*389*/, /*->76507*/
/* 76118*/                OPC_CheckChild0Same, 1,
/* 76120*/                OPC_CheckChild1Integer, 1, 
/* 76122*/                OPC_MoveParent,
/* 76123*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76125*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 76127*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76129*/                OPC_MoveParent,
/* 76130*/                OPC_MoveChild1,
/* 76131*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76134*/                OPC_RecordMemRef,
/* 76135*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 76136*/                OPC_CheckFoldableChainNode,
/* 76137*/                OPC_MoveChild1,
/* 76138*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76141*/                OPC_CheckChild0Same, 3,
/* 76143*/                OPC_CheckChild1Integer, 1, 
/* 76145*/                OPC_CheckType, MVT::i64,
/* 76147*/                OPC_MoveParent,
/* 76148*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76150*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 76152*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76154*/                OPC_MoveParent,
/* 76155*/                OPC_MoveParent,
/* 76156*/                OPC_MoveChild1,
/* 76157*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 76160*/                OPC_MoveChild0,
/* 76161*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76164*/                OPC_RecordMemRef,
/* 76165*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 76166*/                OPC_CheckFoldableChainNode,
/* 76167*/                OPC_MoveChild1,
/* 76168*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76171*/                OPC_CheckType, MVT::i64,
/* 76173*/                OPC_Scope, 36|128,1/*164*/, /*->76340*/ // 2 children in Scope
/* 76176*/                  OPC_CheckChild0Same, 3,
/* 76178*/                  OPC_CheckChild1Integer, 2, 
/* 76180*/                  OPC_MoveParent,
/* 76181*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76183*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 76185*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76187*/                  OPC_MoveParent,
/* 76188*/                  OPC_MoveChild1,
/* 76189*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76192*/                  OPC_RecordMemRef,
/* 76193*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 76194*/                  OPC_CheckFoldableChainNode,
/* 76195*/                  OPC_MoveChild1,
/* 76196*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76199*/                  OPC_CheckChild0Same, 1,
/* 76201*/                  OPC_CheckChild1Integer, 2, 
/* 76203*/                  OPC_CheckType, MVT::i64,
/* 76205*/                  OPC_MoveParent,
/* 76206*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76208*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 76210*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76212*/                  OPC_MoveParent,
/* 76213*/                  OPC_MoveParent,
/* 76214*/                  OPC_MoveParent,
/* 76215*/                  OPC_MoveParent,
/* 76216*/                  OPC_CheckType, MVT::i32,
/* 76218*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 76220*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 76230*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 76233*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 76240*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 76246*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76249*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 76257*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76260*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 76268*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76271*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 76280*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 76286*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76289*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 76297*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76300*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 76308*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76311*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 76320*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 76329*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 76332*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 76340*/                /*Scope*/ 36|128,1/*164*/, /*->76506*/
/* 76342*/                  OPC_CheckChild0Same, 1,
/* 76344*/                  OPC_CheckChild1Integer, 2, 
/* 76346*/                  OPC_MoveParent,
/* 76347*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76349*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 76351*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76353*/                  OPC_MoveParent,
/* 76354*/                  OPC_MoveChild1,
/* 76355*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76358*/                  OPC_RecordMemRef,
/* 76359*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 76360*/                  OPC_CheckFoldableChainNode,
/* 76361*/                  OPC_MoveChild1,
/* 76362*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76365*/                  OPC_CheckChild0Same, 3,
/* 76367*/                  OPC_CheckChild1Integer, 2, 
/* 76369*/                  OPC_CheckType, MVT::i64,
/* 76371*/                  OPC_MoveParent,
/* 76372*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76374*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 76376*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76378*/                  OPC_MoveParent,
/* 76379*/                  OPC_MoveParent,
/* 76380*/                  OPC_MoveParent,
/* 76381*/                  OPC_MoveParent,
/* 76382*/                  OPC_CheckType, MVT::i32,
/* 76384*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 76386*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 76396*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 76399*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 76406*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 76412*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76415*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 76423*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76426*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 76434*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76437*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 76446*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 76452*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76455*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 76463*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76466*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 76474*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76477*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 76486*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 76495*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 76498*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 76506*/                0, /*End of Scope*/
/* 76507*/              0, /*End of Scope*/
/* 76508*/            /*Scope*/ 63|128,6/*831*/, /*->77341*/
/* 76510*/              OPC_CheckChild1Same, 1,
/* 76512*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76514*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 76516*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76518*/              OPC_MoveParent,
/* 76519*/              OPC_MoveChild1,
/* 76520*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76523*/              OPC_RecordMemRef,
/* 76524*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 76525*/              OPC_CheckFoldableChainNode,
/* 76526*/              OPC_CheckChild1Same, 3,
/* 76528*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76530*/              OPC_CheckPredicate, 7, // Predicate_zextload
/* 76532*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76534*/              OPC_MoveParent,
/* 76535*/              OPC_MoveParent,
/* 76536*/              OPC_MoveChild1,
/* 76537*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76540*/              OPC_MoveChild0,
/* 76541*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 76544*/              OPC_MoveChild0,
/* 76545*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76548*/              OPC_RecordMemRef,
/* 76549*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 76550*/              OPC_CheckFoldableChainNode,
/* 76551*/              OPC_MoveChild1,
/* 76552*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76555*/              OPC_CheckType, MVT::i64,
/* 76557*/              OPC_Scope, 5|128,3/*389*/, /*->76949*/ // 2 children in Scope
/* 76560*/                OPC_CheckChild0Same, 3,
/* 76562*/                OPC_CheckChild1Integer, 1, 
/* 76564*/                OPC_MoveParent,
/* 76565*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76567*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 76569*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76571*/                OPC_MoveParent,
/* 76572*/                OPC_MoveChild1,
/* 76573*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76576*/                OPC_RecordMemRef,
/* 76577*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 76578*/                OPC_CheckFoldableChainNode,
/* 76579*/                OPC_MoveChild1,
/* 76580*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76583*/                OPC_CheckChild0Same, 1,
/* 76585*/                OPC_CheckChild1Integer, 1, 
/* 76587*/                OPC_CheckType, MVT::i64,
/* 76589*/                OPC_MoveParent,
/* 76590*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76592*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 76594*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76596*/                OPC_MoveParent,
/* 76597*/                OPC_MoveParent,
/* 76598*/                OPC_MoveChild1,
/* 76599*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 76602*/                OPC_MoveChild0,
/* 76603*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76606*/                OPC_RecordMemRef,
/* 76607*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 76608*/                OPC_CheckFoldableChainNode,
/* 76609*/                OPC_MoveChild1,
/* 76610*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76613*/                OPC_CheckType, MVT::i64,
/* 76615*/                OPC_Scope, 36|128,1/*164*/, /*->76782*/ // 2 children in Scope
/* 76618*/                  OPC_CheckChild0Same, 3,
/* 76620*/                  OPC_CheckChild1Integer, 2, 
/* 76622*/                  OPC_MoveParent,
/* 76623*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76625*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 76627*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76629*/                  OPC_MoveParent,
/* 76630*/                  OPC_MoveChild1,
/* 76631*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76634*/                  OPC_RecordMemRef,
/* 76635*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 76636*/                  OPC_CheckFoldableChainNode,
/* 76637*/                  OPC_MoveChild1,
/* 76638*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76641*/                  OPC_CheckChild0Same, 1,
/* 76643*/                  OPC_CheckChild1Integer, 2, 
/* 76645*/                  OPC_CheckType, MVT::i64,
/* 76647*/                  OPC_MoveParent,
/* 76648*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76650*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 76652*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76654*/                  OPC_MoveParent,
/* 76655*/                  OPC_MoveParent,
/* 76656*/                  OPC_MoveParent,
/* 76657*/                  OPC_MoveParent,
/* 76658*/                  OPC_CheckType, MVT::i32,
/* 76660*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 76662*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 76672*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 76675*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 76682*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 76688*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76691*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 76699*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76702*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 76710*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76713*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 76722*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 76728*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76731*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 76739*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76742*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 76750*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76753*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 76762*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 76771*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 76774*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 76782*/                /*Scope*/ 36|128,1/*164*/, /*->76948*/
/* 76784*/                  OPC_CheckChild0Same, 1,
/* 76786*/                  OPC_CheckChild1Integer, 2, 
/* 76788*/                  OPC_MoveParent,
/* 76789*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76791*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 76793*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76795*/                  OPC_MoveParent,
/* 76796*/                  OPC_MoveChild1,
/* 76797*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76800*/                  OPC_RecordMemRef,
/* 76801*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 76802*/                  OPC_CheckFoldableChainNode,
/* 76803*/                  OPC_MoveChild1,
/* 76804*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76807*/                  OPC_CheckChild0Same, 3,
/* 76809*/                  OPC_CheckChild1Integer, 2, 
/* 76811*/                  OPC_CheckType, MVT::i64,
/* 76813*/                  OPC_MoveParent,
/* 76814*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76816*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 76818*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76820*/                  OPC_MoveParent,
/* 76821*/                  OPC_MoveParent,
/* 76822*/                  OPC_MoveParent,
/* 76823*/                  OPC_MoveParent,
/* 76824*/                  OPC_CheckType, MVT::i32,
/* 76826*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 76828*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 76838*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 76841*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 76848*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 76854*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76857*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 76865*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76868*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 76876*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76879*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 76888*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 76894*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 76897*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 76905*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 76908*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 76916*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 76919*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 76928*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 76937*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 76940*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 76948*/                0, /*End of Scope*/
/* 76949*/              /*Scope*/ 5|128,3/*389*/, /*->77340*/
/* 76951*/                OPC_CheckChild0Same, 1,
/* 76953*/                OPC_CheckChild1Integer, 1, 
/* 76955*/                OPC_MoveParent,
/* 76956*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76958*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 76960*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76962*/                OPC_MoveParent,
/* 76963*/                OPC_MoveChild1,
/* 76964*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76967*/                OPC_RecordMemRef,
/* 76968*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 76969*/                OPC_CheckFoldableChainNode,
/* 76970*/                OPC_MoveChild1,
/* 76971*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 76974*/                OPC_CheckChild0Same, 3,
/* 76976*/                OPC_CheckChild1Integer, 1, 
/* 76978*/                OPC_CheckType, MVT::i64,
/* 76980*/                OPC_MoveParent,
/* 76981*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 76983*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 76985*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 76987*/                OPC_MoveParent,
/* 76988*/                OPC_MoveParent,
/* 76989*/                OPC_MoveChild1,
/* 76990*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 76993*/                OPC_MoveChild0,
/* 76994*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 76997*/                OPC_RecordMemRef,
/* 76998*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 76999*/                OPC_CheckFoldableChainNode,
/* 77000*/                OPC_MoveChild1,
/* 77001*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77004*/                OPC_CheckType, MVT::i64,
/* 77006*/                OPC_Scope, 36|128,1/*164*/, /*->77173*/ // 2 children in Scope
/* 77009*/                  OPC_CheckChild0Same, 3,
/* 77011*/                  OPC_CheckChild1Integer, 2, 
/* 77013*/                  OPC_MoveParent,
/* 77014*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77016*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 77018*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77020*/                  OPC_MoveParent,
/* 77021*/                  OPC_MoveChild1,
/* 77022*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77025*/                  OPC_RecordMemRef,
/* 77026*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 77027*/                  OPC_CheckFoldableChainNode,
/* 77028*/                  OPC_MoveChild1,
/* 77029*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77032*/                  OPC_CheckChild0Same, 1,
/* 77034*/                  OPC_CheckChild1Integer, 2, 
/* 77036*/                  OPC_CheckType, MVT::i64,
/* 77038*/                  OPC_MoveParent,
/* 77039*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77041*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 77043*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77045*/                  OPC_MoveParent,
/* 77046*/                  OPC_MoveParent,
/* 77047*/                  OPC_MoveParent,
/* 77048*/                  OPC_MoveParent,
/* 77049*/                  OPC_CheckType, MVT::i32,
/* 77051*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 77053*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 77063*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 77066*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 77073*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 77079*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 77082*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 77090*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77093*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 77101*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77104*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 77113*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 77119*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 77122*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 77130*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77133*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 77141*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77144*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 77153*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 77162*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 77165*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 77173*/                /*Scope*/ 36|128,1/*164*/, /*->77339*/
/* 77175*/                  OPC_CheckChild0Same, 1,
/* 77177*/                  OPC_CheckChild1Integer, 2, 
/* 77179*/                  OPC_MoveParent,
/* 77180*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77182*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 77184*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77186*/                  OPC_MoveParent,
/* 77187*/                  OPC_MoveChild1,
/* 77188*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77191*/                  OPC_RecordMemRef,
/* 77192*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 77193*/                  OPC_CheckFoldableChainNode,
/* 77194*/                  OPC_MoveChild1,
/* 77195*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77198*/                  OPC_CheckChild0Same, 3,
/* 77200*/                  OPC_CheckChild1Integer, 2, 
/* 77202*/                  OPC_CheckType, MVT::i64,
/* 77204*/                  OPC_MoveParent,
/* 77205*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77207*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 77209*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77211*/                  OPC_MoveParent,
/* 77212*/                  OPC_MoveParent,
/* 77213*/                  OPC_MoveParent,
/* 77214*/                  OPC_MoveParent,
/* 77215*/                  OPC_CheckType, MVT::i32,
/* 77217*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 77219*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 77229*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 77232*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 77239*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 77245*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 77248*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 77256*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77259*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 77267*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77270*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 77279*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 77285*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 77288*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 77296*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77299*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 77307*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77310*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 77319*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 77328*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 77331*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 77339*/                0, /*End of Scope*/
/* 77340*/              0, /*End of Scope*/
/* 77341*/            /*Scope*/ 8|128,50/*6408*/, /*->83751*/
/* 77343*/              OPC_MoveChild1,
/* 77344*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77347*/              OPC_CheckType, MVT::i64,
/* 77349*/              OPC_Scope, 15|128,6/*783*/, /*->78135*/ // 8 children in Scope
/* 77352*/                OPC_CheckChild0Same, 3,
/* 77354*/                OPC_CheckChild1Integer, 1, 
/* 77356*/                OPC_MoveParent,
/* 77357*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77359*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 77361*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77363*/                OPC_MoveParent,
/* 77364*/                OPC_MoveChild1,
/* 77365*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77368*/                OPC_RecordMemRef,
/* 77369*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 77370*/                OPC_CheckFoldableChainNode,
/* 77371*/                OPC_MoveChild1,
/* 77372*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77375*/                OPC_CheckChild0Same, 1,
/* 77377*/                OPC_CheckChild1Integer, 1, 
/* 77379*/                OPC_CheckType, MVT::i64,
/* 77381*/                OPC_MoveParent,
/* 77382*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77384*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 77386*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77388*/                OPC_MoveParent,
/* 77389*/                OPC_MoveParent,
/* 77390*/                OPC_MoveChild1,
/* 77391*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77394*/                OPC_MoveChild0,
/* 77395*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 77398*/                OPC_MoveChild0,
/* 77399*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77402*/                OPC_RecordMemRef,
/* 77403*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 77404*/                OPC_CheckFoldableChainNode,
/* 77405*/                OPC_MoveChild1,
/* 77406*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77409*/                OPC_CheckType, MVT::i64,
/* 77411*/                OPC_Scope, 103|128,2/*359*/, /*->77773*/ // 2 children in Scope
/* 77414*/                  OPC_CheckChild0Same, 3,
/* 77416*/                  OPC_CheckChild1Integer, 2, 
/* 77418*/                  OPC_MoveParent,
/* 77419*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77421*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 77423*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77425*/                  OPC_MoveParent,
/* 77426*/                  OPC_MoveChild1,
/* 77427*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77430*/                  OPC_RecordMemRef,
/* 77431*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 77432*/                  OPC_CheckFoldableChainNode,
/* 77433*/                  OPC_MoveChild1,
/* 77434*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77437*/                  OPC_CheckChild0Same, 1,
/* 77439*/                  OPC_CheckChild1Integer, 2, 
/* 77441*/                  OPC_CheckType, MVT::i64,
/* 77443*/                  OPC_MoveParent,
/* 77444*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77446*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 77448*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77450*/                  OPC_MoveParent,
/* 77451*/                  OPC_MoveParent,
/* 77452*/                  OPC_MoveChild1,
/* 77453*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 77456*/                  OPC_MoveChild0,
/* 77457*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77460*/                  OPC_RecordMemRef,
/* 77461*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 77462*/                  OPC_CheckFoldableChainNode,
/* 77463*/                  OPC_Scope, 24|128,1/*152*/, /*->77618*/ // 2 children in Scope
/* 77466*/                    OPC_CheckChild1Same, 3,
/* 77468*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77470*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 77472*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77474*/                    OPC_MoveParent,
/* 77475*/                    OPC_MoveChild1,
/* 77476*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77479*/                    OPC_RecordMemRef,
/* 77480*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 77481*/                    OPC_CheckFoldableChainNode,
/* 77482*/                    OPC_CheckChild1Same, 1,
/* 77484*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77486*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 77488*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77490*/                    OPC_MoveParent,
/* 77491*/                    OPC_MoveParent,
/* 77492*/                    OPC_MoveParent,
/* 77493*/                    OPC_MoveParent,
/* 77494*/                    OPC_CheckType, MVT::i32,
/* 77496*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 77498*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 77508*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 77511*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 77518*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 77524*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 77527*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 77535*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77538*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 77546*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77549*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 77558*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 77564*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 77567*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 77575*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77578*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 77586*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77589*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 77598*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 77607*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 77610*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 77618*/                  /*Scope*/ 24|128,1/*152*/, /*->77772*/
/* 77620*/                    OPC_CheckChild1Same, 1,
/* 77622*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77624*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 77626*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77628*/                    OPC_MoveParent,
/* 77629*/                    OPC_MoveChild1,
/* 77630*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77633*/                    OPC_RecordMemRef,
/* 77634*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 77635*/                    OPC_CheckFoldableChainNode,
/* 77636*/                    OPC_CheckChild1Same, 3,
/* 77638*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77640*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 77642*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77644*/                    OPC_MoveParent,
/* 77645*/                    OPC_MoveParent,
/* 77646*/                    OPC_MoveParent,
/* 77647*/                    OPC_MoveParent,
/* 77648*/                    OPC_CheckType, MVT::i32,
/* 77650*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 77652*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 77662*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 77665*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 77672*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 77678*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 77681*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 77689*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77692*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 77700*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77703*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 77712*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 77718*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 77721*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 77729*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77732*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 77740*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77743*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 77752*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 77761*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 77764*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 77772*/                  0, /*End of Scope*/
/* 77773*/                /*Scope*/ 103|128,2/*359*/, /*->78134*/
/* 77775*/                  OPC_CheckChild0Same, 1,
/* 77777*/                  OPC_CheckChild1Integer, 2, 
/* 77779*/                  OPC_MoveParent,
/* 77780*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77782*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 77784*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77786*/                  OPC_MoveParent,
/* 77787*/                  OPC_MoveChild1,
/* 77788*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77791*/                  OPC_RecordMemRef,
/* 77792*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 77793*/                  OPC_CheckFoldableChainNode,
/* 77794*/                  OPC_MoveChild1,
/* 77795*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 77798*/                  OPC_CheckChild0Same, 3,
/* 77800*/                  OPC_CheckChild1Integer, 2, 
/* 77802*/                  OPC_CheckType, MVT::i64,
/* 77804*/                  OPC_MoveParent,
/* 77805*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77807*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 77809*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77811*/                  OPC_MoveParent,
/* 77812*/                  OPC_MoveParent,
/* 77813*/                  OPC_MoveChild1,
/* 77814*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 77817*/                  OPC_MoveChild0,
/* 77818*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77821*/                  OPC_RecordMemRef,
/* 77822*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 77823*/                  OPC_CheckFoldableChainNode,
/* 77824*/                  OPC_Scope, 24|128,1/*152*/, /*->77979*/ // 2 children in Scope
/* 77827*/                    OPC_CheckChild1Same, 3,
/* 77829*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77831*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 77833*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77835*/                    OPC_MoveParent,
/* 77836*/                    OPC_MoveChild1,
/* 77837*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77840*/                    OPC_RecordMemRef,
/* 77841*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 77842*/                    OPC_CheckFoldableChainNode,
/* 77843*/                    OPC_CheckChild1Same, 1,
/* 77845*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77847*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 77849*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77851*/                    OPC_MoveParent,
/* 77852*/                    OPC_MoveParent,
/* 77853*/                    OPC_MoveParent,
/* 77854*/                    OPC_MoveParent,
/* 77855*/                    OPC_CheckType, MVT::i32,
/* 77857*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 77859*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 77869*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 77872*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 77879*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 77885*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 77888*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 77896*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77899*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 77907*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77910*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 77919*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 77925*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 77928*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 77936*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 77939*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 77947*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 77950*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 77959*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 77968*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 77971*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 77979*/                  /*Scope*/ 24|128,1/*152*/, /*->78133*/
/* 77981*/                    OPC_CheckChild1Same, 1,
/* 77983*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 77985*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 77987*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 77989*/                    OPC_MoveParent,
/* 77990*/                    OPC_MoveChild1,
/* 77991*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 77994*/                    OPC_RecordMemRef,
/* 77995*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 77996*/                    OPC_CheckFoldableChainNode,
/* 77997*/                    OPC_CheckChild1Same, 3,
/* 77999*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78001*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78003*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78005*/                    OPC_MoveParent,
/* 78006*/                    OPC_MoveParent,
/* 78007*/                    OPC_MoveParent,
/* 78008*/                    OPC_MoveParent,
/* 78009*/                    OPC_CheckType, MVT::i32,
/* 78011*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 78013*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 78023*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 78026*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 78033*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 78039*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78042*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 78050*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78053*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 78061*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78064*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 78073*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 78079*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78082*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 78090*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78093*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 78101*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78104*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 78113*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 78122*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 78125*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 78133*/                  0, /*End of Scope*/
/* 78134*/                0, /*End of Scope*/
/* 78135*/              /*Scope*/ 15|128,6/*783*/, /*->78920*/
/* 78137*/                OPC_CheckChild0Same, 1,
/* 78139*/                OPC_CheckChild1Integer, 1, 
/* 78141*/                OPC_MoveParent,
/* 78142*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78144*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 78146*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78148*/                OPC_MoveParent,
/* 78149*/                OPC_MoveChild1,
/* 78150*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78153*/                OPC_RecordMemRef,
/* 78154*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 78155*/                OPC_CheckFoldableChainNode,
/* 78156*/                OPC_MoveChild1,
/* 78157*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 78160*/                OPC_CheckChild0Same, 3,
/* 78162*/                OPC_CheckChild1Integer, 1, 
/* 78164*/                OPC_CheckType, MVT::i64,
/* 78166*/                OPC_MoveParent,
/* 78167*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78169*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 78171*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78173*/                OPC_MoveParent,
/* 78174*/                OPC_MoveParent,
/* 78175*/                OPC_MoveChild1,
/* 78176*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 78179*/                OPC_MoveChild0,
/* 78180*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 78183*/                OPC_MoveChild0,
/* 78184*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78187*/                OPC_RecordMemRef,
/* 78188*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 78189*/                OPC_CheckFoldableChainNode,
/* 78190*/                OPC_MoveChild1,
/* 78191*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 78194*/                OPC_CheckType, MVT::i64,
/* 78196*/                OPC_Scope, 103|128,2/*359*/, /*->78558*/ // 2 children in Scope
/* 78199*/                  OPC_CheckChild0Same, 3,
/* 78201*/                  OPC_CheckChild1Integer, 2, 
/* 78203*/                  OPC_MoveParent,
/* 78204*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78206*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 78208*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78210*/                  OPC_MoveParent,
/* 78211*/                  OPC_MoveChild1,
/* 78212*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78215*/                  OPC_RecordMemRef,
/* 78216*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 78217*/                  OPC_CheckFoldableChainNode,
/* 78218*/                  OPC_MoveChild1,
/* 78219*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 78222*/                  OPC_CheckChild0Same, 1,
/* 78224*/                  OPC_CheckChild1Integer, 2, 
/* 78226*/                  OPC_CheckType, MVT::i64,
/* 78228*/                  OPC_MoveParent,
/* 78229*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78231*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 78233*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78235*/                  OPC_MoveParent,
/* 78236*/                  OPC_MoveParent,
/* 78237*/                  OPC_MoveChild1,
/* 78238*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 78241*/                  OPC_MoveChild0,
/* 78242*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78245*/                  OPC_RecordMemRef,
/* 78246*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 78247*/                  OPC_CheckFoldableChainNode,
/* 78248*/                  OPC_Scope, 24|128,1/*152*/, /*->78403*/ // 2 children in Scope
/* 78251*/                    OPC_CheckChild1Same, 3,
/* 78253*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78255*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78257*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78259*/                    OPC_MoveParent,
/* 78260*/                    OPC_MoveChild1,
/* 78261*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78264*/                    OPC_RecordMemRef,
/* 78265*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 78266*/                    OPC_CheckFoldableChainNode,
/* 78267*/                    OPC_CheckChild1Same, 1,
/* 78269*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78271*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78273*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78275*/                    OPC_MoveParent,
/* 78276*/                    OPC_MoveParent,
/* 78277*/                    OPC_MoveParent,
/* 78278*/                    OPC_MoveParent,
/* 78279*/                    OPC_CheckType, MVT::i32,
/* 78281*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 78283*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 78293*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 78296*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 78303*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 78309*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78312*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 78320*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78323*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 78331*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78334*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 78343*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 78349*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78352*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 78360*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78363*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 78371*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78374*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 78383*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 78392*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 78395*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 78403*/                  /*Scope*/ 24|128,1/*152*/, /*->78557*/
/* 78405*/                    OPC_CheckChild1Same, 1,
/* 78407*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78409*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78411*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78413*/                    OPC_MoveParent,
/* 78414*/                    OPC_MoveChild1,
/* 78415*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78418*/                    OPC_RecordMemRef,
/* 78419*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 78420*/                    OPC_CheckFoldableChainNode,
/* 78421*/                    OPC_CheckChild1Same, 3,
/* 78423*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78425*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78427*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78429*/                    OPC_MoveParent,
/* 78430*/                    OPC_MoveParent,
/* 78431*/                    OPC_MoveParent,
/* 78432*/                    OPC_MoveParent,
/* 78433*/                    OPC_CheckType, MVT::i32,
/* 78435*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 78437*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 78447*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 78450*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 78457*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 78463*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78466*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 78474*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78477*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 78485*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78488*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 78497*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 78503*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78506*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 78514*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78517*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 78525*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78528*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 78537*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 78546*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 78549*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 78557*/                  0, /*End of Scope*/
/* 78558*/                /*Scope*/ 103|128,2/*359*/, /*->78919*/
/* 78560*/                  OPC_CheckChild0Same, 1,
/* 78562*/                  OPC_CheckChild1Integer, 2, 
/* 78564*/                  OPC_MoveParent,
/* 78565*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78567*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 78569*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78571*/                  OPC_MoveParent,
/* 78572*/                  OPC_MoveChild1,
/* 78573*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78576*/                  OPC_RecordMemRef,
/* 78577*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 78578*/                  OPC_CheckFoldableChainNode,
/* 78579*/                  OPC_MoveChild1,
/* 78580*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 78583*/                  OPC_CheckChild0Same, 3,
/* 78585*/                  OPC_CheckChild1Integer, 2, 
/* 78587*/                  OPC_CheckType, MVT::i64,
/* 78589*/                  OPC_MoveParent,
/* 78590*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78592*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 78594*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78596*/                  OPC_MoveParent,
/* 78597*/                  OPC_MoveParent,
/* 78598*/                  OPC_MoveChild1,
/* 78599*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 78602*/                  OPC_MoveChild0,
/* 78603*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78606*/                  OPC_RecordMemRef,
/* 78607*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 78608*/                  OPC_CheckFoldableChainNode,
/* 78609*/                  OPC_Scope, 24|128,1/*152*/, /*->78764*/ // 2 children in Scope
/* 78612*/                    OPC_CheckChild1Same, 3,
/* 78614*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78616*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78618*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78620*/                    OPC_MoveParent,
/* 78621*/                    OPC_MoveChild1,
/* 78622*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78625*/                    OPC_RecordMemRef,
/* 78626*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 78627*/                    OPC_CheckFoldableChainNode,
/* 78628*/                    OPC_CheckChild1Same, 1,
/* 78630*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78632*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78634*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78636*/                    OPC_MoveParent,
/* 78637*/                    OPC_MoveParent,
/* 78638*/                    OPC_MoveParent,
/* 78639*/                    OPC_MoveParent,
/* 78640*/                    OPC_CheckType, MVT::i32,
/* 78642*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 78644*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 78654*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 78657*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 78664*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 78670*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78673*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 78681*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78684*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 78692*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78695*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 78704*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 78710*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78713*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 78721*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78724*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 78732*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78735*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 78744*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 78753*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 78756*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 78764*/                  /*Scope*/ 24|128,1/*152*/, /*->78918*/
/* 78766*/                    OPC_CheckChild1Same, 1,
/* 78768*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78770*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78772*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78774*/                    OPC_MoveParent,
/* 78775*/                    OPC_MoveChild1,
/* 78776*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78779*/                    OPC_RecordMemRef,
/* 78780*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 78781*/                    OPC_CheckFoldableChainNode,
/* 78782*/                    OPC_CheckChild1Same, 3,
/* 78784*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78786*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 78788*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78790*/                    OPC_MoveParent,
/* 78791*/                    OPC_MoveParent,
/* 78792*/                    OPC_MoveParent,
/* 78793*/                    OPC_MoveParent,
/* 78794*/                    OPC_CheckType, MVT::i32,
/* 78796*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 78798*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 78808*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 78811*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 78818*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 78824*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78827*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 78835*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78838*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 78846*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78849*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 78858*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 78864*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 78867*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 78875*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 78878*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 78886*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 78889*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 78898*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 78907*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 78910*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 78918*/                  0, /*End of Scope*/
/* 78919*/                0, /*End of Scope*/
/* 78920*/              /*Scope*/ 45|128,6/*813*/, /*->79735*/
/* 78922*/                OPC_CheckChild0Same, 3,
/* 78924*/                OPC_CheckChild1Integer, 1, 
/* 78926*/                OPC_MoveParent,
/* 78927*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78929*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 78931*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78933*/                OPC_MoveParent,
/* 78934*/                OPC_MoveChild1,
/* 78935*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78938*/                OPC_RecordMemRef,
/* 78939*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 78940*/                OPC_CheckFoldableChainNode,
/* 78941*/                OPC_MoveChild1,
/* 78942*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 78945*/                OPC_CheckChild0Same, 1,
/* 78947*/                OPC_CheckChild1Integer, 1, 
/* 78949*/                OPC_CheckType, MVT::i64,
/* 78951*/                OPC_MoveParent,
/* 78952*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78954*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 78956*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78958*/                OPC_MoveParent,
/* 78959*/                OPC_MoveParent,
/* 78960*/                OPC_MoveChild1,
/* 78961*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 78964*/                OPC_MoveChild0,
/* 78965*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 78968*/                OPC_MoveChild0,
/* 78969*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78972*/                OPC_RecordMemRef,
/* 78973*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 78974*/                OPC_CheckFoldableChainNode,
/* 78975*/                OPC_Scope, 121|128,2/*377*/, /*->79355*/ // 2 children in Scope
/* 78978*/                  OPC_CheckChild1Same, 3,
/* 78980*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78982*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 78984*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 78986*/                  OPC_MoveParent,
/* 78987*/                  OPC_MoveChild1,
/* 78988*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 78991*/                  OPC_RecordMemRef,
/* 78992*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 78993*/                  OPC_CheckFoldableChainNode,
/* 78994*/                  OPC_CheckChild1Same, 1,
/* 78996*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 78998*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 79000*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79002*/                  OPC_MoveParent,
/* 79003*/                  OPC_MoveParent,
/* 79004*/                  OPC_MoveChild1,
/* 79005*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 79008*/                  OPC_MoveChild0,
/* 79009*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79012*/                  OPC_RecordMemRef,
/* 79013*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 79014*/                  OPC_CheckFoldableChainNode,
/* 79015*/                  OPC_MoveChild1,
/* 79016*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79019*/                  OPC_CheckType, MVT::i64,
/* 79021*/                  OPC_Scope, 36|128,1/*164*/, /*->79188*/ // 2 children in Scope
/* 79024*/                    OPC_CheckChild0Same, 3,
/* 79026*/                    OPC_CheckChild1Integer, 2, 
/* 79028*/                    OPC_MoveParent,
/* 79029*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79031*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79033*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79035*/                    OPC_MoveParent,
/* 79036*/                    OPC_MoveChild1,
/* 79037*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79040*/                    OPC_RecordMemRef,
/* 79041*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 79042*/                    OPC_CheckFoldableChainNode,
/* 79043*/                    OPC_MoveChild1,
/* 79044*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79047*/                    OPC_CheckChild0Same, 1,
/* 79049*/                    OPC_CheckChild1Integer, 2, 
/* 79051*/                    OPC_CheckType, MVT::i64,
/* 79053*/                    OPC_MoveParent,
/* 79054*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79056*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79058*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79060*/                    OPC_MoveParent,
/* 79061*/                    OPC_MoveParent,
/* 79062*/                    OPC_MoveParent,
/* 79063*/                    OPC_MoveParent,
/* 79064*/                    OPC_CheckType, MVT::i32,
/* 79066*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 79068*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 79078*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 79081*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 79088*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 79094*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79097*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 79105*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79108*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 79116*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79119*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 79128*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 79134*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79137*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 79145*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79148*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 79156*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79159*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 79168*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 79177*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 79180*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 79188*/                  /*Scope*/ 36|128,1/*164*/, /*->79354*/
/* 79190*/                    OPC_CheckChild0Same, 1,
/* 79192*/                    OPC_CheckChild1Integer, 2, 
/* 79194*/                    OPC_MoveParent,
/* 79195*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79197*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79199*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79201*/                    OPC_MoveParent,
/* 79202*/                    OPC_MoveChild1,
/* 79203*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79206*/                    OPC_RecordMemRef,
/* 79207*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 79208*/                    OPC_CheckFoldableChainNode,
/* 79209*/                    OPC_MoveChild1,
/* 79210*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79213*/                    OPC_CheckChild0Same, 3,
/* 79215*/                    OPC_CheckChild1Integer, 2, 
/* 79217*/                    OPC_CheckType, MVT::i64,
/* 79219*/                    OPC_MoveParent,
/* 79220*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79222*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79224*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79226*/                    OPC_MoveParent,
/* 79227*/                    OPC_MoveParent,
/* 79228*/                    OPC_MoveParent,
/* 79229*/                    OPC_MoveParent,
/* 79230*/                    OPC_CheckType, MVT::i32,
/* 79232*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 79234*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 79244*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 79247*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 79254*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 79260*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79263*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 79271*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79274*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 79282*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79285*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 79294*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 79300*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79303*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 79311*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79314*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 79322*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79325*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 79334*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 79343*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 79346*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 79354*/                  0, /*End of Scope*/
/* 79355*/                /*Scope*/ 121|128,2/*377*/, /*->79734*/
/* 79357*/                  OPC_CheckChild1Same, 1,
/* 79359*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79361*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 79363*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79365*/                  OPC_MoveParent,
/* 79366*/                  OPC_MoveChild1,
/* 79367*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79370*/                  OPC_RecordMemRef,
/* 79371*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 79372*/                  OPC_CheckFoldableChainNode,
/* 79373*/                  OPC_CheckChild1Same, 3,
/* 79375*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79377*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 79379*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79381*/                  OPC_MoveParent,
/* 79382*/                  OPC_MoveParent,
/* 79383*/                  OPC_MoveChild1,
/* 79384*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 79387*/                  OPC_MoveChild0,
/* 79388*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79391*/                  OPC_RecordMemRef,
/* 79392*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 79393*/                  OPC_CheckFoldableChainNode,
/* 79394*/                  OPC_MoveChild1,
/* 79395*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79398*/                  OPC_CheckType, MVT::i64,
/* 79400*/                  OPC_Scope, 36|128,1/*164*/, /*->79567*/ // 2 children in Scope
/* 79403*/                    OPC_CheckChild0Same, 3,
/* 79405*/                    OPC_CheckChild1Integer, 2, 
/* 79407*/                    OPC_MoveParent,
/* 79408*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79410*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79412*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79414*/                    OPC_MoveParent,
/* 79415*/                    OPC_MoveChild1,
/* 79416*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79419*/                    OPC_RecordMemRef,
/* 79420*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 79421*/                    OPC_CheckFoldableChainNode,
/* 79422*/                    OPC_MoveChild1,
/* 79423*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79426*/                    OPC_CheckChild0Same, 1,
/* 79428*/                    OPC_CheckChild1Integer, 2, 
/* 79430*/                    OPC_CheckType, MVT::i64,
/* 79432*/                    OPC_MoveParent,
/* 79433*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79435*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79437*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79439*/                    OPC_MoveParent,
/* 79440*/                    OPC_MoveParent,
/* 79441*/                    OPC_MoveParent,
/* 79442*/                    OPC_MoveParent,
/* 79443*/                    OPC_CheckType, MVT::i32,
/* 79445*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 79447*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 79457*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 79460*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 79467*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 79473*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79476*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 79484*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79487*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 79495*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79498*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 79507*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 79513*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79516*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 79524*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79527*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 79535*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79538*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 79547*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 79556*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 79559*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 79567*/                  /*Scope*/ 36|128,1/*164*/, /*->79733*/
/* 79569*/                    OPC_CheckChild0Same, 1,
/* 79571*/                    OPC_CheckChild1Integer, 2, 
/* 79573*/                    OPC_MoveParent,
/* 79574*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79576*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79578*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79580*/                    OPC_MoveParent,
/* 79581*/                    OPC_MoveChild1,
/* 79582*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79585*/                    OPC_RecordMemRef,
/* 79586*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 79587*/                    OPC_CheckFoldableChainNode,
/* 79588*/                    OPC_MoveChild1,
/* 79589*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79592*/                    OPC_CheckChild0Same, 3,
/* 79594*/                    OPC_CheckChild1Integer, 2, 
/* 79596*/                    OPC_CheckType, MVT::i64,
/* 79598*/                    OPC_MoveParent,
/* 79599*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79601*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79603*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79605*/                    OPC_MoveParent,
/* 79606*/                    OPC_MoveParent,
/* 79607*/                    OPC_MoveParent,
/* 79608*/                    OPC_MoveParent,
/* 79609*/                    OPC_CheckType, MVT::i32,
/* 79611*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 79613*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 79623*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 79626*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 79633*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 79639*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79642*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 79650*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79653*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 79661*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79664*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 79673*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 79679*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79682*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 79690*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79693*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 79701*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79704*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 79713*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 79722*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 79725*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 79733*/                  0, /*End of Scope*/
/* 79734*/                0, /*End of Scope*/
/* 79735*/              /*Scope*/ 45|128,6/*813*/, /*->80550*/
/* 79737*/                OPC_CheckChild0Same, 1,
/* 79739*/                OPC_CheckChild1Integer, 1, 
/* 79741*/                OPC_MoveParent,
/* 79742*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79744*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 79746*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79748*/                OPC_MoveParent,
/* 79749*/                OPC_MoveChild1,
/* 79750*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79753*/                OPC_RecordMemRef,
/* 79754*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 79755*/                OPC_CheckFoldableChainNode,
/* 79756*/                OPC_MoveChild1,
/* 79757*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79760*/                OPC_CheckChild0Same, 3,
/* 79762*/                OPC_CheckChild1Integer, 1, 
/* 79764*/                OPC_CheckType, MVT::i64,
/* 79766*/                OPC_MoveParent,
/* 79767*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79769*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 79771*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79773*/                OPC_MoveParent,
/* 79774*/                OPC_MoveParent,
/* 79775*/                OPC_MoveChild1,
/* 79776*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79779*/                OPC_MoveChild0,
/* 79780*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 79783*/                OPC_MoveChild0,
/* 79784*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79787*/                OPC_RecordMemRef,
/* 79788*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 79789*/                OPC_CheckFoldableChainNode,
/* 79790*/                OPC_Scope, 121|128,2/*377*/, /*->80170*/ // 2 children in Scope
/* 79793*/                  OPC_CheckChild1Same, 3,
/* 79795*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79797*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 79799*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79801*/                  OPC_MoveParent,
/* 79802*/                  OPC_MoveChild1,
/* 79803*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79806*/                  OPC_RecordMemRef,
/* 79807*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 79808*/                  OPC_CheckFoldableChainNode,
/* 79809*/                  OPC_CheckChild1Same, 1,
/* 79811*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79813*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 79815*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79817*/                  OPC_MoveParent,
/* 79818*/                  OPC_MoveParent,
/* 79819*/                  OPC_MoveChild1,
/* 79820*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 79823*/                  OPC_MoveChild0,
/* 79824*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79827*/                  OPC_RecordMemRef,
/* 79828*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 79829*/                  OPC_CheckFoldableChainNode,
/* 79830*/                  OPC_MoveChild1,
/* 79831*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79834*/                  OPC_CheckType, MVT::i64,
/* 79836*/                  OPC_Scope, 36|128,1/*164*/, /*->80003*/ // 2 children in Scope
/* 79839*/                    OPC_CheckChild0Same, 3,
/* 79841*/                    OPC_CheckChild1Integer, 2, 
/* 79843*/                    OPC_MoveParent,
/* 79844*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79846*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79848*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79850*/                    OPC_MoveParent,
/* 79851*/                    OPC_MoveChild1,
/* 79852*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 79855*/                    OPC_RecordMemRef,
/* 79856*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 79857*/                    OPC_CheckFoldableChainNode,
/* 79858*/                    OPC_MoveChild1,
/* 79859*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 79862*/                    OPC_CheckChild0Same, 1,
/* 79864*/                    OPC_CheckChild1Integer, 2, 
/* 79866*/                    OPC_CheckType, MVT::i64,
/* 79868*/                    OPC_MoveParent,
/* 79869*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 79871*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 79873*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 79875*/                    OPC_MoveParent,
/* 79876*/                    OPC_MoveParent,
/* 79877*/                    OPC_MoveParent,
/* 79878*/                    OPC_MoveParent,
/* 79879*/                    OPC_CheckType, MVT::i32,
/* 79881*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 79883*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 79893*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 79896*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 79903*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 79909*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79912*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 79920*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79923*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 79931*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79934*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 79943*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 79949*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 79952*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 79960*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 79963*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 79971*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 79974*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 79983*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 79992*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 79995*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 80003*/                  /*Scope*/ 36|128,1/*164*/, /*->80169*/
/* 80005*/                    OPC_CheckChild0Same, 1,
/* 80007*/                    OPC_CheckChild1Integer, 2, 
/* 80009*/                    OPC_MoveParent,
/* 80010*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80012*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80014*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80016*/                    OPC_MoveParent,
/* 80017*/                    OPC_MoveChild1,
/* 80018*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80021*/                    OPC_RecordMemRef,
/* 80022*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 80023*/                    OPC_CheckFoldableChainNode,
/* 80024*/                    OPC_MoveChild1,
/* 80025*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80028*/                    OPC_CheckChild0Same, 3,
/* 80030*/                    OPC_CheckChild1Integer, 2, 
/* 80032*/                    OPC_CheckType, MVT::i64,
/* 80034*/                    OPC_MoveParent,
/* 80035*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80037*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80039*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80041*/                    OPC_MoveParent,
/* 80042*/                    OPC_MoveParent,
/* 80043*/                    OPC_MoveParent,
/* 80044*/                    OPC_MoveParent,
/* 80045*/                    OPC_CheckType, MVT::i32,
/* 80047*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 80049*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 80059*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 80062*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 80069*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 80075*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80078*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 80086*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80089*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 80097*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80100*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 80109*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 80115*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80118*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 80126*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80129*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 80137*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80140*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 80149*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 80158*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 80161*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 80169*/                  0, /*End of Scope*/
/* 80170*/                /*Scope*/ 121|128,2/*377*/, /*->80549*/
/* 80172*/                  OPC_CheckChild1Same, 1,
/* 80174*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80176*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 80178*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80180*/                  OPC_MoveParent,
/* 80181*/                  OPC_MoveChild1,
/* 80182*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80185*/                  OPC_RecordMemRef,
/* 80186*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 80187*/                  OPC_CheckFoldableChainNode,
/* 80188*/                  OPC_CheckChild1Same, 3,
/* 80190*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80192*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 80194*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80196*/                  OPC_MoveParent,
/* 80197*/                  OPC_MoveParent,
/* 80198*/                  OPC_MoveChild1,
/* 80199*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 80202*/                  OPC_MoveChild0,
/* 80203*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80206*/                  OPC_RecordMemRef,
/* 80207*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 80208*/                  OPC_CheckFoldableChainNode,
/* 80209*/                  OPC_MoveChild1,
/* 80210*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80213*/                  OPC_CheckType, MVT::i64,
/* 80215*/                  OPC_Scope, 36|128,1/*164*/, /*->80382*/ // 2 children in Scope
/* 80218*/                    OPC_CheckChild0Same, 3,
/* 80220*/                    OPC_CheckChild1Integer, 2, 
/* 80222*/                    OPC_MoveParent,
/* 80223*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80225*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80227*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80229*/                    OPC_MoveParent,
/* 80230*/                    OPC_MoveChild1,
/* 80231*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80234*/                    OPC_RecordMemRef,
/* 80235*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 80236*/                    OPC_CheckFoldableChainNode,
/* 80237*/                    OPC_MoveChild1,
/* 80238*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80241*/                    OPC_CheckChild0Same, 1,
/* 80243*/                    OPC_CheckChild1Integer, 2, 
/* 80245*/                    OPC_CheckType, MVT::i64,
/* 80247*/                    OPC_MoveParent,
/* 80248*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80250*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80252*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80254*/                    OPC_MoveParent,
/* 80255*/                    OPC_MoveParent,
/* 80256*/                    OPC_MoveParent,
/* 80257*/                    OPC_MoveParent,
/* 80258*/                    OPC_CheckType, MVT::i32,
/* 80260*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 80262*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 80272*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 80275*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 80282*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 80288*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80291*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 80299*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80302*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 80310*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80313*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 80322*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 80328*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80331*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 80339*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80342*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 80350*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80353*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 80362*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 80371*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 80374*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 80382*/                  /*Scope*/ 36|128,1/*164*/, /*->80548*/
/* 80384*/                    OPC_CheckChild0Same, 1,
/* 80386*/                    OPC_CheckChild1Integer, 2, 
/* 80388*/                    OPC_MoveParent,
/* 80389*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80391*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80393*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80395*/                    OPC_MoveParent,
/* 80396*/                    OPC_MoveChild1,
/* 80397*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80400*/                    OPC_RecordMemRef,
/* 80401*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 80402*/                    OPC_CheckFoldableChainNode,
/* 80403*/                    OPC_MoveChild1,
/* 80404*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80407*/                    OPC_CheckChild0Same, 3,
/* 80409*/                    OPC_CheckChild1Integer, 2, 
/* 80411*/                    OPC_CheckType, MVT::i64,
/* 80413*/                    OPC_MoveParent,
/* 80414*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80416*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80418*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80420*/                    OPC_MoveParent,
/* 80421*/                    OPC_MoveParent,
/* 80422*/                    OPC_MoveParent,
/* 80423*/                    OPC_MoveParent,
/* 80424*/                    OPC_CheckType, MVT::i32,
/* 80426*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 80428*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 80438*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 80441*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 80448*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 80454*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80457*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 80465*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80468*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 80476*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80479*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 80488*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 80494*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80497*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 80505*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80508*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 80516*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80519*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 80528*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 80537*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 80540*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 80548*/                  0, /*End of Scope*/
/* 80549*/                0, /*End of Scope*/
/* 80550*/              /*Scope*/ 15|128,6/*783*/, /*->81335*/
/* 80552*/                OPC_CheckChild0Same, 3,
/* 80554*/                OPC_CheckChild1Integer, 2, 
/* 80556*/                OPC_MoveParent,
/* 80557*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80559*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 80561*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80563*/                OPC_MoveParent,
/* 80564*/                OPC_MoveChild1,
/* 80565*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80568*/                OPC_RecordMemRef,
/* 80569*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 80570*/                OPC_CheckFoldableChainNode,
/* 80571*/                OPC_MoveChild1,
/* 80572*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80575*/                OPC_CheckChild0Same, 1,
/* 80577*/                OPC_CheckChild1Integer, 2, 
/* 80579*/                OPC_CheckType, MVT::i64,
/* 80581*/                OPC_MoveParent,
/* 80582*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80584*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 80586*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80588*/                OPC_MoveParent,
/* 80589*/                OPC_MoveParent,
/* 80590*/                OPC_MoveChild1,
/* 80591*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80594*/                OPC_MoveChild0,
/* 80595*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 80598*/                OPC_MoveChild0,
/* 80599*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80602*/                OPC_RecordMemRef,
/* 80603*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 80604*/                OPC_CheckFoldableChainNode,
/* 80605*/                OPC_MoveChild1,
/* 80606*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80609*/                OPC_CheckType, MVT::i64,
/* 80611*/                OPC_Scope, 103|128,2/*359*/, /*->80973*/ // 2 children in Scope
/* 80614*/                  OPC_CheckChild0Same, 3,
/* 80616*/                  OPC_CheckChild1Integer, 1, 
/* 80618*/                  OPC_MoveParent,
/* 80619*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80621*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 80623*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80625*/                  OPC_MoveParent,
/* 80626*/                  OPC_MoveChild1,
/* 80627*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80630*/                  OPC_RecordMemRef,
/* 80631*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 80632*/                  OPC_CheckFoldableChainNode,
/* 80633*/                  OPC_MoveChild1,
/* 80634*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80637*/                  OPC_CheckChild0Same, 1,
/* 80639*/                  OPC_CheckChild1Integer, 1, 
/* 80641*/                  OPC_CheckType, MVT::i64,
/* 80643*/                  OPC_MoveParent,
/* 80644*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80646*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 80648*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80650*/                  OPC_MoveParent,
/* 80651*/                  OPC_MoveParent,
/* 80652*/                  OPC_MoveChild1,
/* 80653*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 80656*/                  OPC_MoveChild0,
/* 80657*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80660*/                  OPC_RecordMemRef,
/* 80661*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 80662*/                  OPC_CheckFoldableChainNode,
/* 80663*/                  OPC_Scope, 24|128,1/*152*/, /*->80818*/ // 2 children in Scope
/* 80666*/                    OPC_CheckChild1Same, 3,
/* 80668*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80670*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80672*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80674*/                    OPC_MoveParent,
/* 80675*/                    OPC_MoveChild1,
/* 80676*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80679*/                    OPC_RecordMemRef,
/* 80680*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 80681*/                    OPC_CheckFoldableChainNode,
/* 80682*/                    OPC_CheckChild1Same, 1,
/* 80684*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80686*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80688*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80690*/                    OPC_MoveParent,
/* 80691*/                    OPC_MoveParent,
/* 80692*/                    OPC_MoveParent,
/* 80693*/                    OPC_MoveParent,
/* 80694*/                    OPC_CheckType, MVT::i32,
/* 80696*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 80698*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 80708*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 80711*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 80718*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 80724*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80727*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 80735*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80738*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 80746*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80749*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 80758*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 80764*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80767*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 80775*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80778*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 80786*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80789*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 80798*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 80807*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 80810*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 80818*/                  /*Scope*/ 24|128,1/*152*/, /*->80972*/
/* 80820*/                    OPC_CheckChild1Same, 1,
/* 80822*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80824*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80826*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80828*/                    OPC_MoveParent,
/* 80829*/                    OPC_MoveChild1,
/* 80830*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80833*/                    OPC_RecordMemRef,
/* 80834*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 80835*/                    OPC_CheckFoldableChainNode,
/* 80836*/                    OPC_CheckChild1Same, 3,
/* 80838*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80840*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 80842*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80844*/                    OPC_MoveParent,
/* 80845*/                    OPC_MoveParent,
/* 80846*/                    OPC_MoveParent,
/* 80847*/                    OPC_MoveParent,
/* 80848*/                    OPC_CheckType, MVT::i32,
/* 80850*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 80852*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 80862*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 80865*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 80872*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 80878*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80881*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 80889*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80892*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 80900*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80903*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 80912*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 80918*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 80921*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 80929*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 80932*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 80940*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 80943*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 80952*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 80961*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 80964*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 80972*/                  0, /*End of Scope*/
/* 80973*/                /*Scope*/ 103|128,2/*359*/, /*->81334*/
/* 80975*/                  OPC_CheckChild0Same, 1,
/* 80977*/                  OPC_CheckChild1Integer, 1, 
/* 80979*/                  OPC_MoveParent,
/* 80980*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 80982*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 80984*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 80986*/                  OPC_MoveParent,
/* 80987*/                  OPC_MoveChild1,
/* 80988*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 80991*/                  OPC_RecordMemRef,
/* 80992*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 80993*/                  OPC_CheckFoldableChainNode,
/* 80994*/                  OPC_MoveChild1,
/* 80995*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 80998*/                  OPC_CheckChild0Same, 3,
/* 81000*/                  OPC_CheckChild1Integer, 1, 
/* 81002*/                  OPC_CheckType, MVT::i64,
/* 81004*/                  OPC_MoveParent,
/* 81005*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81007*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 81009*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81011*/                  OPC_MoveParent,
/* 81012*/                  OPC_MoveParent,
/* 81013*/                  OPC_MoveChild1,
/* 81014*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 81017*/                  OPC_MoveChild0,
/* 81018*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81021*/                  OPC_RecordMemRef,
/* 81022*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 81023*/                  OPC_CheckFoldableChainNode,
/* 81024*/                  OPC_Scope, 24|128,1/*152*/, /*->81179*/ // 2 children in Scope
/* 81027*/                    OPC_CheckChild1Same, 3,
/* 81029*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81031*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81033*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81035*/                    OPC_MoveParent,
/* 81036*/                    OPC_MoveChild1,
/* 81037*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81040*/                    OPC_RecordMemRef,
/* 81041*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 81042*/                    OPC_CheckFoldableChainNode,
/* 81043*/                    OPC_CheckChild1Same, 1,
/* 81045*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81047*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81049*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81051*/                    OPC_MoveParent,
/* 81052*/                    OPC_MoveParent,
/* 81053*/                    OPC_MoveParent,
/* 81054*/                    OPC_MoveParent,
/* 81055*/                    OPC_CheckType, MVT::i32,
/* 81057*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 81059*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 81069*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 81072*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 81079*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 81085*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81088*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 81096*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81099*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 81107*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81110*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 81119*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 81125*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81128*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 81136*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81139*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 81147*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81150*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 81159*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 81168*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 81171*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 81179*/                  /*Scope*/ 24|128,1/*152*/, /*->81333*/
/* 81181*/                    OPC_CheckChild1Same, 1,
/* 81183*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81185*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81187*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81189*/                    OPC_MoveParent,
/* 81190*/                    OPC_MoveChild1,
/* 81191*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81194*/                    OPC_RecordMemRef,
/* 81195*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 81196*/                    OPC_CheckFoldableChainNode,
/* 81197*/                    OPC_CheckChild1Same, 3,
/* 81199*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81201*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81203*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81205*/                    OPC_MoveParent,
/* 81206*/                    OPC_MoveParent,
/* 81207*/                    OPC_MoveParent,
/* 81208*/                    OPC_MoveParent,
/* 81209*/                    OPC_CheckType, MVT::i32,
/* 81211*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 81213*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 81223*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 81226*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 81233*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 81239*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81242*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 81250*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81253*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 81261*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81264*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 81273*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 81279*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81282*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 81290*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81293*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 81301*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81304*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 81313*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 81322*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 81325*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 81333*/                  0, /*End of Scope*/
/* 81334*/                0, /*End of Scope*/
/* 81335*/              /*Scope*/ 15|128,6/*783*/, /*->82120*/
/* 81337*/                OPC_CheckChild0Same, 1,
/* 81339*/                OPC_CheckChild1Integer, 2, 
/* 81341*/                OPC_MoveParent,
/* 81342*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81344*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 81346*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81348*/                OPC_MoveParent,
/* 81349*/                OPC_MoveChild1,
/* 81350*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81353*/                OPC_RecordMemRef,
/* 81354*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 81355*/                OPC_CheckFoldableChainNode,
/* 81356*/                OPC_MoveChild1,
/* 81357*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 81360*/                OPC_CheckChild0Same, 3,
/* 81362*/                OPC_CheckChild1Integer, 2, 
/* 81364*/                OPC_CheckType, MVT::i64,
/* 81366*/                OPC_MoveParent,
/* 81367*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81369*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 81371*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81373*/                OPC_MoveParent,
/* 81374*/                OPC_MoveParent,
/* 81375*/                OPC_MoveChild1,
/* 81376*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 81379*/                OPC_MoveChild0,
/* 81380*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 81383*/                OPC_MoveChild0,
/* 81384*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81387*/                OPC_RecordMemRef,
/* 81388*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 81389*/                OPC_CheckFoldableChainNode,
/* 81390*/                OPC_MoveChild1,
/* 81391*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 81394*/                OPC_CheckType, MVT::i64,
/* 81396*/                OPC_Scope, 103|128,2/*359*/, /*->81758*/ // 2 children in Scope
/* 81399*/                  OPC_CheckChild0Same, 3,
/* 81401*/                  OPC_CheckChild1Integer, 1, 
/* 81403*/                  OPC_MoveParent,
/* 81404*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81406*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 81408*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81410*/                  OPC_MoveParent,
/* 81411*/                  OPC_MoveChild1,
/* 81412*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81415*/                  OPC_RecordMemRef,
/* 81416*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 81417*/                  OPC_CheckFoldableChainNode,
/* 81418*/                  OPC_MoveChild1,
/* 81419*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 81422*/                  OPC_CheckChild0Same, 1,
/* 81424*/                  OPC_CheckChild1Integer, 1, 
/* 81426*/                  OPC_CheckType, MVT::i64,
/* 81428*/                  OPC_MoveParent,
/* 81429*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81431*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 81433*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81435*/                  OPC_MoveParent,
/* 81436*/                  OPC_MoveParent,
/* 81437*/                  OPC_MoveChild1,
/* 81438*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 81441*/                  OPC_MoveChild0,
/* 81442*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81445*/                  OPC_RecordMemRef,
/* 81446*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 81447*/                  OPC_CheckFoldableChainNode,
/* 81448*/                  OPC_Scope, 24|128,1/*152*/, /*->81603*/ // 2 children in Scope
/* 81451*/                    OPC_CheckChild1Same, 3,
/* 81453*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81455*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81457*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81459*/                    OPC_MoveParent,
/* 81460*/                    OPC_MoveChild1,
/* 81461*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81464*/                    OPC_RecordMemRef,
/* 81465*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 81466*/                    OPC_CheckFoldableChainNode,
/* 81467*/                    OPC_CheckChild1Same, 1,
/* 81469*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81471*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81473*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81475*/                    OPC_MoveParent,
/* 81476*/                    OPC_MoveParent,
/* 81477*/                    OPC_MoveParent,
/* 81478*/                    OPC_MoveParent,
/* 81479*/                    OPC_CheckType, MVT::i32,
/* 81481*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 81483*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 81493*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 81496*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 81503*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 81509*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81512*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 81520*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81523*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 81531*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81534*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 81543*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 81549*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81552*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 81560*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81563*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 81571*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81574*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 81583*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 81592*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 81595*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 81603*/                  /*Scope*/ 24|128,1/*152*/, /*->81757*/
/* 81605*/                    OPC_CheckChild1Same, 1,
/* 81607*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81609*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81611*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81613*/                    OPC_MoveParent,
/* 81614*/                    OPC_MoveChild1,
/* 81615*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81618*/                    OPC_RecordMemRef,
/* 81619*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 81620*/                    OPC_CheckFoldableChainNode,
/* 81621*/                    OPC_CheckChild1Same, 3,
/* 81623*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81625*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81627*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81629*/                    OPC_MoveParent,
/* 81630*/                    OPC_MoveParent,
/* 81631*/                    OPC_MoveParent,
/* 81632*/                    OPC_MoveParent,
/* 81633*/                    OPC_CheckType, MVT::i32,
/* 81635*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 81637*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 81647*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 81650*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 81657*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 81663*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81666*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 81674*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81677*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 81685*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81688*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 81697*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 81703*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81706*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 81714*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81717*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 81725*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81728*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 81737*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 81746*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 81749*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 81757*/                  0, /*End of Scope*/
/* 81758*/                /*Scope*/ 103|128,2/*359*/, /*->82119*/
/* 81760*/                  OPC_CheckChild0Same, 1,
/* 81762*/                  OPC_CheckChild1Integer, 1, 
/* 81764*/                  OPC_MoveParent,
/* 81765*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81767*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 81769*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81771*/                  OPC_MoveParent,
/* 81772*/                  OPC_MoveChild1,
/* 81773*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81776*/                  OPC_RecordMemRef,
/* 81777*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 81778*/                  OPC_CheckFoldableChainNode,
/* 81779*/                  OPC_MoveChild1,
/* 81780*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 81783*/                  OPC_CheckChild0Same, 3,
/* 81785*/                  OPC_CheckChild1Integer, 1, 
/* 81787*/                  OPC_CheckType, MVT::i64,
/* 81789*/                  OPC_MoveParent,
/* 81790*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81792*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 81794*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81796*/                  OPC_MoveParent,
/* 81797*/                  OPC_MoveParent,
/* 81798*/                  OPC_MoveChild1,
/* 81799*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 81802*/                  OPC_MoveChild0,
/* 81803*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81806*/                  OPC_RecordMemRef,
/* 81807*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 81808*/                  OPC_CheckFoldableChainNode,
/* 81809*/                  OPC_Scope, 24|128,1/*152*/, /*->81964*/ // 2 children in Scope
/* 81812*/                    OPC_CheckChild1Same, 3,
/* 81814*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81816*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81818*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81820*/                    OPC_MoveParent,
/* 81821*/                    OPC_MoveChild1,
/* 81822*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81825*/                    OPC_RecordMemRef,
/* 81826*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 81827*/                    OPC_CheckFoldableChainNode,
/* 81828*/                    OPC_CheckChild1Same, 1,
/* 81830*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81832*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81834*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81836*/                    OPC_MoveParent,
/* 81837*/                    OPC_MoveParent,
/* 81838*/                    OPC_MoveParent,
/* 81839*/                    OPC_MoveParent,
/* 81840*/                    OPC_CheckType, MVT::i32,
/* 81842*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 81844*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 81854*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 81857*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 81864*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 81870*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81873*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 81881*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81884*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 81892*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81895*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 81904*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 81910*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 81913*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 81921*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 81924*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 81932*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 81935*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 81944*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 81953*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 81956*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 81964*/                  /*Scope*/ 24|128,1/*152*/, /*->82118*/
/* 81966*/                    OPC_CheckChild1Same, 1,
/* 81968*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81970*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81972*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81974*/                    OPC_MoveParent,
/* 81975*/                    OPC_MoveChild1,
/* 81976*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 81979*/                    OPC_RecordMemRef,
/* 81980*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 81981*/                    OPC_CheckFoldableChainNode,
/* 81982*/                    OPC_CheckChild1Same, 3,
/* 81984*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 81986*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 81988*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 81990*/                    OPC_MoveParent,
/* 81991*/                    OPC_MoveParent,
/* 81992*/                    OPC_MoveParent,
/* 81993*/                    OPC_MoveParent,
/* 81994*/                    OPC_CheckType, MVT::i32,
/* 81996*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 81998*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 82008*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 82011*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 82018*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 82024*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82027*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 82035*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82038*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 82046*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82049*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 82058*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 82064*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82067*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 82075*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82078*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 82086*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82089*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 82098*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 82107*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 82110*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 82118*/                  0, /*End of Scope*/
/* 82119*/                0, /*End of Scope*/
/* 82120*/              /*Scope*/ 45|128,6/*813*/, /*->82935*/
/* 82122*/                OPC_CheckChild0Same, 3,
/* 82124*/                OPC_CheckChild1Integer, 2, 
/* 82126*/                OPC_MoveParent,
/* 82127*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82129*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 82131*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82133*/                OPC_MoveParent,
/* 82134*/                OPC_MoveChild1,
/* 82135*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82138*/                OPC_RecordMemRef,
/* 82139*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 82140*/                OPC_CheckFoldableChainNode,
/* 82141*/                OPC_MoveChild1,
/* 82142*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82145*/                OPC_CheckChild0Same, 1,
/* 82147*/                OPC_CheckChild1Integer, 2, 
/* 82149*/                OPC_CheckType, MVT::i64,
/* 82151*/                OPC_MoveParent,
/* 82152*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82154*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 82156*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82158*/                OPC_MoveParent,
/* 82159*/                OPC_MoveParent,
/* 82160*/                OPC_MoveChild1,
/* 82161*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82164*/                OPC_MoveChild0,
/* 82165*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 82168*/                OPC_MoveChild0,
/* 82169*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82172*/                OPC_RecordMemRef,
/* 82173*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 82174*/                OPC_CheckFoldableChainNode,
/* 82175*/                OPC_Scope, 121|128,2/*377*/, /*->82555*/ // 2 children in Scope
/* 82178*/                  OPC_CheckChild1Same, 3,
/* 82180*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82182*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 82184*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82186*/                  OPC_MoveParent,
/* 82187*/                  OPC_MoveChild1,
/* 82188*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82191*/                  OPC_RecordMemRef,
/* 82192*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 82193*/                  OPC_CheckFoldableChainNode,
/* 82194*/                  OPC_CheckChild1Same, 1,
/* 82196*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82198*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 82200*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82202*/                  OPC_MoveParent,
/* 82203*/                  OPC_MoveParent,
/* 82204*/                  OPC_MoveChild1,
/* 82205*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 82208*/                  OPC_MoveChild0,
/* 82209*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82212*/                  OPC_RecordMemRef,
/* 82213*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 82214*/                  OPC_CheckFoldableChainNode,
/* 82215*/                  OPC_MoveChild1,
/* 82216*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82219*/                  OPC_CheckType, MVT::i64,
/* 82221*/                  OPC_Scope, 36|128,1/*164*/, /*->82388*/ // 2 children in Scope
/* 82224*/                    OPC_CheckChild0Same, 3,
/* 82226*/                    OPC_CheckChild1Integer, 1, 
/* 82228*/                    OPC_MoveParent,
/* 82229*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82231*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 82233*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82235*/                    OPC_MoveParent,
/* 82236*/                    OPC_MoveChild1,
/* 82237*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82240*/                    OPC_RecordMemRef,
/* 82241*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 82242*/                    OPC_CheckFoldableChainNode,
/* 82243*/                    OPC_MoveChild1,
/* 82244*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82247*/                    OPC_CheckChild0Same, 1,
/* 82249*/                    OPC_CheckChild1Integer, 1, 
/* 82251*/                    OPC_CheckType, MVT::i64,
/* 82253*/                    OPC_MoveParent,
/* 82254*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82256*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 82258*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82260*/                    OPC_MoveParent,
/* 82261*/                    OPC_MoveParent,
/* 82262*/                    OPC_MoveParent,
/* 82263*/                    OPC_MoveParent,
/* 82264*/                    OPC_CheckType, MVT::i32,
/* 82266*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 82268*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 82278*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 82281*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 82288*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 82294*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82297*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 82305*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82308*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 82316*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82319*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 82328*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 82334*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82337*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 82345*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82348*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 82356*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82359*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 82368*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 82377*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 82380*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 82388*/                  /*Scope*/ 36|128,1/*164*/, /*->82554*/
/* 82390*/                    OPC_CheckChild0Same, 1,
/* 82392*/                    OPC_CheckChild1Integer, 1, 
/* 82394*/                    OPC_MoveParent,
/* 82395*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82397*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 82399*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82401*/                    OPC_MoveParent,
/* 82402*/                    OPC_MoveChild1,
/* 82403*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82406*/                    OPC_RecordMemRef,
/* 82407*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 82408*/                    OPC_CheckFoldableChainNode,
/* 82409*/                    OPC_MoveChild1,
/* 82410*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82413*/                    OPC_CheckChild0Same, 3,
/* 82415*/                    OPC_CheckChild1Integer, 1, 
/* 82417*/                    OPC_CheckType, MVT::i64,
/* 82419*/                    OPC_MoveParent,
/* 82420*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82422*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 82424*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82426*/                    OPC_MoveParent,
/* 82427*/                    OPC_MoveParent,
/* 82428*/                    OPC_MoveParent,
/* 82429*/                    OPC_MoveParent,
/* 82430*/                    OPC_CheckType, MVT::i32,
/* 82432*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 82434*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 82444*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 82447*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 82454*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 82460*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82463*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 82471*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82474*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 82482*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82485*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 82494*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 82500*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82503*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 82511*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82514*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 82522*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82525*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 82534*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 82543*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 82546*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 82554*/                  0, /*End of Scope*/
/* 82555*/                /*Scope*/ 121|128,2/*377*/, /*->82934*/
/* 82557*/                  OPC_CheckChild1Same, 1,
/* 82559*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82561*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 82563*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82565*/                  OPC_MoveParent,
/* 82566*/                  OPC_MoveChild1,
/* 82567*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82570*/                  OPC_RecordMemRef,
/* 82571*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 82572*/                  OPC_CheckFoldableChainNode,
/* 82573*/                  OPC_CheckChild1Same, 3,
/* 82575*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82577*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 82579*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82581*/                  OPC_MoveParent,
/* 82582*/                  OPC_MoveParent,
/* 82583*/                  OPC_MoveChild1,
/* 82584*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 82587*/                  OPC_MoveChild0,
/* 82588*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82591*/                  OPC_RecordMemRef,
/* 82592*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 82593*/                  OPC_CheckFoldableChainNode,
/* 82594*/                  OPC_MoveChild1,
/* 82595*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82598*/                  OPC_CheckType, MVT::i64,
/* 82600*/                  OPC_Scope, 36|128,1/*164*/, /*->82767*/ // 2 children in Scope
/* 82603*/                    OPC_CheckChild0Same, 3,
/* 82605*/                    OPC_CheckChild1Integer, 1, 
/* 82607*/                    OPC_MoveParent,
/* 82608*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82610*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 82612*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82614*/                    OPC_MoveParent,
/* 82615*/                    OPC_MoveChild1,
/* 82616*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82619*/                    OPC_RecordMemRef,
/* 82620*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 82621*/                    OPC_CheckFoldableChainNode,
/* 82622*/                    OPC_MoveChild1,
/* 82623*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82626*/                    OPC_CheckChild0Same, 1,
/* 82628*/                    OPC_CheckChild1Integer, 1, 
/* 82630*/                    OPC_CheckType, MVT::i64,
/* 82632*/                    OPC_MoveParent,
/* 82633*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82635*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 82637*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82639*/                    OPC_MoveParent,
/* 82640*/                    OPC_MoveParent,
/* 82641*/                    OPC_MoveParent,
/* 82642*/                    OPC_MoveParent,
/* 82643*/                    OPC_CheckType, MVT::i32,
/* 82645*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 82647*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 82657*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 82660*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 82667*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 82673*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82676*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 82684*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82687*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 82695*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82698*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 82707*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 82713*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82716*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 82724*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82727*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 82735*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82738*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 82747*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 82756*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 82759*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 82767*/                  /*Scope*/ 36|128,1/*164*/, /*->82933*/
/* 82769*/                    OPC_CheckChild0Same, 1,
/* 82771*/                    OPC_CheckChild1Integer, 1, 
/* 82773*/                    OPC_MoveParent,
/* 82774*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82776*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 82778*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82780*/                    OPC_MoveParent,
/* 82781*/                    OPC_MoveChild1,
/* 82782*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82785*/                    OPC_RecordMemRef,
/* 82786*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 82787*/                    OPC_CheckFoldableChainNode,
/* 82788*/                    OPC_MoveChild1,
/* 82789*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82792*/                    OPC_CheckChild0Same, 3,
/* 82794*/                    OPC_CheckChild1Integer, 1, 
/* 82796*/                    OPC_CheckType, MVT::i64,
/* 82798*/                    OPC_MoveParent,
/* 82799*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82801*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 82803*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82805*/                    OPC_MoveParent,
/* 82806*/                    OPC_MoveParent,
/* 82807*/                    OPC_MoveParent,
/* 82808*/                    OPC_MoveParent,
/* 82809*/                    OPC_CheckType, MVT::i32,
/* 82811*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 82813*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 82823*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 82826*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 82833*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 82839*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82842*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 82850*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82853*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 82861*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82864*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 82873*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 82879*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 82882*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 82890*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 82893*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 82901*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 82904*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 82913*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 82922*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 82925*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 82933*/                  0, /*End of Scope*/
/* 82934*/                0, /*End of Scope*/
/* 82935*/              /*Scope*/ 45|128,6/*813*/, /*->83750*/
/* 82937*/                OPC_CheckChild0Same, 1,
/* 82939*/                OPC_CheckChild1Integer, 2, 
/* 82941*/                OPC_MoveParent,
/* 82942*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82944*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 82946*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82948*/                OPC_MoveParent,
/* 82949*/                OPC_MoveChild1,
/* 82950*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82953*/                OPC_RecordMemRef,
/* 82954*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 82955*/                OPC_CheckFoldableChainNode,
/* 82956*/                OPC_MoveChild1,
/* 82957*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82960*/                OPC_CheckChild0Same, 3,
/* 82962*/                OPC_CheckChild1Integer, 2, 
/* 82964*/                OPC_CheckType, MVT::i64,
/* 82966*/                OPC_MoveParent,
/* 82967*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82969*/                OPC_CheckPredicate, 7, // Predicate_zextload
/* 82971*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 82973*/                OPC_MoveParent,
/* 82974*/                OPC_MoveParent,
/* 82975*/                OPC_MoveChild1,
/* 82976*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 82979*/                OPC_MoveChild0,
/* 82980*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 82983*/                OPC_MoveChild0,
/* 82984*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 82987*/                OPC_RecordMemRef,
/* 82988*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 82989*/                OPC_CheckFoldableChainNode,
/* 82990*/                OPC_Scope, 121|128,2/*377*/, /*->83370*/ // 2 children in Scope
/* 82993*/                  OPC_CheckChild1Same, 3,
/* 82995*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 82997*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 82999*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83001*/                  OPC_MoveParent,
/* 83002*/                  OPC_MoveChild1,
/* 83003*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83006*/                  OPC_RecordMemRef,
/* 83007*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 83008*/                  OPC_CheckFoldableChainNode,
/* 83009*/                  OPC_CheckChild1Same, 1,
/* 83011*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83013*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 83015*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83017*/                  OPC_MoveParent,
/* 83018*/                  OPC_MoveParent,
/* 83019*/                  OPC_MoveChild1,
/* 83020*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 83023*/                  OPC_MoveChild0,
/* 83024*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83027*/                  OPC_RecordMemRef,
/* 83028*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 83029*/                  OPC_CheckFoldableChainNode,
/* 83030*/                  OPC_MoveChild1,
/* 83031*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83034*/                  OPC_CheckType, MVT::i64,
/* 83036*/                  OPC_Scope, 36|128,1/*164*/, /*->83203*/ // 2 children in Scope
/* 83039*/                    OPC_CheckChild0Same, 3,
/* 83041*/                    OPC_CheckChild1Integer, 1, 
/* 83043*/                    OPC_MoveParent,
/* 83044*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83046*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 83048*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83050*/                    OPC_MoveParent,
/* 83051*/                    OPC_MoveChild1,
/* 83052*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83055*/                    OPC_RecordMemRef,
/* 83056*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 83057*/                    OPC_CheckFoldableChainNode,
/* 83058*/                    OPC_MoveChild1,
/* 83059*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83062*/                    OPC_CheckChild0Same, 1,
/* 83064*/                    OPC_CheckChild1Integer, 1, 
/* 83066*/                    OPC_CheckType, MVT::i64,
/* 83068*/                    OPC_MoveParent,
/* 83069*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83071*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 83073*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83075*/                    OPC_MoveParent,
/* 83076*/                    OPC_MoveParent,
/* 83077*/                    OPC_MoveParent,
/* 83078*/                    OPC_MoveParent,
/* 83079*/                    OPC_CheckType, MVT::i32,
/* 83081*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 83083*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 83093*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 83096*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 83103*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 83109*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 83112*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 83120*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 83123*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 83131*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 83134*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 83143*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 83149*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 83152*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 83160*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 83163*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 83171*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 83174*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 83183*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 83192*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 83195*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 83203*/                  /*Scope*/ 36|128,1/*164*/, /*->83369*/
/* 83205*/                    OPC_CheckChild0Same, 1,
/* 83207*/                    OPC_CheckChild1Integer, 1, 
/* 83209*/                    OPC_MoveParent,
/* 83210*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83212*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 83214*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83216*/                    OPC_MoveParent,
/* 83217*/                    OPC_MoveChild1,
/* 83218*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83221*/                    OPC_RecordMemRef,
/* 83222*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 83223*/                    OPC_CheckFoldableChainNode,
/* 83224*/                    OPC_MoveChild1,
/* 83225*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83228*/                    OPC_CheckChild0Same, 3,
/* 83230*/                    OPC_CheckChild1Integer, 1, 
/* 83232*/                    OPC_CheckType, MVT::i64,
/* 83234*/                    OPC_MoveParent,
/* 83235*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83237*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 83239*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83241*/                    OPC_MoveParent,
/* 83242*/                    OPC_MoveParent,
/* 83243*/                    OPC_MoveParent,
/* 83244*/                    OPC_MoveParent,
/* 83245*/                    OPC_CheckType, MVT::i32,
/* 83247*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 83249*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 83259*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 83262*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 83269*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 83275*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 83278*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 83286*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 83289*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 83297*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 83300*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 83309*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 83315*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 83318*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 83326*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 83329*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 83337*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 83340*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 83349*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 83358*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 83361*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 83369*/                  0, /*End of Scope*/
/* 83370*/                /*Scope*/ 121|128,2/*377*/, /*->83749*/
/* 83372*/                  OPC_CheckChild1Same, 1,
/* 83374*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83376*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 83378*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83380*/                  OPC_MoveParent,
/* 83381*/                  OPC_MoveChild1,
/* 83382*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83385*/                  OPC_RecordMemRef,
/* 83386*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 83387*/                  OPC_CheckFoldableChainNode,
/* 83388*/                  OPC_CheckChild1Same, 3,
/* 83390*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83392*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/* 83394*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83396*/                  OPC_MoveParent,
/* 83397*/                  OPC_MoveParent,
/* 83398*/                  OPC_MoveChild1,
/* 83399*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 83402*/                  OPC_MoveChild0,
/* 83403*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83406*/                  OPC_RecordMemRef,
/* 83407*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 83408*/                  OPC_CheckFoldableChainNode,
/* 83409*/                  OPC_MoveChild1,
/* 83410*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83413*/                  OPC_CheckType, MVT::i64,
/* 83415*/                  OPC_Scope, 36|128,1/*164*/, /*->83582*/ // 2 children in Scope
/* 83418*/                    OPC_CheckChild0Same, 3,
/* 83420*/                    OPC_CheckChild1Integer, 1, 
/* 83422*/                    OPC_MoveParent,
/* 83423*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83425*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 83427*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83429*/                    OPC_MoveParent,
/* 83430*/                    OPC_MoveChild1,
/* 83431*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83434*/                    OPC_RecordMemRef,
/* 83435*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 83436*/                    OPC_CheckFoldableChainNode,
/* 83437*/                    OPC_MoveChild1,
/* 83438*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83441*/                    OPC_CheckChild0Same, 1,
/* 83443*/                    OPC_CheckChild1Integer, 1, 
/* 83445*/                    OPC_CheckType, MVT::i64,
/* 83447*/                    OPC_MoveParent,
/* 83448*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83450*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 83452*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83454*/                    OPC_MoveParent,
/* 83455*/                    OPC_MoveParent,
/* 83456*/                    OPC_MoveParent,
/* 83457*/                    OPC_MoveParent,
/* 83458*/                    OPC_CheckType, MVT::i32,
/* 83460*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 83462*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 83472*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 83475*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 83482*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 83488*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 83491*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 83499*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 83502*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 83510*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 83513*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 83522*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 83528*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 83531*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 83539*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 83542*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 83550*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 83553*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 83562*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 83571*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 83574*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 83582*/                  /*Scope*/ 36|128,1/*164*/, /*->83748*/
/* 83584*/                    OPC_CheckChild0Same, 1,
/* 83586*/                    OPC_CheckChild1Integer, 1, 
/* 83588*/                    OPC_MoveParent,
/* 83589*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83591*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 83593*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83595*/                    OPC_MoveParent,
/* 83596*/                    OPC_MoveChild1,
/* 83597*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83600*/                    OPC_RecordMemRef,
/* 83601*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 83602*/                    OPC_CheckFoldableChainNode,
/* 83603*/                    OPC_MoveChild1,
/* 83604*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83607*/                    OPC_CheckChild0Same, 3,
/* 83609*/                    OPC_CheckChild1Integer, 1, 
/* 83611*/                    OPC_CheckType, MVT::i64,
/* 83613*/                    OPC_MoveParent,
/* 83614*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83616*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/* 83618*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/* 83620*/                    OPC_MoveParent,
/* 83621*/                    OPC_MoveParent,
/* 83622*/                    OPC_MoveParent,
/* 83623*/                    OPC_MoveParent,
/* 83624*/                    OPC_CheckType, MVT::i32,
/* 83626*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 83628*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 83638*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 83641*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 83648*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 83654*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 83657*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 83665*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 83668*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 83676*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 83679*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 83688*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 83694*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 83697*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 83705*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 83708*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 83716*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 83719*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 83728*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 83737*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 83740*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)))) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 83748*/                  0, /*End of Scope*/
/* 83749*/                0, /*End of Scope*/
/* 83750*/              0, /*End of Scope*/
/* 83751*/            0, /*End of Scope*/
/* 83752*/          0, // EndSwitchOpcode
/* 83753*/        0, /*End of Scope*/
/* 83754*/      /*SwitchOpcode*/ 3|128,79|128,4/*75651*/, TARGET_VAL(ISD::ADD),// ->159410
/* 83759*/        OPC_MoveChild0,
/* 83760*/        OPC_SwitchOpcode /*2 cases */, 125|128,39|128,2/*37885*/, TARGET_VAL(ISD::ADD),// ->121651
/* 83766*/          OPC_MoveChild0,
/* 83767*/          OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 83770*/          OPC_MoveChild0,
/* 83771*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83774*/          OPC_RecordMemRef,
/* 83775*/          OPC_RecordNode, // #0 = 'ld' chained node
/* 83776*/          OPC_CheckFoldableChainNode,
/* 83777*/          OPC_Scope, 6|128,73/*9350*/, /*->93130*/ // 8 children in Scope
/* 83780*/            OPC_MoveChild1,
/* 83781*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83784*/            OPC_RecordChild0, // #1 = $Rn
/* 83785*/            OPC_CheckType, MVT::i64,
/* 83787*/            OPC_Scope, 86|128,48/*6230*/, /*->90020*/ // 2 children in Scope
/* 83790*/              OPC_CheckChild1Integer, 2, 
/* 83792*/              OPC_MoveParent,
/* 83793*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83795*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 83797*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 83799*/              OPC_MoveParent,
/* 83800*/              OPC_MoveChild1,
/* 83801*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83804*/              OPC_RecordMemRef,
/* 83805*/              OPC_RecordNode, // #2 = 'ld' chained node
/* 83806*/              OPC_CheckFoldableChainNode,
/* 83807*/              OPC_MoveChild1,
/* 83808*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83811*/              OPC_RecordChild0, // #3 = $Rm
/* 83812*/              OPC_CheckChild1Integer, 2, 
/* 83814*/              OPC_CheckType, MVT::i64,
/* 83816*/              OPC_MoveParent,
/* 83817*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83819*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 83821*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 83823*/              OPC_MoveParent,
/* 83824*/              OPC_MoveParent,
/* 83825*/              OPC_MoveChild1,
/* 83826*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 83829*/              OPC_MoveChild0,
/* 83830*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83833*/              OPC_RecordMemRef,
/* 83834*/              OPC_RecordNode, // #4 = 'ld' chained node
/* 83835*/              OPC_CheckFoldableChainNode,
/* 83836*/              OPC_Scope, 117|128,23/*3061*/, /*->86900*/ // 4 children in Scope
/* 83839*/                OPC_MoveChild1,
/* 83840*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83843*/                OPC_CheckType, MVT::i64,
/* 83845*/                OPC_Scope, 36|128,6/*804*/, /*->84652*/ // 3 children in Scope
/* 83848*/                  OPC_CheckChild0Same, 1,
/* 83850*/                  OPC_CheckChild1Integer, 1, 
/* 83852*/                  OPC_MoveParent,
/* 83853*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83855*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 83857*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 83859*/                  OPC_MoveParent,
/* 83860*/                  OPC_MoveChild1,
/* 83861*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83864*/                  OPC_RecordMemRef,
/* 83865*/                  OPC_RecordNode, // #5 = 'ld' chained node
/* 83866*/                  OPC_CheckFoldableChainNode,
/* 83867*/                  OPC_MoveChild1,
/* 83868*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83871*/                  OPC_CheckChild0Same, 3,
/* 83873*/                  OPC_CheckChild1Integer, 1, 
/* 83875*/                  OPC_CheckType, MVT::i64,
/* 83877*/                  OPC_MoveParent,
/* 83878*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83880*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 83882*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 83884*/                  OPC_MoveParent,
/* 83885*/                  OPC_MoveParent,
/* 83886*/                  OPC_MoveParent,
/* 83887*/                  OPC_MoveChild1,
/* 83888*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 83891*/                  OPC_MoveChild0,
/* 83892*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83895*/                  OPC_RecordMemRef,
/* 83896*/                  OPC_RecordNode, // #6 = 'ld' chained node
/* 83897*/                  OPC_CheckFoldableChainNode,
/* 83898*/                  OPC_Scope, 118|128,2/*374*/, /*->84275*/ // 2 children in Scope
/* 83901*/                    OPC_CheckChild1Same, 1,
/* 83903*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83905*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 83907*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 83909*/                    OPC_MoveParent,
/* 83910*/                    OPC_MoveChild1,
/* 83911*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83914*/                    OPC_RecordMemRef,
/* 83915*/                    OPC_RecordNode, // #7 = 'ld' chained node
/* 83916*/                    OPC_CheckFoldableChainNode,
/* 83917*/                    OPC_CheckChild1Same, 3,
/* 83919*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83921*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 83923*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 83925*/                    OPC_MoveParent,
/* 83926*/                    OPC_MoveParent,
/* 83927*/                    OPC_MoveParent,
/* 83928*/                    OPC_MoveChild1,
/* 83929*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 83932*/                    OPC_MoveChild0,
/* 83933*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83936*/                    OPC_RecordMemRef,
/* 83937*/                    OPC_RecordNode, // #8 = 'ld' chained node
/* 83938*/                    OPC_CheckFoldableChainNode,
/* 83939*/                    OPC_MoveChild1,
/* 83940*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83943*/                    OPC_CheckType, MVT::i64,
/* 83945*/                    OPC_Scope, 34|128,1/*162*/, /*->84110*/ // 2 children in Scope
/* 83948*/                      OPC_CheckChild0Same, 1,
/* 83950*/                      OPC_CheckChild1Integer, 3, 
/* 83952*/                      OPC_MoveParent,
/* 83953*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83955*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 83957*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 83959*/                      OPC_MoveParent,
/* 83960*/                      OPC_MoveChild1,
/* 83961*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 83964*/                      OPC_RecordMemRef,
/* 83965*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 83966*/                      OPC_CheckFoldableChainNode,
/* 83967*/                      OPC_MoveChild1,
/* 83968*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 83971*/                      OPC_CheckChild0Same, 3,
/* 83973*/                      OPC_CheckChild1Integer, 3, 
/* 83975*/                      OPC_CheckType, MVT::i64,
/* 83977*/                      OPC_MoveParent,
/* 83978*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 83980*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 83982*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 83984*/                      OPC_MoveParent,
/* 83985*/                      OPC_MoveParent,
/* 83986*/                      OPC_CheckType, MVT::i32,
/* 83988*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 83990*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 84000*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 84003*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 84010*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 84016*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84019*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 84027*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84030*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 84038*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84041*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 84050*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 84056*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84059*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 84067*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84070*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 84078*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84081*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 84090*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 84099*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 84102*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 84110*/                    /*Scope*/ 34|128,1/*162*/, /*->84274*/
/* 84112*/                      OPC_CheckChild0Same, 3,
/* 84114*/                      OPC_CheckChild1Integer, 3, 
/* 84116*/                      OPC_MoveParent,
/* 84117*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84119*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84121*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84123*/                      OPC_MoveParent,
/* 84124*/                      OPC_MoveChild1,
/* 84125*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84128*/                      OPC_RecordMemRef,
/* 84129*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 84130*/                      OPC_CheckFoldableChainNode,
/* 84131*/                      OPC_MoveChild1,
/* 84132*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 84135*/                      OPC_CheckChild0Same, 1,
/* 84137*/                      OPC_CheckChild1Integer, 3, 
/* 84139*/                      OPC_CheckType, MVT::i64,
/* 84141*/                      OPC_MoveParent,
/* 84142*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84144*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84146*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84148*/                      OPC_MoveParent,
/* 84149*/                      OPC_MoveParent,
/* 84150*/                      OPC_CheckType, MVT::i32,
/* 84152*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 84154*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 84164*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 84167*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 84174*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 84180*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84183*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 84191*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84194*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 84202*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84205*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 84214*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 84220*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84223*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 84231*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84234*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 84242*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84245*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 84254*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 84263*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 84266*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 84274*/                    0, /*End of Scope*/
/* 84275*/                  /*Scope*/ 118|128,2/*374*/, /*->84651*/
/* 84277*/                    OPC_CheckChild1Same, 3,
/* 84279*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84281*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 84283*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84285*/                    OPC_MoveParent,
/* 84286*/                    OPC_MoveChild1,
/* 84287*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84290*/                    OPC_RecordMemRef,
/* 84291*/                    OPC_RecordNode, // #7 = 'ld' chained node
/* 84292*/                    OPC_CheckFoldableChainNode,
/* 84293*/                    OPC_CheckChild1Same, 1,
/* 84295*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84297*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 84299*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84301*/                    OPC_MoveParent,
/* 84302*/                    OPC_MoveParent,
/* 84303*/                    OPC_MoveParent,
/* 84304*/                    OPC_MoveChild1,
/* 84305*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 84308*/                    OPC_MoveChild0,
/* 84309*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84312*/                    OPC_RecordMemRef,
/* 84313*/                    OPC_RecordNode, // #8 = 'ld' chained node
/* 84314*/                    OPC_CheckFoldableChainNode,
/* 84315*/                    OPC_MoveChild1,
/* 84316*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 84319*/                    OPC_CheckType, MVT::i64,
/* 84321*/                    OPC_Scope, 34|128,1/*162*/, /*->84486*/ // 2 children in Scope
/* 84324*/                      OPC_CheckChild0Same, 1,
/* 84326*/                      OPC_CheckChild1Integer, 3, 
/* 84328*/                      OPC_MoveParent,
/* 84329*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84331*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84333*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84335*/                      OPC_MoveParent,
/* 84336*/                      OPC_MoveChild1,
/* 84337*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84340*/                      OPC_RecordMemRef,
/* 84341*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 84342*/                      OPC_CheckFoldableChainNode,
/* 84343*/                      OPC_MoveChild1,
/* 84344*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 84347*/                      OPC_CheckChild0Same, 3,
/* 84349*/                      OPC_CheckChild1Integer, 3, 
/* 84351*/                      OPC_CheckType, MVT::i64,
/* 84353*/                      OPC_MoveParent,
/* 84354*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84356*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84358*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84360*/                      OPC_MoveParent,
/* 84361*/                      OPC_MoveParent,
/* 84362*/                      OPC_CheckType, MVT::i32,
/* 84364*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 84366*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 84376*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 84379*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 84386*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 84392*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84395*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 84403*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84406*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 84414*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84417*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 84426*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 84432*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84435*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 84443*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84446*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 84454*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84457*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 84466*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 84475*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 84478*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 84486*/                    /*Scope*/ 34|128,1/*162*/, /*->84650*/
/* 84488*/                      OPC_CheckChild0Same, 3,
/* 84490*/                      OPC_CheckChild1Integer, 3, 
/* 84492*/                      OPC_MoveParent,
/* 84493*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84495*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84497*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84499*/                      OPC_MoveParent,
/* 84500*/                      OPC_MoveChild1,
/* 84501*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84504*/                      OPC_RecordMemRef,
/* 84505*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 84506*/                      OPC_CheckFoldableChainNode,
/* 84507*/                      OPC_MoveChild1,
/* 84508*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 84511*/                      OPC_CheckChild0Same, 1,
/* 84513*/                      OPC_CheckChild1Integer, 3, 
/* 84515*/                      OPC_CheckType, MVT::i64,
/* 84517*/                      OPC_MoveParent,
/* 84518*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84520*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84522*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84524*/                      OPC_MoveParent,
/* 84525*/                      OPC_MoveParent,
/* 84526*/                      OPC_CheckType, MVT::i32,
/* 84528*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 84530*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 84540*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 84543*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 84550*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 84556*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84559*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 84567*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84570*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 84578*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84581*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 84590*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 84596*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84599*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 84607*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84610*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 84618*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84621*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 84630*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 84639*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 84642*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 84650*/                    0, /*End of Scope*/
/* 84651*/                  0, /*End of Scope*/
/* 84652*/                /*Scope*/ 31|128,11/*1439*/, /*->86093*/
/* 84654*/                  OPC_CheckChild0Same, 3,
/* 84656*/                  OPC_CheckChild1Integer, 1, 
/* 84658*/                  OPC_MoveParent,
/* 84659*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84661*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 84663*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84665*/                  OPC_MoveParent,
/* 84666*/                  OPC_MoveChild1,
/* 84667*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84670*/                  OPC_RecordMemRef,
/* 84671*/                  OPC_RecordNode, // #5 = 'ld' chained node
/* 84672*/                  OPC_CheckFoldableChainNode,
/* 84673*/                  OPC_MoveChild1,
/* 84674*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 84677*/                  OPC_CheckChild0Same, 1,
/* 84679*/                  OPC_CheckChild1Integer, 1, 
/* 84681*/                  OPC_CheckType, MVT::i64,
/* 84683*/                  OPC_MoveParent,
/* 84684*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84686*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 84688*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84690*/                  OPC_MoveParent,
/* 84691*/                  OPC_MoveParent,
/* 84692*/                  OPC_MoveParent,
/* 84693*/                  OPC_MoveChild1,
/* 84694*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 84697*/                  OPC_MoveChild0,
/* 84698*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84701*/                  OPC_RecordMemRef,
/* 84702*/                  OPC_RecordNode, // #6 = 'ld' chained node
/* 84703*/                  OPC_CheckFoldableChainNode,
/* 84704*/                  OPC_Scope, 118|128,2/*374*/, /*->85081*/ // 3 children in Scope
/* 84707*/                    OPC_CheckChild1Same, 1,
/* 84709*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84711*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 84713*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84715*/                    OPC_MoveParent,
/* 84716*/                    OPC_MoveChild1,
/* 84717*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84720*/                    OPC_RecordMemRef,
/* 84721*/                    OPC_RecordNode, // #7 = 'ld' chained node
/* 84722*/                    OPC_CheckFoldableChainNode,
/* 84723*/                    OPC_CheckChild1Same, 3,
/* 84725*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84727*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 84729*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84731*/                    OPC_MoveParent,
/* 84732*/                    OPC_MoveParent,
/* 84733*/                    OPC_MoveParent,
/* 84734*/                    OPC_MoveChild1,
/* 84735*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 84738*/                    OPC_MoveChild0,
/* 84739*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84742*/                    OPC_RecordMemRef,
/* 84743*/                    OPC_RecordNode, // #8 = 'ld' chained node
/* 84744*/                    OPC_CheckFoldableChainNode,
/* 84745*/                    OPC_MoveChild1,
/* 84746*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 84749*/                    OPC_CheckType, MVT::i64,
/* 84751*/                    OPC_Scope, 34|128,1/*162*/, /*->84916*/ // 2 children in Scope
/* 84754*/                      OPC_CheckChild0Same, 1,
/* 84756*/                      OPC_CheckChild1Integer, 3, 
/* 84758*/                      OPC_MoveParent,
/* 84759*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84761*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84763*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84765*/                      OPC_MoveParent,
/* 84766*/                      OPC_MoveChild1,
/* 84767*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84770*/                      OPC_RecordMemRef,
/* 84771*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 84772*/                      OPC_CheckFoldableChainNode,
/* 84773*/                      OPC_MoveChild1,
/* 84774*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 84777*/                      OPC_CheckChild0Same, 3,
/* 84779*/                      OPC_CheckChild1Integer, 3, 
/* 84781*/                      OPC_CheckType, MVT::i64,
/* 84783*/                      OPC_MoveParent,
/* 84784*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84786*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84788*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84790*/                      OPC_MoveParent,
/* 84791*/                      OPC_MoveParent,
/* 84792*/                      OPC_CheckType, MVT::i32,
/* 84794*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 84796*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 84806*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 84809*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 84816*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 84822*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84825*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 84833*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84836*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 84844*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84847*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 84856*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 84862*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84865*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 84873*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 84876*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 84884*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 84887*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 84896*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 84905*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 84908*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 84916*/                    /*Scope*/ 34|128,1/*162*/, /*->85080*/
/* 84918*/                      OPC_CheckChild0Same, 3,
/* 84920*/                      OPC_CheckChild1Integer, 3, 
/* 84922*/                      OPC_MoveParent,
/* 84923*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84925*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84927*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84929*/                      OPC_MoveParent,
/* 84930*/                      OPC_MoveChild1,
/* 84931*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 84934*/                      OPC_RecordMemRef,
/* 84935*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 84936*/                      OPC_CheckFoldableChainNode,
/* 84937*/                      OPC_MoveChild1,
/* 84938*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 84941*/                      OPC_CheckChild0Same, 1,
/* 84943*/                      OPC_CheckChild1Integer, 3, 
/* 84945*/                      OPC_CheckType, MVT::i64,
/* 84947*/                      OPC_MoveParent,
/* 84948*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 84950*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 84952*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 84954*/                      OPC_MoveParent,
/* 84955*/                      OPC_MoveParent,
/* 84956*/                      OPC_CheckType, MVT::i32,
/* 84958*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 84960*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 84970*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 84973*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 84980*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 84986*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 84989*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 84997*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85000*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 85008*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85011*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 85020*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 85026*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 85029*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 85037*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85040*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 85048*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85051*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 85060*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 85069*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 85072*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 85080*/                    0, /*End of Scope*/
/* 85081*/                  /*Scope*/ 121|128,4/*633*/, /*->85716*/
/* 85083*/                    OPC_CheckChild1Same, 3,
/* 85085*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85087*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 85089*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85091*/                    OPC_MoveParent,
/* 85092*/                    OPC_MoveChild1,
/* 85093*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85096*/                    OPC_RecordMemRef,
/* 85097*/                    OPC_RecordNode, // #7 = 'ld' chained node
/* 85098*/                    OPC_CheckFoldableChainNode,
/* 85099*/                    OPC_CheckChild1Same, 1,
/* 85101*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85103*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 85105*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85107*/                    OPC_MoveParent,
/* 85108*/                    OPC_MoveParent,
/* 85109*/                    OPC_MoveParent,
/* 85110*/                    OPC_MoveChild1,
/* 85111*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 85114*/                    OPC_MoveChild0,
/* 85115*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85118*/                    OPC_RecordMemRef,
/* 85119*/                    OPC_RecordNode, // #8 = 'ld' chained node
/* 85120*/                    OPC_CheckFoldableChainNode,
/* 85121*/                    OPC_MoveChild1,
/* 85122*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 85125*/                    OPC_CheckType, MVT::i64,
/* 85127*/                    OPC_Scope, 34|128,1/*162*/, /*->85292*/ // 3 children in Scope
/* 85130*/                      OPC_CheckChild0Same, 1,
/* 85132*/                      OPC_CheckChild1Integer, 3, 
/* 85134*/                      OPC_MoveParent,
/* 85135*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85137*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85139*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85141*/                      OPC_MoveParent,
/* 85142*/                      OPC_MoveChild1,
/* 85143*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85146*/                      OPC_RecordMemRef,
/* 85147*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 85148*/                      OPC_CheckFoldableChainNode,
/* 85149*/                      OPC_MoveChild1,
/* 85150*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 85153*/                      OPC_CheckChild0Same, 3,
/* 85155*/                      OPC_CheckChild1Integer, 3, 
/* 85157*/                      OPC_CheckType, MVT::i64,
/* 85159*/                      OPC_MoveParent,
/* 85160*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85162*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85164*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85166*/                      OPC_MoveParent,
/* 85167*/                      OPC_MoveParent,
/* 85168*/                      OPC_CheckType, MVT::i32,
/* 85170*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 85172*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 85182*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 85185*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 85192*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 85198*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 85201*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 85209*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85212*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 85220*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85223*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 85232*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 85238*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 85241*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 85249*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85252*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 85260*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85263*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 85272*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 85281*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 85284*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 85292*/                    /*Scope*/ 1|128,2/*257*/, /*->85551*/
/* 85294*/                      OPC_CheckChild0Same, 3,
/* 85296*/                      OPC_CheckChild1Integer, 3, 
/* 85298*/                      OPC_MoveParent,
/* 85299*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85301*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85303*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85305*/                      OPC_MoveParent,
/* 85306*/                      OPC_MoveChild1,
/* 85307*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85310*/                      OPC_RecordMemRef,
/* 85311*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 85312*/                      OPC_CheckFoldableChainNode,
/* 85313*/                      OPC_MoveChild1,
/* 85314*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 85317*/                      OPC_CheckChild0Same, 1,
/* 85319*/                      OPC_CheckChild1Integer, 3, 
/* 85321*/                      OPC_CheckType, MVT::i64,
/* 85323*/                      OPC_MoveParent,
/* 85324*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85326*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85328*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85330*/                      OPC_MoveParent,
/* 85331*/                      OPC_MoveParent,
/* 85332*/                      OPC_CheckType, MVT::i32,
/* 85334*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 85336*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 85346*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 85349*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 85356*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 85362*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 85365*/                      OPC_Scope, 91, /*->85458*/ // 2 children in Scope
/* 85367*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 85375*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85378*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 85386*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85389*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 85398*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 85404*/                        OPC_EmitInteger, MVT::i64, 0, 
/* 85407*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 85415*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85418*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 85426*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85429*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 85438*/                        OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 85447*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 85450*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 85458*/                      /*Scope*/ 91, /*->85550*/
/* 85459*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 85467*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85470*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 85478*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85481*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 85490*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 85496*/                        OPC_EmitInteger, MVT::i64, 0, 
/* 85499*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 85507*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85510*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 85518*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85521*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 85530*/                        OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 85539*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 85542*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 85550*/                      0, /*End of Scope*/
/* 85551*/                    /*Scope*/ 34|128,1/*162*/, /*->85715*/
/* 85553*/                      OPC_CheckChild0Same, 1,
/* 85555*/                      OPC_CheckChild1Integer, 3, 
/* 85557*/                      OPC_MoveParent,
/* 85558*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85560*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85562*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85564*/                      OPC_MoveParent,
/* 85565*/                      OPC_MoveChild1,
/* 85566*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85569*/                      OPC_RecordMemRef,
/* 85570*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 85571*/                      OPC_CheckFoldableChainNode,
/* 85572*/                      OPC_MoveChild1,
/* 85573*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 85576*/                      OPC_CheckChild0Same, 3,
/* 85578*/                      OPC_CheckChild1Integer, 3, 
/* 85580*/                      OPC_CheckType, MVT::i64,
/* 85582*/                      OPC_MoveParent,
/* 85583*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85585*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85587*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85589*/                      OPC_MoveParent,
/* 85590*/                      OPC_MoveParent,
/* 85591*/                      OPC_CheckType, MVT::i32,
/* 85593*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 85595*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 85605*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 85608*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 85615*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 85621*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 85624*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 85632*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85635*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 85643*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85646*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 85655*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 85661*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 85664*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 85672*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85675*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 85683*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85686*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 85695*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 85704*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 85707*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 85715*/                    0, /*End of Scope*/
/* 85716*/                  /*Scope*/ 118|128,2/*374*/, /*->86092*/
/* 85718*/                    OPC_CheckChild1Same, 1,
/* 85720*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85722*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 85724*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85726*/                    OPC_MoveParent,
/* 85727*/                    OPC_MoveChild1,
/* 85728*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85731*/                    OPC_RecordMemRef,
/* 85732*/                    OPC_RecordNode, // #7 = 'ld' chained node
/* 85733*/                    OPC_CheckFoldableChainNode,
/* 85734*/                    OPC_CheckChild1Same, 3,
/* 85736*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85738*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 85740*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85742*/                    OPC_MoveParent,
/* 85743*/                    OPC_MoveParent,
/* 85744*/                    OPC_MoveParent,
/* 85745*/                    OPC_MoveChild1,
/* 85746*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 85749*/                    OPC_MoveChild0,
/* 85750*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85753*/                    OPC_RecordMemRef,
/* 85754*/                    OPC_RecordNode, // #8 = 'ld' chained node
/* 85755*/                    OPC_CheckFoldableChainNode,
/* 85756*/                    OPC_MoveChild1,
/* 85757*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 85760*/                    OPC_CheckType, MVT::i64,
/* 85762*/                    OPC_Scope, 34|128,1/*162*/, /*->85927*/ // 2 children in Scope
/* 85765*/                      OPC_CheckChild0Same, 3,
/* 85767*/                      OPC_CheckChild1Integer, 3, 
/* 85769*/                      OPC_MoveParent,
/* 85770*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85772*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85774*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85776*/                      OPC_MoveParent,
/* 85777*/                      OPC_MoveChild1,
/* 85778*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85781*/                      OPC_RecordMemRef,
/* 85782*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 85783*/                      OPC_CheckFoldableChainNode,
/* 85784*/                      OPC_MoveChild1,
/* 85785*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 85788*/                      OPC_CheckChild0Same, 1,
/* 85790*/                      OPC_CheckChild1Integer, 3, 
/* 85792*/                      OPC_CheckType, MVT::i64,
/* 85794*/                      OPC_MoveParent,
/* 85795*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85797*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85799*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85801*/                      OPC_MoveParent,
/* 85802*/                      OPC_MoveParent,
/* 85803*/                      OPC_CheckType, MVT::i32,
/* 85805*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 85807*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 85817*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 85820*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 85827*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 85833*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 85836*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 85844*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85847*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 85855*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85858*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 85867*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 85873*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 85876*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 85884*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 85887*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 85895*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 85898*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 85907*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 85916*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 85919*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 85927*/                    /*Scope*/ 34|128,1/*162*/, /*->86091*/
/* 85929*/                      OPC_CheckChild0Same, 1,
/* 85931*/                      OPC_CheckChild1Integer, 3, 
/* 85933*/                      OPC_MoveParent,
/* 85934*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85936*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85938*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85940*/                      OPC_MoveParent,
/* 85941*/                      OPC_MoveChild1,
/* 85942*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 85945*/                      OPC_RecordMemRef,
/* 85946*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 85947*/                      OPC_CheckFoldableChainNode,
/* 85948*/                      OPC_MoveChild1,
/* 85949*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 85952*/                      OPC_CheckChild0Same, 3,
/* 85954*/                      OPC_CheckChild1Integer, 3, 
/* 85956*/                      OPC_CheckType, MVT::i64,
/* 85958*/                      OPC_MoveParent,
/* 85959*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 85961*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 85963*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 85965*/                      OPC_MoveParent,
/* 85966*/                      OPC_MoveParent,
/* 85967*/                      OPC_CheckType, MVT::i32,
/* 85969*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 85971*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 85981*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 85984*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 85991*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 85997*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86000*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 86008*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86011*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 86019*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86022*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 86031*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 86037*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86040*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 86048*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86051*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 86059*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86062*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 86071*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 86080*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 86083*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 86091*/                    0, /*End of Scope*/
/* 86092*/                  0, /*End of Scope*/
/* 86093*/                /*Scope*/ 36|128,6/*804*/, /*->86899*/
/* 86095*/                  OPC_CheckChild0Same, 1,
/* 86097*/                  OPC_CheckChild1Integer, 1, 
/* 86099*/                  OPC_MoveParent,
/* 86100*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86102*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 86104*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86106*/                  OPC_MoveParent,
/* 86107*/                  OPC_MoveChild1,
/* 86108*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86111*/                  OPC_RecordMemRef,
/* 86112*/                  OPC_RecordNode, // #5 = 'ld' chained node
/* 86113*/                  OPC_CheckFoldableChainNode,
/* 86114*/                  OPC_MoveChild1,
/* 86115*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86118*/                  OPC_CheckChild0Same, 3,
/* 86120*/                  OPC_CheckChild1Integer, 1, 
/* 86122*/                  OPC_CheckType, MVT::i64,
/* 86124*/                  OPC_MoveParent,
/* 86125*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86127*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 86129*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86131*/                  OPC_MoveParent,
/* 86132*/                  OPC_MoveParent,
/* 86133*/                  OPC_MoveParent,
/* 86134*/                  OPC_MoveChild1,
/* 86135*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 86138*/                  OPC_MoveChild0,
/* 86139*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86142*/                  OPC_RecordMemRef,
/* 86143*/                  OPC_RecordNode, // #6 = 'ld' chained node
/* 86144*/                  OPC_CheckFoldableChainNode,
/* 86145*/                  OPC_Scope, 118|128,2/*374*/, /*->86522*/ // 2 children in Scope
/* 86148*/                    OPC_CheckChild1Same, 3,
/* 86150*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86152*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 86154*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86156*/                    OPC_MoveParent,
/* 86157*/                    OPC_MoveChild1,
/* 86158*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86161*/                    OPC_RecordMemRef,
/* 86162*/                    OPC_RecordNode, // #7 = 'ld' chained node
/* 86163*/                    OPC_CheckFoldableChainNode,
/* 86164*/                    OPC_CheckChild1Same, 1,
/* 86166*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86168*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 86170*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86172*/                    OPC_MoveParent,
/* 86173*/                    OPC_MoveParent,
/* 86174*/                    OPC_MoveParent,
/* 86175*/                    OPC_MoveChild1,
/* 86176*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 86179*/                    OPC_MoveChild0,
/* 86180*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86183*/                    OPC_RecordMemRef,
/* 86184*/                    OPC_RecordNode, // #8 = 'ld' chained node
/* 86185*/                    OPC_CheckFoldableChainNode,
/* 86186*/                    OPC_MoveChild1,
/* 86187*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86190*/                    OPC_CheckType, MVT::i64,
/* 86192*/                    OPC_Scope, 34|128,1/*162*/, /*->86357*/ // 2 children in Scope
/* 86195*/                      OPC_CheckChild0Same, 3,
/* 86197*/                      OPC_CheckChild1Integer, 3, 
/* 86199*/                      OPC_MoveParent,
/* 86200*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86202*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 86204*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86206*/                      OPC_MoveParent,
/* 86207*/                      OPC_MoveChild1,
/* 86208*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86211*/                      OPC_RecordMemRef,
/* 86212*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 86213*/                      OPC_CheckFoldableChainNode,
/* 86214*/                      OPC_MoveChild1,
/* 86215*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86218*/                      OPC_CheckChild0Same, 1,
/* 86220*/                      OPC_CheckChild1Integer, 3, 
/* 86222*/                      OPC_CheckType, MVT::i64,
/* 86224*/                      OPC_MoveParent,
/* 86225*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86227*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 86229*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86231*/                      OPC_MoveParent,
/* 86232*/                      OPC_MoveParent,
/* 86233*/                      OPC_CheckType, MVT::i32,
/* 86235*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 86237*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 86247*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 86250*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 86257*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 86263*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86266*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 86274*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86277*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 86285*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86288*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 86297*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 86303*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86306*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 86314*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86317*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 86325*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86328*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 86337*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 86346*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 86349*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 86357*/                    /*Scope*/ 34|128,1/*162*/, /*->86521*/
/* 86359*/                      OPC_CheckChild0Same, 1,
/* 86361*/                      OPC_CheckChild1Integer, 3, 
/* 86363*/                      OPC_MoveParent,
/* 86364*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86366*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 86368*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86370*/                      OPC_MoveParent,
/* 86371*/                      OPC_MoveChild1,
/* 86372*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86375*/                      OPC_RecordMemRef,
/* 86376*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 86377*/                      OPC_CheckFoldableChainNode,
/* 86378*/                      OPC_MoveChild1,
/* 86379*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86382*/                      OPC_CheckChild0Same, 3,
/* 86384*/                      OPC_CheckChild1Integer, 3, 
/* 86386*/                      OPC_CheckType, MVT::i64,
/* 86388*/                      OPC_MoveParent,
/* 86389*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86391*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 86393*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86395*/                      OPC_MoveParent,
/* 86396*/                      OPC_MoveParent,
/* 86397*/                      OPC_CheckType, MVT::i32,
/* 86399*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 86401*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 86411*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 86414*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 86421*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 86427*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86430*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 86438*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86441*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 86449*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86452*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 86461*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 86467*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86470*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 86478*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86481*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 86489*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86492*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 86501*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 86510*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 86513*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 86521*/                    0, /*End of Scope*/
/* 86522*/                  /*Scope*/ 118|128,2/*374*/, /*->86898*/
/* 86524*/                    OPC_CheckChild1Same, 1,
/* 86526*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86528*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 86530*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86532*/                    OPC_MoveParent,
/* 86533*/                    OPC_MoveChild1,
/* 86534*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86537*/                    OPC_RecordMemRef,
/* 86538*/                    OPC_RecordNode, // #7 = 'ld' chained node
/* 86539*/                    OPC_CheckFoldableChainNode,
/* 86540*/                    OPC_CheckChild1Same, 3,
/* 86542*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86544*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 86546*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86548*/                    OPC_MoveParent,
/* 86549*/                    OPC_MoveParent,
/* 86550*/                    OPC_MoveParent,
/* 86551*/                    OPC_MoveChild1,
/* 86552*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 86555*/                    OPC_MoveChild0,
/* 86556*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86559*/                    OPC_RecordMemRef,
/* 86560*/                    OPC_RecordNode, // #8 = 'ld' chained node
/* 86561*/                    OPC_CheckFoldableChainNode,
/* 86562*/                    OPC_MoveChild1,
/* 86563*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86566*/                    OPC_CheckType, MVT::i64,
/* 86568*/                    OPC_Scope, 34|128,1/*162*/, /*->86733*/ // 2 children in Scope
/* 86571*/                      OPC_CheckChild0Same, 3,
/* 86573*/                      OPC_CheckChild1Integer, 3, 
/* 86575*/                      OPC_MoveParent,
/* 86576*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86578*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 86580*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86582*/                      OPC_MoveParent,
/* 86583*/                      OPC_MoveChild1,
/* 86584*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86587*/                      OPC_RecordMemRef,
/* 86588*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 86589*/                      OPC_CheckFoldableChainNode,
/* 86590*/                      OPC_MoveChild1,
/* 86591*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86594*/                      OPC_CheckChild0Same, 1,
/* 86596*/                      OPC_CheckChild1Integer, 3, 
/* 86598*/                      OPC_CheckType, MVT::i64,
/* 86600*/                      OPC_MoveParent,
/* 86601*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86603*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 86605*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86607*/                      OPC_MoveParent,
/* 86608*/                      OPC_MoveParent,
/* 86609*/                      OPC_CheckType, MVT::i32,
/* 86611*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 86613*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 86623*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 86626*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 86633*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 86639*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86642*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 86650*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86653*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 86661*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86664*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 86673*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 86679*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86682*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 86690*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86693*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 86701*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86704*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 86713*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 86722*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 86725*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 86733*/                    /*Scope*/ 34|128,1/*162*/, /*->86897*/
/* 86735*/                      OPC_CheckChild0Same, 1,
/* 86737*/                      OPC_CheckChild1Integer, 3, 
/* 86739*/                      OPC_MoveParent,
/* 86740*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86742*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 86744*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86746*/                      OPC_MoveParent,
/* 86747*/                      OPC_MoveChild1,
/* 86748*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86751*/                      OPC_RecordMemRef,
/* 86752*/                      OPC_RecordNode, // #9 = 'ld' chained node
/* 86753*/                      OPC_CheckFoldableChainNode,
/* 86754*/                      OPC_MoveChild1,
/* 86755*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86758*/                      OPC_CheckChild0Same, 3,
/* 86760*/                      OPC_CheckChild1Integer, 3, 
/* 86762*/                      OPC_CheckType, MVT::i64,
/* 86764*/                      OPC_MoveParent,
/* 86765*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86767*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/* 86769*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86771*/                      OPC_MoveParent,
/* 86772*/                      OPC_MoveParent,
/* 86773*/                      OPC_CheckType, MVT::i32,
/* 86775*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 86777*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 86787*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 86790*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 86797*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 86803*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86806*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 86814*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86817*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 86825*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86828*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 86837*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 86843*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 86846*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 86854*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 86857*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 86865*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 86868*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 86877*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 86886*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 86889*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 86897*/                    0, /*End of Scope*/
/* 86898*/                  0, /*End of Scope*/
/* 86899*/                0, /*End of Scope*/
/* 86900*/              /*Scope*/ 54|128,6/*822*/, /*->87724*/
/* 86902*/                OPC_CheckChild1Same, 1,
/* 86904*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86906*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 86908*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86910*/                OPC_MoveParent,
/* 86911*/                OPC_MoveChild1,
/* 86912*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86915*/                OPC_RecordMemRef,
/* 86916*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 86917*/                OPC_CheckFoldableChainNode,
/* 86918*/                OPC_CheckChild1Same, 3,
/* 86920*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86922*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 86924*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86926*/                OPC_MoveParent,
/* 86927*/                OPC_MoveParent,
/* 86928*/                OPC_MoveParent,
/* 86929*/                OPC_MoveChild1,
/* 86930*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 86933*/                OPC_MoveChild0,
/* 86934*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86937*/                OPC_RecordMemRef,
/* 86938*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 86939*/                OPC_CheckFoldableChainNode,
/* 86940*/                OPC_MoveChild1,
/* 86941*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86944*/                OPC_CheckType, MVT::i64,
/* 86946*/                OPC_Scope, 2|128,3/*386*/, /*->87335*/ // 2 children in Scope
/* 86949*/                  OPC_CheckChild0Same, 1,
/* 86951*/                  OPC_CheckChild1Integer, 1, 
/* 86953*/                  OPC_MoveParent,
/* 86954*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86956*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 86958*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86960*/                  OPC_MoveParent,
/* 86961*/                  OPC_MoveChild1,
/* 86962*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86965*/                  OPC_RecordMemRef,
/* 86966*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 86967*/                  OPC_CheckFoldableChainNode,
/* 86968*/                  OPC_MoveChild1,
/* 86969*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 86972*/                  OPC_CheckChild0Same, 3,
/* 86974*/                  OPC_CheckChild1Integer, 1, 
/* 86976*/                  OPC_CheckType, MVT::i64,
/* 86978*/                  OPC_MoveParent,
/* 86979*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 86981*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 86983*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 86985*/                  OPC_MoveParent,
/* 86986*/                  OPC_MoveParent,
/* 86987*/                  OPC_MoveParent,
/* 86988*/                  OPC_MoveChild1,
/* 86989*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 86992*/                  OPC_MoveChild0,
/* 86993*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 86996*/                  OPC_RecordMemRef,
/* 86997*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 86998*/                  OPC_CheckFoldableChainNode,
/* 86999*/                  OPC_MoveChild1,
/* 87000*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87003*/                  OPC_CheckType, MVT::i64,
/* 87005*/                  OPC_Scope, 34|128,1/*162*/, /*->87170*/ // 2 children in Scope
/* 87008*/                    OPC_CheckChild0Same, 1,
/* 87010*/                    OPC_CheckChild1Integer, 3, 
/* 87012*/                    OPC_MoveParent,
/* 87013*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87015*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87017*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87019*/                    OPC_MoveParent,
/* 87020*/                    OPC_MoveChild1,
/* 87021*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87024*/                    OPC_RecordMemRef,
/* 87025*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 87026*/                    OPC_CheckFoldableChainNode,
/* 87027*/                    OPC_MoveChild1,
/* 87028*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87031*/                    OPC_CheckChild0Same, 3,
/* 87033*/                    OPC_CheckChild1Integer, 3, 
/* 87035*/                    OPC_CheckType, MVT::i64,
/* 87037*/                    OPC_MoveParent,
/* 87038*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87040*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87042*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87044*/                    OPC_MoveParent,
/* 87045*/                    OPC_MoveParent,
/* 87046*/                    OPC_CheckType, MVT::i32,
/* 87048*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 87050*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 87060*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 87063*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 87070*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 87076*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87079*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 87087*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87090*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 87098*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87101*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 87110*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 87116*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87119*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 87127*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87130*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 87138*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87141*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 87150*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 87159*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 87162*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 87170*/                  /*Scope*/ 34|128,1/*162*/, /*->87334*/
/* 87172*/                    OPC_CheckChild0Same, 3,
/* 87174*/                    OPC_CheckChild1Integer, 3, 
/* 87176*/                    OPC_MoveParent,
/* 87177*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87179*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87181*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87183*/                    OPC_MoveParent,
/* 87184*/                    OPC_MoveChild1,
/* 87185*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87188*/                    OPC_RecordMemRef,
/* 87189*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 87190*/                    OPC_CheckFoldableChainNode,
/* 87191*/                    OPC_MoveChild1,
/* 87192*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87195*/                    OPC_CheckChild0Same, 1,
/* 87197*/                    OPC_CheckChild1Integer, 3, 
/* 87199*/                    OPC_CheckType, MVT::i64,
/* 87201*/                    OPC_MoveParent,
/* 87202*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87204*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87206*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87208*/                    OPC_MoveParent,
/* 87209*/                    OPC_MoveParent,
/* 87210*/                    OPC_CheckType, MVT::i32,
/* 87212*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 87214*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 87224*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 87227*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 87234*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 87240*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87243*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 87251*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87254*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 87262*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87265*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 87274*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 87280*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87283*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 87291*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87294*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 87302*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87305*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 87314*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 87323*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 87326*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 87334*/                  0, /*End of Scope*/
/* 87335*/                /*Scope*/ 2|128,3/*386*/, /*->87723*/
/* 87337*/                  OPC_CheckChild0Same, 3,
/* 87339*/                  OPC_CheckChild1Integer, 1, 
/* 87341*/                  OPC_MoveParent,
/* 87342*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87344*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 87346*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87348*/                  OPC_MoveParent,
/* 87349*/                  OPC_MoveChild1,
/* 87350*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87353*/                  OPC_RecordMemRef,
/* 87354*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 87355*/                  OPC_CheckFoldableChainNode,
/* 87356*/                  OPC_MoveChild1,
/* 87357*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87360*/                  OPC_CheckChild0Same, 1,
/* 87362*/                  OPC_CheckChild1Integer, 1, 
/* 87364*/                  OPC_CheckType, MVT::i64,
/* 87366*/                  OPC_MoveParent,
/* 87367*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87369*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 87371*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87373*/                  OPC_MoveParent,
/* 87374*/                  OPC_MoveParent,
/* 87375*/                  OPC_MoveParent,
/* 87376*/                  OPC_MoveChild1,
/* 87377*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 87380*/                  OPC_MoveChild0,
/* 87381*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87384*/                  OPC_RecordMemRef,
/* 87385*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 87386*/                  OPC_CheckFoldableChainNode,
/* 87387*/                  OPC_MoveChild1,
/* 87388*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87391*/                  OPC_CheckType, MVT::i64,
/* 87393*/                  OPC_Scope, 34|128,1/*162*/, /*->87558*/ // 2 children in Scope
/* 87396*/                    OPC_CheckChild0Same, 1,
/* 87398*/                    OPC_CheckChild1Integer, 3, 
/* 87400*/                    OPC_MoveParent,
/* 87401*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87403*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87405*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87407*/                    OPC_MoveParent,
/* 87408*/                    OPC_MoveChild1,
/* 87409*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87412*/                    OPC_RecordMemRef,
/* 87413*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 87414*/                    OPC_CheckFoldableChainNode,
/* 87415*/                    OPC_MoveChild1,
/* 87416*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87419*/                    OPC_CheckChild0Same, 3,
/* 87421*/                    OPC_CheckChild1Integer, 3, 
/* 87423*/                    OPC_CheckType, MVT::i64,
/* 87425*/                    OPC_MoveParent,
/* 87426*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87428*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87430*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87432*/                    OPC_MoveParent,
/* 87433*/                    OPC_MoveParent,
/* 87434*/                    OPC_CheckType, MVT::i32,
/* 87436*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 87438*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 87448*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 87451*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 87458*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 87464*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87467*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 87475*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87478*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 87486*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87489*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 87498*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 87504*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87507*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 87515*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87518*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 87526*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87529*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 87538*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 87547*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 87550*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 87558*/                  /*Scope*/ 34|128,1/*162*/, /*->87722*/
/* 87560*/                    OPC_CheckChild0Same, 3,
/* 87562*/                    OPC_CheckChild1Integer, 3, 
/* 87564*/                    OPC_MoveParent,
/* 87565*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87567*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87569*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87571*/                    OPC_MoveParent,
/* 87572*/                    OPC_MoveChild1,
/* 87573*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87576*/                    OPC_RecordMemRef,
/* 87577*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 87578*/                    OPC_CheckFoldableChainNode,
/* 87579*/                    OPC_MoveChild1,
/* 87580*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87583*/                    OPC_CheckChild0Same, 1,
/* 87585*/                    OPC_CheckChild1Integer, 3, 
/* 87587*/                    OPC_CheckType, MVT::i64,
/* 87589*/                    OPC_MoveParent,
/* 87590*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87592*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87594*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87596*/                    OPC_MoveParent,
/* 87597*/                    OPC_MoveParent,
/* 87598*/                    OPC_CheckType, MVT::i32,
/* 87600*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 87602*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 87612*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 87615*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 87622*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 87628*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87631*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 87639*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87642*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 87650*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87653*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 87662*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 87668*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87671*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 87679*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87682*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 87690*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87693*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 87702*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 87711*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 87714*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 87722*/                  0, /*End of Scope*/
/* 87723*/                0, /*End of Scope*/
/* 87724*/              /*Scope*/ 61|128,11/*1469*/, /*->89195*/
/* 87726*/                OPC_CheckChild1Same, 3,
/* 87728*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87730*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 87732*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87734*/                OPC_MoveParent,
/* 87735*/                OPC_MoveChild1,
/* 87736*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87739*/                OPC_RecordMemRef,
/* 87740*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 87741*/                OPC_CheckFoldableChainNode,
/* 87742*/                OPC_CheckChild1Same, 1,
/* 87744*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87746*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 87748*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87750*/                OPC_MoveParent,
/* 87751*/                OPC_MoveParent,
/* 87752*/                OPC_MoveParent,
/* 87753*/                OPC_MoveChild1,
/* 87754*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 87757*/                OPC_MoveChild0,
/* 87758*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87761*/                OPC_RecordMemRef,
/* 87762*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 87763*/                OPC_CheckFoldableChainNode,
/* 87764*/                OPC_MoveChild1,
/* 87765*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87768*/                OPC_CheckType, MVT::i64,
/* 87770*/                OPC_Scope, 2|128,3/*386*/, /*->88159*/ // 3 children in Scope
/* 87773*/                  OPC_CheckChild0Same, 1,
/* 87775*/                  OPC_CheckChild1Integer, 1, 
/* 87777*/                  OPC_MoveParent,
/* 87778*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87780*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 87782*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87784*/                  OPC_MoveParent,
/* 87785*/                  OPC_MoveChild1,
/* 87786*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87789*/                  OPC_RecordMemRef,
/* 87790*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 87791*/                  OPC_CheckFoldableChainNode,
/* 87792*/                  OPC_MoveChild1,
/* 87793*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87796*/                  OPC_CheckChild0Same, 3,
/* 87798*/                  OPC_CheckChild1Integer, 1, 
/* 87800*/                  OPC_CheckType, MVT::i64,
/* 87802*/                  OPC_MoveParent,
/* 87803*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87805*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 87807*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87809*/                  OPC_MoveParent,
/* 87810*/                  OPC_MoveParent,
/* 87811*/                  OPC_MoveParent,
/* 87812*/                  OPC_MoveChild1,
/* 87813*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 87816*/                  OPC_MoveChild0,
/* 87817*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87820*/                  OPC_RecordMemRef,
/* 87821*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 87822*/                  OPC_CheckFoldableChainNode,
/* 87823*/                  OPC_MoveChild1,
/* 87824*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87827*/                  OPC_CheckType, MVT::i64,
/* 87829*/                  OPC_Scope, 34|128,1/*162*/, /*->87994*/ // 2 children in Scope
/* 87832*/                    OPC_CheckChild0Same, 1,
/* 87834*/                    OPC_CheckChild1Integer, 3, 
/* 87836*/                    OPC_MoveParent,
/* 87837*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87839*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87841*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87843*/                    OPC_MoveParent,
/* 87844*/                    OPC_MoveChild1,
/* 87845*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 87848*/                    OPC_RecordMemRef,
/* 87849*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 87850*/                    OPC_CheckFoldableChainNode,
/* 87851*/                    OPC_MoveChild1,
/* 87852*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 87855*/                    OPC_CheckChild0Same, 3,
/* 87857*/                    OPC_CheckChild1Integer, 3, 
/* 87859*/                    OPC_CheckType, MVT::i64,
/* 87861*/                    OPC_MoveParent,
/* 87862*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 87864*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 87866*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 87868*/                    OPC_MoveParent,
/* 87869*/                    OPC_MoveParent,
/* 87870*/                    OPC_CheckType, MVT::i32,
/* 87872*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 87874*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 87884*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 87887*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 87894*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 87900*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87903*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 87911*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87914*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 87922*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87925*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 87934*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 87940*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 87943*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 87951*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 87954*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 87962*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 87965*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 87974*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 87983*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 87986*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 87994*/                  /*Scope*/ 34|128,1/*162*/, /*->88158*/
/* 87996*/                    OPC_CheckChild0Same, 3,
/* 87998*/                    OPC_CheckChild1Integer, 3, 
/* 88000*/                    OPC_MoveParent,
/* 88001*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88003*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88005*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88007*/                    OPC_MoveParent,
/* 88008*/                    OPC_MoveChild1,
/* 88009*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88012*/                    OPC_RecordMemRef,
/* 88013*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 88014*/                    OPC_CheckFoldableChainNode,
/* 88015*/                    OPC_MoveChild1,
/* 88016*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88019*/                    OPC_CheckChild0Same, 1,
/* 88021*/                    OPC_CheckChild1Integer, 3, 
/* 88023*/                    OPC_CheckType, MVT::i64,
/* 88025*/                    OPC_MoveParent,
/* 88026*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88028*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88030*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88032*/                    OPC_MoveParent,
/* 88033*/                    OPC_MoveParent,
/* 88034*/                    OPC_CheckType, MVT::i32,
/* 88036*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 88038*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 88048*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 88051*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 88058*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 88064*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88067*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 88075*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88078*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 88086*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88089*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 88098*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 88104*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88107*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 88115*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88118*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 88126*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88129*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 88138*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 88147*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 88150*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 88158*/                  0, /*End of Scope*/
/* 88159*/                /*Scope*/ 5|128,5/*645*/, /*->88806*/
/* 88161*/                  OPC_CheckChild0Same, 3,
/* 88163*/                  OPC_CheckChild1Integer, 1, 
/* 88165*/                  OPC_MoveParent,
/* 88166*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88168*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 88170*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88172*/                  OPC_MoveParent,
/* 88173*/                  OPC_MoveChild1,
/* 88174*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88177*/                  OPC_RecordMemRef,
/* 88178*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 88179*/                  OPC_CheckFoldableChainNode,
/* 88180*/                  OPC_MoveChild1,
/* 88181*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88184*/                  OPC_CheckChild0Same, 1,
/* 88186*/                  OPC_CheckChild1Integer, 1, 
/* 88188*/                  OPC_CheckType, MVT::i64,
/* 88190*/                  OPC_MoveParent,
/* 88191*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88193*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 88195*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88197*/                  OPC_MoveParent,
/* 88198*/                  OPC_MoveParent,
/* 88199*/                  OPC_MoveParent,
/* 88200*/                  OPC_MoveChild1,
/* 88201*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 88204*/                  OPC_MoveChild0,
/* 88205*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88208*/                  OPC_RecordMemRef,
/* 88209*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 88210*/                  OPC_CheckFoldableChainNode,
/* 88211*/                  OPC_MoveChild1,
/* 88212*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88215*/                  OPC_CheckType, MVT::i64,
/* 88217*/                  OPC_Scope, 34|128,1/*162*/, /*->88382*/ // 3 children in Scope
/* 88220*/                    OPC_CheckChild0Same, 1,
/* 88222*/                    OPC_CheckChild1Integer, 3, 
/* 88224*/                    OPC_MoveParent,
/* 88225*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88227*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88229*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88231*/                    OPC_MoveParent,
/* 88232*/                    OPC_MoveChild1,
/* 88233*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88236*/                    OPC_RecordMemRef,
/* 88237*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 88238*/                    OPC_CheckFoldableChainNode,
/* 88239*/                    OPC_MoveChild1,
/* 88240*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88243*/                    OPC_CheckChild0Same, 3,
/* 88245*/                    OPC_CheckChild1Integer, 3, 
/* 88247*/                    OPC_CheckType, MVT::i64,
/* 88249*/                    OPC_MoveParent,
/* 88250*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88252*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88254*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88256*/                    OPC_MoveParent,
/* 88257*/                    OPC_MoveParent,
/* 88258*/                    OPC_CheckType, MVT::i32,
/* 88260*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 88262*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 88272*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 88275*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 88282*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 88288*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88291*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 88299*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88302*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 88310*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88313*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 88322*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 88328*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88331*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 88339*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88342*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 88350*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88353*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 88362*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 88371*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 88374*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 88382*/                  /*Scope*/ 1|128,2/*257*/, /*->88641*/
/* 88384*/                    OPC_CheckChild0Same, 3,
/* 88386*/                    OPC_CheckChild1Integer, 3, 
/* 88388*/                    OPC_MoveParent,
/* 88389*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88391*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88393*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88395*/                    OPC_MoveParent,
/* 88396*/                    OPC_MoveChild1,
/* 88397*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88400*/                    OPC_RecordMemRef,
/* 88401*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 88402*/                    OPC_CheckFoldableChainNode,
/* 88403*/                    OPC_MoveChild1,
/* 88404*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88407*/                    OPC_CheckChild0Same, 1,
/* 88409*/                    OPC_CheckChild1Integer, 3, 
/* 88411*/                    OPC_CheckType, MVT::i64,
/* 88413*/                    OPC_MoveParent,
/* 88414*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88416*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88418*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88420*/                    OPC_MoveParent,
/* 88421*/                    OPC_MoveParent,
/* 88422*/                    OPC_CheckType, MVT::i32,
/* 88424*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 88426*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 88436*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 88439*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 88446*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 88452*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88455*/                    OPC_Scope, 91, /*->88548*/ // 2 children in Scope
/* 88457*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 88465*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88468*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 88476*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88479*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 88488*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 88494*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 88497*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 88505*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88508*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 88516*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88519*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 88528*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 88537*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 88540*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 88548*/                    /*Scope*/ 91, /*->88640*/
/* 88549*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 88557*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88560*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 88568*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88571*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 88580*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 88586*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 88589*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 88597*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88600*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 88608*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88611*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 88620*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 88629*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 88632*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 88640*/                    0, /*End of Scope*/
/* 88641*/                  /*Scope*/ 34|128,1/*162*/, /*->88805*/
/* 88643*/                    OPC_CheckChild0Same, 1,
/* 88645*/                    OPC_CheckChild1Integer, 3, 
/* 88647*/                    OPC_MoveParent,
/* 88648*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88650*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88652*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88654*/                    OPC_MoveParent,
/* 88655*/                    OPC_MoveChild1,
/* 88656*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88659*/                    OPC_RecordMemRef,
/* 88660*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 88661*/                    OPC_CheckFoldableChainNode,
/* 88662*/                    OPC_MoveChild1,
/* 88663*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88666*/                    OPC_CheckChild0Same, 3,
/* 88668*/                    OPC_CheckChild1Integer, 3, 
/* 88670*/                    OPC_CheckType, MVT::i64,
/* 88672*/                    OPC_MoveParent,
/* 88673*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88675*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88677*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88679*/                    OPC_MoveParent,
/* 88680*/                    OPC_MoveParent,
/* 88681*/                    OPC_CheckType, MVT::i32,
/* 88683*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 88685*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 88695*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 88698*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 88705*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 88711*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88714*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 88722*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88725*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 88733*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88736*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 88745*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 88751*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88754*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 88762*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88765*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 88773*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88776*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 88785*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 88794*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 88797*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 88805*/                  0, /*End of Scope*/
/* 88806*/                /*Scope*/ 2|128,3/*386*/, /*->89194*/
/* 88808*/                  OPC_CheckChild0Same, 1,
/* 88810*/                  OPC_CheckChild1Integer, 1, 
/* 88812*/                  OPC_MoveParent,
/* 88813*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88815*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 88817*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88819*/                  OPC_MoveParent,
/* 88820*/                  OPC_MoveChild1,
/* 88821*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88824*/                  OPC_RecordMemRef,
/* 88825*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 88826*/                  OPC_CheckFoldableChainNode,
/* 88827*/                  OPC_MoveChild1,
/* 88828*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88831*/                  OPC_CheckChild0Same, 3,
/* 88833*/                  OPC_CheckChild1Integer, 1, 
/* 88835*/                  OPC_CheckType, MVT::i64,
/* 88837*/                  OPC_MoveParent,
/* 88838*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88840*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 88842*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88844*/                  OPC_MoveParent,
/* 88845*/                  OPC_MoveParent,
/* 88846*/                  OPC_MoveParent,
/* 88847*/                  OPC_MoveChild1,
/* 88848*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 88851*/                  OPC_MoveChild0,
/* 88852*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88855*/                  OPC_RecordMemRef,
/* 88856*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 88857*/                  OPC_CheckFoldableChainNode,
/* 88858*/                  OPC_MoveChild1,
/* 88859*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88862*/                  OPC_CheckType, MVT::i64,
/* 88864*/                  OPC_Scope, 34|128,1/*162*/, /*->89029*/ // 2 children in Scope
/* 88867*/                    OPC_CheckChild0Same, 3,
/* 88869*/                    OPC_CheckChild1Integer, 3, 
/* 88871*/                    OPC_MoveParent,
/* 88872*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88874*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88876*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88878*/                    OPC_MoveParent,
/* 88879*/                    OPC_MoveChild1,
/* 88880*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 88883*/                    OPC_RecordMemRef,
/* 88884*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 88885*/                    OPC_CheckFoldableChainNode,
/* 88886*/                    OPC_MoveChild1,
/* 88887*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 88890*/                    OPC_CheckChild0Same, 1,
/* 88892*/                    OPC_CheckChild1Integer, 3, 
/* 88894*/                    OPC_CheckType, MVT::i64,
/* 88896*/                    OPC_MoveParent,
/* 88897*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 88899*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 88901*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 88903*/                    OPC_MoveParent,
/* 88904*/                    OPC_MoveParent,
/* 88905*/                    OPC_CheckType, MVT::i32,
/* 88907*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 88909*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 88919*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 88922*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 88929*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 88935*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88938*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 88946*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88949*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 88957*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 88960*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 88969*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 88975*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 88978*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 88986*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 88989*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 88997*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89000*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 89009*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 89018*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 89021*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 89029*/                  /*Scope*/ 34|128,1/*162*/, /*->89193*/
/* 89031*/                    OPC_CheckChild0Same, 1,
/* 89033*/                    OPC_CheckChild1Integer, 3, 
/* 89035*/                    OPC_MoveParent,
/* 89036*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89038*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89040*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89042*/                    OPC_MoveParent,
/* 89043*/                    OPC_MoveChild1,
/* 89044*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89047*/                    OPC_RecordMemRef,
/* 89048*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 89049*/                    OPC_CheckFoldableChainNode,
/* 89050*/                    OPC_MoveChild1,
/* 89051*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89054*/                    OPC_CheckChild0Same, 3,
/* 89056*/                    OPC_CheckChild1Integer, 3, 
/* 89058*/                    OPC_CheckType, MVT::i64,
/* 89060*/                    OPC_MoveParent,
/* 89061*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89063*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89065*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89067*/                    OPC_MoveParent,
/* 89068*/                    OPC_MoveParent,
/* 89069*/                    OPC_CheckType, MVT::i32,
/* 89071*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 89073*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 89083*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 89086*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 89093*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 89099*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89102*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 89110*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89113*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 89121*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89124*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 89133*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 89139*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89142*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 89150*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89153*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 89161*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89164*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 89173*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 89182*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 89185*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 89193*/                  0, /*End of Scope*/
/* 89194*/                0, /*End of Scope*/
/* 89195*/              /*Scope*/ 54|128,6/*822*/, /*->90019*/
/* 89197*/                OPC_CheckChild1Same, 1,
/* 89199*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89201*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 89203*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89205*/                OPC_MoveParent,
/* 89206*/                OPC_MoveChild1,
/* 89207*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89210*/                OPC_RecordMemRef,
/* 89211*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 89212*/                OPC_CheckFoldableChainNode,
/* 89213*/                OPC_CheckChild1Same, 3,
/* 89215*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89217*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 89219*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89221*/                OPC_MoveParent,
/* 89222*/                OPC_MoveParent,
/* 89223*/                OPC_MoveParent,
/* 89224*/                OPC_MoveChild1,
/* 89225*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 89228*/                OPC_MoveChild0,
/* 89229*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89232*/                OPC_RecordMemRef,
/* 89233*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 89234*/                OPC_CheckFoldableChainNode,
/* 89235*/                OPC_MoveChild1,
/* 89236*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89239*/                OPC_CheckType, MVT::i64,
/* 89241*/                OPC_Scope, 2|128,3/*386*/, /*->89630*/ // 2 children in Scope
/* 89244*/                  OPC_CheckChild0Same, 3,
/* 89246*/                  OPC_CheckChild1Integer, 1, 
/* 89248*/                  OPC_MoveParent,
/* 89249*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89251*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 89253*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89255*/                  OPC_MoveParent,
/* 89256*/                  OPC_MoveChild1,
/* 89257*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89260*/                  OPC_RecordMemRef,
/* 89261*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 89262*/                  OPC_CheckFoldableChainNode,
/* 89263*/                  OPC_MoveChild1,
/* 89264*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89267*/                  OPC_CheckChild0Same, 1,
/* 89269*/                  OPC_CheckChild1Integer, 1, 
/* 89271*/                  OPC_CheckType, MVT::i64,
/* 89273*/                  OPC_MoveParent,
/* 89274*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89276*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 89278*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89280*/                  OPC_MoveParent,
/* 89281*/                  OPC_MoveParent,
/* 89282*/                  OPC_MoveParent,
/* 89283*/                  OPC_MoveChild1,
/* 89284*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 89287*/                  OPC_MoveChild0,
/* 89288*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89291*/                  OPC_RecordMemRef,
/* 89292*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 89293*/                  OPC_CheckFoldableChainNode,
/* 89294*/                  OPC_MoveChild1,
/* 89295*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89298*/                  OPC_CheckType, MVT::i64,
/* 89300*/                  OPC_Scope, 34|128,1/*162*/, /*->89465*/ // 2 children in Scope
/* 89303*/                    OPC_CheckChild0Same, 3,
/* 89305*/                    OPC_CheckChild1Integer, 3, 
/* 89307*/                    OPC_MoveParent,
/* 89308*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89310*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89312*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89314*/                    OPC_MoveParent,
/* 89315*/                    OPC_MoveChild1,
/* 89316*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89319*/                    OPC_RecordMemRef,
/* 89320*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 89321*/                    OPC_CheckFoldableChainNode,
/* 89322*/                    OPC_MoveChild1,
/* 89323*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89326*/                    OPC_CheckChild0Same, 1,
/* 89328*/                    OPC_CheckChild1Integer, 3, 
/* 89330*/                    OPC_CheckType, MVT::i64,
/* 89332*/                    OPC_MoveParent,
/* 89333*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89335*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89337*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89339*/                    OPC_MoveParent,
/* 89340*/                    OPC_MoveParent,
/* 89341*/                    OPC_CheckType, MVT::i32,
/* 89343*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 89345*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 89355*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 89358*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 89365*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 89371*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89374*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 89382*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89385*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 89393*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89396*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 89405*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 89411*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89414*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 89422*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89425*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 89433*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89436*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 89445*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 89454*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 89457*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 89465*/                  /*Scope*/ 34|128,1/*162*/, /*->89629*/
/* 89467*/                    OPC_CheckChild0Same, 1,
/* 89469*/                    OPC_CheckChild1Integer, 3, 
/* 89471*/                    OPC_MoveParent,
/* 89472*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89474*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89476*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89478*/                    OPC_MoveParent,
/* 89479*/                    OPC_MoveChild1,
/* 89480*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89483*/                    OPC_RecordMemRef,
/* 89484*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 89485*/                    OPC_CheckFoldableChainNode,
/* 89486*/                    OPC_MoveChild1,
/* 89487*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89490*/                    OPC_CheckChild0Same, 3,
/* 89492*/                    OPC_CheckChild1Integer, 3, 
/* 89494*/                    OPC_CheckType, MVT::i64,
/* 89496*/                    OPC_MoveParent,
/* 89497*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89499*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89501*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89503*/                    OPC_MoveParent,
/* 89504*/                    OPC_MoveParent,
/* 89505*/                    OPC_CheckType, MVT::i32,
/* 89507*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 89509*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 89519*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 89522*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 89529*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 89535*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89538*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 89546*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89549*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 89557*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89560*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 89569*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 89575*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89578*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 89586*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89589*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 89597*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89600*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 89609*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 89618*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 89621*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 89629*/                  0, /*End of Scope*/
/* 89630*/                /*Scope*/ 2|128,3/*386*/, /*->90018*/
/* 89632*/                  OPC_CheckChild0Same, 1,
/* 89634*/                  OPC_CheckChild1Integer, 1, 
/* 89636*/                  OPC_MoveParent,
/* 89637*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89639*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 89641*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89643*/                  OPC_MoveParent,
/* 89644*/                  OPC_MoveChild1,
/* 89645*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89648*/                  OPC_RecordMemRef,
/* 89649*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 89650*/                  OPC_CheckFoldableChainNode,
/* 89651*/                  OPC_MoveChild1,
/* 89652*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89655*/                  OPC_CheckChild0Same, 3,
/* 89657*/                  OPC_CheckChild1Integer, 1, 
/* 89659*/                  OPC_CheckType, MVT::i64,
/* 89661*/                  OPC_MoveParent,
/* 89662*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89664*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 89666*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89668*/                  OPC_MoveParent,
/* 89669*/                  OPC_MoveParent,
/* 89670*/                  OPC_MoveParent,
/* 89671*/                  OPC_MoveChild1,
/* 89672*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 89675*/                  OPC_MoveChild0,
/* 89676*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89679*/                  OPC_RecordMemRef,
/* 89680*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 89681*/                  OPC_CheckFoldableChainNode,
/* 89682*/                  OPC_MoveChild1,
/* 89683*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89686*/                  OPC_CheckType, MVT::i64,
/* 89688*/                  OPC_Scope, 34|128,1/*162*/, /*->89853*/ // 2 children in Scope
/* 89691*/                    OPC_CheckChild0Same, 3,
/* 89693*/                    OPC_CheckChild1Integer, 3, 
/* 89695*/                    OPC_MoveParent,
/* 89696*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89698*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89700*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89702*/                    OPC_MoveParent,
/* 89703*/                    OPC_MoveChild1,
/* 89704*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89707*/                    OPC_RecordMemRef,
/* 89708*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 89709*/                    OPC_CheckFoldableChainNode,
/* 89710*/                    OPC_MoveChild1,
/* 89711*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89714*/                    OPC_CheckChild0Same, 1,
/* 89716*/                    OPC_CheckChild1Integer, 3, 
/* 89718*/                    OPC_CheckType, MVT::i64,
/* 89720*/                    OPC_MoveParent,
/* 89721*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89723*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89725*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89727*/                    OPC_MoveParent,
/* 89728*/                    OPC_MoveParent,
/* 89729*/                    OPC_CheckType, MVT::i32,
/* 89731*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 89733*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 89743*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 89746*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 89753*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 89759*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89762*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 89770*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89773*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 89781*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89784*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 89793*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 89799*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89802*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 89810*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89813*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 89821*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89824*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 89833*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 89842*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 89845*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 89853*/                  /*Scope*/ 34|128,1/*162*/, /*->90017*/
/* 89855*/                    OPC_CheckChild0Same, 1,
/* 89857*/                    OPC_CheckChild1Integer, 3, 
/* 89859*/                    OPC_MoveParent,
/* 89860*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89862*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89864*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89866*/                    OPC_MoveParent,
/* 89867*/                    OPC_MoveChild1,
/* 89868*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 89871*/                    OPC_RecordMemRef,
/* 89872*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 89873*/                    OPC_CheckFoldableChainNode,
/* 89874*/                    OPC_MoveChild1,
/* 89875*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 89878*/                    OPC_CheckChild0Same, 3,
/* 89880*/                    OPC_CheckChild1Integer, 3, 
/* 89882*/                    OPC_CheckType, MVT::i64,
/* 89884*/                    OPC_MoveParent,
/* 89885*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 89887*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 89889*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 89891*/                    OPC_MoveParent,
/* 89892*/                    OPC_MoveParent,
/* 89893*/                    OPC_CheckType, MVT::i32,
/* 89895*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 89897*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 89907*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 89910*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 89917*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 89923*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89926*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 89934*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89937*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 89945*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89948*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 89957*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 89963*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 89966*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 89974*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 89977*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 89985*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 89988*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 89997*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 90006*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 90009*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 90017*/                  0, /*End of Scope*/
/* 90018*/                0, /*End of Scope*/
/* 90019*/              0, /*End of Scope*/
/* 90020*/            /*Scope*/ 35|128,24/*3107*/, /*->93129*/
/* 90022*/              OPC_CheckChild1Integer, 1, 
/* 90024*/              OPC_MoveParent,
/* 90025*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90027*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 90029*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90031*/              OPC_MoveParent,
/* 90032*/              OPC_MoveChild1,
/* 90033*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90036*/              OPC_RecordMemRef,
/* 90037*/              OPC_RecordNode, // #2 = 'ld' chained node
/* 90038*/              OPC_CheckFoldableChainNode,
/* 90039*/              OPC_MoveChild1,
/* 90040*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90043*/              OPC_RecordChild0, // #3 = $Rm
/* 90044*/              OPC_CheckChild1Integer, 1, 
/* 90046*/              OPC_CheckType, MVT::i64,
/* 90048*/              OPC_MoveParent,
/* 90049*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90051*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 90053*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90055*/              OPC_MoveParent,
/* 90056*/              OPC_MoveParent,
/* 90057*/              OPC_MoveChild1,
/* 90058*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 90061*/              OPC_MoveChild0,
/* 90062*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90065*/              OPC_RecordMemRef,
/* 90066*/              OPC_RecordNode, // #4 = 'ld' chained node
/* 90067*/              OPC_CheckFoldableChainNode,
/* 90068*/              OPC_MoveChild1,
/* 90069*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90072*/              OPC_CheckType, MVT::i64,
/* 90074*/              OPC_Scope, 36|128,6/*804*/, /*->90881*/ // 3 children in Scope
/* 90077*/                OPC_CheckChild0Same, 1,
/* 90079*/                OPC_CheckChild1Integer, 2, 
/* 90081*/                OPC_MoveParent,
/* 90082*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90084*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 90086*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90088*/                OPC_MoveParent,
/* 90089*/                OPC_MoveChild1,
/* 90090*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90093*/                OPC_RecordMemRef,
/* 90094*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 90095*/                OPC_CheckFoldableChainNode,
/* 90096*/                OPC_MoveChild1,
/* 90097*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90100*/                OPC_CheckChild0Same, 3,
/* 90102*/                OPC_CheckChild1Integer, 2, 
/* 90104*/                OPC_CheckType, MVT::i64,
/* 90106*/                OPC_MoveParent,
/* 90107*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90109*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 90111*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90113*/                OPC_MoveParent,
/* 90114*/                OPC_MoveParent,
/* 90115*/                OPC_MoveParent,
/* 90116*/                OPC_MoveChild1,
/* 90117*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 90120*/                OPC_MoveChild0,
/* 90121*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90124*/                OPC_RecordMemRef,
/* 90125*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 90126*/                OPC_CheckFoldableChainNode,
/* 90127*/                OPC_Scope, 118|128,2/*374*/, /*->90504*/ // 2 children in Scope
/* 90130*/                  OPC_CheckChild1Same, 1,
/* 90132*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90134*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 90136*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90138*/                  OPC_MoveParent,
/* 90139*/                  OPC_MoveChild1,
/* 90140*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90143*/                  OPC_RecordMemRef,
/* 90144*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 90145*/                  OPC_CheckFoldableChainNode,
/* 90146*/                  OPC_CheckChild1Same, 3,
/* 90148*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90150*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 90152*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90154*/                  OPC_MoveParent,
/* 90155*/                  OPC_MoveParent,
/* 90156*/                  OPC_MoveParent,
/* 90157*/                  OPC_MoveChild1,
/* 90158*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 90161*/                  OPC_MoveChild0,
/* 90162*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90165*/                  OPC_RecordMemRef,
/* 90166*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 90167*/                  OPC_CheckFoldableChainNode,
/* 90168*/                  OPC_MoveChild1,
/* 90169*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90172*/                  OPC_CheckType, MVT::i64,
/* 90174*/                  OPC_Scope, 34|128,1/*162*/, /*->90339*/ // 2 children in Scope
/* 90177*/                    OPC_CheckChild0Same, 1,
/* 90179*/                    OPC_CheckChild1Integer, 3, 
/* 90181*/                    OPC_MoveParent,
/* 90182*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90184*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90186*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90188*/                    OPC_MoveParent,
/* 90189*/                    OPC_MoveChild1,
/* 90190*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90193*/                    OPC_RecordMemRef,
/* 90194*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 90195*/                    OPC_CheckFoldableChainNode,
/* 90196*/                    OPC_MoveChild1,
/* 90197*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90200*/                    OPC_CheckChild0Same, 3,
/* 90202*/                    OPC_CheckChild1Integer, 3, 
/* 90204*/                    OPC_CheckType, MVT::i64,
/* 90206*/                    OPC_MoveParent,
/* 90207*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90209*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90211*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90213*/                    OPC_MoveParent,
/* 90214*/                    OPC_MoveParent,
/* 90215*/                    OPC_CheckType, MVT::i32,
/* 90217*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 90219*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 90229*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 90232*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 90239*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 90245*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 90248*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 90256*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 90259*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 90267*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 90270*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 90279*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 90285*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 90288*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 90296*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 90299*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 90307*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 90310*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 90319*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 90328*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 90331*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 90339*/                  /*Scope*/ 34|128,1/*162*/, /*->90503*/
/* 90341*/                    OPC_CheckChild0Same, 3,
/* 90343*/                    OPC_CheckChild1Integer, 3, 
/* 90345*/                    OPC_MoveParent,
/* 90346*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90348*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90350*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90352*/                    OPC_MoveParent,
/* 90353*/                    OPC_MoveChild1,
/* 90354*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90357*/                    OPC_RecordMemRef,
/* 90358*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 90359*/                    OPC_CheckFoldableChainNode,
/* 90360*/                    OPC_MoveChild1,
/* 90361*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90364*/                    OPC_CheckChild0Same, 1,
/* 90366*/                    OPC_CheckChild1Integer, 3, 
/* 90368*/                    OPC_CheckType, MVT::i64,
/* 90370*/                    OPC_MoveParent,
/* 90371*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90373*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90375*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90377*/                    OPC_MoveParent,
/* 90378*/                    OPC_MoveParent,
/* 90379*/                    OPC_CheckType, MVT::i32,
/* 90381*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 90383*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 90393*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 90396*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 90403*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 90409*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 90412*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 90420*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 90423*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 90431*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 90434*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 90443*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 90449*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 90452*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 90460*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 90463*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 90471*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 90474*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 90483*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 90492*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 90495*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 90503*/                  0, /*End of Scope*/
/* 90504*/                /*Scope*/ 118|128,2/*374*/, /*->90880*/
/* 90506*/                  OPC_CheckChild1Same, 3,
/* 90508*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90510*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 90512*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90514*/                  OPC_MoveParent,
/* 90515*/                  OPC_MoveChild1,
/* 90516*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90519*/                  OPC_RecordMemRef,
/* 90520*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 90521*/                  OPC_CheckFoldableChainNode,
/* 90522*/                  OPC_CheckChild1Same, 1,
/* 90524*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90526*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 90528*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90530*/                  OPC_MoveParent,
/* 90531*/                  OPC_MoveParent,
/* 90532*/                  OPC_MoveParent,
/* 90533*/                  OPC_MoveChild1,
/* 90534*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 90537*/                  OPC_MoveChild0,
/* 90538*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90541*/                  OPC_RecordMemRef,
/* 90542*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 90543*/                  OPC_CheckFoldableChainNode,
/* 90544*/                  OPC_MoveChild1,
/* 90545*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90548*/                  OPC_CheckType, MVT::i64,
/* 90550*/                  OPC_Scope, 34|128,1/*162*/, /*->90715*/ // 2 children in Scope
/* 90553*/                    OPC_CheckChild0Same, 1,
/* 90555*/                    OPC_CheckChild1Integer, 3, 
/* 90557*/                    OPC_MoveParent,
/* 90558*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90560*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90562*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90564*/                    OPC_MoveParent,
/* 90565*/                    OPC_MoveChild1,
/* 90566*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90569*/                    OPC_RecordMemRef,
/* 90570*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 90571*/                    OPC_CheckFoldableChainNode,
/* 90572*/                    OPC_MoveChild1,
/* 90573*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90576*/                    OPC_CheckChild0Same, 3,
/* 90578*/                    OPC_CheckChild1Integer, 3, 
/* 90580*/                    OPC_CheckType, MVT::i64,
/* 90582*/                    OPC_MoveParent,
/* 90583*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90585*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90587*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90589*/                    OPC_MoveParent,
/* 90590*/                    OPC_MoveParent,
/* 90591*/                    OPC_CheckType, MVT::i32,
/* 90593*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 90595*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 90605*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 90608*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 90615*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 90621*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 90624*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 90632*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 90635*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 90643*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 90646*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 90655*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 90661*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 90664*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 90672*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 90675*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 90683*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 90686*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 90695*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 90704*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 90707*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 90715*/                  /*Scope*/ 34|128,1/*162*/, /*->90879*/
/* 90717*/                    OPC_CheckChild0Same, 3,
/* 90719*/                    OPC_CheckChild1Integer, 3, 
/* 90721*/                    OPC_MoveParent,
/* 90722*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90724*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90726*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90728*/                    OPC_MoveParent,
/* 90729*/                    OPC_MoveChild1,
/* 90730*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90733*/                    OPC_RecordMemRef,
/* 90734*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 90735*/                    OPC_CheckFoldableChainNode,
/* 90736*/                    OPC_MoveChild1,
/* 90737*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90740*/                    OPC_CheckChild0Same, 1,
/* 90742*/                    OPC_CheckChild1Integer, 3, 
/* 90744*/                    OPC_CheckType, MVT::i64,
/* 90746*/                    OPC_MoveParent,
/* 90747*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90749*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90751*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90753*/                    OPC_MoveParent,
/* 90754*/                    OPC_MoveParent,
/* 90755*/                    OPC_CheckType, MVT::i32,
/* 90757*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 90759*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 90769*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 90772*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 90779*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 90785*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 90788*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 90796*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 90799*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 90807*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 90810*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 90819*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 90825*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 90828*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 90836*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 90839*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 90847*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 90850*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 90859*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 90868*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 90871*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 90879*/                  0, /*End of Scope*/
/* 90880*/                0, /*End of Scope*/
/* 90881*/              /*Scope*/ 31|128,11/*1439*/, /*->92322*/
/* 90883*/                OPC_CheckChild0Same, 3,
/* 90885*/                OPC_CheckChild1Integer, 2, 
/* 90887*/                OPC_MoveParent,
/* 90888*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90890*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 90892*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90894*/                OPC_MoveParent,
/* 90895*/                OPC_MoveChild1,
/* 90896*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90899*/                OPC_RecordMemRef,
/* 90900*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 90901*/                OPC_CheckFoldableChainNode,
/* 90902*/                OPC_MoveChild1,
/* 90903*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90906*/                OPC_CheckChild0Same, 1,
/* 90908*/                OPC_CheckChild1Integer, 2, 
/* 90910*/                OPC_CheckType, MVT::i64,
/* 90912*/                OPC_MoveParent,
/* 90913*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90915*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 90917*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90919*/                OPC_MoveParent,
/* 90920*/                OPC_MoveParent,
/* 90921*/                OPC_MoveParent,
/* 90922*/                OPC_MoveChild1,
/* 90923*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 90926*/                OPC_MoveChild0,
/* 90927*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90930*/                OPC_RecordMemRef,
/* 90931*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 90932*/                OPC_CheckFoldableChainNode,
/* 90933*/                OPC_Scope, 118|128,2/*374*/, /*->91310*/ // 3 children in Scope
/* 90936*/                  OPC_CheckChild1Same, 1,
/* 90938*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90940*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 90942*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90944*/                  OPC_MoveParent,
/* 90945*/                  OPC_MoveChild1,
/* 90946*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90949*/                  OPC_RecordMemRef,
/* 90950*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 90951*/                  OPC_CheckFoldableChainNode,
/* 90952*/                  OPC_CheckChild1Same, 3,
/* 90954*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90956*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 90958*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90960*/                  OPC_MoveParent,
/* 90961*/                  OPC_MoveParent,
/* 90962*/                  OPC_MoveParent,
/* 90963*/                  OPC_MoveChild1,
/* 90964*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 90967*/                  OPC_MoveChild0,
/* 90968*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90971*/                  OPC_RecordMemRef,
/* 90972*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 90973*/                  OPC_CheckFoldableChainNode,
/* 90974*/                  OPC_MoveChild1,
/* 90975*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 90978*/                  OPC_CheckType, MVT::i64,
/* 90980*/                  OPC_Scope, 34|128,1/*162*/, /*->91145*/ // 2 children in Scope
/* 90983*/                    OPC_CheckChild0Same, 1,
/* 90985*/                    OPC_CheckChild1Integer, 3, 
/* 90987*/                    OPC_MoveParent,
/* 90988*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 90990*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 90992*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 90994*/                    OPC_MoveParent,
/* 90995*/                    OPC_MoveChild1,
/* 90996*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 90999*/                    OPC_RecordMemRef,
/* 91000*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 91001*/                    OPC_CheckFoldableChainNode,
/* 91002*/                    OPC_MoveChild1,
/* 91003*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 91006*/                    OPC_CheckChild0Same, 3,
/* 91008*/                    OPC_CheckChild1Integer, 3, 
/* 91010*/                    OPC_CheckType, MVT::i64,
/* 91012*/                    OPC_MoveParent,
/* 91013*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91015*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91017*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91019*/                    OPC_MoveParent,
/* 91020*/                    OPC_MoveParent,
/* 91021*/                    OPC_CheckType, MVT::i32,
/* 91023*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 91025*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 91035*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 91038*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 91045*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 91051*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91054*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 91062*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91065*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 91073*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91076*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 91085*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 91091*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91094*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 91102*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91105*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 91113*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91116*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 91125*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 91134*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 91137*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 91145*/                  /*Scope*/ 34|128,1/*162*/, /*->91309*/
/* 91147*/                    OPC_CheckChild0Same, 3,
/* 91149*/                    OPC_CheckChild1Integer, 3, 
/* 91151*/                    OPC_MoveParent,
/* 91152*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91154*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91156*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91158*/                    OPC_MoveParent,
/* 91159*/                    OPC_MoveChild1,
/* 91160*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 91163*/                    OPC_RecordMemRef,
/* 91164*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 91165*/                    OPC_CheckFoldableChainNode,
/* 91166*/                    OPC_MoveChild1,
/* 91167*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 91170*/                    OPC_CheckChild0Same, 1,
/* 91172*/                    OPC_CheckChild1Integer, 3, 
/* 91174*/                    OPC_CheckType, MVT::i64,
/* 91176*/                    OPC_MoveParent,
/* 91177*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91179*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91181*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91183*/                    OPC_MoveParent,
/* 91184*/                    OPC_MoveParent,
/* 91185*/                    OPC_CheckType, MVT::i32,
/* 91187*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 91189*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 91199*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 91202*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 91209*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 91215*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91218*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 91226*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91229*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 91237*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91240*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 91249*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 91255*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91258*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 91266*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91269*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 91277*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91280*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 91289*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 91298*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 91301*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 91309*/                  0, /*End of Scope*/
/* 91310*/                /*Scope*/ 121|128,4/*633*/, /*->91945*/
/* 91312*/                  OPC_CheckChild1Same, 3,
/* 91314*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91316*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 91318*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91320*/                  OPC_MoveParent,
/* 91321*/                  OPC_MoveChild1,
/* 91322*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 91325*/                  OPC_RecordMemRef,
/* 91326*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 91327*/                  OPC_CheckFoldableChainNode,
/* 91328*/                  OPC_CheckChild1Same, 1,
/* 91330*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91332*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 91334*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91336*/                  OPC_MoveParent,
/* 91337*/                  OPC_MoveParent,
/* 91338*/                  OPC_MoveParent,
/* 91339*/                  OPC_MoveChild1,
/* 91340*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 91343*/                  OPC_MoveChild0,
/* 91344*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 91347*/                  OPC_RecordMemRef,
/* 91348*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 91349*/                  OPC_CheckFoldableChainNode,
/* 91350*/                  OPC_MoveChild1,
/* 91351*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 91354*/                  OPC_CheckType, MVT::i64,
/* 91356*/                  OPC_Scope, 34|128,1/*162*/, /*->91521*/ // 3 children in Scope
/* 91359*/                    OPC_CheckChild0Same, 1,
/* 91361*/                    OPC_CheckChild1Integer, 3, 
/* 91363*/                    OPC_MoveParent,
/* 91364*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91366*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91368*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91370*/                    OPC_MoveParent,
/* 91371*/                    OPC_MoveChild1,
/* 91372*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 91375*/                    OPC_RecordMemRef,
/* 91376*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 91377*/                    OPC_CheckFoldableChainNode,
/* 91378*/                    OPC_MoveChild1,
/* 91379*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 91382*/                    OPC_CheckChild0Same, 3,
/* 91384*/                    OPC_CheckChild1Integer, 3, 
/* 91386*/                    OPC_CheckType, MVT::i64,
/* 91388*/                    OPC_MoveParent,
/* 91389*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91391*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91393*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91395*/                    OPC_MoveParent,
/* 91396*/                    OPC_MoveParent,
/* 91397*/                    OPC_CheckType, MVT::i32,
/* 91399*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 91401*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 91411*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 91414*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 91421*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 91427*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91430*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 91438*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91441*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 91449*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91452*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 91461*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 91467*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91470*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 91478*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91481*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 91489*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91492*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 91501*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 91510*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 91513*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 91521*/                  /*Scope*/ 1|128,2/*257*/, /*->91780*/
/* 91523*/                    OPC_CheckChild0Same, 3,
/* 91525*/                    OPC_CheckChild1Integer, 3, 
/* 91527*/                    OPC_MoveParent,
/* 91528*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91530*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91532*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91534*/                    OPC_MoveParent,
/* 91535*/                    OPC_MoveChild1,
/* 91536*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 91539*/                    OPC_RecordMemRef,
/* 91540*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 91541*/                    OPC_CheckFoldableChainNode,
/* 91542*/                    OPC_MoveChild1,
/* 91543*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 91546*/                    OPC_CheckChild0Same, 1,
/* 91548*/                    OPC_CheckChild1Integer, 3, 
/* 91550*/                    OPC_CheckType, MVT::i64,
/* 91552*/                    OPC_MoveParent,
/* 91553*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91555*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91557*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91559*/                    OPC_MoveParent,
/* 91560*/                    OPC_MoveParent,
/* 91561*/                    OPC_CheckType, MVT::i32,
/* 91563*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 91565*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 91575*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 91578*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 91585*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 91591*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91594*/                    OPC_Scope, 91, /*->91687*/ // 2 children in Scope
/* 91596*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 91604*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91607*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 91615*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91618*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 91627*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 91633*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 91636*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 91644*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91647*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 91655*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91658*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 91667*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 91676*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 91679*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 91687*/                    /*Scope*/ 91, /*->91779*/
/* 91688*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 91696*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91699*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 91707*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91710*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 91719*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 91725*/                      OPC_EmitInteger, MVT::i64, 0, 
/* 91728*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 91736*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91739*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 91747*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91750*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 91759*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 91768*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 91771*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 91779*/                    0, /*End of Scope*/
/* 91780*/                  /*Scope*/ 34|128,1/*162*/, /*->91944*/
/* 91782*/                    OPC_CheckChild0Same, 1,
/* 91784*/                    OPC_CheckChild1Integer, 3, 
/* 91786*/                    OPC_MoveParent,
/* 91787*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91789*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91791*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91793*/                    OPC_MoveParent,
/* 91794*/                    OPC_MoveChild1,
/* 91795*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 91798*/                    OPC_RecordMemRef,
/* 91799*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 91800*/                    OPC_CheckFoldableChainNode,
/* 91801*/                    OPC_MoveChild1,
/* 91802*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 91805*/                    OPC_CheckChild0Same, 3,
/* 91807*/                    OPC_CheckChild1Integer, 3, 
/* 91809*/                    OPC_CheckType, MVT::i64,
/* 91811*/                    OPC_MoveParent,
/* 91812*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91814*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 91816*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91818*/                    OPC_MoveParent,
/* 91819*/                    OPC_MoveParent,
/* 91820*/                    OPC_CheckType, MVT::i32,
/* 91822*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 91824*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 91834*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 91837*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 91844*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 91850*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91853*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 91861*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91864*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 91872*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91875*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 91884*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 91890*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 91893*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 91901*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 91904*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 91912*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 91915*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 91924*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 91933*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 91936*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 91944*/                  0, /*End of Scope*/
/* 91945*/                /*Scope*/ 118|128,2/*374*/, /*->92321*/
/* 91947*/                  OPC_CheckChild1Same, 1,
/* 91949*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91951*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 91953*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91955*/                  OPC_MoveParent,
/* 91956*/                  OPC_MoveChild1,
/* 91957*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 91960*/                  OPC_RecordMemRef,
/* 91961*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 91962*/                  OPC_CheckFoldableChainNode,
/* 91963*/                  OPC_CheckChild1Same, 3,
/* 91965*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 91967*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 91969*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 91971*/                  OPC_MoveParent,
/* 91972*/                  OPC_MoveParent,
/* 91973*/                  OPC_MoveParent,
/* 91974*/                  OPC_MoveChild1,
/* 91975*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 91978*/                  OPC_MoveChild0,
/* 91979*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 91982*/                  OPC_RecordMemRef,
/* 91983*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 91984*/                  OPC_CheckFoldableChainNode,
/* 91985*/                  OPC_MoveChild1,
/* 91986*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 91989*/                  OPC_CheckType, MVT::i64,
/* 91991*/                  OPC_Scope, 34|128,1/*162*/, /*->92156*/ // 2 children in Scope
/* 91994*/                    OPC_CheckChild0Same, 3,
/* 91996*/                    OPC_CheckChild1Integer, 3, 
/* 91998*/                    OPC_MoveParent,
/* 91999*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92001*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92003*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92005*/                    OPC_MoveParent,
/* 92006*/                    OPC_MoveChild1,
/* 92007*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92010*/                    OPC_RecordMemRef,
/* 92011*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 92012*/                    OPC_CheckFoldableChainNode,
/* 92013*/                    OPC_MoveChild1,
/* 92014*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92017*/                    OPC_CheckChild0Same, 1,
/* 92019*/                    OPC_CheckChild1Integer, 3, 
/* 92021*/                    OPC_CheckType, MVT::i64,
/* 92023*/                    OPC_MoveParent,
/* 92024*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92026*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92028*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92030*/                    OPC_MoveParent,
/* 92031*/                    OPC_MoveParent,
/* 92032*/                    OPC_CheckType, MVT::i32,
/* 92034*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 92036*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 92046*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 92049*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 92056*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 92062*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92065*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 92073*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92076*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 92084*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92087*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 92096*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 92102*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92105*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 92113*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92116*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 92124*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92127*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 92136*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 92145*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 92148*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 92156*/                  /*Scope*/ 34|128,1/*162*/, /*->92320*/
/* 92158*/                    OPC_CheckChild0Same, 1,
/* 92160*/                    OPC_CheckChild1Integer, 3, 
/* 92162*/                    OPC_MoveParent,
/* 92163*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92165*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92167*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92169*/                    OPC_MoveParent,
/* 92170*/                    OPC_MoveChild1,
/* 92171*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92174*/                    OPC_RecordMemRef,
/* 92175*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 92176*/                    OPC_CheckFoldableChainNode,
/* 92177*/                    OPC_MoveChild1,
/* 92178*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92181*/                    OPC_CheckChild0Same, 3,
/* 92183*/                    OPC_CheckChild1Integer, 3, 
/* 92185*/                    OPC_CheckType, MVT::i64,
/* 92187*/                    OPC_MoveParent,
/* 92188*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92190*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92192*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92194*/                    OPC_MoveParent,
/* 92195*/                    OPC_MoveParent,
/* 92196*/                    OPC_CheckType, MVT::i32,
/* 92198*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 92200*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 92210*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 92213*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 92220*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 92226*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92229*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 92237*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92240*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 92248*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92251*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 92260*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 92266*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92269*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 92277*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92280*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 92288*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92291*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 92300*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 92309*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 92312*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 92320*/                  0, /*End of Scope*/
/* 92321*/                0, /*End of Scope*/
/* 92322*/              /*Scope*/ 36|128,6/*804*/, /*->93128*/
/* 92324*/                OPC_CheckChild0Same, 1,
/* 92326*/                OPC_CheckChild1Integer, 2, 
/* 92328*/                OPC_MoveParent,
/* 92329*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92331*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 92333*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92335*/                OPC_MoveParent,
/* 92336*/                OPC_MoveChild1,
/* 92337*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92340*/                OPC_RecordMemRef,
/* 92341*/                OPC_RecordNode, // #5 = 'ld' chained node
/* 92342*/                OPC_CheckFoldableChainNode,
/* 92343*/                OPC_MoveChild1,
/* 92344*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92347*/                OPC_CheckChild0Same, 3,
/* 92349*/                OPC_CheckChild1Integer, 2, 
/* 92351*/                OPC_CheckType, MVT::i64,
/* 92353*/                OPC_MoveParent,
/* 92354*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92356*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 92358*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92360*/                OPC_MoveParent,
/* 92361*/                OPC_MoveParent,
/* 92362*/                OPC_MoveParent,
/* 92363*/                OPC_MoveChild1,
/* 92364*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 92367*/                OPC_MoveChild0,
/* 92368*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92371*/                OPC_RecordMemRef,
/* 92372*/                OPC_RecordNode, // #6 = 'ld' chained node
/* 92373*/                OPC_CheckFoldableChainNode,
/* 92374*/                OPC_Scope, 118|128,2/*374*/, /*->92751*/ // 2 children in Scope
/* 92377*/                  OPC_CheckChild1Same, 3,
/* 92379*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92381*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 92383*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92385*/                  OPC_MoveParent,
/* 92386*/                  OPC_MoveChild1,
/* 92387*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92390*/                  OPC_RecordMemRef,
/* 92391*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 92392*/                  OPC_CheckFoldableChainNode,
/* 92393*/                  OPC_CheckChild1Same, 1,
/* 92395*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92397*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 92399*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92401*/                  OPC_MoveParent,
/* 92402*/                  OPC_MoveParent,
/* 92403*/                  OPC_MoveParent,
/* 92404*/                  OPC_MoveChild1,
/* 92405*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 92408*/                  OPC_MoveChild0,
/* 92409*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92412*/                  OPC_RecordMemRef,
/* 92413*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 92414*/                  OPC_CheckFoldableChainNode,
/* 92415*/                  OPC_MoveChild1,
/* 92416*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92419*/                  OPC_CheckType, MVT::i64,
/* 92421*/                  OPC_Scope, 34|128,1/*162*/, /*->92586*/ // 2 children in Scope
/* 92424*/                    OPC_CheckChild0Same, 3,
/* 92426*/                    OPC_CheckChild1Integer, 3, 
/* 92428*/                    OPC_MoveParent,
/* 92429*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92431*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92433*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92435*/                    OPC_MoveParent,
/* 92436*/                    OPC_MoveChild1,
/* 92437*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92440*/                    OPC_RecordMemRef,
/* 92441*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 92442*/                    OPC_CheckFoldableChainNode,
/* 92443*/                    OPC_MoveChild1,
/* 92444*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92447*/                    OPC_CheckChild0Same, 1,
/* 92449*/                    OPC_CheckChild1Integer, 3, 
/* 92451*/                    OPC_CheckType, MVT::i64,
/* 92453*/                    OPC_MoveParent,
/* 92454*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92456*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92458*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92460*/                    OPC_MoveParent,
/* 92461*/                    OPC_MoveParent,
/* 92462*/                    OPC_CheckType, MVT::i32,
/* 92464*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 92466*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 92476*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 92479*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 92486*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 92492*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92495*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 92503*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92506*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 92514*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92517*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 92526*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 92532*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92535*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 92543*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92546*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 92554*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92557*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 92566*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 92575*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 92578*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 92586*/                  /*Scope*/ 34|128,1/*162*/, /*->92750*/
/* 92588*/                    OPC_CheckChild0Same, 1,
/* 92590*/                    OPC_CheckChild1Integer, 3, 
/* 92592*/                    OPC_MoveParent,
/* 92593*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92595*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92597*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92599*/                    OPC_MoveParent,
/* 92600*/                    OPC_MoveChild1,
/* 92601*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92604*/                    OPC_RecordMemRef,
/* 92605*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 92606*/                    OPC_CheckFoldableChainNode,
/* 92607*/                    OPC_MoveChild1,
/* 92608*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92611*/                    OPC_CheckChild0Same, 3,
/* 92613*/                    OPC_CheckChild1Integer, 3, 
/* 92615*/                    OPC_CheckType, MVT::i64,
/* 92617*/                    OPC_MoveParent,
/* 92618*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92620*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92622*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92624*/                    OPC_MoveParent,
/* 92625*/                    OPC_MoveParent,
/* 92626*/                    OPC_CheckType, MVT::i32,
/* 92628*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 92630*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 92640*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 92643*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 92650*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 92656*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92659*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 92667*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92670*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 92678*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92681*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 92690*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 92696*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92699*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 92707*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92710*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 92718*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92721*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 92730*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 92739*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 92742*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 92750*/                  0, /*End of Scope*/
/* 92751*/                /*Scope*/ 118|128,2/*374*/, /*->93127*/
/* 92753*/                  OPC_CheckChild1Same, 1,
/* 92755*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92757*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 92759*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92761*/                  OPC_MoveParent,
/* 92762*/                  OPC_MoveChild1,
/* 92763*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92766*/                  OPC_RecordMemRef,
/* 92767*/                  OPC_RecordNode, // #7 = 'ld' chained node
/* 92768*/                  OPC_CheckFoldableChainNode,
/* 92769*/                  OPC_CheckChild1Same, 3,
/* 92771*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92773*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 92775*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92777*/                  OPC_MoveParent,
/* 92778*/                  OPC_MoveParent,
/* 92779*/                  OPC_MoveParent,
/* 92780*/                  OPC_MoveChild1,
/* 92781*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 92784*/                  OPC_MoveChild0,
/* 92785*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92788*/                  OPC_RecordMemRef,
/* 92789*/                  OPC_RecordNode, // #8 = 'ld' chained node
/* 92790*/                  OPC_CheckFoldableChainNode,
/* 92791*/                  OPC_MoveChild1,
/* 92792*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92795*/                  OPC_CheckType, MVT::i64,
/* 92797*/                  OPC_Scope, 34|128,1/*162*/, /*->92962*/ // 2 children in Scope
/* 92800*/                    OPC_CheckChild0Same, 3,
/* 92802*/                    OPC_CheckChild1Integer, 3, 
/* 92804*/                    OPC_MoveParent,
/* 92805*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92807*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92809*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92811*/                    OPC_MoveParent,
/* 92812*/                    OPC_MoveChild1,
/* 92813*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92816*/                    OPC_RecordMemRef,
/* 92817*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 92818*/                    OPC_CheckFoldableChainNode,
/* 92819*/                    OPC_MoveChild1,
/* 92820*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92823*/                    OPC_CheckChild0Same, 1,
/* 92825*/                    OPC_CheckChild1Integer, 3, 
/* 92827*/                    OPC_CheckType, MVT::i64,
/* 92829*/                    OPC_MoveParent,
/* 92830*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92832*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92834*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92836*/                    OPC_MoveParent,
/* 92837*/                    OPC_MoveParent,
/* 92838*/                    OPC_CheckType, MVT::i32,
/* 92840*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 92842*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 92852*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 92855*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 92862*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 92868*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92871*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 92879*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92882*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 92890*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92893*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 92902*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 92908*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 92911*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 92919*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 92922*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 92930*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 92933*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 92942*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 92951*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 92954*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 92962*/                  /*Scope*/ 34|128,1/*162*/, /*->93126*/
/* 92964*/                    OPC_CheckChild0Same, 1,
/* 92966*/                    OPC_CheckChild1Integer, 3, 
/* 92968*/                    OPC_MoveParent,
/* 92969*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92971*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92973*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 92975*/                    OPC_MoveParent,
/* 92976*/                    OPC_MoveChild1,
/* 92977*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 92980*/                    OPC_RecordMemRef,
/* 92981*/                    OPC_RecordNode, // #9 = 'ld' chained node
/* 92982*/                    OPC_CheckFoldableChainNode,
/* 92983*/                    OPC_MoveChild1,
/* 92984*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 92987*/                    OPC_CheckChild0Same, 3,
/* 92989*/                    OPC_CheckChild1Integer, 3, 
/* 92991*/                    OPC_CheckType, MVT::i64,
/* 92993*/                    OPC_MoveParent,
/* 92994*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 92996*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/* 92998*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93000*/                    OPC_MoveParent,
/* 93001*/                    OPC_MoveParent,
/* 93002*/                    OPC_CheckType, MVT::i32,
/* 93004*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 93006*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 93016*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 93019*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 93026*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 93032*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 93035*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 93043*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93046*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 93054*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93057*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 93066*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 93072*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 93075*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 93083*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93086*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 93094*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93097*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 93106*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 93115*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 93118*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 93126*/                  0, /*End of Scope*/
/* 93127*/                0, /*End of Scope*/
/* 93128*/              0, /*End of Scope*/
/* 93129*/            0, /*End of Scope*/
/* 93130*/          /*Scope*/ 2|128,25/*3202*/, /*->96334*/
/* 93132*/            OPC_RecordChild1, // #1 = $Rn
/* 93133*/            OPC_CheckChild1Type, MVT::i64,
/* 93135*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93137*/            OPC_CheckPredicate, 5, // Predicate_sextload
/* 93139*/            OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93141*/            OPC_MoveParent,
/* 93142*/            OPC_MoveChild1,
/* 93143*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93146*/            OPC_RecordMemRef,
/* 93147*/            OPC_RecordNode, // #2 = 'ld' chained node
/* 93148*/            OPC_CheckFoldableChainNode,
/* 93149*/            OPC_RecordChild1, // #3 = $Rm
/* 93150*/            OPC_CheckChild1Type, MVT::i64,
/* 93152*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93154*/            OPC_CheckPredicate, 5, // Predicate_sextload
/* 93156*/            OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93158*/            OPC_MoveParent,
/* 93159*/            OPC_MoveParent,
/* 93160*/            OPC_MoveChild1,
/* 93161*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 93164*/            OPC_MoveChild0,
/* 93165*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93168*/            OPC_RecordMemRef,
/* 93169*/            OPC_RecordNode, // #4 = 'ld' chained node
/* 93170*/            OPC_CheckFoldableChainNode,
/* 93171*/            OPC_MoveChild1,
/* 93172*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93175*/            OPC_CheckType, MVT::i64,
/* 93177*/            OPC_Scope, 66|128,6/*834*/, /*->94014*/ // 3 children in Scope
/* 93180*/              OPC_CheckChild0Same, 1,
/* 93182*/              OPC_CheckChild1Integer, 2, 
/* 93184*/              OPC_MoveParent,
/* 93185*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93187*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 93189*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93191*/              OPC_MoveParent,
/* 93192*/              OPC_MoveChild1,
/* 93193*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93196*/              OPC_RecordMemRef,
/* 93197*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 93198*/              OPC_CheckFoldableChainNode,
/* 93199*/              OPC_MoveChild1,
/* 93200*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93203*/              OPC_CheckChild0Same, 3,
/* 93205*/              OPC_CheckChild1Integer, 2, 
/* 93207*/              OPC_CheckType, MVT::i64,
/* 93209*/              OPC_MoveParent,
/* 93210*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93212*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 93214*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93216*/              OPC_MoveParent,
/* 93217*/              OPC_MoveParent,
/* 93218*/              OPC_MoveParent,
/* 93219*/              OPC_MoveChild1,
/* 93220*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 93223*/              OPC_MoveChild0,
/* 93224*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93227*/              OPC_RecordMemRef,
/* 93228*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 93229*/              OPC_CheckFoldableChainNode,
/* 93230*/              OPC_MoveChild1,
/* 93231*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93234*/              OPC_CheckType, MVT::i64,
/* 93236*/              OPC_Scope, 2|128,3/*386*/, /*->93625*/ // 2 children in Scope
/* 93239*/                OPC_CheckChild0Same, 1,
/* 93241*/                OPC_CheckChild1Integer, 1, 
/* 93243*/                OPC_MoveParent,
/* 93244*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93246*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 93248*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93250*/                OPC_MoveParent,
/* 93251*/                OPC_MoveChild1,
/* 93252*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93255*/                OPC_RecordMemRef,
/* 93256*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 93257*/                OPC_CheckFoldableChainNode,
/* 93258*/                OPC_MoveChild1,
/* 93259*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93262*/                OPC_CheckChild0Same, 3,
/* 93264*/                OPC_CheckChild1Integer, 1, 
/* 93266*/                OPC_CheckType, MVT::i64,
/* 93268*/                OPC_MoveParent,
/* 93269*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93271*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 93273*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93275*/                OPC_MoveParent,
/* 93276*/                OPC_MoveParent,
/* 93277*/                OPC_MoveParent,
/* 93278*/                OPC_MoveChild1,
/* 93279*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 93282*/                OPC_MoveChild0,
/* 93283*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93286*/                OPC_RecordMemRef,
/* 93287*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 93288*/                OPC_CheckFoldableChainNode,
/* 93289*/                OPC_MoveChild1,
/* 93290*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93293*/                OPC_CheckType, MVT::i64,
/* 93295*/                OPC_Scope, 34|128,1/*162*/, /*->93460*/ // 2 children in Scope
/* 93298*/                  OPC_CheckChild0Same, 1,
/* 93300*/                  OPC_CheckChild1Integer, 3, 
/* 93302*/                  OPC_MoveParent,
/* 93303*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93305*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 93307*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93309*/                  OPC_MoveParent,
/* 93310*/                  OPC_MoveChild1,
/* 93311*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93314*/                  OPC_RecordMemRef,
/* 93315*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 93316*/                  OPC_CheckFoldableChainNode,
/* 93317*/                  OPC_MoveChild1,
/* 93318*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93321*/                  OPC_CheckChild0Same, 3,
/* 93323*/                  OPC_CheckChild1Integer, 3, 
/* 93325*/                  OPC_CheckType, MVT::i64,
/* 93327*/                  OPC_MoveParent,
/* 93328*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93330*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 93332*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93334*/                  OPC_MoveParent,
/* 93335*/                  OPC_MoveParent,
/* 93336*/                  OPC_CheckType, MVT::i32,
/* 93338*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 93340*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 93350*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 93353*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 93360*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 93366*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 93369*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 93377*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93380*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 93388*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93391*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 93400*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 93406*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 93409*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 93417*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93420*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 93428*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93431*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 93440*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 93449*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 93452*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 93460*/                /*Scope*/ 34|128,1/*162*/, /*->93624*/
/* 93462*/                  OPC_CheckChild0Same, 3,
/* 93464*/                  OPC_CheckChild1Integer, 3, 
/* 93466*/                  OPC_MoveParent,
/* 93467*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93469*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 93471*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93473*/                  OPC_MoveParent,
/* 93474*/                  OPC_MoveChild1,
/* 93475*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93478*/                  OPC_RecordMemRef,
/* 93479*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 93480*/                  OPC_CheckFoldableChainNode,
/* 93481*/                  OPC_MoveChild1,
/* 93482*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93485*/                  OPC_CheckChild0Same, 1,
/* 93487*/                  OPC_CheckChild1Integer, 3, 
/* 93489*/                  OPC_CheckType, MVT::i64,
/* 93491*/                  OPC_MoveParent,
/* 93492*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93494*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 93496*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93498*/                  OPC_MoveParent,
/* 93499*/                  OPC_MoveParent,
/* 93500*/                  OPC_CheckType, MVT::i32,
/* 93502*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 93504*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 93514*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 93517*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 93524*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 93530*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 93533*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 93541*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93544*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 93552*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93555*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 93564*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 93570*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 93573*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 93581*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93584*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 93592*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93595*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 93604*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 93613*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 93616*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 93624*/                0, /*End of Scope*/
/* 93625*/              /*Scope*/ 2|128,3/*386*/, /*->94013*/
/* 93627*/                OPC_CheckChild0Same, 3,
/* 93629*/                OPC_CheckChild1Integer, 1, 
/* 93631*/                OPC_MoveParent,
/* 93632*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93634*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 93636*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93638*/                OPC_MoveParent,
/* 93639*/                OPC_MoveChild1,
/* 93640*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93643*/                OPC_RecordMemRef,
/* 93644*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 93645*/                OPC_CheckFoldableChainNode,
/* 93646*/                OPC_MoveChild1,
/* 93647*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93650*/                OPC_CheckChild0Same, 1,
/* 93652*/                OPC_CheckChild1Integer, 1, 
/* 93654*/                OPC_CheckType, MVT::i64,
/* 93656*/                OPC_MoveParent,
/* 93657*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93659*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 93661*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93663*/                OPC_MoveParent,
/* 93664*/                OPC_MoveParent,
/* 93665*/                OPC_MoveParent,
/* 93666*/                OPC_MoveChild1,
/* 93667*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 93670*/                OPC_MoveChild0,
/* 93671*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93674*/                OPC_RecordMemRef,
/* 93675*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 93676*/                OPC_CheckFoldableChainNode,
/* 93677*/                OPC_MoveChild1,
/* 93678*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93681*/                OPC_CheckType, MVT::i64,
/* 93683*/                OPC_Scope, 34|128,1/*162*/, /*->93848*/ // 2 children in Scope
/* 93686*/                  OPC_CheckChild0Same, 1,
/* 93688*/                  OPC_CheckChild1Integer, 3, 
/* 93690*/                  OPC_MoveParent,
/* 93691*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93693*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 93695*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93697*/                  OPC_MoveParent,
/* 93698*/                  OPC_MoveChild1,
/* 93699*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93702*/                  OPC_RecordMemRef,
/* 93703*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 93704*/                  OPC_CheckFoldableChainNode,
/* 93705*/                  OPC_MoveChild1,
/* 93706*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93709*/                  OPC_CheckChild0Same, 3,
/* 93711*/                  OPC_CheckChild1Integer, 3, 
/* 93713*/                  OPC_CheckType, MVT::i64,
/* 93715*/                  OPC_MoveParent,
/* 93716*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93718*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 93720*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93722*/                  OPC_MoveParent,
/* 93723*/                  OPC_MoveParent,
/* 93724*/                  OPC_CheckType, MVT::i32,
/* 93726*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 93728*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 93738*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 93741*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 93748*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 93754*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 93757*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 93765*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93768*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 93776*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93779*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 93788*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 93794*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 93797*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 93805*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93808*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 93816*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93819*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 93828*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 93837*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 93840*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 93848*/                /*Scope*/ 34|128,1/*162*/, /*->94012*/
/* 93850*/                  OPC_CheckChild0Same, 3,
/* 93852*/                  OPC_CheckChild1Integer, 3, 
/* 93854*/                  OPC_MoveParent,
/* 93855*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93857*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 93859*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93861*/                  OPC_MoveParent,
/* 93862*/                  OPC_MoveChild1,
/* 93863*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 93866*/                  OPC_RecordMemRef,
/* 93867*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 93868*/                  OPC_CheckFoldableChainNode,
/* 93869*/                  OPC_MoveChild1,
/* 93870*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 93873*/                  OPC_CheckChild0Same, 1,
/* 93875*/                  OPC_CheckChild1Integer, 3, 
/* 93877*/                  OPC_CheckType, MVT::i64,
/* 93879*/                  OPC_MoveParent,
/* 93880*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 93882*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 93884*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 93886*/                  OPC_MoveParent,
/* 93887*/                  OPC_MoveParent,
/* 93888*/                  OPC_CheckType, MVT::i32,
/* 93890*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 93892*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 93902*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 93905*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 93912*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 93918*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 93921*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 93929*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93932*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 93940*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93943*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 93952*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 93958*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 93961*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 93969*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 93972*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 93980*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 93983*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 93992*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 94001*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 94004*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 94012*/                0, /*End of Scope*/
/* 94013*/              0, /*End of Scope*/
/* 94014*/            /*Scope*/ 73|128,11/*1481*/, /*->95497*/
/* 94016*/              OPC_CheckChild0Same, 3,
/* 94018*/              OPC_CheckChild1Integer, 2, 
/* 94020*/              OPC_MoveParent,
/* 94021*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94023*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 94025*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94027*/              OPC_MoveParent,
/* 94028*/              OPC_MoveChild1,
/* 94029*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94032*/              OPC_RecordMemRef,
/* 94033*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 94034*/              OPC_CheckFoldableChainNode,
/* 94035*/              OPC_MoveChild1,
/* 94036*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94039*/              OPC_CheckChild0Same, 1,
/* 94041*/              OPC_CheckChild1Integer, 2, 
/* 94043*/              OPC_CheckType, MVT::i64,
/* 94045*/              OPC_MoveParent,
/* 94046*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94048*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 94050*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94052*/              OPC_MoveParent,
/* 94053*/              OPC_MoveParent,
/* 94054*/              OPC_MoveParent,
/* 94055*/              OPC_MoveChild1,
/* 94056*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 94059*/              OPC_MoveChild0,
/* 94060*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94063*/              OPC_RecordMemRef,
/* 94064*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 94065*/              OPC_CheckFoldableChainNode,
/* 94066*/              OPC_MoveChild1,
/* 94067*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94070*/              OPC_CheckType, MVT::i64,
/* 94072*/              OPC_Scope, 2|128,3/*386*/, /*->94461*/ // 3 children in Scope
/* 94075*/                OPC_CheckChild0Same, 1,
/* 94077*/                OPC_CheckChild1Integer, 1, 
/* 94079*/                OPC_MoveParent,
/* 94080*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94082*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 94084*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94086*/                OPC_MoveParent,
/* 94087*/                OPC_MoveChild1,
/* 94088*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94091*/                OPC_RecordMemRef,
/* 94092*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 94093*/                OPC_CheckFoldableChainNode,
/* 94094*/                OPC_MoveChild1,
/* 94095*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94098*/                OPC_CheckChild0Same, 3,
/* 94100*/                OPC_CheckChild1Integer, 1, 
/* 94102*/                OPC_CheckType, MVT::i64,
/* 94104*/                OPC_MoveParent,
/* 94105*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94107*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 94109*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94111*/                OPC_MoveParent,
/* 94112*/                OPC_MoveParent,
/* 94113*/                OPC_MoveParent,
/* 94114*/                OPC_MoveChild1,
/* 94115*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 94118*/                OPC_MoveChild0,
/* 94119*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94122*/                OPC_RecordMemRef,
/* 94123*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 94124*/                OPC_CheckFoldableChainNode,
/* 94125*/                OPC_MoveChild1,
/* 94126*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94129*/                OPC_CheckType, MVT::i64,
/* 94131*/                OPC_Scope, 34|128,1/*162*/, /*->94296*/ // 2 children in Scope
/* 94134*/                  OPC_CheckChild0Same, 1,
/* 94136*/                  OPC_CheckChild1Integer, 3, 
/* 94138*/                  OPC_MoveParent,
/* 94139*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94141*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94143*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94145*/                  OPC_MoveParent,
/* 94146*/                  OPC_MoveChild1,
/* 94147*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94150*/                  OPC_RecordMemRef,
/* 94151*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 94152*/                  OPC_CheckFoldableChainNode,
/* 94153*/                  OPC_MoveChild1,
/* 94154*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94157*/                  OPC_CheckChild0Same, 3,
/* 94159*/                  OPC_CheckChild1Integer, 3, 
/* 94161*/                  OPC_CheckType, MVT::i64,
/* 94163*/                  OPC_MoveParent,
/* 94164*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94166*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94168*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94170*/                  OPC_MoveParent,
/* 94171*/                  OPC_MoveParent,
/* 94172*/                  OPC_CheckType, MVT::i32,
/* 94174*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 94176*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 94186*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 94189*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 94196*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 94202*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 94205*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 94213*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94216*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 94224*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94227*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 94236*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 94242*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 94245*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 94253*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94256*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 94264*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94267*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 94276*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 94285*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 94288*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 94296*/                /*Scope*/ 34|128,1/*162*/, /*->94460*/
/* 94298*/                  OPC_CheckChild0Same, 3,
/* 94300*/                  OPC_CheckChild1Integer, 3, 
/* 94302*/                  OPC_MoveParent,
/* 94303*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94305*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94307*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94309*/                  OPC_MoveParent,
/* 94310*/                  OPC_MoveChild1,
/* 94311*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94314*/                  OPC_RecordMemRef,
/* 94315*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 94316*/                  OPC_CheckFoldableChainNode,
/* 94317*/                  OPC_MoveChild1,
/* 94318*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94321*/                  OPC_CheckChild0Same, 1,
/* 94323*/                  OPC_CheckChild1Integer, 3, 
/* 94325*/                  OPC_CheckType, MVT::i64,
/* 94327*/                  OPC_MoveParent,
/* 94328*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94330*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94332*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94334*/                  OPC_MoveParent,
/* 94335*/                  OPC_MoveParent,
/* 94336*/                  OPC_CheckType, MVT::i32,
/* 94338*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 94340*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 94350*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 94353*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 94360*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 94366*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 94369*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 94377*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94380*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 94388*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94391*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 94400*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 94406*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 94409*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 94417*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94420*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 94428*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94431*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 94440*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 94449*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 94452*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 94460*/                0, /*End of Scope*/
/* 94461*/              /*Scope*/ 5|128,5/*645*/, /*->95108*/
/* 94463*/                OPC_CheckChild0Same, 3,
/* 94465*/                OPC_CheckChild1Integer, 1, 
/* 94467*/                OPC_MoveParent,
/* 94468*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94470*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 94472*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94474*/                OPC_MoveParent,
/* 94475*/                OPC_MoveChild1,
/* 94476*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94479*/                OPC_RecordMemRef,
/* 94480*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 94481*/                OPC_CheckFoldableChainNode,
/* 94482*/                OPC_MoveChild1,
/* 94483*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94486*/                OPC_CheckChild0Same, 1,
/* 94488*/                OPC_CheckChild1Integer, 1, 
/* 94490*/                OPC_CheckType, MVT::i64,
/* 94492*/                OPC_MoveParent,
/* 94493*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94495*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 94497*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94499*/                OPC_MoveParent,
/* 94500*/                OPC_MoveParent,
/* 94501*/                OPC_MoveParent,
/* 94502*/                OPC_MoveChild1,
/* 94503*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 94506*/                OPC_MoveChild0,
/* 94507*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94510*/                OPC_RecordMemRef,
/* 94511*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 94512*/                OPC_CheckFoldableChainNode,
/* 94513*/                OPC_MoveChild1,
/* 94514*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94517*/                OPC_CheckType, MVT::i64,
/* 94519*/                OPC_Scope, 34|128,1/*162*/, /*->94684*/ // 3 children in Scope
/* 94522*/                  OPC_CheckChild0Same, 1,
/* 94524*/                  OPC_CheckChild1Integer, 3, 
/* 94526*/                  OPC_MoveParent,
/* 94527*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94529*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94531*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94533*/                  OPC_MoveParent,
/* 94534*/                  OPC_MoveChild1,
/* 94535*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94538*/                  OPC_RecordMemRef,
/* 94539*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 94540*/                  OPC_CheckFoldableChainNode,
/* 94541*/                  OPC_MoveChild1,
/* 94542*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94545*/                  OPC_CheckChild0Same, 3,
/* 94547*/                  OPC_CheckChild1Integer, 3, 
/* 94549*/                  OPC_CheckType, MVT::i64,
/* 94551*/                  OPC_MoveParent,
/* 94552*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94554*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94556*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94558*/                  OPC_MoveParent,
/* 94559*/                  OPC_MoveParent,
/* 94560*/                  OPC_CheckType, MVT::i32,
/* 94562*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 94564*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 94574*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 94577*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 94584*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 94590*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 94593*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 94601*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94604*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 94612*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94615*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 94624*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 94630*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 94633*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 94641*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94644*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 94652*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94655*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 94664*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 94673*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 94676*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 94684*/                /*Scope*/ 1|128,2/*257*/, /*->94943*/
/* 94686*/                  OPC_CheckChild0Same, 3,
/* 94688*/                  OPC_CheckChild1Integer, 3, 
/* 94690*/                  OPC_MoveParent,
/* 94691*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94693*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94695*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94697*/                  OPC_MoveParent,
/* 94698*/                  OPC_MoveChild1,
/* 94699*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94702*/                  OPC_RecordMemRef,
/* 94703*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 94704*/                  OPC_CheckFoldableChainNode,
/* 94705*/                  OPC_MoveChild1,
/* 94706*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94709*/                  OPC_CheckChild0Same, 1,
/* 94711*/                  OPC_CheckChild1Integer, 3, 
/* 94713*/                  OPC_CheckType, MVT::i64,
/* 94715*/                  OPC_MoveParent,
/* 94716*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94718*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94720*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94722*/                  OPC_MoveParent,
/* 94723*/                  OPC_MoveParent,
/* 94724*/                  OPC_CheckType, MVT::i32,
/* 94726*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 94728*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 94738*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 94741*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 94748*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 94754*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 94757*/                  OPC_Scope, 91, /*->94850*/ // 2 children in Scope
/* 94759*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 94767*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94770*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 94778*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94781*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 94790*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 94796*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 94799*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 94807*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94810*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 94818*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94821*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 94830*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 94839*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 94842*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 94850*/                  /*Scope*/ 91, /*->94942*/
/* 94851*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 94859*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94862*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 94870*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94873*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 94882*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 94888*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 94891*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 94899*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 94902*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 94910*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 94913*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 94922*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 94931*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 94934*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 94942*/                  0, /*End of Scope*/
/* 94943*/                /*Scope*/ 34|128,1/*162*/, /*->95107*/
/* 94945*/                  OPC_CheckChild0Same, 1,
/* 94947*/                  OPC_CheckChild1Integer, 3, 
/* 94949*/                  OPC_MoveParent,
/* 94950*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94952*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94954*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94956*/                  OPC_MoveParent,
/* 94957*/                  OPC_MoveChild1,
/* 94958*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 94961*/                  OPC_RecordMemRef,
/* 94962*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 94963*/                  OPC_CheckFoldableChainNode,
/* 94964*/                  OPC_MoveChild1,
/* 94965*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 94968*/                  OPC_CheckChild0Same, 3,
/* 94970*/                  OPC_CheckChild1Integer, 3, 
/* 94972*/                  OPC_CheckType, MVT::i64,
/* 94974*/                  OPC_MoveParent,
/* 94975*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 94977*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 94979*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 94981*/                  OPC_MoveParent,
/* 94982*/                  OPC_MoveParent,
/* 94983*/                  OPC_CheckType, MVT::i32,
/* 94985*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 94987*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 94997*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 95000*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 95007*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 95013*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95016*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 95024*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95027*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 95035*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95038*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 95047*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 95053*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95056*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 95064*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95067*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 95075*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95078*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 95087*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 95096*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 95099*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 95107*/                0, /*End of Scope*/
/* 95108*/              /*Scope*/ 2|128,3/*386*/, /*->95496*/
/* 95110*/                OPC_CheckChild0Same, 1,
/* 95112*/                OPC_CheckChild1Integer, 1, 
/* 95114*/                OPC_MoveParent,
/* 95115*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95117*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 95119*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95121*/                OPC_MoveParent,
/* 95122*/                OPC_MoveChild1,
/* 95123*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95126*/                OPC_RecordMemRef,
/* 95127*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 95128*/                OPC_CheckFoldableChainNode,
/* 95129*/                OPC_MoveChild1,
/* 95130*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95133*/                OPC_CheckChild0Same, 3,
/* 95135*/                OPC_CheckChild1Integer, 1, 
/* 95137*/                OPC_CheckType, MVT::i64,
/* 95139*/                OPC_MoveParent,
/* 95140*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95142*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 95144*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95146*/                OPC_MoveParent,
/* 95147*/                OPC_MoveParent,
/* 95148*/                OPC_MoveParent,
/* 95149*/                OPC_MoveChild1,
/* 95150*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 95153*/                OPC_MoveChild0,
/* 95154*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95157*/                OPC_RecordMemRef,
/* 95158*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 95159*/                OPC_CheckFoldableChainNode,
/* 95160*/                OPC_MoveChild1,
/* 95161*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95164*/                OPC_CheckType, MVT::i64,
/* 95166*/                OPC_Scope, 34|128,1/*162*/, /*->95331*/ // 2 children in Scope
/* 95169*/                  OPC_CheckChild0Same, 3,
/* 95171*/                  OPC_CheckChild1Integer, 3, 
/* 95173*/                  OPC_MoveParent,
/* 95174*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95176*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 95178*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95180*/                  OPC_MoveParent,
/* 95181*/                  OPC_MoveChild1,
/* 95182*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95185*/                  OPC_RecordMemRef,
/* 95186*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 95187*/                  OPC_CheckFoldableChainNode,
/* 95188*/                  OPC_MoveChild1,
/* 95189*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95192*/                  OPC_CheckChild0Same, 1,
/* 95194*/                  OPC_CheckChild1Integer, 3, 
/* 95196*/                  OPC_CheckType, MVT::i64,
/* 95198*/                  OPC_MoveParent,
/* 95199*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95201*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 95203*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95205*/                  OPC_MoveParent,
/* 95206*/                  OPC_MoveParent,
/* 95207*/                  OPC_CheckType, MVT::i32,
/* 95209*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 95211*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 95221*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 95224*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 95231*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 95237*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95240*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 95248*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95251*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 95259*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95262*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 95271*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 95277*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95280*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 95288*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95291*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 95299*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95302*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 95311*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 95320*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 95323*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 95331*/                /*Scope*/ 34|128,1/*162*/, /*->95495*/
/* 95333*/                  OPC_CheckChild0Same, 1,
/* 95335*/                  OPC_CheckChild1Integer, 3, 
/* 95337*/                  OPC_MoveParent,
/* 95338*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95340*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 95342*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95344*/                  OPC_MoveParent,
/* 95345*/                  OPC_MoveChild1,
/* 95346*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95349*/                  OPC_RecordMemRef,
/* 95350*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 95351*/                  OPC_CheckFoldableChainNode,
/* 95352*/                  OPC_MoveChild1,
/* 95353*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95356*/                  OPC_CheckChild0Same, 3,
/* 95358*/                  OPC_CheckChild1Integer, 3, 
/* 95360*/                  OPC_CheckType, MVT::i64,
/* 95362*/                  OPC_MoveParent,
/* 95363*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95365*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 95367*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95369*/                  OPC_MoveParent,
/* 95370*/                  OPC_MoveParent,
/* 95371*/                  OPC_CheckType, MVT::i32,
/* 95373*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 95375*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 95385*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 95388*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 95395*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 95401*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95404*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 95412*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95415*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 95423*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95426*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 95435*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 95441*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95444*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 95452*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95455*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 95463*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95466*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 95475*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 95484*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 95487*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 95495*/                0, /*End of Scope*/
/* 95496*/              0, /*End of Scope*/
/* 95497*/            /*Scope*/ 66|128,6/*834*/, /*->96333*/
/* 95499*/              OPC_CheckChild0Same, 1,
/* 95501*/              OPC_CheckChild1Integer, 2, 
/* 95503*/              OPC_MoveParent,
/* 95504*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95506*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 95508*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95510*/              OPC_MoveParent,
/* 95511*/              OPC_MoveChild1,
/* 95512*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95515*/              OPC_RecordMemRef,
/* 95516*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 95517*/              OPC_CheckFoldableChainNode,
/* 95518*/              OPC_MoveChild1,
/* 95519*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95522*/              OPC_CheckChild0Same, 3,
/* 95524*/              OPC_CheckChild1Integer, 2, 
/* 95526*/              OPC_CheckType, MVT::i64,
/* 95528*/              OPC_MoveParent,
/* 95529*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95531*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 95533*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95535*/              OPC_MoveParent,
/* 95536*/              OPC_MoveParent,
/* 95537*/              OPC_MoveParent,
/* 95538*/              OPC_MoveChild1,
/* 95539*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 95542*/              OPC_MoveChild0,
/* 95543*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95546*/              OPC_RecordMemRef,
/* 95547*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 95548*/              OPC_CheckFoldableChainNode,
/* 95549*/              OPC_MoveChild1,
/* 95550*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95553*/              OPC_CheckType, MVT::i64,
/* 95555*/              OPC_Scope, 2|128,3/*386*/, /*->95944*/ // 2 children in Scope
/* 95558*/                OPC_CheckChild0Same, 3,
/* 95560*/                OPC_CheckChild1Integer, 1, 
/* 95562*/                OPC_MoveParent,
/* 95563*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95565*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 95567*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95569*/                OPC_MoveParent,
/* 95570*/                OPC_MoveChild1,
/* 95571*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95574*/                OPC_RecordMemRef,
/* 95575*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 95576*/                OPC_CheckFoldableChainNode,
/* 95577*/                OPC_MoveChild1,
/* 95578*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95581*/                OPC_CheckChild0Same, 1,
/* 95583*/                OPC_CheckChild1Integer, 1, 
/* 95585*/                OPC_CheckType, MVT::i64,
/* 95587*/                OPC_MoveParent,
/* 95588*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95590*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 95592*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95594*/                OPC_MoveParent,
/* 95595*/                OPC_MoveParent,
/* 95596*/                OPC_MoveParent,
/* 95597*/                OPC_MoveChild1,
/* 95598*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 95601*/                OPC_MoveChild0,
/* 95602*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95605*/                OPC_RecordMemRef,
/* 95606*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 95607*/                OPC_CheckFoldableChainNode,
/* 95608*/                OPC_MoveChild1,
/* 95609*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95612*/                OPC_CheckType, MVT::i64,
/* 95614*/                OPC_Scope, 34|128,1/*162*/, /*->95779*/ // 2 children in Scope
/* 95617*/                  OPC_CheckChild0Same, 3,
/* 95619*/                  OPC_CheckChild1Integer, 3, 
/* 95621*/                  OPC_MoveParent,
/* 95622*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95624*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 95626*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95628*/                  OPC_MoveParent,
/* 95629*/                  OPC_MoveChild1,
/* 95630*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95633*/                  OPC_RecordMemRef,
/* 95634*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 95635*/                  OPC_CheckFoldableChainNode,
/* 95636*/                  OPC_MoveChild1,
/* 95637*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95640*/                  OPC_CheckChild0Same, 1,
/* 95642*/                  OPC_CheckChild1Integer, 3, 
/* 95644*/                  OPC_CheckType, MVT::i64,
/* 95646*/                  OPC_MoveParent,
/* 95647*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95649*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 95651*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95653*/                  OPC_MoveParent,
/* 95654*/                  OPC_MoveParent,
/* 95655*/                  OPC_CheckType, MVT::i32,
/* 95657*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 95659*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 95669*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 95672*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 95679*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 95685*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95688*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 95696*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95699*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 95707*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95710*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 95719*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 95725*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95728*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 95736*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95739*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 95747*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95750*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 95759*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 95768*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 95771*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 95779*/                /*Scope*/ 34|128,1/*162*/, /*->95943*/
/* 95781*/                  OPC_CheckChild0Same, 1,
/* 95783*/                  OPC_CheckChild1Integer, 3, 
/* 95785*/                  OPC_MoveParent,
/* 95786*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95788*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 95790*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95792*/                  OPC_MoveParent,
/* 95793*/                  OPC_MoveChild1,
/* 95794*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95797*/                  OPC_RecordMemRef,
/* 95798*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 95799*/                  OPC_CheckFoldableChainNode,
/* 95800*/                  OPC_MoveChild1,
/* 95801*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95804*/                  OPC_CheckChild0Same, 3,
/* 95806*/                  OPC_CheckChild1Integer, 3, 
/* 95808*/                  OPC_CheckType, MVT::i64,
/* 95810*/                  OPC_MoveParent,
/* 95811*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95813*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 95815*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95817*/                  OPC_MoveParent,
/* 95818*/                  OPC_MoveParent,
/* 95819*/                  OPC_CheckType, MVT::i32,
/* 95821*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 95823*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 95833*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 95836*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 95843*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 95849*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95852*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 95860*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95863*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 95871*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95874*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 95883*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 95889*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 95892*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 95900*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 95903*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 95911*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 95914*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 95923*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 95932*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 95935*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 95943*/                0, /*End of Scope*/
/* 95944*/              /*Scope*/ 2|128,3/*386*/, /*->96332*/
/* 95946*/                OPC_CheckChild0Same, 1,
/* 95948*/                OPC_CheckChild1Integer, 1, 
/* 95950*/                OPC_MoveParent,
/* 95951*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95953*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 95955*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95957*/                OPC_MoveParent,
/* 95958*/                OPC_MoveChild1,
/* 95959*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95962*/                OPC_RecordMemRef,
/* 95963*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 95964*/                OPC_CheckFoldableChainNode,
/* 95965*/                OPC_MoveChild1,
/* 95966*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 95969*/                OPC_CheckChild0Same, 3,
/* 95971*/                OPC_CheckChild1Integer, 1, 
/* 95973*/                OPC_CheckType, MVT::i64,
/* 95975*/                OPC_MoveParent,
/* 95976*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 95978*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 95980*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 95982*/                OPC_MoveParent,
/* 95983*/                OPC_MoveParent,
/* 95984*/                OPC_MoveParent,
/* 95985*/                OPC_MoveChild1,
/* 95986*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 95989*/                OPC_MoveChild0,
/* 95990*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 95993*/                OPC_RecordMemRef,
/* 95994*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 95995*/                OPC_CheckFoldableChainNode,
/* 95996*/                OPC_MoveChild1,
/* 95997*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96000*/                OPC_CheckType, MVT::i64,
/* 96002*/                OPC_Scope, 34|128,1/*162*/, /*->96167*/ // 2 children in Scope
/* 96005*/                  OPC_CheckChild0Same, 3,
/* 96007*/                  OPC_CheckChild1Integer, 3, 
/* 96009*/                  OPC_MoveParent,
/* 96010*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96012*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96014*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96016*/                  OPC_MoveParent,
/* 96017*/                  OPC_MoveChild1,
/* 96018*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96021*/                  OPC_RecordMemRef,
/* 96022*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 96023*/                  OPC_CheckFoldableChainNode,
/* 96024*/                  OPC_MoveChild1,
/* 96025*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96028*/                  OPC_CheckChild0Same, 1,
/* 96030*/                  OPC_CheckChild1Integer, 3, 
/* 96032*/                  OPC_CheckType, MVT::i64,
/* 96034*/                  OPC_MoveParent,
/* 96035*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96037*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96039*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96041*/                  OPC_MoveParent,
/* 96042*/                  OPC_MoveParent,
/* 96043*/                  OPC_CheckType, MVT::i32,
/* 96045*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 96047*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 96057*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 96060*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 96067*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 96073*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96076*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 96084*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96087*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 96095*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96098*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 96107*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 96113*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96116*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 96124*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96127*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 96135*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96138*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 96147*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 96156*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 96159*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 96167*/                /*Scope*/ 34|128,1/*162*/, /*->96331*/
/* 96169*/                  OPC_CheckChild0Same, 1,
/* 96171*/                  OPC_CheckChild1Integer, 3, 
/* 96173*/                  OPC_MoveParent,
/* 96174*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96176*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96178*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96180*/                  OPC_MoveParent,
/* 96181*/                  OPC_MoveChild1,
/* 96182*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96185*/                  OPC_RecordMemRef,
/* 96186*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 96187*/                  OPC_CheckFoldableChainNode,
/* 96188*/                  OPC_MoveChild1,
/* 96189*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96192*/                  OPC_CheckChild0Same, 3,
/* 96194*/                  OPC_CheckChild1Integer, 3, 
/* 96196*/                  OPC_CheckType, MVT::i64,
/* 96198*/                  OPC_MoveParent,
/* 96199*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96201*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96203*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96205*/                  OPC_MoveParent,
/* 96206*/                  OPC_MoveParent,
/* 96207*/                  OPC_CheckType, MVT::i32,
/* 96209*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 96211*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 96221*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 96224*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 96231*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 96237*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96240*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 96248*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96251*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 96259*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96262*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 96271*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 96277*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96280*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 96288*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96291*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 96299*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96302*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 96311*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 96320*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 96323*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 96331*/                0, /*End of Scope*/
/* 96332*/              0, /*End of Scope*/
/* 96333*/            0, /*End of Scope*/
/* 96334*/          /*Scope*/ 102|128,24/*3174*/, /*->99510*/
/* 96336*/            OPC_MoveChild1,
/* 96337*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96340*/            OPC_RecordChild0, // #1 = $Rn
/* 96341*/            OPC_CheckChild1Integer, 1, 
/* 96343*/            OPC_CheckType, MVT::i64,
/* 96345*/            OPC_MoveParent,
/* 96346*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96348*/            OPC_CheckPredicate, 5, // Predicate_sextload
/* 96350*/            OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96352*/            OPC_MoveParent,
/* 96353*/            OPC_MoveChild1,
/* 96354*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96357*/            OPC_RecordMemRef,
/* 96358*/            OPC_RecordNode, // #2 = 'ld' chained node
/* 96359*/            OPC_CheckFoldableChainNode,
/* 96360*/            OPC_MoveChild1,
/* 96361*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96364*/            OPC_RecordChild0, // #3 = $Rm
/* 96365*/            OPC_CheckChild1Integer, 1, 
/* 96367*/            OPC_CheckType, MVT::i64,
/* 96369*/            OPC_MoveParent,
/* 96370*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96372*/            OPC_CheckPredicate, 5, // Predicate_sextload
/* 96374*/            OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96376*/            OPC_MoveParent,
/* 96377*/            OPC_MoveParent,
/* 96378*/            OPC_MoveChild1,
/* 96379*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 96382*/            OPC_MoveChild0,
/* 96383*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96386*/            OPC_RecordMemRef,
/* 96387*/            OPC_RecordNode, // #4 = 'ld' chained node
/* 96388*/            OPC_CheckFoldableChainNode,
/* 96389*/            OPC_Scope, 54|128,6/*822*/, /*->97214*/ // 3 children in Scope
/* 96392*/              OPC_CheckChild1Same, 1,
/* 96394*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96396*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 96398*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96400*/              OPC_MoveParent,
/* 96401*/              OPC_MoveChild1,
/* 96402*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96405*/              OPC_RecordMemRef,
/* 96406*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 96407*/              OPC_CheckFoldableChainNode,
/* 96408*/              OPC_CheckChild1Same, 3,
/* 96410*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96412*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 96414*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96416*/              OPC_MoveParent,
/* 96417*/              OPC_MoveParent,
/* 96418*/              OPC_MoveParent,
/* 96419*/              OPC_MoveChild1,
/* 96420*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 96423*/              OPC_MoveChild0,
/* 96424*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96427*/              OPC_RecordMemRef,
/* 96428*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 96429*/              OPC_CheckFoldableChainNode,
/* 96430*/              OPC_MoveChild1,
/* 96431*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96434*/              OPC_CheckType, MVT::i64,
/* 96436*/              OPC_Scope, 2|128,3/*386*/, /*->96825*/ // 2 children in Scope
/* 96439*/                OPC_CheckChild0Same, 1,
/* 96441*/                OPC_CheckChild1Integer, 2, 
/* 96443*/                OPC_MoveParent,
/* 96444*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96446*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 96448*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96450*/                OPC_MoveParent,
/* 96451*/                OPC_MoveChild1,
/* 96452*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96455*/                OPC_RecordMemRef,
/* 96456*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 96457*/                OPC_CheckFoldableChainNode,
/* 96458*/                OPC_MoveChild1,
/* 96459*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96462*/                OPC_CheckChild0Same, 3,
/* 96464*/                OPC_CheckChild1Integer, 2, 
/* 96466*/                OPC_CheckType, MVT::i64,
/* 96468*/                OPC_MoveParent,
/* 96469*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96471*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 96473*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96475*/                OPC_MoveParent,
/* 96476*/                OPC_MoveParent,
/* 96477*/                OPC_MoveParent,
/* 96478*/                OPC_MoveChild1,
/* 96479*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 96482*/                OPC_MoveChild0,
/* 96483*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96486*/                OPC_RecordMemRef,
/* 96487*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 96488*/                OPC_CheckFoldableChainNode,
/* 96489*/                OPC_MoveChild1,
/* 96490*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96493*/                OPC_CheckType, MVT::i64,
/* 96495*/                OPC_Scope, 34|128,1/*162*/, /*->96660*/ // 2 children in Scope
/* 96498*/                  OPC_CheckChild0Same, 1,
/* 96500*/                  OPC_CheckChild1Integer, 3, 
/* 96502*/                  OPC_MoveParent,
/* 96503*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96505*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96507*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96509*/                  OPC_MoveParent,
/* 96510*/                  OPC_MoveChild1,
/* 96511*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96514*/                  OPC_RecordMemRef,
/* 96515*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 96516*/                  OPC_CheckFoldableChainNode,
/* 96517*/                  OPC_MoveChild1,
/* 96518*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96521*/                  OPC_CheckChild0Same, 3,
/* 96523*/                  OPC_CheckChild1Integer, 3, 
/* 96525*/                  OPC_CheckType, MVT::i64,
/* 96527*/                  OPC_MoveParent,
/* 96528*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96530*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96532*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96534*/                  OPC_MoveParent,
/* 96535*/                  OPC_MoveParent,
/* 96536*/                  OPC_CheckType, MVT::i32,
/* 96538*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 96540*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 96550*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 96553*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 96560*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 96566*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96569*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 96577*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96580*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 96588*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96591*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 96600*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 96606*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96609*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 96617*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96620*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 96628*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96631*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 96640*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 96649*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 96652*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 96660*/                /*Scope*/ 34|128,1/*162*/, /*->96824*/
/* 96662*/                  OPC_CheckChild0Same, 3,
/* 96664*/                  OPC_CheckChild1Integer, 3, 
/* 96666*/                  OPC_MoveParent,
/* 96667*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96669*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96671*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96673*/                  OPC_MoveParent,
/* 96674*/                  OPC_MoveChild1,
/* 96675*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96678*/                  OPC_RecordMemRef,
/* 96679*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 96680*/                  OPC_CheckFoldableChainNode,
/* 96681*/                  OPC_MoveChild1,
/* 96682*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96685*/                  OPC_CheckChild0Same, 1,
/* 96687*/                  OPC_CheckChild1Integer, 3, 
/* 96689*/                  OPC_CheckType, MVT::i64,
/* 96691*/                  OPC_MoveParent,
/* 96692*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96694*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96696*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96698*/                  OPC_MoveParent,
/* 96699*/                  OPC_MoveParent,
/* 96700*/                  OPC_CheckType, MVT::i32,
/* 96702*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 96704*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 96714*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 96717*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 96724*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 96730*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96733*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 96741*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96744*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 96752*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96755*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 96764*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 96770*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96773*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 96781*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96784*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 96792*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96795*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 96804*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 96813*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 96816*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 96824*/                0, /*End of Scope*/
/* 96825*/              /*Scope*/ 2|128,3/*386*/, /*->97213*/
/* 96827*/                OPC_CheckChild0Same, 3,
/* 96829*/                OPC_CheckChild1Integer, 2, 
/* 96831*/                OPC_MoveParent,
/* 96832*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96834*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 96836*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96838*/                OPC_MoveParent,
/* 96839*/                OPC_MoveChild1,
/* 96840*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96843*/                OPC_RecordMemRef,
/* 96844*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 96845*/                OPC_CheckFoldableChainNode,
/* 96846*/                OPC_MoveChild1,
/* 96847*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96850*/                OPC_CheckChild0Same, 1,
/* 96852*/                OPC_CheckChild1Integer, 2, 
/* 96854*/                OPC_CheckType, MVT::i64,
/* 96856*/                OPC_MoveParent,
/* 96857*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96859*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 96861*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96863*/                OPC_MoveParent,
/* 96864*/                OPC_MoveParent,
/* 96865*/                OPC_MoveParent,
/* 96866*/                OPC_MoveChild1,
/* 96867*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 96870*/                OPC_MoveChild0,
/* 96871*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96874*/                OPC_RecordMemRef,
/* 96875*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 96876*/                OPC_CheckFoldableChainNode,
/* 96877*/                OPC_MoveChild1,
/* 96878*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96881*/                OPC_CheckType, MVT::i64,
/* 96883*/                OPC_Scope, 34|128,1/*162*/, /*->97048*/ // 2 children in Scope
/* 96886*/                  OPC_CheckChild0Same, 1,
/* 96888*/                  OPC_CheckChild1Integer, 3, 
/* 96890*/                  OPC_MoveParent,
/* 96891*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96893*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96895*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96897*/                  OPC_MoveParent,
/* 96898*/                  OPC_MoveChild1,
/* 96899*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 96902*/                  OPC_RecordMemRef,
/* 96903*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 96904*/                  OPC_CheckFoldableChainNode,
/* 96905*/                  OPC_MoveChild1,
/* 96906*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 96909*/                  OPC_CheckChild0Same, 3,
/* 96911*/                  OPC_CheckChild1Integer, 3, 
/* 96913*/                  OPC_CheckType, MVT::i64,
/* 96915*/                  OPC_MoveParent,
/* 96916*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 96918*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 96920*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 96922*/                  OPC_MoveParent,
/* 96923*/                  OPC_MoveParent,
/* 96924*/                  OPC_CheckType, MVT::i32,
/* 96926*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 96928*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 96938*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 96941*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 96948*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 96954*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96957*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 96965*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 96968*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 96976*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 96979*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 96988*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 96994*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 96997*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 97005*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97008*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 97016*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97019*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 97028*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 97037*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 97040*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 97048*/                /*Scope*/ 34|128,1/*162*/, /*->97212*/
/* 97050*/                  OPC_CheckChild0Same, 3,
/* 97052*/                  OPC_CheckChild1Integer, 3, 
/* 97054*/                  OPC_MoveParent,
/* 97055*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97057*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97059*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97061*/                  OPC_MoveParent,
/* 97062*/                  OPC_MoveChild1,
/* 97063*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97066*/                  OPC_RecordMemRef,
/* 97067*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 97068*/                  OPC_CheckFoldableChainNode,
/* 97069*/                  OPC_MoveChild1,
/* 97070*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97073*/                  OPC_CheckChild0Same, 1,
/* 97075*/                  OPC_CheckChild1Integer, 3, 
/* 97077*/                  OPC_CheckType, MVT::i64,
/* 97079*/                  OPC_MoveParent,
/* 97080*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97082*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97084*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97086*/                  OPC_MoveParent,
/* 97087*/                  OPC_MoveParent,
/* 97088*/                  OPC_CheckType, MVT::i32,
/* 97090*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 97092*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 97102*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 97105*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 97112*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 97118*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97121*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 97129*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97132*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 97140*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97143*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 97152*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 97158*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97161*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 97169*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97172*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 97180*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97183*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 97192*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 97201*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 97204*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 97212*/                0, /*End of Scope*/
/* 97213*/              0, /*End of Scope*/
/* 97214*/            /*Scope*/ 61|128,11/*1469*/, /*->98685*/
/* 97216*/              OPC_CheckChild1Same, 3,
/* 97218*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97220*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 97222*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97224*/              OPC_MoveParent,
/* 97225*/              OPC_MoveChild1,
/* 97226*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97229*/              OPC_RecordMemRef,
/* 97230*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 97231*/              OPC_CheckFoldableChainNode,
/* 97232*/              OPC_CheckChild1Same, 1,
/* 97234*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97236*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 97238*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97240*/              OPC_MoveParent,
/* 97241*/              OPC_MoveParent,
/* 97242*/              OPC_MoveParent,
/* 97243*/              OPC_MoveChild1,
/* 97244*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 97247*/              OPC_MoveChild0,
/* 97248*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97251*/              OPC_RecordMemRef,
/* 97252*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 97253*/              OPC_CheckFoldableChainNode,
/* 97254*/              OPC_MoveChild1,
/* 97255*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97258*/              OPC_CheckType, MVT::i64,
/* 97260*/              OPC_Scope, 2|128,3/*386*/, /*->97649*/ // 3 children in Scope
/* 97263*/                OPC_CheckChild0Same, 1,
/* 97265*/                OPC_CheckChild1Integer, 2, 
/* 97267*/                OPC_MoveParent,
/* 97268*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97270*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 97272*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97274*/                OPC_MoveParent,
/* 97275*/                OPC_MoveChild1,
/* 97276*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97279*/                OPC_RecordMemRef,
/* 97280*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 97281*/                OPC_CheckFoldableChainNode,
/* 97282*/                OPC_MoveChild1,
/* 97283*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97286*/                OPC_CheckChild0Same, 3,
/* 97288*/                OPC_CheckChild1Integer, 2, 
/* 97290*/                OPC_CheckType, MVT::i64,
/* 97292*/                OPC_MoveParent,
/* 97293*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97295*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 97297*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97299*/                OPC_MoveParent,
/* 97300*/                OPC_MoveParent,
/* 97301*/                OPC_MoveParent,
/* 97302*/                OPC_MoveChild1,
/* 97303*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 97306*/                OPC_MoveChild0,
/* 97307*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97310*/                OPC_RecordMemRef,
/* 97311*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 97312*/                OPC_CheckFoldableChainNode,
/* 97313*/                OPC_MoveChild1,
/* 97314*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97317*/                OPC_CheckType, MVT::i64,
/* 97319*/                OPC_Scope, 34|128,1/*162*/, /*->97484*/ // 2 children in Scope
/* 97322*/                  OPC_CheckChild0Same, 1,
/* 97324*/                  OPC_CheckChild1Integer, 3, 
/* 97326*/                  OPC_MoveParent,
/* 97327*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97329*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97331*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97333*/                  OPC_MoveParent,
/* 97334*/                  OPC_MoveChild1,
/* 97335*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97338*/                  OPC_RecordMemRef,
/* 97339*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 97340*/                  OPC_CheckFoldableChainNode,
/* 97341*/                  OPC_MoveChild1,
/* 97342*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97345*/                  OPC_CheckChild0Same, 3,
/* 97347*/                  OPC_CheckChild1Integer, 3, 
/* 97349*/                  OPC_CheckType, MVT::i64,
/* 97351*/                  OPC_MoveParent,
/* 97352*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97354*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97356*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97358*/                  OPC_MoveParent,
/* 97359*/                  OPC_MoveParent,
/* 97360*/                  OPC_CheckType, MVT::i32,
/* 97362*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 97364*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 97374*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 97377*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 97384*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 97390*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97393*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 97401*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97404*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 97412*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97415*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 97424*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 97430*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97433*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 97441*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97444*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 97452*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97455*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 97464*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 97473*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 97476*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 97484*/                /*Scope*/ 34|128,1/*162*/, /*->97648*/
/* 97486*/                  OPC_CheckChild0Same, 3,
/* 97488*/                  OPC_CheckChild1Integer, 3, 
/* 97490*/                  OPC_MoveParent,
/* 97491*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97493*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97495*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97497*/                  OPC_MoveParent,
/* 97498*/                  OPC_MoveChild1,
/* 97499*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97502*/                  OPC_RecordMemRef,
/* 97503*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 97504*/                  OPC_CheckFoldableChainNode,
/* 97505*/                  OPC_MoveChild1,
/* 97506*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97509*/                  OPC_CheckChild0Same, 1,
/* 97511*/                  OPC_CheckChild1Integer, 3, 
/* 97513*/                  OPC_CheckType, MVT::i64,
/* 97515*/                  OPC_MoveParent,
/* 97516*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97518*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97520*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97522*/                  OPC_MoveParent,
/* 97523*/                  OPC_MoveParent,
/* 97524*/                  OPC_CheckType, MVT::i32,
/* 97526*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 97528*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 97538*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 97541*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 97548*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 97554*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97557*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 97565*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97568*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 97576*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97579*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 97588*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 97594*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97597*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 97605*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97608*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 97616*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97619*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 97628*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 97637*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 97640*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 97648*/                0, /*End of Scope*/
/* 97649*/              /*Scope*/ 5|128,5/*645*/, /*->98296*/
/* 97651*/                OPC_CheckChild0Same, 3,
/* 97653*/                OPC_CheckChild1Integer, 2, 
/* 97655*/                OPC_MoveParent,
/* 97656*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97658*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 97660*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97662*/                OPC_MoveParent,
/* 97663*/                OPC_MoveChild1,
/* 97664*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97667*/                OPC_RecordMemRef,
/* 97668*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 97669*/                OPC_CheckFoldableChainNode,
/* 97670*/                OPC_MoveChild1,
/* 97671*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97674*/                OPC_CheckChild0Same, 1,
/* 97676*/                OPC_CheckChild1Integer, 2, 
/* 97678*/                OPC_CheckType, MVT::i64,
/* 97680*/                OPC_MoveParent,
/* 97681*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97683*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 97685*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97687*/                OPC_MoveParent,
/* 97688*/                OPC_MoveParent,
/* 97689*/                OPC_MoveParent,
/* 97690*/                OPC_MoveChild1,
/* 97691*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 97694*/                OPC_MoveChild0,
/* 97695*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97698*/                OPC_RecordMemRef,
/* 97699*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 97700*/                OPC_CheckFoldableChainNode,
/* 97701*/                OPC_MoveChild1,
/* 97702*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97705*/                OPC_CheckType, MVT::i64,
/* 97707*/                OPC_Scope, 34|128,1/*162*/, /*->97872*/ // 3 children in Scope
/* 97710*/                  OPC_CheckChild0Same, 1,
/* 97712*/                  OPC_CheckChild1Integer, 3, 
/* 97714*/                  OPC_MoveParent,
/* 97715*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97717*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97719*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97721*/                  OPC_MoveParent,
/* 97722*/                  OPC_MoveChild1,
/* 97723*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97726*/                  OPC_RecordMemRef,
/* 97727*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 97728*/                  OPC_CheckFoldableChainNode,
/* 97729*/                  OPC_MoveChild1,
/* 97730*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97733*/                  OPC_CheckChild0Same, 3,
/* 97735*/                  OPC_CheckChild1Integer, 3, 
/* 97737*/                  OPC_CheckType, MVT::i64,
/* 97739*/                  OPC_MoveParent,
/* 97740*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97742*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97744*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97746*/                  OPC_MoveParent,
/* 97747*/                  OPC_MoveParent,
/* 97748*/                  OPC_CheckType, MVT::i32,
/* 97750*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 97752*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 97762*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 97765*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 97772*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 97778*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97781*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 97789*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97792*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 97800*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97803*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 97812*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 97818*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97821*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 97829*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97832*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 97840*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97843*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 97852*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 97861*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 97864*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 97872*/                /*Scope*/ 1|128,2/*257*/, /*->98131*/
/* 97874*/                  OPC_CheckChild0Same, 3,
/* 97876*/                  OPC_CheckChild1Integer, 3, 
/* 97878*/                  OPC_MoveParent,
/* 97879*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97881*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97883*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97885*/                  OPC_MoveParent,
/* 97886*/                  OPC_MoveChild1,
/* 97887*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 97890*/                  OPC_RecordMemRef,
/* 97891*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 97892*/                  OPC_CheckFoldableChainNode,
/* 97893*/                  OPC_MoveChild1,
/* 97894*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 97897*/                  OPC_CheckChild0Same, 1,
/* 97899*/                  OPC_CheckChild1Integer, 3, 
/* 97901*/                  OPC_CheckType, MVT::i64,
/* 97903*/                  OPC_MoveParent,
/* 97904*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 97906*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 97908*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 97910*/                  OPC_MoveParent,
/* 97911*/                  OPC_MoveParent,
/* 97912*/                  OPC_CheckType, MVT::i32,
/* 97914*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 97916*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 97926*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 97929*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 97936*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 97942*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 97945*/                  OPC_Scope, 91, /*->98038*/ // 2 children in Scope
/* 97947*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 97955*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97958*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 97966*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 97969*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 97978*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 97984*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 97987*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 97995*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 97998*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 98006*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98009*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 98018*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 98027*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 98030*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 98038*/                  /*Scope*/ 91, /*->98130*/
/* 98039*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 98047*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98050*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 98058*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98061*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 98070*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 98076*/                    OPC_EmitInteger, MVT::i64, 0, 
/* 98079*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 98087*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98090*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 98098*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98101*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 98110*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 98119*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 98122*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 98130*/                  0, /*End of Scope*/
/* 98131*/                /*Scope*/ 34|128,1/*162*/, /*->98295*/
/* 98133*/                  OPC_CheckChild0Same, 1,
/* 98135*/                  OPC_CheckChild1Integer, 3, 
/* 98137*/                  OPC_MoveParent,
/* 98138*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98140*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98142*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98144*/                  OPC_MoveParent,
/* 98145*/                  OPC_MoveChild1,
/* 98146*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98149*/                  OPC_RecordMemRef,
/* 98150*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 98151*/                  OPC_CheckFoldableChainNode,
/* 98152*/                  OPC_MoveChild1,
/* 98153*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98156*/                  OPC_CheckChild0Same, 3,
/* 98158*/                  OPC_CheckChild1Integer, 3, 
/* 98160*/                  OPC_CheckType, MVT::i64,
/* 98162*/                  OPC_MoveParent,
/* 98163*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98165*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98167*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98169*/                  OPC_MoveParent,
/* 98170*/                  OPC_MoveParent,
/* 98171*/                  OPC_CheckType, MVT::i32,
/* 98173*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 98175*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 98185*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 98188*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 98195*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 98201*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 98204*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 98212*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98215*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 98223*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98226*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 98235*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 98241*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 98244*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 98252*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98255*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 98263*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98266*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 98275*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 98284*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 98287*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 98295*/                0, /*End of Scope*/
/* 98296*/              /*Scope*/ 2|128,3/*386*/, /*->98684*/
/* 98298*/                OPC_CheckChild0Same, 1,
/* 98300*/                OPC_CheckChild1Integer, 2, 
/* 98302*/                OPC_MoveParent,
/* 98303*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98305*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 98307*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98309*/                OPC_MoveParent,
/* 98310*/                OPC_MoveChild1,
/* 98311*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98314*/                OPC_RecordMemRef,
/* 98315*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 98316*/                OPC_CheckFoldableChainNode,
/* 98317*/                OPC_MoveChild1,
/* 98318*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98321*/                OPC_CheckChild0Same, 3,
/* 98323*/                OPC_CheckChild1Integer, 2, 
/* 98325*/                OPC_CheckType, MVT::i64,
/* 98327*/                OPC_MoveParent,
/* 98328*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98330*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 98332*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98334*/                OPC_MoveParent,
/* 98335*/                OPC_MoveParent,
/* 98336*/                OPC_MoveParent,
/* 98337*/                OPC_MoveChild1,
/* 98338*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 98341*/                OPC_MoveChild0,
/* 98342*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98345*/                OPC_RecordMemRef,
/* 98346*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 98347*/                OPC_CheckFoldableChainNode,
/* 98348*/                OPC_MoveChild1,
/* 98349*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98352*/                OPC_CheckType, MVT::i64,
/* 98354*/                OPC_Scope, 34|128,1/*162*/, /*->98519*/ // 2 children in Scope
/* 98357*/                  OPC_CheckChild0Same, 3,
/* 98359*/                  OPC_CheckChild1Integer, 3, 
/* 98361*/                  OPC_MoveParent,
/* 98362*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98364*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98366*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98368*/                  OPC_MoveParent,
/* 98369*/                  OPC_MoveChild1,
/* 98370*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98373*/                  OPC_RecordMemRef,
/* 98374*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 98375*/                  OPC_CheckFoldableChainNode,
/* 98376*/                  OPC_MoveChild1,
/* 98377*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98380*/                  OPC_CheckChild0Same, 1,
/* 98382*/                  OPC_CheckChild1Integer, 3, 
/* 98384*/                  OPC_CheckType, MVT::i64,
/* 98386*/                  OPC_MoveParent,
/* 98387*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98389*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98391*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98393*/                  OPC_MoveParent,
/* 98394*/                  OPC_MoveParent,
/* 98395*/                  OPC_CheckType, MVT::i32,
/* 98397*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 98399*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 98409*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 98412*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 98419*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 98425*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 98428*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 98436*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98439*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 98447*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98450*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 98459*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 98465*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 98468*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 98476*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98479*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 98487*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98490*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 98499*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 98508*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 98511*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 98519*/                /*Scope*/ 34|128,1/*162*/, /*->98683*/
/* 98521*/                  OPC_CheckChild0Same, 1,
/* 98523*/                  OPC_CheckChild1Integer, 3, 
/* 98525*/                  OPC_MoveParent,
/* 98526*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98528*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98530*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98532*/                  OPC_MoveParent,
/* 98533*/                  OPC_MoveChild1,
/* 98534*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98537*/                  OPC_RecordMemRef,
/* 98538*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 98539*/                  OPC_CheckFoldableChainNode,
/* 98540*/                  OPC_MoveChild1,
/* 98541*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98544*/                  OPC_CheckChild0Same, 3,
/* 98546*/                  OPC_CheckChild1Integer, 3, 
/* 98548*/                  OPC_CheckType, MVT::i64,
/* 98550*/                  OPC_MoveParent,
/* 98551*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98553*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98555*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98557*/                  OPC_MoveParent,
/* 98558*/                  OPC_MoveParent,
/* 98559*/                  OPC_CheckType, MVT::i32,
/* 98561*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 98563*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 98573*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 98576*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 98583*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 98589*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 98592*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 98600*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98603*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 98611*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98614*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 98623*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 98629*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 98632*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 98640*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98643*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 98651*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98654*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 98663*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 98672*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 98675*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 98683*/                0, /*End of Scope*/
/* 98684*/              0, /*End of Scope*/
/* 98685*/            /*Scope*/ 54|128,6/*822*/, /*->99509*/
/* 98687*/              OPC_CheckChild1Same, 1,
/* 98689*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98691*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 98693*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98695*/              OPC_MoveParent,
/* 98696*/              OPC_MoveChild1,
/* 98697*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98700*/              OPC_RecordMemRef,
/* 98701*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 98702*/              OPC_CheckFoldableChainNode,
/* 98703*/              OPC_CheckChild1Same, 3,
/* 98705*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98707*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 98709*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98711*/              OPC_MoveParent,
/* 98712*/              OPC_MoveParent,
/* 98713*/              OPC_MoveParent,
/* 98714*/              OPC_MoveChild1,
/* 98715*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 98718*/              OPC_MoveChild0,
/* 98719*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98722*/              OPC_RecordMemRef,
/* 98723*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 98724*/              OPC_CheckFoldableChainNode,
/* 98725*/              OPC_MoveChild1,
/* 98726*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98729*/              OPC_CheckType, MVT::i64,
/* 98731*/              OPC_Scope, 2|128,3/*386*/, /*->99120*/ // 2 children in Scope
/* 98734*/                OPC_CheckChild0Same, 3,
/* 98736*/                OPC_CheckChild1Integer, 2, 
/* 98738*/                OPC_MoveParent,
/* 98739*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98741*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 98743*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98745*/                OPC_MoveParent,
/* 98746*/                OPC_MoveChild1,
/* 98747*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98750*/                OPC_RecordMemRef,
/* 98751*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 98752*/                OPC_CheckFoldableChainNode,
/* 98753*/                OPC_MoveChild1,
/* 98754*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98757*/                OPC_CheckChild0Same, 1,
/* 98759*/                OPC_CheckChild1Integer, 2, 
/* 98761*/                OPC_CheckType, MVT::i64,
/* 98763*/                OPC_MoveParent,
/* 98764*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98766*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 98768*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98770*/                OPC_MoveParent,
/* 98771*/                OPC_MoveParent,
/* 98772*/                OPC_MoveParent,
/* 98773*/                OPC_MoveChild1,
/* 98774*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 98777*/                OPC_MoveChild0,
/* 98778*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98781*/                OPC_RecordMemRef,
/* 98782*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 98783*/                OPC_CheckFoldableChainNode,
/* 98784*/                OPC_MoveChild1,
/* 98785*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98788*/                OPC_CheckType, MVT::i64,
/* 98790*/                OPC_Scope, 34|128,1/*162*/, /*->98955*/ // 2 children in Scope
/* 98793*/                  OPC_CheckChild0Same, 3,
/* 98795*/                  OPC_CheckChild1Integer, 3, 
/* 98797*/                  OPC_MoveParent,
/* 98798*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98800*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98802*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98804*/                  OPC_MoveParent,
/* 98805*/                  OPC_MoveChild1,
/* 98806*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98809*/                  OPC_RecordMemRef,
/* 98810*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 98811*/                  OPC_CheckFoldableChainNode,
/* 98812*/                  OPC_MoveChild1,
/* 98813*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98816*/                  OPC_CheckChild0Same, 1,
/* 98818*/                  OPC_CheckChild1Integer, 3, 
/* 98820*/                  OPC_CheckType, MVT::i64,
/* 98822*/                  OPC_MoveParent,
/* 98823*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98825*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98827*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98829*/                  OPC_MoveParent,
/* 98830*/                  OPC_MoveParent,
/* 98831*/                  OPC_CheckType, MVT::i32,
/* 98833*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 98835*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 98845*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 98848*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 98855*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 98861*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 98864*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 98872*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98875*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 98883*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98886*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 98895*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 98901*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 98904*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 98912*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 98915*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 98923*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 98926*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 98935*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 98944*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 98947*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 98955*/                /*Scope*/ 34|128,1/*162*/, /*->99119*/
/* 98957*/                  OPC_CheckChild0Same, 1,
/* 98959*/                  OPC_CheckChild1Integer, 3, 
/* 98961*/                  OPC_MoveParent,
/* 98962*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98964*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98966*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98968*/                  OPC_MoveParent,
/* 98969*/                  OPC_MoveChild1,
/* 98970*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 98973*/                  OPC_RecordMemRef,
/* 98974*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 98975*/                  OPC_CheckFoldableChainNode,
/* 98976*/                  OPC_MoveChild1,
/* 98977*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 98980*/                  OPC_CheckChild0Same, 3,
/* 98982*/                  OPC_CheckChild1Integer, 3, 
/* 98984*/                  OPC_CheckType, MVT::i64,
/* 98986*/                  OPC_MoveParent,
/* 98987*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 98989*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 98991*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 98993*/                  OPC_MoveParent,
/* 98994*/                  OPC_MoveParent,
/* 98995*/                  OPC_CheckType, MVT::i32,
/* 98997*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 98999*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 99009*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 99012*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 99019*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 99025*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99028*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 99036*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99039*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 99047*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99050*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 99059*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 99065*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99068*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 99076*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99079*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 99087*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99090*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 99099*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 99108*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 99111*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 99119*/                0, /*End of Scope*/
/* 99120*/              /*Scope*/ 2|128,3/*386*/, /*->99508*/
/* 99122*/                OPC_CheckChild0Same, 1,
/* 99124*/                OPC_CheckChild1Integer, 2, 
/* 99126*/                OPC_MoveParent,
/* 99127*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99129*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 99131*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99133*/                OPC_MoveParent,
/* 99134*/                OPC_MoveChild1,
/* 99135*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99138*/                OPC_RecordMemRef,
/* 99139*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 99140*/                OPC_CheckFoldableChainNode,
/* 99141*/                OPC_MoveChild1,
/* 99142*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99145*/                OPC_CheckChild0Same, 3,
/* 99147*/                OPC_CheckChild1Integer, 2, 
/* 99149*/                OPC_CheckType, MVT::i64,
/* 99151*/                OPC_MoveParent,
/* 99152*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99154*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 99156*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99158*/                OPC_MoveParent,
/* 99159*/                OPC_MoveParent,
/* 99160*/                OPC_MoveParent,
/* 99161*/                OPC_MoveChild1,
/* 99162*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 99165*/                OPC_MoveChild0,
/* 99166*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99169*/                OPC_RecordMemRef,
/* 99170*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 99171*/                OPC_CheckFoldableChainNode,
/* 99172*/                OPC_MoveChild1,
/* 99173*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99176*/                OPC_CheckType, MVT::i64,
/* 99178*/                OPC_Scope, 34|128,1/*162*/, /*->99343*/ // 2 children in Scope
/* 99181*/                  OPC_CheckChild0Same, 3,
/* 99183*/                  OPC_CheckChild1Integer, 3, 
/* 99185*/                  OPC_MoveParent,
/* 99186*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99188*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 99190*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99192*/                  OPC_MoveParent,
/* 99193*/                  OPC_MoveChild1,
/* 99194*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99197*/                  OPC_RecordMemRef,
/* 99198*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 99199*/                  OPC_CheckFoldableChainNode,
/* 99200*/                  OPC_MoveChild1,
/* 99201*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99204*/                  OPC_CheckChild0Same, 1,
/* 99206*/                  OPC_CheckChild1Integer, 3, 
/* 99208*/                  OPC_CheckType, MVT::i64,
/* 99210*/                  OPC_MoveParent,
/* 99211*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99213*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 99215*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99217*/                  OPC_MoveParent,
/* 99218*/                  OPC_MoveParent,
/* 99219*/                  OPC_CheckType, MVT::i32,
/* 99221*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 99223*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 99233*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 99236*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 99243*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 99249*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99252*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 99260*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99263*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 99271*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99274*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 99283*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 99289*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99292*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 99300*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99303*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 99311*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99314*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 99323*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 99332*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 99335*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 99343*/                /*Scope*/ 34|128,1/*162*/, /*->99507*/
/* 99345*/                  OPC_CheckChild0Same, 1,
/* 99347*/                  OPC_CheckChild1Integer, 3, 
/* 99349*/                  OPC_MoveParent,
/* 99350*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99352*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 99354*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99356*/                  OPC_MoveParent,
/* 99357*/                  OPC_MoveChild1,
/* 99358*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99361*/                  OPC_RecordMemRef,
/* 99362*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 99363*/                  OPC_CheckFoldableChainNode,
/* 99364*/                  OPC_MoveChild1,
/* 99365*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99368*/                  OPC_CheckChild0Same, 3,
/* 99370*/                  OPC_CheckChild1Integer, 3, 
/* 99372*/                  OPC_CheckType, MVT::i64,
/* 99374*/                  OPC_MoveParent,
/* 99375*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99377*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 99379*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99381*/                  OPC_MoveParent,
/* 99382*/                  OPC_MoveParent,
/* 99383*/                  OPC_CheckType, MVT::i32,
/* 99385*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 99387*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 99397*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 99400*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 99407*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 99413*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99416*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/* 99424*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99427*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 99435*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99438*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 99447*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 99453*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99456*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/* 99464*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99467*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 99475*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99478*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 99487*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 99496*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 99499*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 99507*/                0, /*End of Scope*/
/* 99508*/              0, /*End of Scope*/
/* 99509*/            0, /*End of Scope*/
/* 99510*/          /*Scope*/ 2|128,25/*3202*/, /*->102714*/
/* 99512*/            OPC_RecordChild1, // #1 = $Rn
/* 99513*/            OPC_CheckChild1Type, MVT::i64,
/* 99515*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99517*/            OPC_CheckPredicate, 5, // Predicate_sextload
/* 99519*/            OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99521*/            OPC_MoveParent,
/* 99522*/            OPC_MoveChild1,
/* 99523*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99526*/            OPC_RecordMemRef,
/* 99527*/            OPC_RecordNode, // #2 = 'ld' chained node
/* 99528*/            OPC_CheckFoldableChainNode,
/* 99529*/            OPC_RecordChild1, // #3 = $Rm
/* 99530*/            OPC_CheckChild1Type, MVT::i64,
/* 99532*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99534*/            OPC_CheckPredicate, 5, // Predicate_sextload
/* 99536*/            OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99538*/            OPC_MoveParent,
/* 99539*/            OPC_MoveParent,
/* 99540*/            OPC_MoveChild1,
/* 99541*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 99544*/            OPC_MoveChild0,
/* 99545*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99548*/            OPC_RecordMemRef,
/* 99549*/            OPC_RecordNode, // #4 = 'ld' chained node
/* 99550*/            OPC_CheckFoldableChainNode,
/* 99551*/            OPC_MoveChild1,
/* 99552*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99555*/            OPC_CheckType, MVT::i64,
/* 99557*/            OPC_Scope, 66|128,6/*834*/, /*->100394*/ // 3 children in Scope
/* 99560*/              OPC_CheckChild0Same, 1,
/* 99562*/              OPC_CheckChild1Integer, 1, 
/* 99564*/              OPC_MoveParent,
/* 99565*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99567*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 99569*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99571*/              OPC_MoveParent,
/* 99572*/              OPC_MoveChild1,
/* 99573*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99576*/              OPC_RecordMemRef,
/* 99577*/              OPC_RecordNode, // #5 = 'ld' chained node
/* 99578*/              OPC_CheckFoldableChainNode,
/* 99579*/              OPC_MoveChild1,
/* 99580*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99583*/              OPC_CheckChild0Same, 3,
/* 99585*/              OPC_CheckChild1Integer, 1, 
/* 99587*/              OPC_CheckType, MVT::i64,
/* 99589*/              OPC_MoveParent,
/* 99590*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99592*/              OPC_CheckPredicate, 5, // Predicate_sextload
/* 99594*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99596*/              OPC_MoveParent,
/* 99597*/              OPC_MoveParent,
/* 99598*/              OPC_MoveParent,
/* 99599*/              OPC_MoveChild1,
/* 99600*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 99603*/              OPC_MoveChild0,
/* 99604*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99607*/              OPC_RecordMemRef,
/* 99608*/              OPC_RecordNode, // #6 = 'ld' chained node
/* 99609*/              OPC_CheckFoldableChainNode,
/* 99610*/              OPC_MoveChild1,
/* 99611*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99614*/              OPC_CheckType, MVT::i64,
/* 99616*/              OPC_Scope, 2|128,3/*386*/, /*->100005*/ // 2 children in Scope
/* 99619*/                OPC_CheckChild0Same, 1,
/* 99621*/                OPC_CheckChild1Integer, 2, 
/* 99623*/                OPC_MoveParent,
/* 99624*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99626*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 99628*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99630*/                OPC_MoveParent,
/* 99631*/                OPC_MoveChild1,
/* 99632*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99635*/                OPC_RecordMemRef,
/* 99636*/                OPC_RecordNode, // #7 = 'ld' chained node
/* 99637*/                OPC_CheckFoldableChainNode,
/* 99638*/                OPC_MoveChild1,
/* 99639*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99642*/                OPC_CheckChild0Same, 3,
/* 99644*/                OPC_CheckChild1Integer, 2, 
/* 99646*/                OPC_CheckType, MVT::i64,
/* 99648*/                OPC_MoveParent,
/* 99649*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99651*/                OPC_CheckPredicate, 5, // Predicate_sextload
/* 99653*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99655*/                OPC_MoveParent,
/* 99656*/                OPC_MoveParent,
/* 99657*/                OPC_MoveParent,
/* 99658*/                OPC_MoveChild1,
/* 99659*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/* 99662*/                OPC_MoveChild0,
/* 99663*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99666*/                OPC_RecordMemRef,
/* 99667*/                OPC_RecordNode, // #8 = 'ld' chained node
/* 99668*/                OPC_CheckFoldableChainNode,
/* 99669*/                OPC_MoveChild1,
/* 99670*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99673*/                OPC_CheckType, MVT::i64,
/* 99675*/                OPC_Scope, 34|128,1/*162*/, /*->99840*/ // 2 children in Scope
/* 99678*/                  OPC_CheckChild0Same, 1,
/* 99680*/                  OPC_CheckChild1Integer, 3, 
/* 99682*/                  OPC_MoveParent,
/* 99683*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99685*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 99687*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99689*/                  OPC_MoveParent,
/* 99690*/                  OPC_MoveChild1,
/* 99691*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99694*/                  OPC_RecordMemRef,
/* 99695*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 99696*/                  OPC_CheckFoldableChainNode,
/* 99697*/                  OPC_MoveChild1,
/* 99698*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99701*/                  OPC_CheckChild0Same, 3,
/* 99703*/                  OPC_CheckChild1Integer, 3, 
/* 99705*/                  OPC_CheckType, MVT::i64,
/* 99707*/                  OPC_MoveParent,
/* 99708*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99710*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 99712*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99714*/                  OPC_MoveParent,
/* 99715*/                  OPC_MoveParent,
/* 99716*/                  OPC_CheckType, MVT::i32,
/* 99718*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 99720*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 99730*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 99733*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 99740*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 99746*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99749*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 99757*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99760*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 99768*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99771*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 99780*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 99786*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99789*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 99797*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99800*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 99808*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99811*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 99820*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 99829*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 99832*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/* 99840*/                /*Scope*/ 34|128,1/*162*/, /*->100004*/
/* 99842*/                  OPC_CheckChild0Same, 3,
/* 99844*/                  OPC_CheckChild1Integer, 3, 
/* 99846*/                  OPC_MoveParent,
/* 99847*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99849*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 99851*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99853*/                  OPC_MoveParent,
/* 99854*/                  OPC_MoveChild1,
/* 99855*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/* 99858*/                  OPC_RecordMemRef,
/* 99859*/                  OPC_RecordNode, // #9 = 'ld' chained node
/* 99860*/                  OPC_CheckFoldableChainNode,
/* 99861*/                  OPC_MoveChild1,
/* 99862*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/* 99865*/                  OPC_CheckChild0Same, 1,
/* 99867*/                  OPC_CheckChild1Integer, 3, 
/* 99869*/                  OPC_CheckType, MVT::i64,
/* 99871*/                  OPC_MoveParent,
/* 99872*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/* 99874*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/* 99876*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/* 99878*/                  OPC_MoveParent,
/* 99879*/                  OPC_MoveParent,
/* 99880*/                  OPC_CheckType, MVT::i32,
/* 99882*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/* 99884*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/* 99894*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/* 99897*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/* 99904*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/* 99910*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99913*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/* 99921*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99924*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/* 99932*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99935*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/* 99944*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/* 99950*/                  OPC_EmitInteger, MVT::i64, 0, 
/* 99953*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/* 99961*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/* 99964*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/* 99972*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/* 99975*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/* 99984*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/* 99993*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/* 99996*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*100004*/                0, /*End of Scope*/
/*100005*/              /*Scope*/ 2|128,3/*386*/, /*->100393*/
/*100007*/                OPC_CheckChild0Same, 3,
/*100009*/                OPC_CheckChild1Integer, 2, 
/*100011*/                OPC_MoveParent,
/*100012*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100014*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*100016*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100018*/                OPC_MoveParent,
/*100019*/                OPC_MoveChild1,
/*100020*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100023*/                OPC_RecordMemRef,
/*100024*/                OPC_RecordNode, // #7 = 'ld' chained node
/*100025*/                OPC_CheckFoldableChainNode,
/*100026*/                OPC_MoveChild1,
/*100027*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100030*/                OPC_CheckChild0Same, 1,
/*100032*/                OPC_CheckChild1Integer, 2, 
/*100034*/                OPC_CheckType, MVT::i64,
/*100036*/                OPC_MoveParent,
/*100037*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100039*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*100041*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100043*/                OPC_MoveParent,
/*100044*/                OPC_MoveParent,
/*100045*/                OPC_MoveParent,
/*100046*/                OPC_MoveChild1,
/*100047*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*100050*/                OPC_MoveChild0,
/*100051*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100054*/                OPC_RecordMemRef,
/*100055*/                OPC_RecordNode, // #8 = 'ld' chained node
/*100056*/                OPC_CheckFoldableChainNode,
/*100057*/                OPC_MoveChild1,
/*100058*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100061*/                OPC_CheckType, MVT::i64,
/*100063*/                OPC_Scope, 34|128,1/*162*/, /*->100228*/ // 2 children in Scope
/*100066*/                  OPC_CheckChild0Same, 1,
/*100068*/                  OPC_CheckChild1Integer, 3, 
/*100070*/                  OPC_MoveParent,
/*100071*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100073*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100075*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100077*/                  OPC_MoveParent,
/*100078*/                  OPC_MoveChild1,
/*100079*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100082*/                  OPC_RecordMemRef,
/*100083*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*100084*/                  OPC_CheckFoldableChainNode,
/*100085*/                  OPC_MoveChild1,
/*100086*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100089*/                  OPC_CheckChild0Same, 3,
/*100091*/                  OPC_CheckChild1Integer, 3, 
/*100093*/                  OPC_CheckType, MVT::i64,
/*100095*/                  OPC_MoveParent,
/*100096*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100098*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100100*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100102*/                  OPC_MoveParent,
/*100103*/                  OPC_MoveParent,
/*100104*/                  OPC_CheckType, MVT::i32,
/*100106*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*100108*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*100118*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*100121*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*100128*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*100134*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100137*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*100145*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100148*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*100156*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100159*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*100168*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*100174*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100177*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*100185*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100188*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*100196*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100199*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*100208*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*100217*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*100220*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*100228*/                /*Scope*/ 34|128,1/*162*/, /*->100392*/
/*100230*/                  OPC_CheckChild0Same, 3,
/*100232*/                  OPC_CheckChild1Integer, 3, 
/*100234*/                  OPC_MoveParent,
/*100235*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100237*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100239*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100241*/                  OPC_MoveParent,
/*100242*/                  OPC_MoveChild1,
/*100243*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100246*/                  OPC_RecordMemRef,
/*100247*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*100248*/                  OPC_CheckFoldableChainNode,
/*100249*/                  OPC_MoveChild1,
/*100250*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100253*/                  OPC_CheckChild0Same, 1,
/*100255*/                  OPC_CheckChild1Integer, 3, 
/*100257*/                  OPC_CheckType, MVT::i64,
/*100259*/                  OPC_MoveParent,
/*100260*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100262*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100264*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100266*/                  OPC_MoveParent,
/*100267*/                  OPC_MoveParent,
/*100268*/                  OPC_CheckType, MVT::i32,
/*100270*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*100272*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*100282*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*100285*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*100292*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*100298*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100301*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*100309*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100312*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*100320*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100323*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*100332*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*100338*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100341*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*100349*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100352*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*100360*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100363*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*100372*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*100381*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*100384*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*100392*/                0, /*End of Scope*/
/*100393*/              0, /*End of Scope*/
/*100394*/            /*Scope*/ 73|128,11/*1481*/, /*->101877*/
/*100396*/              OPC_CheckChild0Same, 3,
/*100398*/              OPC_CheckChild1Integer, 1, 
/*100400*/              OPC_MoveParent,
/*100401*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100403*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*100405*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100407*/              OPC_MoveParent,
/*100408*/              OPC_MoveChild1,
/*100409*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100412*/              OPC_RecordMemRef,
/*100413*/              OPC_RecordNode, // #5 = 'ld' chained node
/*100414*/              OPC_CheckFoldableChainNode,
/*100415*/              OPC_MoveChild1,
/*100416*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100419*/              OPC_CheckChild0Same, 1,
/*100421*/              OPC_CheckChild1Integer, 1, 
/*100423*/              OPC_CheckType, MVT::i64,
/*100425*/              OPC_MoveParent,
/*100426*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100428*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*100430*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100432*/              OPC_MoveParent,
/*100433*/              OPC_MoveParent,
/*100434*/              OPC_MoveParent,
/*100435*/              OPC_MoveChild1,
/*100436*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*100439*/              OPC_MoveChild0,
/*100440*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100443*/              OPC_RecordMemRef,
/*100444*/              OPC_RecordNode, // #6 = 'ld' chained node
/*100445*/              OPC_CheckFoldableChainNode,
/*100446*/              OPC_MoveChild1,
/*100447*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100450*/              OPC_CheckType, MVT::i64,
/*100452*/              OPC_Scope, 2|128,3/*386*/, /*->100841*/ // 3 children in Scope
/*100455*/                OPC_CheckChild0Same, 1,
/*100457*/                OPC_CheckChild1Integer, 2, 
/*100459*/                OPC_MoveParent,
/*100460*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100462*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*100464*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100466*/                OPC_MoveParent,
/*100467*/                OPC_MoveChild1,
/*100468*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100471*/                OPC_RecordMemRef,
/*100472*/                OPC_RecordNode, // #7 = 'ld' chained node
/*100473*/                OPC_CheckFoldableChainNode,
/*100474*/                OPC_MoveChild1,
/*100475*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100478*/                OPC_CheckChild0Same, 3,
/*100480*/                OPC_CheckChild1Integer, 2, 
/*100482*/                OPC_CheckType, MVT::i64,
/*100484*/                OPC_MoveParent,
/*100485*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100487*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*100489*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100491*/                OPC_MoveParent,
/*100492*/                OPC_MoveParent,
/*100493*/                OPC_MoveParent,
/*100494*/                OPC_MoveChild1,
/*100495*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*100498*/                OPC_MoveChild0,
/*100499*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100502*/                OPC_RecordMemRef,
/*100503*/                OPC_RecordNode, // #8 = 'ld' chained node
/*100504*/                OPC_CheckFoldableChainNode,
/*100505*/                OPC_MoveChild1,
/*100506*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100509*/                OPC_CheckType, MVT::i64,
/*100511*/                OPC_Scope, 34|128,1/*162*/, /*->100676*/ // 2 children in Scope
/*100514*/                  OPC_CheckChild0Same, 1,
/*100516*/                  OPC_CheckChild1Integer, 3, 
/*100518*/                  OPC_MoveParent,
/*100519*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100521*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100523*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100525*/                  OPC_MoveParent,
/*100526*/                  OPC_MoveChild1,
/*100527*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100530*/                  OPC_RecordMemRef,
/*100531*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*100532*/                  OPC_CheckFoldableChainNode,
/*100533*/                  OPC_MoveChild1,
/*100534*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100537*/                  OPC_CheckChild0Same, 3,
/*100539*/                  OPC_CheckChild1Integer, 3, 
/*100541*/                  OPC_CheckType, MVT::i64,
/*100543*/                  OPC_MoveParent,
/*100544*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100546*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100548*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100550*/                  OPC_MoveParent,
/*100551*/                  OPC_MoveParent,
/*100552*/                  OPC_CheckType, MVT::i32,
/*100554*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*100556*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*100566*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*100569*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*100576*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*100582*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100585*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*100593*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100596*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*100604*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100607*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*100616*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*100622*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100625*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*100633*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100636*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*100644*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100647*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*100656*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*100665*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*100668*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*100676*/                /*Scope*/ 34|128,1/*162*/, /*->100840*/
/*100678*/                  OPC_CheckChild0Same, 3,
/*100680*/                  OPC_CheckChild1Integer, 3, 
/*100682*/                  OPC_MoveParent,
/*100683*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100685*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100687*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100689*/                  OPC_MoveParent,
/*100690*/                  OPC_MoveChild1,
/*100691*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100694*/                  OPC_RecordMemRef,
/*100695*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*100696*/                  OPC_CheckFoldableChainNode,
/*100697*/                  OPC_MoveChild1,
/*100698*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100701*/                  OPC_CheckChild0Same, 1,
/*100703*/                  OPC_CheckChild1Integer, 3, 
/*100705*/                  OPC_CheckType, MVT::i64,
/*100707*/                  OPC_MoveParent,
/*100708*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100710*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100712*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100714*/                  OPC_MoveParent,
/*100715*/                  OPC_MoveParent,
/*100716*/                  OPC_CheckType, MVT::i32,
/*100718*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*100720*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*100730*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*100733*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*100740*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*100746*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100749*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*100757*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100760*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*100768*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100771*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*100780*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*100786*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100789*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*100797*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100800*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*100808*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100811*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*100820*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*100829*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*100832*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*100840*/                0, /*End of Scope*/
/*100841*/              /*Scope*/ 5|128,5/*645*/, /*->101488*/
/*100843*/                OPC_CheckChild0Same, 3,
/*100845*/                OPC_CheckChild1Integer, 2, 
/*100847*/                OPC_MoveParent,
/*100848*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100850*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*100852*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100854*/                OPC_MoveParent,
/*100855*/                OPC_MoveChild1,
/*100856*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100859*/                OPC_RecordMemRef,
/*100860*/                OPC_RecordNode, // #7 = 'ld' chained node
/*100861*/                OPC_CheckFoldableChainNode,
/*100862*/                OPC_MoveChild1,
/*100863*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100866*/                OPC_CheckChild0Same, 1,
/*100868*/                OPC_CheckChild1Integer, 2, 
/*100870*/                OPC_CheckType, MVT::i64,
/*100872*/                OPC_MoveParent,
/*100873*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100875*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*100877*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100879*/                OPC_MoveParent,
/*100880*/                OPC_MoveParent,
/*100881*/                OPC_MoveParent,
/*100882*/                OPC_MoveChild1,
/*100883*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*100886*/                OPC_MoveChild0,
/*100887*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100890*/                OPC_RecordMemRef,
/*100891*/                OPC_RecordNode, // #8 = 'ld' chained node
/*100892*/                OPC_CheckFoldableChainNode,
/*100893*/                OPC_MoveChild1,
/*100894*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100897*/                OPC_CheckType, MVT::i64,
/*100899*/                OPC_Scope, 34|128,1/*162*/, /*->101064*/ // 3 children in Scope
/*100902*/                  OPC_CheckChild0Same, 1,
/*100904*/                  OPC_CheckChild1Integer, 3, 
/*100906*/                  OPC_MoveParent,
/*100907*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100909*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100911*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100913*/                  OPC_MoveParent,
/*100914*/                  OPC_MoveChild1,
/*100915*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*100918*/                  OPC_RecordMemRef,
/*100919*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*100920*/                  OPC_CheckFoldableChainNode,
/*100921*/                  OPC_MoveChild1,
/*100922*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*100925*/                  OPC_CheckChild0Same, 3,
/*100927*/                  OPC_CheckChild1Integer, 3, 
/*100929*/                  OPC_CheckType, MVT::i64,
/*100931*/                  OPC_MoveParent,
/*100932*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*100934*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*100936*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*100938*/                  OPC_MoveParent,
/*100939*/                  OPC_MoveParent,
/*100940*/                  OPC_CheckType, MVT::i32,
/*100942*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*100944*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*100954*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*100957*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*100964*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*100970*/                  OPC_EmitInteger, MVT::i64, 0, 
/*100973*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*100981*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*100984*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*100992*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*100995*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*101004*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*101010*/                  OPC_EmitInteger, MVT::i64, 0, 
/*101013*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*101021*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101024*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*101032*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101035*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*101044*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*101053*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*101056*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*101064*/                /*Scope*/ 1|128,2/*257*/, /*->101323*/
/*101066*/                  OPC_CheckChild0Same, 3,
/*101068*/                  OPC_CheckChild1Integer, 3, 
/*101070*/                  OPC_MoveParent,
/*101071*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101073*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*101075*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101077*/                  OPC_MoveParent,
/*101078*/                  OPC_MoveChild1,
/*101079*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101082*/                  OPC_RecordMemRef,
/*101083*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*101084*/                  OPC_CheckFoldableChainNode,
/*101085*/                  OPC_MoveChild1,
/*101086*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101089*/                  OPC_CheckChild0Same, 1,
/*101091*/                  OPC_CheckChild1Integer, 3, 
/*101093*/                  OPC_CheckType, MVT::i64,
/*101095*/                  OPC_MoveParent,
/*101096*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101098*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*101100*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101102*/                  OPC_MoveParent,
/*101103*/                  OPC_MoveParent,
/*101104*/                  OPC_CheckType, MVT::i32,
/*101106*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*101108*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*101118*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*101121*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*101128*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*101134*/                  OPC_EmitInteger, MVT::i64, 0, 
/*101137*/                  OPC_Scope, 91, /*->101230*/ // 2 children in Scope
/*101139*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*101147*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101150*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*101158*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101161*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*101170*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*101176*/                    OPC_EmitInteger, MVT::i64, 0, 
/*101179*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*101187*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101190*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*101198*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101201*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*101210*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*101219*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*101222*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*101230*/                  /*Scope*/ 91, /*->101322*/
/*101231*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*101239*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101242*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*101250*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101253*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*101262*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*101268*/                    OPC_EmitInteger, MVT::i64, 0, 
/*101271*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*101279*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101282*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*101290*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101293*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*101302*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*101311*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*101314*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*101322*/                  0, /*End of Scope*/
/*101323*/                /*Scope*/ 34|128,1/*162*/, /*->101487*/
/*101325*/                  OPC_CheckChild0Same, 1,
/*101327*/                  OPC_CheckChild1Integer, 3, 
/*101329*/                  OPC_MoveParent,
/*101330*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101332*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*101334*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101336*/                  OPC_MoveParent,
/*101337*/                  OPC_MoveChild1,
/*101338*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101341*/                  OPC_RecordMemRef,
/*101342*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*101343*/                  OPC_CheckFoldableChainNode,
/*101344*/                  OPC_MoveChild1,
/*101345*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101348*/                  OPC_CheckChild0Same, 3,
/*101350*/                  OPC_CheckChild1Integer, 3, 
/*101352*/                  OPC_CheckType, MVT::i64,
/*101354*/                  OPC_MoveParent,
/*101355*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101357*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*101359*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101361*/                  OPC_MoveParent,
/*101362*/                  OPC_MoveParent,
/*101363*/                  OPC_CheckType, MVT::i32,
/*101365*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*101367*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*101377*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*101380*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*101387*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*101393*/                  OPC_EmitInteger, MVT::i64, 0, 
/*101396*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*101404*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101407*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*101415*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101418*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*101427*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*101433*/                  OPC_EmitInteger, MVT::i64, 0, 
/*101436*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*101444*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101447*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*101455*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101458*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*101467*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*101476*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*101479*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*101487*/                0, /*End of Scope*/
/*101488*/              /*Scope*/ 2|128,3/*386*/, /*->101876*/
/*101490*/                OPC_CheckChild0Same, 1,
/*101492*/                OPC_CheckChild1Integer, 2, 
/*101494*/                OPC_MoveParent,
/*101495*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101497*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*101499*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101501*/                OPC_MoveParent,
/*101502*/                OPC_MoveChild1,
/*101503*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101506*/                OPC_RecordMemRef,
/*101507*/                OPC_RecordNode, // #7 = 'ld' chained node
/*101508*/                OPC_CheckFoldableChainNode,
/*101509*/                OPC_MoveChild1,
/*101510*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101513*/                OPC_CheckChild0Same, 3,
/*101515*/                OPC_CheckChild1Integer, 2, 
/*101517*/                OPC_CheckType, MVT::i64,
/*101519*/                OPC_MoveParent,
/*101520*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101522*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*101524*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101526*/                OPC_MoveParent,
/*101527*/                OPC_MoveParent,
/*101528*/                OPC_MoveParent,
/*101529*/                OPC_MoveChild1,
/*101530*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*101533*/                OPC_MoveChild0,
/*101534*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101537*/                OPC_RecordMemRef,
/*101538*/                OPC_RecordNode, // #8 = 'ld' chained node
/*101539*/                OPC_CheckFoldableChainNode,
/*101540*/                OPC_MoveChild1,
/*101541*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101544*/                OPC_CheckType, MVT::i64,
/*101546*/                OPC_Scope, 34|128,1/*162*/, /*->101711*/ // 2 children in Scope
/*101549*/                  OPC_CheckChild0Same, 3,
/*101551*/                  OPC_CheckChild1Integer, 3, 
/*101553*/                  OPC_MoveParent,
/*101554*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101556*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*101558*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101560*/                  OPC_MoveParent,
/*101561*/                  OPC_MoveChild1,
/*101562*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101565*/                  OPC_RecordMemRef,
/*101566*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*101567*/                  OPC_CheckFoldableChainNode,
/*101568*/                  OPC_MoveChild1,
/*101569*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101572*/                  OPC_CheckChild0Same, 1,
/*101574*/                  OPC_CheckChild1Integer, 3, 
/*101576*/                  OPC_CheckType, MVT::i64,
/*101578*/                  OPC_MoveParent,
/*101579*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101581*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*101583*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101585*/                  OPC_MoveParent,
/*101586*/                  OPC_MoveParent,
/*101587*/                  OPC_CheckType, MVT::i32,
/*101589*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*101591*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*101601*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*101604*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*101611*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*101617*/                  OPC_EmitInteger, MVT::i64, 0, 
/*101620*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*101628*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101631*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*101639*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101642*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*101651*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*101657*/                  OPC_EmitInteger, MVT::i64, 0, 
/*101660*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*101668*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101671*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*101679*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101682*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*101691*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*101700*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*101703*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*101711*/                /*Scope*/ 34|128,1/*162*/, /*->101875*/
/*101713*/                  OPC_CheckChild0Same, 1,
/*101715*/                  OPC_CheckChild1Integer, 3, 
/*101717*/                  OPC_MoveParent,
/*101718*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101720*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*101722*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101724*/                  OPC_MoveParent,
/*101725*/                  OPC_MoveChild1,
/*101726*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101729*/                  OPC_RecordMemRef,
/*101730*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*101731*/                  OPC_CheckFoldableChainNode,
/*101732*/                  OPC_MoveChild1,
/*101733*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101736*/                  OPC_CheckChild0Same, 3,
/*101738*/                  OPC_CheckChild1Integer, 3, 
/*101740*/                  OPC_CheckType, MVT::i64,
/*101742*/                  OPC_MoveParent,
/*101743*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101745*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*101747*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101749*/                  OPC_MoveParent,
/*101750*/                  OPC_MoveParent,
/*101751*/                  OPC_CheckType, MVT::i32,
/*101753*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*101755*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*101765*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*101768*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*101775*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*101781*/                  OPC_EmitInteger, MVT::i64, 0, 
/*101784*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*101792*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101795*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*101803*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101806*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*101815*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*101821*/                  OPC_EmitInteger, MVT::i64, 0, 
/*101824*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*101832*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*101835*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*101843*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*101846*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*101855*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*101864*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*101867*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*101875*/                0, /*End of Scope*/
/*101876*/              0, /*End of Scope*/
/*101877*/            /*Scope*/ 66|128,6/*834*/, /*->102713*/
/*101879*/              OPC_CheckChild0Same, 1,
/*101881*/              OPC_CheckChild1Integer, 1, 
/*101883*/              OPC_MoveParent,
/*101884*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101886*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*101888*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101890*/              OPC_MoveParent,
/*101891*/              OPC_MoveChild1,
/*101892*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101895*/              OPC_RecordMemRef,
/*101896*/              OPC_RecordNode, // #5 = 'ld' chained node
/*101897*/              OPC_CheckFoldableChainNode,
/*101898*/              OPC_MoveChild1,
/*101899*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101902*/              OPC_CheckChild0Same, 3,
/*101904*/              OPC_CheckChild1Integer, 1, 
/*101906*/              OPC_CheckType, MVT::i64,
/*101908*/              OPC_MoveParent,
/*101909*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101911*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*101913*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101915*/              OPC_MoveParent,
/*101916*/              OPC_MoveParent,
/*101917*/              OPC_MoveParent,
/*101918*/              OPC_MoveChild1,
/*101919*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*101922*/              OPC_MoveChild0,
/*101923*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101926*/              OPC_RecordMemRef,
/*101927*/              OPC_RecordNode, // #6 = 'ld' chained node
/*101928*/              OPC_CheckFoldableChainNode,
/*101929*/              OPC_MoveChild1,
/*101930*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101933*/              OPC_CheckType, MVT::i64,
/*101935*/              OPC_Scope, 2|128,3/*386*/, /*->102324*/ // 2 children in Scope
/*101938*/                OPC_CheckChild0Same, 3,
/*101940*/                OPC_CheckChild1Integer, 2, 
/*101942*/                OPC_MoveParent,
/*101943*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101945*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*101947*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101949*/                OPC_MoveParent,
/*101950*/                OPC_MoveChild1,
/*101951*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101954*/                OPC_RecordMemRef,
/*101955*/                OPC_RecordNode, // #7 = 'ld' chained node
/*101956*/                OPC_CheckFoldableChainNode,
/*101957*/                OPC_MoveChild1,
/*101958*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101961*/                OPC_CheckChild0Same, 1,
/*101963*/                OPC_CheckChild1Integer, 2, 
/*101965*/                OPC_CheckType, MVT::i64,
/*101967*/                OPC_MoveParent,
/*101968*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*101970*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*101972*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*101974*/                OPC_MoveParent,
/*101975*/                OPC_MoveParent,
/*101976*/                OPC_MoveParent,
/*101977*/                OPC_MoveChild1,
/*101978*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*101981*/                OPC_MoveChild0,
/*101982*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*101985*/                OPC_RecordMemRef,
/*101986*/                OPC_RecordNode, // #8 = 'ld' chained node
/*101987*/                OPC_CheckFoldableChainNode,
/*101988*/                OPC_MoveChild1,
/*101989*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*101992*/                OPC_CheckType, MVT::i64,
/*101994*/                OPC_Scope, 34|128,1/*162*/, /*->102159*/ // 2 children in Scope
/*101997*/                  OPC_CheckChild0Same, 3,
/*101999*/                  OPC_CheckChild1Integer, 3, 
/*102001*/                  OPC_MoveParent,
/*102002*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102004*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*102006*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102008*/                  OPC_MoveParent,
/*102009*/                  OPC_MoveChild1,
/*102010*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102013*/                  OPC_RecordMemRef,
/*102014*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*102015*/                  OPC_CheckFoldableChainNode,
/*102016*/                  OPC_MoveChild1,
/*102017*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102020*/                  OPC_CheckChild0Same, 1,
/*102022*/                  OPC_CheckChild1Integer, 3, 
/*102024*/                  OPC_CheckType, MVT::i64,
/*102026*/                  OPC_MoveParent,
/*102027*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102029*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*102031*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102033*/                  OPC_MoveParent,
/*102034*/                  OPC_MoveParent,
/*102035*/                  OPC_CheckType, MVT::i32,
/*102037*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*102039*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*102049*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*102052*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*102059*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*102065*/                  OPC_EmitInteger, MVT::i64, 0, 
/*102068*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*102076*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102079*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*102087*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102090*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*102099*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*102105*/                  OPC_EmitInteger, MVT::i64, 0, 
/*102108*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*102116*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102119*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*102127*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102130*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*102139*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*102148*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*102151*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*102159*/                /*Scope*/ 34|128,1/*162*/, /*->102323*/
/*102161*/                  OPC_CheckChild0Same, 1,
/*102163*/                  OPC_CheckChild1Integer, 3, 
/*102165*/                  OPC_MoveParent,
/*102166*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102168*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*102170*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102172*/                  OPC_MoveParent,
/*102173*/                  OPC_MoveChild1,
/*102174*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102177*/                  OPC_RecordMemRef,
/*102178*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*102179*/                  OPC_CheckFoldableChainNode,
/*102180*/                  OPC_MoveChild1,
/*102181*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102184*/                  OPC_CheckChild0Same, 3,
/*102186*/                  OPC_CheckChild1Integer, 3, 
/*102188*/                  OPC_CheckType, MVT::i64,
/*102190*/                  OPC_MoveParent,
/*102191*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102193*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*102195*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102197*/                  OPC_MoveParent,
/*102198*/                  OPC_MoveParent,
/*102199*/                  OPC_CheckType, MVT::i32,
/*102201*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*102203*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*102213*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*102216*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*102223*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*102229*/                  OPC_EmitInteger, MVT::i64, 0, 
/*102232*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*102240*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102243*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*102251*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102254*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*102263*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*102269*/                  OPC_EmitInteger, MVT::i64, 0, 
/*102272*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*102280*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102283*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*102291*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102294*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*102303*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*102312*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*102315*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*102323*/                0, /*End of Scope*/
/*102324*/              /*Scope*/ 2|128,3/*386*/, /*->102712*/
/*102326*/                OPC_CheckChild0Same, 1,
/*102328*/                OPC_CheckChild1Integer, 2, 
/*102330*/                OPC_MoveParent,
/*102331*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102333*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*102335*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102337*/                OPC_MoveParent,
/*102338*/                OPC_MoveChild1,
/*102339*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102342*/                OPC_RecordMemRef,
/*102343*/                OPC_RecordNode, // #7 = 'ld' chained node
/*102344*/                OPC_CheckFoldableChainNode,
/*102345*/                OPC_MoveChild1,
/*102346*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102349*/                OPC_CheckChild0Same, 3,
/*102351*/                OPC_CheckChild1Integer, 2, 
/*102353*/                OPC_CheckType, MVT::i64,
/*102355*/                OPC_MoveParent,
/*102356*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102358*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*102360*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102362*/                OPC_MoveParent,
/*102363*/                OPC_MoveParent,
/*102364*/                OPC_MoveParent,
/*102365*/                OPC_MoveChild1,
/*102366*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*102369*/                OPC_MoveChild0,
/*102370*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102373*/                OPC_RecordMemRef,
/*102374*/                OPC_RecordNode, // #8 = 'ld' chained node
/*102375*/                OPC_CheckFoldableChainNode,
/*102376*/                OPC_MoveChild1,
/*102377*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102380*/                OPC_CheckType, MVT::i64,
/*102382*/                OPC_Scope, 34|128,1/*162*/, /*->102547*/ // 2 children in Scope
/*102385*/                  OPC_CheckChild0Same, 3,
/*102387*/                  OPC_CheckChild1Integer, 3, 
/*102389*/                  OPC_MoveParent,
/*102390*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102392*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*102394*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102396*/                  OPC_MoveParent,
/*102397*/                  OPC_MoveChild1,
/*102398*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102401*/                  OPC_RecordMemRef,
/*102402*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*102403*/                  OPC_CheckFoldableChainNode,
/*102404*/                  OPC_MoveChild1,
/*102405*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102408*/                  OPC_CheckChild0Same, 1,
/*102410*/                  OPC_CheckChild1Integer, 3, 
/*102412*/                  OPC_CheckType, MVT::i64,
/*102414*/                  OPC_MoveParent,
/*102415*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102417*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*102419*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102421*/                  OPC_MoveParent,
/*102422*/                  OPC_MoveParent,
/*102423*/                  OPC_CheckType, MVT::i32,
/*102425*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*102427*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*102437*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*102440*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*102447*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*102453*/                  OPC_EmitInteger, MVT::i64, 0, 
/*102456*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*102464*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102467*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*102475*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102478*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*102487*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*102493*/                  OPC_EmitInteger, MVT::i64, 0, 
/*102496*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*102504*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102507*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*102515*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102518*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*102527*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*102536*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*102539*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*102547*/                /*Scope*/ 34|128,1/*162*/, /*->102711*/
/*102549*/                  OPC_CheckChild0Same, 1,
/*102551*/                  OPC_CheckChild1Integer, 3, 
/*102553*/                  OPC_MoveParent,
/*102554*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102556*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*102558*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102560*/                  OPC_MoveParent,
/*102561*/                  OPC_MoveChild1,
/*102562*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102565*/                  OPC_RecordMemRef,
/*102566*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*102567*/                  OPC_CheckFoldableChainNode,
/*102568*/                  OPC_MoveChild1,
/*102569*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102572*/                  OPC_CheckChild0Same, 3,
/*102574*/                  OPC_CheckChild1Integer, 3, 
/*102576*/                  OPC_CheckType, MVT::i64,
/*102578*/                  OPC_MoveParent,
/*102579*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102581*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*102583*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*102585*/                  OPC_MoveParent,
/*102586*/                  OPC_MoveParent,
/*102587*/                  OPC_CheckType, MVT::i32,
/*102589*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*102591*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*102601*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*102604*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*102611*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*102617*/                  OPC_EmitInteger, MVT::i64, 0, 
/*102620*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*102628*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102631*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*102639*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102642*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*102651*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*102657*/                  OPC_EmitInteger, MVT::i64, 0, 
/*102660*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*102668*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102671*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*102679*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102682*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*102691*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*102700*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*102703*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*102711*/                0, /*End of Scope*/
/*102712*/              0, /*End of Scope*/
/*102713*/            0, /*End of Scope*/
/*102714*/          /*Scope*/ 6|128,73/*9350*/, /*->112066*/
/*102716*/            OPC_MoveChild1,
/*102717*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102720*/            OPC_RecordChild0, // #1 = $Rn
/*102721*/            OPC_CheckType, MVT::i64,
/*102723*/            OPC_Scope, 86|128,48/*6230*/, /*->108956*/ // 2 children in Scope
/*102726*/              OPC_CheckChild1Integer, 2, 
/*102728*/              OPC_MoveParent,
/*102729*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102731*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*102733*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*102735*/              OPC_MoveParent,
/*102736*/              OPC_MoveChild1,
/*102737*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102740*/              OPC_RecordMemRef,
/*102741*/              OPC_RecordNode, // #2 = 'ld' chained node
/*102742*/              OPC_CheckFoldableChainNode,
/*102743*/              OPC_MoveChild1,
/*102744*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102747*/              OPC_RecordChild0, // #3 = $Rm
/*102748*/              OPC_CheckChild1Integer, 2, 
/*102750*/              OPC_CheckType, MVT::i64,
/*102752*/              OPC_MoveParent,
/*102753*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102755*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*102757*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*102759*/              OPC_MoveParent,
/*102760*/              OPC_MoveParent,
/*102761*/              OPC_MoveChild1,
/*102762*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*102765*/              OPC_MoveChild0,
/*102766*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102769*/              OPC_RecordMemRef,
/*102770*/              OPC_RecordNode, // #4 = 'ld' chained node
/*102771*/              OPC_CheckFoldableChainNode,
/*102772*/              OPC_Scope, 117|128,23/*3061*/, /*->105836*/ // 4 children in Scope
/*102775*/                OPC_MoveChild1,
/*102776*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102779*/                OPC_CheckType, MVT::i64,
/*102781*/                OPC_Scope, 36|128,6/*804*/, /*->103588*/ // 3 children in Scope
/*102784*/                  OPC_CheckChild0Same, 1,
/*102786*/                  OPC_CheckChild1Integer, 1, 
/*102788*/                  OPC_MoveParent,
/*102789*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102791*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*102793*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*102795*/                  OPC_MoveParent,
/*102796*/                  OPC_MoveChild1,
/*102797*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102800*/                  OPC_RecordMemRef,
/*102801*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*102802*/                  OPC_CheckFoldableChainNode,
/*102803*/                  OPC_MoveChild1,
/*102804*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102807*/                  OPC_CheckChild0Same, 3,
/*102809*/                  OPC_CheckChild1Integer, 1, 
/*102811*/                  OPC_CheckType, MVT::i64,
/*102813*/                  OPC_MoveParent,
/*102814*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102816*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*102818*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*102820*/                  OPC_MoveParent,
/*102821*/                  OPC_MoveParent,
/*102822*/                  OPC_MoveParent,
/*102823*/                  OPC_MoveChild1,
/*102824*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*102827*/                  OPC_MoveChild0,
/*102828*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102831*/                  OPC_RecordMemRef,
/*102832*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*102833*/                  OPC_CheckFoldableChainNode,
/*102834*/                  OPC_Scope, 118|128,2/*374*/, /*->103211*/ // 2 children in Scope
/*102837*/                    OPC_CheckChild1Same, 1,
/*102839*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102841*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*102843*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*102845*/                    OPC_MoveParent,
/*102846*/                    OPC_MoveChild1,
/*102847*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102850*/                    OPC_RecordMemRef,
/*102851*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*102852*/                    OPC_CheckFoldableChainNode,
/*102853*/                    OPC_CheckChild1Same, 3,
/*102855*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102857*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*102859*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*102861*/                    OPC_MoveParent,
/*102862*/                    OPC_MoveParent,
/*102863*/                    OPC_MoveParent,
/*102864*/                    OPC_MoveChild1,
/*102865*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*102868*/                    OPC_MoveChild0,
/*102869*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102872*/                    OPC_RecordMemRef,
/*102873*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*102874*/                    OPC_CheckFoldableChainNode,
/*102875*/                    OPC_MoveChild1,
/*102876*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102879*/                    OPC_CheckType, MVT::i64,
/*102881*/                    OPC_Scope, 34|128,1/*162*/, /*->103046*/ // 2 children in Scope
/*102884*/                      OPC_CheckChild0Same, 1,
/*102886*/                      OPC_CheckChild1Integer, 3, 
/*102888*/                      OPC_MoveParent,
/*102889*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102891*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*102893*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*102895*/                      OPC_MoveParent,
/*102896*/                      OPC_MoveChild1,
/*102897*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*102900*/                      OPC_RecordMemRef,
/*102901*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*102902*/                      OPC_CheckFoldableChainNode,
/*102903*/                      OPC_MoveChild1,
/*102904*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*102907*/                      OPC_CheckChild0Same, 3,
/*102909*/                      OPC_CheckChild1Integer, 3, 
/*102911*/                      OPC_CheckType, MVT::i64,
/*102913*/                      OPC_MoveParent,
/*102914*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*102916*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*102918*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*102920*/                      OPC_MoveParent,
/*102921*/                      OPC_MoveParent,
/*102922*/                      OPC_CheckType, MVT::i32,
/*102924*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*102926*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*102936*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*102939*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*102946*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*102952*/                      OPC_EmitInteger, MVT::i64, 0, 
/*102955*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*102963*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*102966*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*102974*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*102977*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*102986*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*102992*/                      OPC_EmitInteger, MVT::i64, 0, 
/*102995*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*103003*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103006*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*103014*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103017*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*103026*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*103035*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*103038*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*103046*/                    /*Scope*/ 34|128,1/*162*/, /*->103210*/
/*103048*/                      OPC_CheckChild0Same, 3,
/*103050*/                      OPC_CheckChild1Integer, 3, 
/*103052*/                      OPC_MoveParent,
/*103053*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103055*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103057*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103059*/                      OPC_MoveParent,
/*103060*/                      OPC_MoveChild1,
/*103061*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103064*/                      OPC_RecordMemRef,
/*103065*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*103066*/                      OPC_CheckFoldableChainNode,
/*103067*/                      OPC_MoveChild1,
/*103068*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*103071*/                      OPC_CheckChild0Same, 1,
/*103073*/                      OPC_CheckChild1Integer, 3, 
/*103075*/                      OPC_CheckType, MVT::i64,
/*103077*/                      OPC_MoveParent,
/*103078*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103080*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103082*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103084*/                      OPC_MoveParent,
/*103085*/                      OPC_MoveParent,
/*103086*/                      OPC_CheckType, MVT::i32,
/*103088*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*103090*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*103100*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*103103*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*103110*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*103116*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103119*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*103127*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103130*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*103138*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103141*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*103150*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*103156*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103159*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*103167*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103170*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*103178*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103181*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*103190*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*103199*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*103202*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*103210*/                    0, /*End of Scope*/
/*103211*/                  /*Scope*/ 118|128,2/*374*/, /*->103587*/
/*103213*/                    OPC_CheckChild1Same, 3,
/*103215*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103217*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*103219*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103221*/                    OPC_MoveParent,
/*103222*/                    OPC_MoveChild1,
/*103223*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103226*/                    OPC_RecordMemRef,
/*103227*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*103228*/                    OPC_CheckFoldableChainNode,
/*103229*/                    OPC_CheckChild1Same, 1,
/*103231*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103233*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*103235*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103237*/                    OPC_MoveParent,
/*103238*/                    OPC_MoveParent,
/*103239*/                    OPC_MoveParent,
/*103240*/                    OPC_MoveChild1,
/*103241*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*103244*/                    OPC_MoveChild0,
/*103245*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103248*/                    OPC_RecordMemRef,
/*103249*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*103250*/                    OPC_CheckFoldableChainNode,
/*103251*/                    OPC_MoveChild1,
/*103252*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*103255*/                    OPC_CheckType, MVT::i64,
/*103257*/                    OPC_Scope, 34|128,1/*162*/, /*->103422*/ // 2 children in Scope
/*103260*/                      OPC_CheckChild0Same, 1,
/*103262*/                      OPC_CheckChild1Integer, 3, 
/*103264*/                      OPC_MoveParent,
/*103265*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103267*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103269*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103271*/                      OPC_MoveParent,
/*103272*/                      OPC_MoveChild1,
/*103273*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103276*/                      OPC_RecordMemRef,
/*103277*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*103278*/                      OPC_CheckFoldableChainNode,
/*103279*/                      OPC_MoveChild1,
/*103280*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*103283*/                      OPC_CheckChild0Same, 3,
/*103285*/                      OPC_CheckChild1Integer, 3, 
/*103287*/                      OPC_CheckType, MVT::i64,
/*103289*/                      OPC_MoveParent,
/*103290*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103292*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103294*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103296*/                      OPC_MoveParent,
/*103297*/                      OPC_MoveParent,
/*103298*/                      OPC_CheckType, MVT::i32,
/*103300*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*103302*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*103312*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*103315*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*103322*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*103328*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103331*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*103339*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103342*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*103350*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103353*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*103362*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*103368*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103371*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*103379*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103382*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*103390*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103393*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*103402*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*103411*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*103414*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*103422*/                    /*Scope*/ 34|128,1/*162*/, /*->103586*/
/*103424*/                      OPC_CheckChild0Same, 3,
/*103426*/                      OPC_CheckChild1Integer, 3, 
/*103428*/                      OPC_MoveParent,
/*103429*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103431*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103433*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103435*/                      OPC_MoveParent,
/*103436*/                      OPC_MoveChild1,
/*103437*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103440*/                      OPC_RecordMemRef,
/*103441*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*103442*/                      OPC_CheckFoldableChainNode,
/*103443*/                      OPC_MoveChild1,
/*103444*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*103447*/                      OPC_CheckChild0Same, 1,
/*103449*/                      OPC_CheckChild1Integer, 3, 
/*103451*/                      OPC_CheckType, MVT::i64,
/*103453*/                      OPC_MoveParent,
/*103454*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103456*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103458*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103460*/                      OPC_MoveParent,
/*103461*/                      OPC_MoveParent,
/*103462*/                      OPC_CheckType, MVT::i32,
/*103464*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*103466*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*103476*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*103479*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*103486*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*103492*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103495*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*103503*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103506*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*103514*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103517*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*103526*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*103532*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103535*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*103543*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103546*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*103554*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103557*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*103566*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*103575*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*103578*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*103586*/                    0, /*End of Scope*/
/*103587*/                  0, /*End of Scope*/
/*103588*/                /*Scope*/ 31|128,11/*1439*/, /*->105029*/
/*103590*/                  OPC_CheckChild0Same, 3,
/*103592*/                  OPC_CheckChild1Integer, 1, 
/*103594*/                  OPC_MoveParent,
/*103595*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103597*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*103599*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103601*/                  OPC_MoveParent,
/*103602*/                  OPC_MoveChild1,
/*103603*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103606*/                  OPC_RecordMemRef,
/*103607*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*103608*/                  OPC_CheckFoldableChainNode,
/*103609*/                  OPC_MoveChild1,
/*103610*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*103613*/                  OPC_CheckChild0Same, 1,
/*103615*/                  OPC_CheckChild1Integer, 1, 
/*103617*/                  OPC_CheckType, MVT::i64,
/*103619*/                  OPC_MoveParent,
/*103620*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103622*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*103624*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103626*/                  OPC_MoveParent,
/*103627*/                  OPC_MoveParent,
/*103628*/                  OPC_MoveParent,
/*103629*/                  OPC_MoveChild1,
/*103630*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*103633*/                  OPC_MoveChild0,
/*103634*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103637*/                  OPC_RecordMemRef,
/*103638*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*103639*/                  OPC_CheckFoldableChainNode,
/*103640*/                  OPC_Scope, 118|128,2/*374*/, /*->104017*/ // 3 children in Scope
/*103643*/                    OPC_CheckChild1Same, 1,
/*103645*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103647*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*103649*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103651*/                    OPC_MoveParent,
/*103652*/                    OPC_MoveChild1,
/*103653*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103656*/                    OPC_RecordMemRef,
/*103657*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*103658*/                    OPC_CheckFoldableChainNode,
/*103659*/                    OPC_CheckChild1Same, 3,
/*103661*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103663*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*103665*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103667*/                    OPC_MoveParent,
/*103668*/                    OPC_MoveParent,
/*103669*/                    OPC_MoveParent,
/*103670*/                    OPC_MoveChild1,
/*103671*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*103674*/                    OPC_MoveChild0,
/*103675*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103678*/                    OPC_RecordMemRef,
/*103679*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*103680*/                    OPC_CheckFoldableChainNode,
/*103681*/                    OPC_MoveChild1,
/*103682*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*103685*/                    OPC_CheckType, MVT::i64,
/*103687*/                    OPC_Scope, 34|128,1/*162*/, /*->103852*/ // 2 children in Scope
/*103690*/                      OPC_CheckChild0Same, 1,
/*103692*/                      OPC_CheckChild1Integer, 3, 
/*103694*/                      OPC_MoveParent,
/*103695*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103697*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103699*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103701*/                      OPC_MoveParent,
/*103702*/                      OPC_MoveChild1,
/*103703*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103706*/                      OPC_RecordMemRef,
/*103707*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*103708*/                      OPC_CheckFoldableChainNode,
/*103709*/                      OPC_MoveChild1,
/*103710*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*103713*/                      OPC_CheckChild0Same, 3,
/*103715*/                      OPC_CheckChild1Integer, 3, 
/*103717*/                      OPC_CheckType, MVT::i64,
/*103719*/                      OPC_MoveParent,
/*103720*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103722*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103724*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103726*/                      OPC_MoveParent,
/*103727*/                      OPC_MoveParent,
/*103728*/                      OPC_CheckType, MVT::i32,
/*103730*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*103732*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*103742*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*103745*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*103752*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*103758*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103761*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*103769*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103772*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*103780*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103783*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*103792*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*103798*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103801*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*103809*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103812*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*103820*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103823*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*103832*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*103841*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*103844*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*103852*/                    /*Scope*/ 34|128,1/*162*/, /*->104016*/
/*103854*/                      OPC_CheckChild0Same, 3,
/*103856*/                      OPC_CheckChild1Integer, 3, 
/*103858*/                      OPC_MoveParent,
/*103859*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103861*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103863*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103865*/                      OPC_MoveParent,
/*103866*/                      OPC_MoveChild1,
/*103867*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*103870*/                      OPC_RecordMemRef,
/*103871*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*103872*/                      OPC_CheckFoldableChainNode,
/*103873*/                      OPC_MoveChild1,
/*103874*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*103877*/                      OPC_CheckChild0Same, 1,
/*103879*/                      OPC_CheckChild1Integer, 3, 
/*103881*/                      OPC_CheckType, MVT::i64,
/*103883*/                      OPC_MoveParent,
/*103884*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*103886*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*103888*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*103890*/                      OPC_MoveParent,
/*103891*/                      OPC_MoveParent,
/*103892*/                      OPC_CheckType, MVT::i32,
/*103894*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*103896*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*103906*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*103909*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*103916*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*103922*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103925*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*103933*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103936*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*103944*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103947*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*103956*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*103962*/                      OPC_EmitInteger, MVT::i64, 0, 
/*103965*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*103973*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*103976*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*103984*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*103987*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*103996*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*104005*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*104008*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*104016*/                    0, /*End of Scope*/
/*104017*/                  /*Scope*/ 121|128,4/*633*/, /*->104652*/
/*104019*/                    OPC_CheckChild1Same, 3,
/*104021*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104023*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*104025*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104027*/                    OPC_MoveParent,
/*104028*/                    OPC_MoveChild1,
/*104029*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104032*/                    OPC_RecordMemRef,
/*104033*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*104034*/                    OPC_CheckFoldableChainNode,
/*104035*/                    OPC_CheckChild1Same, 1,
/*104037*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104039*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*104041*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104043*/                    OPC_MoveParent,
/*104044*/                    OPC_MoveParent,
/*104045*/                    OPC_MoveParent,
/*104046*/                    OPC_MoveChild1,
/*104047*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*104050*/                    OPC_MoveChild0,
/*104051*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104054*/                    OPC_RecordMemRef,
/*104055*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*104056*/                    OPC_CheckFoldableChainNode,
/*104057*/                    OPC_MoveChild1,
/*104058*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*104061*/                    OPC_CheckType, MVT::i64,
/*104063*/                    OPC_Scope, 34|128,1/*162*/, /*->104228*/ // 3 children in Scope
/*104066*/                      OPC_CheckChild0Same, 1,
/*104068*/                      OPC_CheckChild1Integer, 3, 
/*104070*/                      OPC_MoveParent,
/*104071*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104073*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104075*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104077*/                      OPC_MoveParent,
/*104078*/                      OPC_MoveChild1,
/*104079*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104082*/                      OPC_RecordMemRef,
/*104083*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*104084*/                      OPC_CheckFoldableChainNode,
/*104085*/                      OPC_MoveChild1,
/*104086*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*104089*/                      OPC_CheckChild0Same, 3,
/*104091*/                      OPC_CheckChild1Integer, 3, 
/*104093*/                      OPC_CheckType, MVT::i64,
/*104095*/                      OPC_MoveParent,
/*104096*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104098*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104100*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104102*/                      OPC_MoveParent,
/*104103*/                      OPC_MoveParent,
/*104104*/                      OPC_CheckType, MVT::i32,
/*104106*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*104108*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*104118*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*104121*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*104128*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*104134*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104137*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*104145*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104148*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*104156*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104159*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*104168*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*104174*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104177*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*104185*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104188*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*104196*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104199*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*104208*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*104217*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*104220*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*104228*/                    /*Scope*/ 1|128,2/*257*/, /*->104487*/
/*104230*/                      OPC_CheckChild0Same, 3,
/*104232*/                      OPC_CheckChild1Integer, 3, 
/*104234*/                      OPC_MoveParent,
/*104235*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104237*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104239*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104241*/                      OPC_MoveParent,
/*104242*/                      OPC_MoveChild1,
/*104243*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104246*/                      OPC_RecordMemRef,
/*104247*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*104248*/                      OPC_CheckFoldableChainNode,
/*104249*/                      OPC_MoveChild1,
/*104250*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*104253*/                      OPC_CheckChild0Same, 1,
/*104255*/                      OPC_CheckChild1Integer, 3, 
/*104257*/                      OPC_CheckType, MVT::i64,
/*104259*/                      OPC_MoveParent,
/*104260*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104262*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104264*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104266*/                      OPC_MoveParent,
/*104267*/                      OPC_MoveParent,
/*104268*/                      OPC_CheckType, MVT::i32,
/*104270*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*104272*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*104282*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*104285*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*104292*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*104298*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104301*/                      OPC_Scope, 91, /*->104394*/ // 2 children in Scope
/*104303*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*104311*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104314*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*104322*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104325*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*104334*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*104340*/                        OPC_EmitInteger, MVT::i64, 0, 
/*104343*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*104351*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104354*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*104362*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104365*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*104374*/                        OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*104383*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*104386*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*104394*/                      /*Scope*/ 91, /*->104486*/
/*104395*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*104403*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104406*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*104414*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104417*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*104426*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*104432*/                        OPC_EmitInteger, MVT::i64, 0, 
/*104435*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*104443*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104446*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*104454*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104457*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*104466*/                        OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*104475*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*104478*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*104486*/                      0, /*End of Scope*/
/*104487*/                    /*Scope*/ 34|128,1/*162*/, /*->104651*/
/*104489*/                      OPC_CheckChild0Same, 1,
/*104491*/                      OPC_CheckChild1Integer, 3, 
/*104493*/                      OPC_MoveParent,
/*104494*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104496*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104498*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104500*/                      OPC_MoveParent,
/*104501*/                      OPC_MoveChild1,
/*104502*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104505*/                      OPC_RecordMemRef,
/*104506*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*104507*/                      OPC_CheckFoldableChainNode,
/*104508*/                      OPC_MoveChild1,
/*104509*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*104512*/                      OPC_CheckChild0Same, 3,
/*104514*/                      OPC_CheckChild1Integer, 3, 
/*104516*/                      OPC_CheckType, MVT::i64,
/*104518*/                      OPC_MoveParent,
/*104519*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104521*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104523*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104525*/                      OPC_MoveParent,
/*104526*/                      OPC_MoveParent,
/*104527*/                      OPC_CheckType, MVT::i32,
/*104529*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*104531*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*104541*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*104544*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*104551*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*104557*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104560*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*104568*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104571*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*104579*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104582*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*104591*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*104597*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104600*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*104608*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104611*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*104619*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104622*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*104631*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*104640*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*104643*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*104651*/                    0, /*End of Scope*/
/*104652*/                  /*Scope*/ 118|128,2/*374*/, /*->105028*/
/*104654*/                    OPC_CheckChild1Same, 1,
/*104656*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104658*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*104660*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104662*/                    OPC_MoveParent,
/*104663*/                    OPC_MoveChild1,
/*104664*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104667*/                    OPC_RecordMemRef,
/*104668*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*104669*/                    OPC_CheckFoldableChainNode,
/*104670*/                    OPC_CheckChild1Same, 3,
/*104672*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104674*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*104676*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104678*/                    OPC_MoveParent,
/*104679*/                    OPC_MoveParent,
/*104680*/                    OPC_MoveParent,
/*104681*/                    OPC_MoveChild1,
/*104682*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*104685*/                    OPC_MoveChild0,
/*104686*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104689*/                    OPC_RecordMemRef,
/*104690*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*104691*/                    OPC_CheckFoldableChainNode,
/*104692*/                    OPC_MoveChild1,
/*104693*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*104696*/                    OPC_CheckType, MVT::i64,
/*104698*/                    OPC_Scope, 34|128,1/*162*/, /*->104863*/ // 2 children in Scope
/*104701*/                      OPC_CheckChild0Same, 3,
/*104703*/                      OPC_CheckChild1Integer, 3, 
/*104705*/                      OPC_MoveParent,
/*104706*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104708*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104710*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104712*/                      OPC_MoveParent,
/*104713*/                      OPC_MoveChild1,
/*104714*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104717*/                      OPC_RecordMemRef,
/*104718*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*104719*/                      OPC_CheckFoldableChainNode,
/*104720*/                      OPC_MoveChild1,
/*104721*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*104724*/                      OPC_CheckChild0Same, 1,
/*104726*/                      OPC_CheckChild1Integer, 3, 
/*104728*/                      OPC_CheckType, MVT::i64,
/*104730*/                      OPC_MoveParent,
/*104731*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104733*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104735*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104737*/                      OPC_MoveParent,
/*104738*/                      OPC_MoveParent,
/*104739*/                      OPC_CheckType, MVT::i32,
/*104741*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*104743*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*104753*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*104756*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*104763*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*104769*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104772*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*104780*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104783*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*104791*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104794*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*104803*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*104809*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104812*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*104820*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104823*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*104831*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104834*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*104843*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*104852*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*104855*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*104863*/                    /*Scope*/ 34|128,1/*162*/, /*->105027*/
/*104865*/                      OPC_CheckChild0Same, 1,
/*104867*/                      OPC_CheckChild1Integer, 3, 
/*104869*/                      OPC_MoveParent,
/*104870*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104872*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104874*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104876*/                      OPC_MoveParent,
/*104877*/                      OPC_MoveChild1,
/*104878*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*104881*/                      OPC_RecordMemRef,
/*104882*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*104883*/                      OPC_CheckFoldableChainNode,
/*104884*/                      OPC_MoveChild1,
/*104885*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*104888*/                      OPC_CheckChild0Same, 3,
/*104890*/                      OPC_CheckChild1Integer, 3, 
/*104892*/                      OPC_CheckType, MVT::i64,
/*104894*/                      OPC_MoveParent,
/*104895*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*104897*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*104899*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*104901*/                      OPC_MoveParent,
/*104902*/                      OPC_MoveParent,
/*104903*/                      OPC_CheckType, MVT::i32,
/*104905*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*104907*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*104917*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*104920*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*104927*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*104933*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104936*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*104944*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104947*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*104955*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104958*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*104967*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*104973*/                      OPC_EmitInteger, MVT::i64, 0, 
/*104976*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*104984*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*104987*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*104995*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*104998*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*105007*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*105016*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*105019*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*105027*/                    0, /*End of Scope*/
/*105028*/                  0, /*End of Scope*/
/*105029*/                /*Scope*/ 36|128,6/*804*/, /*->105835*/
/*105031*/                  OPC_CheckChild0Same, 1,
/*105033*/                  OPC_CheckChild1Integer, 1, 
/*105035*/                  OPC_MoveParent,
/*105036*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105038*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*105040*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105042*/                  OPC_MoveParent,
/*105043*/                  OPC_MoveChild1,
/*105044*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105047*/                  OPC_RecordMemRef,
/*105048*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*105049*/                  OPC_CheckFoldableChainNode,
/*105050*/                  OPC_MoveChild1,
/*105051*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105054*/                  OPC_CheckChild0Same, 3,
/*105056*/                  OPC_CheckChild1Integer, 1, 
/*105058*/                  OPC_CheckType, MVT::i64,
/*105060*/                  OPC_MoveParent,
/*105061*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105063*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*105065*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105067*/                  OPC_MoveParent,
/*105068*/                  OPC_MoveParent,
/*105069*/                  OPC_MoveParent,
/*105070*/                  OPC_MoveChild1,
/*105071*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*105074*/                  OPC_MoveChild0,
/*105075*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105078*/                  OPC_RecordMemRef,
/*105079*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*105080*/                  OPC_CheckFoldableChainNode,
/*105081*/                  OPC_Scope, 118|128,2/*374*/, /*->105458*/ // 2 children in Scope
/*105084*/                    OPC_CheckChild1Same, 3,
/*105086*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105088*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*105090*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105092*/                    OPC_MoveParent,
/*105093*/                    OPC_MoveChild1,
/*105094*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105097*/                    OPC_RecordMemRef,
/*105098*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*105099*/                    OPC_CheckFoldableChainNode,
/*105100*/                    OPC_CheckChild1Same, 1,
/*105102*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105104*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*105106*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105108*/                    OPC_MoveParent,
/*105109*/                    OPC_MoveParent,
/*105110*/                    OPC_MoveParent,
/*105111*/                    OPC_MoveChild1,
/*105112*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*105115*/                    OPC_MoveChild0,
/*105116*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105119*/                    OPC_RecordMemRef,
/*105120*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*105121*/                    OPC_CheckFoldableChainNode,
/*105122*/                    OPC_MoveChild1,
/*105123*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105126*/                    OPC_CheckType, MVT::i64,
/*105128*/                    OPC_Scope, 34|128,1/*162*/, /*->105293*/ // 2 children in Scope
/*105131*/                      OPC_CheckChild0Same, 3,
/*105133*/                      OPC_CheckChild1Integer, 3, 
/*105135*/                      OPC_MoveParent,
/*105136*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105138*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*105140*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105142*/                      OPC_MoveParent,
/*105143*/                      OPC_MoveChild1,
/*105144*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105147*/                      OPC_RecordMemRef,
/*105148*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*105149*/                      OPC_CheckFoldableChainNode,
/*105150*/                      OPC_MoveChild1,
/*105151*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105154*/                      OPC_CheckChild0Same, 1,
/*105156*/                      OPC_CheckChild1Integer, 3, 
/*105158*/                      OPC_CheckType, MVT::i64,
/*105160*/                      OPC_MoveParent,
/*105161*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105163*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*105165*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105167*/                      OPC_MoveParent,
/*105168*/                      OPC_MoveParent,
/*105169*/                      OPC_CheckType, MVT::i32,
/*105171*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*105173*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*105183*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*105186*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*105193*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*105199*/                      OPC_EmitInteger, MVT::i64, 0, 
/*105202*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*105210*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*105213*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*105221*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*105224*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*105233*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*105239*/                      OPC_EmitInteger, MVT::i64, 0, 
/*105242*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*105250*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*105253*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*105261*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*105264*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*105273*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*105282*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*105285*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*105293*/                    /*Scope*/ 34|128,1/*162*/, /*->105457*/
/*105295*/                      OPC_CheckChild0Same, 1,
/*105297*/                      OPC_CheckChild1Integer, 3, 
/*105299*/                      OPC_MoveParent,
/*105300*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105302*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*105304*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105306*/                      OPC_MoveParent,
/*105307*/                      OPC_MoveChild1,
/*105308*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105311*/                      OPC_RecordMemRef,
/*105312*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*105313*/                      OPC_CheckFoldableChainNode,
/*105314*/                      OPC_MoveChild1,
/*105315*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105318*/                      OPC_CheckChild0Same, 3,
/*105320*/                      OPC_CheckChild1Integer, 3, 
/*105322*/                      OPC_CheckType, MVT::i64,
/*105324*/                      OPC_MoveParent,
/*105325*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105327*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*105329*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105331*/                      OPC_MoveParent,
/*105332*/                      OPC_MoveParent,
/*105333*/                      OPC_CheckType, MVT::i32,
/*105335*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*105337*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*105347*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*105350*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*105357*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*105363*/                      OPC_EmitInteger, MVT::i64, 0, 
/*105366*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*105374*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*105377*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*105385*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*105388*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*105397*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*105403*/                      OPC_EmitInteger, MVT::i64, 0, 
/*105406*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*105414*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*105417*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*105425*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*105428*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*105437*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*105446*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*105449*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*105457*/                    0, /*End of Scope*/
/*105458*/                  /*Scope*/ 118|128,2/*374*/, /*->105834*/
/*105460*/                    OPC_CheckChild1Same, 1,
/*105462*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105464*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*105466*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105468*/                    OPC_MoveParent,
/*105469*/                    OPC_MoveChild1,
/*105470*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105473*/                    OPC_RecordMemRef,
/*105474*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*105475*/                    OPC_CheckFoldableChainNode,
/*105476*/                    OPC_CheckChild1Same, 3,
/*105478*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105480*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*105482*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105484*/                    OPC_MoveParent,
/*105485*/                    OPC_MoveParent,
/*105486*/                    OPC_MoveParent,
/*105487*/                    OPC_MoveChild1,
/*105488*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*105491*/                    OPC_MoveChild0,
/*105492*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105495*/                    OPC_RecordMemRef,
/*105496*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*105497*/                    OPC_CheckFoldableChainNode,
/*105498*/                    OPC_MoveChild1,
/*105499*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105502*/                    OPC_CheckType, MVT::i64,
/*105504*/                    OPC_Scope, 34|128,1/*162*/, /*->105669*/ // 2 children in Scope
/*105507*/                      OPC_CheckChild0Same, 3,
/*105509*/                      OPC_CheckChild1Integer, 3, 
/*105511*/                      OPC_MoveParent,
/*105512*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105514*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*105516*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105518*/                      OPC_MoveParent,
/*105519*/                      OPC_MoveChild1,
/*105520*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105523*/                      OPC_RecordMemRef,
/*105524*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*105525*/                      OPC_CheckFoldableChainNode,
/*105526*/                      OPC_MoveChild1,
/*105527*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105530*/                      OPC_CheckChild0Same, 1,
/*105532*/                      OPC_CheckChild1Integer, 3, 
/*105534*/                      OPC_CheckType, MVT::i64,
/*105536*/                      OPC_MoveParent,
/*105537*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105539*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*105541*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105543*/                      OPC_MoveParent,
/*105544*/                      OPC_MoveParent,
/*105545*/                      OPC_CheckType, MVT::i32,
/*105547*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*105549*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*105559*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*105562*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*105569*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*105575*/                      OPC_EmitInteger, MVT::i64, 0, 
/*105578*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*105586*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*105589*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*105597*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*105600*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*105609*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*105615*/                      OPC_EmitInteger, MVT::i64, 0, 
/*105618*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*105626*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*105629*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*105637*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*105640*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*105649*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*105658*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*105661*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*105669*/                    /*Scope*/ 34|128,1/*162*/, /*->105833*/
/*105671*/                      OPC_CheckChild0Same, 1,
/*105673*/                      OPC_CheckChild1Integer, 3, 
/*105675*/                      OPC_MoveParent,
/*105676*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105678*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*105680*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105682*/                      OPC_MoveParent,
/*105683*/                      OPC_MoveChild1,
/*105684*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105687*/                      OPC_RecordMemRef,
/*105688*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*105689*/                      OPC_CheckFoldableChainNode,
/*105690*/                      OPC_MoveChild1,
/*105691*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105694*/                      OPC_CheckChild0Same, 3,
/*105696*/                      OPC_CheckChild1Integer, 3, 
/*105698*/                      OPC_CheckType, MVT::i64,
/*105700*/                      OPC_MoveParent,
/*105701*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105703*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*105705*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105707*/                      OPC_MoveParent,
/*105708*/                      OPC_MoveParent,
/*105709*/                      OPC_CheckType, MVT::i32,
/*105711*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*105713*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*105723*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*105726*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*105733*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*105739*/                      OPC_EmitInteger, MVT::i64, 0, 
/*105742*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*105750*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*105753*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*105761*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*105764*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*105773*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*105779*/                      OPC_EmitInteger, MVT::i64, 0, 
/*105782*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*105790*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*105793*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*105801*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*105804*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*105813*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*105822*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*105825*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*105833*/                    0, /*End of Scope*/
/*105834*/                  0, /*End of Scope*/
/*105835*/                0, /*End of Scope*/
/*105836*/              /*Scope*/ 54|128,6/*822*/, /*->106660*/
/*105838*/                OPC_CheckChild1Same, 1,
/*105840*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105842*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*105844*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105846*/                OPC_MoveParent,
/*105847*/                OPC_MoveChild1,
/*105848*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105851*/                OPC_RecordMemRef,
/*105852*/                OPC_RecordNode, // #5 = 'ld' chained node
/*105853*/                OPC_CheckFoldableChainNode,
/*105854*/                OPC_CheckChild1Same, 3,
/*105856*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105858*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*105860*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105862*/                OPC_MoveParent,
/*105863*/                OPC_MoveParent,
/*105864*/                OPC_MoveParent,
/*105865*/                OPC_MoveChild1,
/*105866*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*105869*/                OPC_MoveChild0,
/*105870*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105873*/                OPC_RecordMemRef,
/*105874*/                OPC_RecordNode, // #6 = 'ld' chained node
/*105875*/                OPC_CheckFoldableChainNode,
/*105876*/                OPC_MoveChild1,
/*105877*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105880*/                OPC_CheckType, MVT::i64,
/*105882*/                OPC_Scope, 2|128,3/*386*/, /*->106271*/ // 2 children in Scope
/*105885*/                  OPC_CheckChild0Same, 1,
/*105887*/                  OPC_CheckChild1Integer, 1, 
/*105889*/                  OPC_MoveParent,
/*105890*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105892*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*105894*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105896*/                  OPC_MoveParent,
/*105897*/                  OPC_MoveChild1,
/*105898*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105901*/                  OPC_RecordMemRef,
/*105902*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*105903*/                  OPC_CheckFoldableChainNode,
/*105904*/                  OPC_MoveChild1,
/*105905*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105908*/                  OPC_CheckChild0Same, 3,
/*105910*/                  OPC_CheckChild1Integer, 1, 
/*105912*/                  OPC_CheckType, MVT::i64,
/*105914*/                  OPC_MoveParent,
/*105915*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105917*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*105919*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105921*/                  OPC_MoveParent,
/*105922*/                  OPC_MoveParent,
/*105923*/                  OPC_MoveParent,
/*105924*/                  OPC_MoveChild1,
/*105925*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*105928*/                  OPC_MoveChild0,
/*105929*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105932*/                  OPC_RecordMemRef,
/*105933*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*105934*/                  OPC_CheckFoldableChainNode,
/*105935*/                  OPC_MoveChild1,
/*105936*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105939*/                  OPC_CheckType, MVT::i64,
/*105941*/                  OPC_Scope, 34|128,1/*162*/, /*->106106*/ // 2 children in Scope
/*105944*/                    OPC_CheckChild0Same, 1,
/*105946*/                    OPC_CheckChild1Integer, 3, 
/*105948*/                    OPC_MoveParent,
/*105949*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105951*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*105953*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105955*/                    OPC_MoveParent,
/*105956*/                    OPC_MoveChild1,
/*105957*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*105960*/                    OPC_RecordMemRef,
/*105961*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*105962*/                    OPC_CheckFoldableChainNode,
/*105963*/                    OPC_MoveChild1,
/*105964*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*105967*/                    OPC_CheckChild0Same, 3,
/*105969*/                    OPC_CheckChild1Integer, 3, 
/*105971*/                    OPC_CheckType, MVT::i64,
/*105973*/                    OPC_MoveParent,
/*105974*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*105976*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*105978*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*105980*/                    OPC_MoveParent,
/*105981*/                    OPC_MoveParent,
/*105982*/                    OPC_CheckType, MVT::i32,
/*105984*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*105986*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*105996*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*105999*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*106006*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*106012*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106015*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*106023*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106026*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*106034*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106037*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*106046*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*106052*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106055*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*106063*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106066*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*106074*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106077*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*106086*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*106095*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*106098*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*106106*/                  /*Scope*/ 34|128,1/*162*/, /*->106270*/
/*106108*/                    OPC_CheckChild0Same, 3,
/*106110*/                    OPC_CheckChild1Integer, 3, 
/*106112*/                    OPC_MoveParent,
/*106113*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106115*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106117*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106119*/                    OPC_MoveParent,
/*106120*/                    OPC_MoveChild1,
/*106121*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106124*/                    OPC_RecordMemRef,
/*106125*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*106126*/                    OPC_CheckFoldableChainNode,
/*106127*/                    OPC_MoveChild1,
/*106128*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106131*/                    OPC_CheckChild0Same, 1,
/*106133*/                    OPC_CheckChild1Integer, 3, 
/*106135*/                    OPC_CheckType, MVT::i64,
/*106137*/                    OPC_MoveParent,
/*106138*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106140*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106142*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106144*/                    OPC_MoveParent,
/*106145*/                    OPC_MoveParent,
/*106146*/                    OPC_CheckType, MVT::i32,
/*106148*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*106150*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*106160*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*106163*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*106170*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*106176*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106179*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*106187*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106190*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*106198*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106201*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*106210*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*106216*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106219*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*106227*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106230*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*106238*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106241*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*106250*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*106259*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*106262*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*106270*/                  0, /*End of Scope*/
/*106271*/                /*Scope*/ 2|128,3/*386*/, /*->106659*/
/*106273*/                  OPC_CheckChild0Same, 3,
/*106275*/                  OPC_CheckChild1Integer, 1, 
/*106277*/                  OPC_MoveParent,
/*106278*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106280*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*106282*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106284*/                  OPC_MoveParent,
/*106285*/                  OPC_MoveChild1,
/*106286*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106289*/                  OPC_RecordMemRef,
/*106290*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*106291*/                  OPC_CheckFoldableChainNode,
/*106292*/                  OPC_MoveChild1,
/*106293*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106296*/                  OPC_CheckChild0Same, 1,
/*106298*/                  OPC_CheckChild1Integer, 1, 
/*106300*/                  OPC_CheckType, MVT::i64,
/*106302*/                  OPC_MoveParent,
/*106303*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106305*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*106307*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106309*/                  OPC_MoveParent,
/*106310*/                  OPC_MoveParent,
/*106311*/                  OPC_MoveParent,
/*106312*/                  OPC_MoveChild1,
/*106313*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*106316*/                  OPC_MoveChild0,
/*106317*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106320*/                  OPC_RecordMemRef,
/*106321*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*106322*/                  OPC_CheckFoldableChainNode,
/*106323*/                  OPC_MoveChild1,
/*106324*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106327*/                  OPC_CheckType, MVT::i64,
/*106329*/                  OPC_Scope, 34|128,1/*162*/, /*->106494*/ // 2 children in Scope
/*106332*/                    OPC_CheckChild0Same, 1,
/*106334*/                    OPC_CheckChild1Integer, 3, 
/*106336*/                    OPC_MoveParent,
/*106337*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106339*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106341*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106343*/                    OPC_MoveParent,
/*106344*/                    OPC_MoveChild1,
/*106345*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106348*/                    OPC_RecordMemRef,
/*106349*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*106350*/                    OPC_CheckFoldableChainNode,
/*106351*/                    OPC_MoveChild1,
/*106352*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106355*/                    OPC_CheckChild0Same, 3,
/*106357*/                    OPC_CheckChild1Integer, 3, 
/*106359*/                    OPC_CheckType, MVT::i64,
/*106361*/                    OPC_MoveParent,
/*106362*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106364*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106366*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106368*/                    OPC_MoveParent,
/*106369*/                    OPC_MoveParent,
/*106370*/                    OPC_CheckType, MVT::i32,
/*106372*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*106374*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*106384*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*106387*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*106394*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*106400*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106403*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*106411*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106414*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*106422*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106425*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*106434*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*106440*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106443*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*106451*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106454*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*106462*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106465*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*106474*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*106483*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*106486*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*106494*/                  /*Scope*/ 34|128,1/*162*/, /*->106658*/
/*106496*/                    OPC_CheckChild0Same, 3,
/*106498*/                    OPC_CheckChild1Integer, 3, 
/*106500*/                    OPC_MoveParent,
/*106501*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106503*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106505*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106507*/                    OPC_MoveParent,
/*106508*/                    OPC_MoveChild1,
/*106509*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106512*/                    OPC_RecordMemRef,
/*106513*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*106514*/                    OPC_CheckFoldableChainNode,
/*106515*/                    OPC_MoveChild1,
/*106516*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106519*/                    OPC_CheckChild0Same, 1,
/*106521*/                    OPC_CheckChild1Integer, 3, 
/*106523*/                    OPC_CheckType, MVT::i64,
/*106525*/                    OPC_MoveParent,
/*106526*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106528*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106530*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106532*/                    OPC_MoveParent,
/*106533*/                    OPC_MoveParent,
/*106534*/                    OPC_CheckType, MVT::i32,
/*106536*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*106538*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*106548*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*106551*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*106558*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*106564*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106567*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*106575*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106578*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*106586*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106589*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*106598*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*106604*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106607*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*106615*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106618*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*106626*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106629*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*106638*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*106647*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*106650*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*106658*/                  0, /*End of Scope*/
/*106659*/                0, /*End of Scope*/
/*106660*/              /*Scope*/ 61|128,11/*1469*/, /*->108131*/
/*106662*/                OPC_CheckChild1Same, 3,
/*106664*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106666*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*106668*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106670*/                OPC_MoveParent,
/*106671*/                OPC_MoveChild1,
/*106672*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106675*/                OPC_RecordMemRef,
/*106676*/                OPC_RecordNode, // #5 = 'ld' chained node
/*106677*/                OPC_CheckFoldableChainNode,
/*106678*/                OPC_CheckChild1Same, 1,
/*106680*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106682*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*106684*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106686*/                OPC_MoveParent,
/*106687*/                OPC_MoveParent,
/*106688*/                OPC_MoveParent,
/*106689*/                OPC_MoveChild1,
/*106690*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*106693*/                OPC_MoveChild0,
/*106694*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106697*/                OPC_RecordMemRef,
/*106698*/                OPC_RecordNode, // #6 = 'ld' chained node
/*106699*/                OPC_CheckFoldableChainNode,
/*106700*/                OPC_MoveChild1,
/*106701*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106704*/                OPC_CheckType, MVT::i64,
/*106706*/                OPC_Scope, 2|128,3/*386*/, /*->107095*/ // 3 children in Scope
/*106709*/                  OPC_CheckChild0Same, 1,
/*106711*/                  OPC_CheckChild1Integer, 1, 
/*106713*/                  OPC_MoveParent,
/*106714*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106716*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*106718*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106720*/                  OPC_MoveParent,
/*106721*/                  OPC_MoveChild1,
/*106722*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106725*/                  OPC_RecordMemRef,
/*106726*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*106727*/                  OPC_CheckFoldableChainNode,
/*106728*/                  OPC_MoveChild1,
/*106729*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106732*/                  OPC_CheckChild0Same, 3,
/*106734*/                  OPC_CheckChild1Integer, 1, 
/*106736*/                  OPC_CheckType, MVT::i64,
/*106738*/                  OPC_MoveParent,
/*106739*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106741*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*106743*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106745*/                  OPC_MoveParent,
/*106746*/                  OPC_MoveParent,
/*106747*/                  OPC_MoveParent,
/*106748*/                  OPC_MoveChild1,
/*106749*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*106752*/                  OPC_MoveChild0,
/*106753*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106756*/                  OPC_RecordMemRef,
/*106757*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*106758*/                  OPC_CheckFoldableChainNode,
/*106759*/                  OPC_MoveChild1,
/*106760*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106763*/                  OPC_CheckType, MVT::i64,
/*106765*/                  OPC_Scope, 34|128,1/*162*/, /*->106930*/ // 2 children in Scope
/*106768*/                    OPC_CheckChild0Same, 1,
/*106770*/                    OPC_CheckChild1Integer, 3, 
/*106772*/                    OPC_MoveParent,
/*106773*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106775*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106777*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106779*/                    OPC_MoveParent,
/*106780*/                    OPC_MoveChild1,
/*106781*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106784*/                    OPC_RecordMemRef,
/*106785*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*106786*/                    OPC_CheckFoldableChainNode,
/*106787*/                    OPC_MoveChild1,
/*106788*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106791*/                    OPC_CheckChild0Same, 3,
/*106793*/                    OPC_CheckChild1Integer, 3, 
/*106795*/                    OPC_CheckType, MVT::i64,
/*106797*/                    OPC_MoveParent,
/*106798*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106800*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106802*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106804*/                    OPC_MoveParent,
/*106805*/                    OPC_MoveParent,
/*106806*/                    OPC_CheckType, MVT::i32,
/*106808*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*106810*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*106820*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*106823*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*106830*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*106836*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106839*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*106847*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106850*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*106858*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106861*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*106870*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*106876*/                    OPC_EmitInteger, MVT::i64, 0, 
/*106879*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*106887*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*106890*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*106898*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*106901*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*106910*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*106919*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*106922*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*106930*/                  /*Scope*/ 34|128,1/*162*/, /*->107094*/
/*106932*/                    OPC_CheckChild0Same, 3,
/*106934*/                    OPC_CheckChild1Integer, 3, 
/*106936*/                    OPC_MoveParent,
/*106937*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106939*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106941*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106943*/                    OPC_MoveParent,
/*106944*/                    OPC_MoveChild1,
/*106945*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*106948*/                    OPC_RecordMemRef,
/*106949*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*106950*/                    OPC_CheckFoldableChainNode,
/*106951*/                    OPC_MoveChild1,
/*106952*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*106955*/                    OPC_CheckChild0Same, 1,
/*106957*/                    OPC_CheckChild1Integer, 3, 
/*106959*/                    OPC_CheckType, MVT::i64,
/*106961*/                    OPC_MoveParent,
/*106962*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*106964*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*106966*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*106968*/                    OPC_MoveParent,
/*106969*/                    OPC_MoveParent,
/*106970*/                    OPC_CheckType, MVT::i32,
/*106972*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*106974*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*106984*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*106987*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*106994*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*107000*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107003*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*107011*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107014*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*107022*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107025*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*107034*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*107040*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107043*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*107051*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107054*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*107062*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107065*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*107074*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*107083*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*107086*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*107094*/                  0, /*End of Scope*/
/*107095*/                /*Scope*/ 5|128,5/*645*/, /*->107742*/
/*107097*/                  OPC_CheckChild0Same, 3,
/*107099*/                  OPC_CheckChild1Integer, 1, 
/*107101*/                  OPC_MoveParent,
/*107102*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107104*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*107106*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107108*/                  OPC_MoveParent,
/*107109*/                  OPC_MoveChild1,
/*107110*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107113*/                  OPC_RecordMemRef,
/*107114*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*107115*/                  OPC_CheckFoldableChainNode,
/*107116*/                  OPC_MoveChild1,
/*107117*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107120*/                  OPC_CheckChild0Same, 1,
/*107122*/                  OPC_CheckChild1Integer, 1, 
/*107124*/                  OPC_CheckType, MVT::i64,
/*107126*/                  OPC_MoveParent,
/*107127*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107129*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*107131*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107133*/                  OPC_MoveParent,
/*107134*/                  OPC_MoveParent,
/*107135*/                  OPC_MoveParent,
/*107136*/                  OPC_MoveChild1,
/*107137*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*107140*/                  OPC_MoveChild0,
/*107141*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107144*/                  OPC_RecordMemRef,
/*107145*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*107146*/                  OPC_CheckFoldableChainNode,
/*107147*/                  OPC_MoveChild1,
/*107148*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107151*/                  OPC_CheckType, MVT::i64,
/*107153*/                  OPC_Scope, 34|128,1/*162*/, /*->107318*/ // 3 children in Scope
/*107156*/                    OPC_CheckChild0Same, 1,
/*107158*/                    OPC_CheckChild1Integer, 3, 
/*107160*/                    OPC_MoveParent,
/*107161*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107163*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107165*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107167*/                    OPC_MoveParent,
/*107168*/                    OPC_MoveChild1,
/*107169*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107172*/                    OPC_RecordMemRef,
/*107173*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*107174*/                    OPC_CheckFoldableChainNode,
/*107175*/                    OPC_MoveChild1,
/*107176*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107179*/                    OPC_CheckChild0Same, 3,
/*107181*/                    OPC_CheckChild1Integer, 3, 
/*107183*/                    OPC_CheckType, MVT::i64,
/*107185*/                    OPC_MoveParent,
/*107186*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107188*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107190*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107192*/                    OPC_MoveParent,
/*107193*/                    OPC_MoveParent,
/*107194*/                    OPC_CheckType, MVT::i32,
/*107196*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*107198*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*107208*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*107211*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*107218*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*107224*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107227*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*107235*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107238*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*107246*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107249*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*107258*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*107264*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107267*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*107275*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107278*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*107286*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107289*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*107298*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*107307*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*107310*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*107318*/                  /*Scope*/ 1|128,2/*257*/, /*->107577*/
/*107320*/                    OPC_CheckChild0Same, 3,
/*107322*/                    OPC_CheckChild1Integer, 3, 
/*107324*/                    OPC_MoveParent,
/*107325*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107327*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107329*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107331*/                    OPC_MoveParent,
/*107332*/                    OPC_MoveChild1,
/*107333*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107336*/                    OPC_RecordMemRef,
/*107337*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*107338*/                    OPC_CheckFoldableChainNode,
/*107339*/                    OPC_MoveChild1,
/*107340*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107343*/                    OPC_CheckChild0Same, 1,
/*107345*/                    OPC_CheckChild1Integer, 3, 
/*107347*/                    OPC_CheckType, MVT::i64,
/*107349*/                    OPC_MoveParent,
/*107350*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107352*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107354*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107356*/                    OPC_MoveParent,
/*107357*/                    OPC_MoveParent,
/*107358*/                    OPC_CheckType, MVT::i32,
/*107360*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*107362*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*107372*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*107375*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*107382*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*107388*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107391*/                    OPC_Scope, 91, /*->107484*/ // 2 children in Scope
/*107393*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*107401*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107404*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*107412*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107415*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*107424*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*107430*/                      OPC_EmitInteger, MVT::i64, 0, 
/*107433*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*107441*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107444*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*107452*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107455*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*107464*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*107473*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*107476*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*107484*/                    /*Scope*/ 91, /*->107576*/
/*107485*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*107493*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107496*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*107504*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107507*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*107516*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*107522*/                      OPC_EmitInteger, MVT::i64, 0, 
/*107525*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*107533*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107536*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*107544*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107547*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*107556*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*107565*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*107568*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*107576*/                    0, /*End of Scope*/
/*107577*/                  /*Scope*/ 34|128,1/*162*/, /*->107741*/
/*107579*/                    OPC_CheckChild0Same, 1,
/*107581*/                    OPC_CheckChild1Integer, 3, 
/*107583*/                    OPC_MoveParent,
/*107584*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107586*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107588*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107590*/                    OPC_MoveParent,
/*107591*/                    OPC_MoveChild1,
/*107592*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107595*/                    OPC_RecordMemRef,
/*107596*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*107597*/                    OPC_CheckFoldableChainNode,
/*107598*/                    OPC_MoveChild1,
/*107599*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107602*/                    OPC_CheckChild0Same, 3,
/*107604*/                    OPC_CheckChild1Integer, 3, 
/*107606*/                    OPC_CheckType, MVT::i64,
/*107608*/                    OPC_MoveParent,
/*107609*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107611*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107613*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107615*/                    OPC_MoveParent,
/*107616*/                    OPC_MoveParent,
/*107617*/                    OPC_CheckType, MVT::i32,
/*107619*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*107621*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*107631*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*107634*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*107641*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*107647*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107650*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*107658*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107661*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*107669*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107672*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*107681*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*107687*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107690*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*107698*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107701*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*107709*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107712*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*107721*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*107730*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*107733*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*107741*/                  0, /*End of Scope*/
/*107742*/                /*Scope*/ 2|128,3/*386*/, /*->108130*/
/*107744*/                  OPC_CheckChild0Same, 1,
/*107746*/                  OPC_CheckChild1Integer, 1, 
/*107748*/                  OPC_MoveParent,
/*107749*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107751*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*107753*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107755*/                  OPC_MoveParent,
/*107756*/                  OPC_MoveChild1,
/*107757*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107760*/                  OPC_RecordMemRef,
/*107761*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*107762*/                  OPC_CheckFoldableChainNode,
/*107763*/                  OPC_MoveChild1,
/*107764*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107767*/                  OPC_CheckChild0Same, 3,
/*107769*/                  OPC_CheckChild1Integer, 1, 
/*107771*/                  OPC_CheckType, MVT::i64,
/*107773*/                  OPC_MoveParent,
/*107774*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107776*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*107778*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107780*/                  OPC_MoveParent,
/*107781*/                  OPC_MoveParent,
/*107782*/                  OPC_MoveParent,
/*107783*/                  OPC_MoveChild1,
/*107784*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*107787*/                  OPC_MoveChild0,
/*107788*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107791*/                  OPC_RecordMemRef,
/*107792*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*107793*/                  OPC_CheckFoldableChainNode,
/*107794*/                  OPC_MoveChild1,
/*107795*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107798*/                  OPC_CheckType, MVT::i64,
/*107800*/                  OPC_Scope, 34|128,1/*162*/, /*->107965*/ // 2 children in Scope
/*107803*/                    OPC_CheckChild0Same, 3,
/*107805*/                    OPC_CheckChild1Integer, 3, 
/*107807*/                    OPC_MoveParent,
/*107808*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107810*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107812*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107814*/                    OPC_MoveParent,
/*107815*/                    OPC_MoveChild1,
/*107816*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107819*/                    OPC_RecordMemRef,
/*107820*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*107821*/                    OPC_CheckFoldableChainNode,
/*107822*/                    OPC_MoveChild1,
/*107823*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107826*/                    OPC_CheckChild0Same, 1,
/*107828*/                    OPC_CheckChild1Integer, 3, 
/*107830*/                    OPC_CheckType, MVT::i64,
/*107832*/                    OPC_MoveParent,
/*107833*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107835*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107837*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107839*/                    OPC_MoveParent,
/*107840*/                    OPC_MoveParent,
/*107841*/                    OPC_CheckType, MVT::i32,
/*107843*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*107845*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*107855*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*107858*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*107865*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*107871*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107874*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*107882*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107885*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*107893*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107896*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*107905*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*107911*/                    OPC_EmitInteger, MVT::i64, 0, 
/*107914*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*107922*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*107925*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*107933*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*107936*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*107945*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*107954*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*107957*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*107965*/                  /*Scope*/ 34|128,1/*162*/, /*->108129*/
/*107967*/                    OPC_CheckChild0Same, 1,
/*107969*/                    OPC_CheckChild1Integer, 3, 
/*107971*/                    OPC_MoveParent,
/*107972*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107974*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*107976*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*107978*/                    OPC_MoveParent,
/*107979*/                    OPC_MoveChild1,
/*107980*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*107983*/                    OPC_RecordMemRef,
/*107984*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*107985*/                    OPC_CheckFoldableChainNode,
/*107986*/                    OPC_MoveChild1,
/*107987*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*107990*/                    OPC_CheckChild0Same, 3,
/*107992*/                    OPC_CheckChild1Integer, 3, 
/*107994*/                    OPC_CheckType, MVT::i64,
/*107996*/                    OPC_MoveParent,
/*107997*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*107999*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108001*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108003*/                    OPC_MoveParent,
/*108004*/                    OPC_MoveParent,
/*108005*/                    OPC_CheckType, MVT::i32,
/*108007*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*108009*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*108019*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*108022*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*108029*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*108035*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108038*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*108046*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108049*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*108057*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108060*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*108069*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*108075*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108078*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*108086*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108089*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*108097*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108100*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*108109*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*108118*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*108121*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*108129*/                  0, /*End of Scope*/
/*108130*/                0, /*End of Scope*/
/*108131*/              /*Scope*/ 54|128,6/*822*/, /*->108955*/
/*108133*/                OPC_CheckChild1Same, 1,
/*108135*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108137*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*108139*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108141*/                OPC_MoveParent,
/*108142*/                OPC_MoveChild1,
/*108143*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108146*/                OPC_RecordMemRef,
/*108147*/                OPC_RecordNode, // #5 = 'ld' chained node
/*108148*/                OPC_CheckFoldableChainNode,
/*108149*/                OPC_CheckChild1Same, 3,
/*108151*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108153*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*108155*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108157*/                OPC_MoveParent,
/*108158*/                OPC_MoveParent,
/*108159*/                OPC_MoveParent,
/*108160*/                OPC_MoveChild1,
/*108161*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*108164*/                OPC_MoveChild0,
/*108165*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108168*/                OPC_RecordMemRef,
/*108169*/                OPC_RecordNode, // #6 = 'ld' chained node
/*108170*/                OPC_CheckFoldableChainNode,
/*108171*/                OPC_MoveChild1,
/*108172*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108175*/                OPC_CheckType, MVT::i64,
/*108177*/                OPC_Scope, 2|128,3/*386*/, /*->108566*/ // 2 children in Scope
/*108180*/                  OPC_CheckChild0Same, 3,
/*108182*/                  OPC_CheckChild1Integer, 1, 
/*108184*/                  OPC_MoveParent,
/*108185*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108187*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*108189*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108191*/                  OPC_MoveParent,
/*108192*/                  OPC_MoveChild1,
/*108193*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108196*/                  OPC_RecordMemRef,
/*108197*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*108198*/                  OPC_CheckFoldableChainNode,
/*108199*/                  OPC_MoveChild1,
/*108200*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108203*/                  OPC_CheckChild0Same, 1,
/*108205*/                  OPC_CheckChild1Integer, 1, 
/*108207*/                  OPC_CheckType, MVT::i64,
/*108209*/                  OPC_MoveParent,
/*108210*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108212*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*108214*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108216*/                  OPC_MoveParent,
/*108217*/                  OPC_MoveParent,
/*108218*/                  OPC_MoveParent,
/*108219*/                  OPC_MoveChild1,
/*108220*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*108223*/                  OPC_MoveChild0,
/*108224*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108227*/                  OPC_RecordMemRef,
/*108228*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*108229*/                  OPC_CheckFoldableChainNode,
/*108230*/                  OPC_MoveChild1,
/*108231*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108234*/                  OPC_CheckType, MVT::i64,
/*108236*/                  OPC_Scope, 34|128,1/*162*/, /*->108401*/ // 2 children in Scope
/*108239*/                    OPC_CheckChild0Same, 3,
/*108241*/                    OPC_CheckChild1Integer, 3, 
/*108243*/                    OPC_MoveParent,
/*108244*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108246*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108248*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108250*/                    OPC_MoveParent,
/*108251*/                    OPC_MoveChild1,
/*108252*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108255*/                    OPC_RecordMemRef,
/*108256*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*108257*/                    OPC_CheckFoldableChainNode,
/*108258*/                    OPC_MoveChild1,
/*108259*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108262*/                    OPC_CheckChild0Same, 1,
/*108264*/                    OPC_CheckChild1Integer, 3, 
/*108266*/                    OPC_CheckType, MVT::i64,
/*108268*/                    OPC_MoveParent,
/*108269*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108271*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108273*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108275*/                    OPC_MoveParent,
/*108276*/                    OPC_MoveParent,
/*108277*/                    OPC_CheckType, MVT::i32,
/*108279*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*108281*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*108291*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*108294*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*108301*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*108307*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108310*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*108318*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108321*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*108329*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108332*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*108341*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*108347*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108350*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*108358*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108361*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*108369*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108372*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*108381*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*108390*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*108393*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*108401*/                  /*Scope*/ 34|128,1/*162*/, /*->108565*/
/*108403*/                    OPC_CheckChild0Same, 1,
/*108405*/                    OPC_CheckChild1Integer, 3, 
/*108407*/                    OPC_MoveParent,
/*108408*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108410*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108412*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108414*/                    OPC_MoveParent,
/*108415*/                    OPC_MoveChild1,
/*108416*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108419*/                    OPC_RecordMemRef,
/*108420*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*108421*/                    OPC_CheckFoldableChainNode,
/*108422*/                    OPC_MoveChild1,
/*108423*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108426*/                    OPC_CheckChild0Same, 3,
/*108428*/                    OPC_CheckChild1Integer, 3, 
/*108430*/                    OPC_CheckType, MVT::i64,
/*108432*/                    OPC_MoveParent,
/*108433*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108435*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108437*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108439*/                    OPC_MoveParent,
/*108440*/                    OPC_MoveParent,
/*108441*/                    OPC_CheckType, MVT::i32,
/*108443*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*108445*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*108455*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*108458*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*108465*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*108471*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108474*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*108482*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108485*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*108493*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108496*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*108505*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*108511*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108514*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*108522*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108525*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*108533*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108536*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*108545*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*108554*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*108557*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*108565*/                  0, /*End of Scope*/
/*108566*/                /*Scope*/ 2|128,3/*386*/, /*->108954*/
/*108568*/                  OPC_CheckChild0Same, 1,
/*108570*/                  OPC_CheckChild1Integer, 1, 
/*108572*/                  OPC_MoveParent,
/*108573*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108575*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*108577*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108579*/                  OPC_MoveParent,
/*108580*/                  OPC_MoveChild1,
/*108581*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108584*/                  OPC_RecordMemRef,
/*108585*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*108586*/                  OPC_CheckFoldableChainNode,
/*108587*/                  OPC_MoveChild1,
/*108588*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108591*/                  OPC_CheckChild0Same, 3,
/*108593*/                  OPC_CheckChild1Integer, 1, 
/*108595*/                  OPC_CheckType, MVT::i64,
/*108597*/                  OPC_MoveParent,
/*108598*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108600*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*108602*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108604*/                  OPC_MoveParent,
/*108605*/                  OPC_MoveParent,
/*108606*/                  OPC_MoveParent,
/*108607*/                  OPC_MoveChild1,
/*108608*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*108611*/                  OPC_MoveChild0,
/*108612*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108615*/                  OPC_RecordMemRef,
/*108616*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*108617*/                  OPC_CheckFoldableChainNode,
/*108618*/                  OPC_MoveChild1,
/*108619*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108622*/                  OPC_CheckType, MVT::i64,
/*108624*/                  OPC_Scope, 34|128,1/*162*/, /*->108789*/ // 2 children in Scope
/*108627*/                    OPC_CheckChild0Same, 3,
/*108629*/                    OPC_CheckChild1Integer, 3, 
/*108631*/                    OPC_MoveParent,
/*108632*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108634*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108636*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108638*/                    OPC_MoveParent,
/*108639*/                    OPC_MoveChild1,
/*108640*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108643*/                    OPC_RecordMemRef,
/*108644*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*108645*/                    OPC_CheckFoldableChainNode,
/*108646*/                    OPC_MoveChild1,
/*108647*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108650*/                    OPC_CheckChild0Same, 1,
/*108652*/                    OPC_CheckChild1Integer, 3, 
/*108654*/                    OPC_CheckType, MVT::i64,
/*108656*/                    OPC_MoveParent,
/*108657*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108659*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108661*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108663*/                    OPC_MoveParent,
/*108664*/                    OPC_MoveParent,
/*108665*/                    OPC_CheckType, MVT::i32,
/*108667*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*108669*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*108679*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*108682*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*108689*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*108695*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108698*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*108706*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108709*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*108717*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108720*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*108729*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*108735*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108738*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*108746*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108749*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*108757*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108760*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*108769*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*108778*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*108781*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*108789*/                  /*Scope*/ 34|128,1/*162*/, /*->108953*/
/*108791*/                    OPC_CheckChild0Same, 1,
/*108793*/                    OPC_CheckChild1Integer, 3, 
/*108795*/                    OPC_MoveParent,
/*108796*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108798*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108800*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108802*/                    OPC_MoveParent,
/*108803*/                    OPC_MoveChild1,
/*108804*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108807*/                    OPC_RecordMemRef,
/*108808*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*108809*/                    OPC_CheckFoldableChainNode,
/*108810*/                    OPC_MoveChild1,
/*108811*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108814*/                    OPC_CheckChild0Same, 3,
/*108816*/                    OPC_CheckChild1Integer, 3, 
/*108818*/                    OPC_CheckType, MVT::i64,
/*108820*/                    OPC_MoveParent,
/*108821*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108823*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*108825*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108827*/                    OPC_MoveParent,
/*108828*/                    OPC_MoveParent,
/*108829*/                    OPC_CheckType, MVT::i32,
/*108831*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*108833*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*108843*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*108846*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*108853*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*108859*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108862*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*108870*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108873*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*108881*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108884*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*108893*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*108899*/                    OPC_EmitInteger, MVT::i64, 0, 
/*108902*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*108910*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*108913*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*108921*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*108924*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*108933*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*108942*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*108945*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*108953*/                  0, /*End of Scope*/
/*108954*/                0, /*End of Scope*/
/*108955*/              0, /*End of Scope*/
/*108956*/            /*Scope*/ 35|128,24/*3107*/, /*->112065*/
/*108958*/              OPC_CheckChild1Integer, 1, 
/*108960*/              OPC_MoveParent,
/*108961*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108963*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*108965*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108967*/              OPC_MoveParent,
/*108968*/              OPC_MoveChild1,
/*108969*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*108972*/              OPC_RecordMemRef,
/*108973*/              OPC_RecordNode, // #2 = 'ld' chained node
/*108974*/              OPC_CheckFoldableChainNode,
/*108975*/              OPC_MoveChild1,
/*108976*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*108979*/              OPC_RecordChild0, // #3 = $Rm
/*108980*/              OPC_CheckChild1Integer, 1, 
/*108982*/              OPC_CheckType, MVT::i64,
/*108984*/              OPC_MoveParent,
/*108985*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*108987*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*108989*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*108991*/              OPC_MoveParent,
/*108992*/              OPC_MoveParent,
/*108993*/              OPC_MoveChild1,
/*108994*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*108997*/              OPC_MoveChild0,
/*108998*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109001*/              OPC_RecordMemRef,
/*109002*/              OPC_RecordNode, // #4 = 'ld' chained node
/*109003*/              OPC_CheckFoldableChainNode,
/*109004*/              OPC_MoveChild1,
/*109005*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109008*/              OPC_CheckType, MVT::i64,
/*109010*/              OPC_Scope, 36|128,6/*804*/, /*->109817*/ // 3 children in Scope
/*109013*/                OPC_CheckChild0Same, 1,
/*109015*/                OPC_CheckChild1Integer, 2, 
/*109017*/                OPC_MoveParent,
/*109018*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109020*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*109022*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109024*/                OPC_MoveParent,
/*109025*/                OPC_MoveChild1,
/*109026*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109029*/                OPC_RecordMemRef,
/*109030*/                OPC_RecordNode, // #5 = 'ld' chained node
/*109031*/                OPC_CheckFoldableChainNode,
/*109032*/                OPC_MoveChild1,
/*109033*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109036*/                OPC_CheckChild0Same, 3,
/*109038*/                OPC_CheckChild1Integer, 2, 
/*109040*/                OPC_CheckType, MVT::i64,
/*109042*/                OPC_MoveParent,
/*109043*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109045*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*109047*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109049*/                OPC_MoveParent,
/*109050*/                OPC_MoveParent,
/*109051*/                OPC_MoveParent,
/*109052*/                OPC_MoveChild1,
/*109053*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*109056*/                OPC_MoveChild0,
/*109057*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109060*/                OPC_RecordMemRef,
/*109061*/                OPC_RecordNode, // #6 = 'ld' chained node
/*109062*/                OPC_CheckFoldableChainNode,
/*109063*/                OPC_Scope, 118|128,2/*374*/, /*->109440*/ // 2 children in Scope
/*109066*/                  OPC_CheckChild1Same, 1,
/*109068*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109070*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*109072*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109074*/                  OPC_MoveParent,
/*109075*/                  OPC_MoveChild1,
/*109076*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109079*/                  OPC_RecordMemRef,
/*109080*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*109081*/                  OPC_CheckFoldableChainNode,
/*109082*/                  OPC_CheckChild1Same, 3,
/*109084*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109086*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*109088*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109090*/                  OPC_MoveParent,
/*109091*/                  OPC_MoveParent,
/*109092*/                  OPC_MoveParent,
/*109093*/                  OPC_MoveChild1,
/*109094*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*109097*/                  OPC_MoveChild0,
/*109098*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109101*/                  OPC_RecordMemRef,
/*109102*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*109103*/                  OPC_CheckFoldableChainNode,
/*109104*/                  OPC_MoveChild1,
/*109105*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109108*/                  OPC_CheckType, MVT::i64,
/*109110*/                  OPC_Scope, 34|128,1/*162*/, /*->109275*/ // 2 children in Scope
/*109113*/                    OPC_CheckChild0Same, 1,
/*109115*/                    OPC_CheckChild1Integer, 3, 
/*109117*/                    OPC_MoveParent,
/*109118*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109120*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109122*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109124*/                    OPC_MoveParent,
/*109125*/                    OPC_MoveChild1,
/*109126*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109129*/                    OPC_RecordMemRef,
/*109130*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*109131*/                    OPC_CheckFoldableChainNode,
/*109132*/                    OPC_MoveChild1,
/*109133*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109136*/                    OPC_CheckChild0Same, 3,
/*109138*/                    OPC_CheckChild1Integer, 3, 
/*109140*/                    OPC_CheckType, MVT::i64,
/*109142*/                    OPC_MoveParent,
/*109143*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109145*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109147*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109149*/                    OPC_MoveParent,
/*109150*/                    OPC_MoveParent,
/*109151*/                    OPC_CheckType, MVT::i32,
/*109153*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*109155*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*109165*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*109168*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*109175*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*109181*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109184*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*109192*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*109195*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*109203*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*109206*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*109215*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*109221*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109224*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*109232*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*109235*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*109243*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*109246*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*109255*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*109264*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*109267*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*109275*/                  /*Scope*/ 34|128,1/*162*/, /*->109439*/
/*109277*/                    OPC_CheckChild0Same, 3,
/*109279*/                    OPC_CheckChild1Integer, 3, 
/*109281*/                    OPC_MoveParent,
/*109282*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109284*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109286*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109288*/                    OPC_MoveParent,
/*109289*/                    OPC_MoveChild1,
/*109290*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109293*/                    OPC_RecordMemRef,
/*109294*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*109295*/                    OPC_CheckFoldableChainNode,
/*109296*/                    OPC_MoveChild1,
/*109297*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109300*/                    OPC_CheckChild0Same, 1,
/*109302*/                    OPC_CheckChild1Integer, 3, 
/*109304*/                    OPC_CheckType, MVT::i64,
/*109306*/                    OPC_MoveParent,
/*109307*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109309*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109311*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109313*/                    OPC_MoveParent,
/*109314*/                    OPC_MoveParent,
/*109315*/                    OPC_CheckType, MVT::i32,
/*109317*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*109319*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*109329*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*109332*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*109339*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*109345*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109348*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*109356*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*109359*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*109367*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*109370*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*109379*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*109385*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109388*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*109396*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*109399*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*109407*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*109410*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*109419*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*109428*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*109431*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*109439*/                  0, /*End of Scope*/
/*109440*/                /*Scope*/ 118|128,2/*374*/, /*->109816*/
/*109442*/                  OPC_CheckChild1Same, 3,
/*109444*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109446*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*109448*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109450*/                  OPC_MoveParent,
/*109451*/                  OPC_MoveChild1,
/*109452*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109455*/                  OPC_RecordMemRef,
/*109456*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*109457*/                  OPC_CheckFoldableChainNode,
/*109458*/                  OPC_CheckChild1Same, 1,
/*109460*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109462*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*109464*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109466*/                  OPC_MoveParent,
/*109467*/                  OPC_MoveParent,
/*109468*/                  OPC_MoveParent,
/*109469*/                  OPC_MoveChild1,
/*109470*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*109473*/                  OPC_MoveChild0,
/*109474*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109477*/                  OPC_RecordMemRef,
/*109478*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*109479*/                  OPC_CheckFoldableChainNode,
/*109480*/                  OPC_MoveChild1,
/*109481*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109484*/                  OPC_CheckType, MVT::i64,
/*109486*/                  OPC_Scope, 34|128,1/*162*/, /*->109651*/ // 2 children in Scope
/*109489*/                    OPC_CheckChild0Same, 1,
/*109491*/                    OPC_CheckChild1Integer, 3, 
/*109493*/                    OPC_MoveParent,
/*109494*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109496*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109498*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109500*/                    OPC_MoveParent,
/*109501*/                    OPC_MoveChild1,
/*109502*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109505*/                    OPC_RecordMemRef,
/*109506*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*109507*/                    OPC_CheckFoldableChainNode,
/*109508*/                    OPC_MoveChild1,
/*109509*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109512*/                    OPC_CheckChild0Same, 3,
/*109514*/                    OPC_CheckChild1Integer, 3, 
/*109516*/                    OPC_CheckType, MVT::i64,
/*109518*/                    OPC_MoveParent,
/*109519*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109521*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109523*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109525*/                    OPC_MoveParent,
/*109526*/                    OPC_MoveParent,
/*109527*/                    OPC_CheckType, MVT::i32,
/*109529*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*109531*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*109541*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*109544*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*109551*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*109557*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109560*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*109568*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*109571*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*109579*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*109582*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*109591*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*109597*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109600*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*109608*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*109611*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*109619*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*109622*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*109631*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*109640*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*109643*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*109651*/                  /*Scope*/ 34|128,1/*162*/, /*->109815*/
/*109653*/                    OPC_CheckChild0Same, 3,
/*109655*/                    OPC_CheckChild1Integer, 3, 
/*109657*/                    OPC_MoveParent,
/*109658*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109660*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109662*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109664*/                    OPC_MoveParent,
/*109665*/                    OPC_MoveChild1,
/*109666*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109669*/                    OPC_RecordMemRef,
/*109670*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*109671*/                    OPC_CheckFoldableChainNode,
/*109672*/                    OPC_MoveChild1,
/*109673*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109676*/                    OPC_CheckChild0Same, 1,
/*109678*/                    OPC_CheckChild1Integer, 3, 
/*109680*/                    OPC_CheckType, MVT::i64,
/*109682*/                    OPC_MoveParent,
/*109683*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109685*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109687*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109689*/                    OPC_MoveParent,
/*109690*/                    OPC_MoveParent,
/*109691*/                    OPC_CheckType, MVT::i32,
/*109693*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*109695*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*109705*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*109708*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*109715*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*109721*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109724*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*109732*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*109735*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*109743*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*109746*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*109755*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*109761*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109764*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*109772*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*109775*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*109783*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*109786*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*109795*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*109804*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*109807*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*109815*/                  0, /*End of Scope*/
/*109816*/                0, /*End of Scope*/
/*109817*/              /*Scope*/ 31|128,11/*1439*/, /*->111258*/
/*109819*/                OPC_CheckChild0Same, 3,
/*109821*/                OPC_CheckChild1Integer, 2, 
/*109823*/                OPC_MoveParent,
/*109824*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109826*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*109828*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109830*/                OPC_MoveParent,
/*109831*/                OPC_MoveChild1,
/*109832*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109835*/                OPC_RecordMemRef,
/*109836*/                OPC_RecordNode, // #5 = 'ld' chained node
/*109837*/                OPC_CheckFoldableChainNode,
/*109838*/                OPC_MoveChild1,
/*109839*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109842*/                OPC_CheckChild0Same, 1,
/*109844*/                OPC_CheckChild1Integer, 2, 
/*109846*/                OPC_CheckType, MVT::i64,
/*109848*/                OPC_MoveParent,
/*109849*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109851*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*109853*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109855*/                OPC_MoveParent,
/*109856*/                OPC_MoveParent,
/*109857*/                OPC_MoveParent,
/*109858*/                OPC_MoveChild1,
/*109859*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*109862*/                OPC_MoveChild0,
/*109863*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109866*/                OPC_RecordMemRef,
/*109867*/                OPC_RecordNode, // #6 = 'ld' chained node
/*109868*/                OPC_CheckFoldableChainNode,
/*109869*/                OPC_Scope, 118|128,2/*374*/, /*->110246*/ // 3 children in Scope
/*109872*/                  OPC_CheckChild1Same, 1,
/*109874*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109876*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*109878*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109880*/                  OPC_MoveParent,
/*109881*/                  OPC_MoveChild1,
/*109882*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109885*/                  OPC_RecordMemRef,
/*109886*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*109887*/                  OPC_CheckFoldableChainNode,
/*109888*/                  OPC_CheckChild1Same, 3,
/*109890*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109892*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*109894*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109896*/                  OPC_MoveParent,
/*109897*/                  OPC_MoveParent,
/*109898*/                  OPC_MoveParent,
/*109899*/                  OPC_MoveChild1,
/*109900*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*109903*/                  OPC_MoveChild0,
/*109904*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109907*/                  OPC_RecordMemRef,
/*109908*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*109909*/                  OPC_CheckFoldableChainNode,
/*109910*/                  OPC_MoveChild1,
/*109911*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109914*/                  OPC_CheckType, MVT::i64,
/*109916*/                  OPC_Scope, 34|128,1/*162*/, /*->110081*/ // 2 children in Scope
/*109919*/                    OPC_CheckChild0Same, 1,
/*109921*/                    OPC_CheckChild1Integer, 3, 
/*109923*/                    OPC_MoveParent,
/*109924*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109926*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109928*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109930*/                    OPC_MoveParent,
/*109931*/                    OPC_MoveChild1,
/*109932*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*109935*/                    OPC_RecordMemRef,
/*109936*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*109937*/                    OPC_CheckFoldableChainNode,
/*109938*/                    OPC_MoveChild1,
/*109939*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*109942*/                    OPC_CheckChild0Same, 3,
/*109944*/                    OPC_CheckChild1Integer, 3, 
/*109946*/                    OPC_CheckType, MVT::i64,
/*109948*/                    OPC_MoveParent,
/*109949*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*109951*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*109953*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*109955*/                    OPC_MoveParent,
/*109956*/                    OPC_MoveParent,
/*109957*/                    OPC_CheckType, MVT::i32,
/*109959*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*109961*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*109971*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*109974*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*109981*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*109987*/                    OPC_EmitInteger, MVT::i64, 0, 
/*109990*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*109998*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110001*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*110009*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110012*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*110021*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*110027*/                    OPC_EmitInteger, MVT::i64, 0, 
/*110030*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*110038*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110041*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*110049*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110052*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*110061*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*110070*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*110073*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*110081*/                  /*Scope*/ 34|128,1/*162*/, /*->110245*/
/*110083*/                    OPC_CheckChild0Same, 3,
/*110085*/                    OPC_CheckChild1Integer, 3, 
/*110087*/                    OPC_MoveParent,
/*110088*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110090*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110092*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110094*/                    OPC_MoveParent,
/*110095*/                    OPC_MoveChild1,
/*110096*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110099*/                    OPC_RecordMemRef,
/*110100*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*110101*/                    OPC_CheckFoldableChainNode,
/*110102*/                    OPC_MoveChild1,
/*110103*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*110106*/                    OPC_CheckChild0Same, 1,
/*110108*/                    OPC_CheckChild1Integer, 3, 
/*110110*/                    OPC_CheckType, MVT::i64,
/*110112*/                    OPC_MoveParent,
/*110113*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110115*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110117*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110119*/                    OPC_MoveParent,
/*110120*/                    OPC_MoveParent,
/*110121*/                    OPC_CheckType, MVT::i32,
/*110123*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*110125*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*110135*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*110138*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*110145*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*110151*/                    OPC_EmitInteger, MVT::i64, 0, 
/*110154*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*110162*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110165*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*110173*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110176*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*110185*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*110191*/                    OPC_EmitInteger, MVT::i64, 0, 
/*110194*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*110202*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110205*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*110213*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110216*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*110225*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*110234*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*110237*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*110245*/                  0, /*End of Scope*/
/*110246*/                /*Scope*/ 121|128,4/*633*/, /*->110881*/
/*110248*/                  OPC_CheckChild1Same, 3,
/*110250*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110252*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*110254*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110256*/                  OPC_MoveParent,
/*110257*/                  OPC_MoveChild1,
/*110258*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110261*/                  OPC_RecordMemRef,
/*110262*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*110263*/                  OPC_CheckFoldableChainNode,
/*110264*/                  OPC_CheckChild1Same, 1,
/*110266*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110268*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*110270*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110272*/                  OPC_MoveParent,
/*110273*/                  OPC_MoveParent,
/*110274*/                  OPC_MoveParent,
/*110275*/                  OPC_MoveChild1,
/*110276*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*110279*/                  OPC_MoveChild0,
/*110280*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110283*/                  OPC_RecordMemRef,
/*110284*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*110285*/                  OPC_CheckFoldableChainNode,
/*110286*/                  OPC_MoveChild1,
/*110287*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*110290*/                  OPC_CheckType, MVT::i64,
/*110292*/                  OPC_Scope, 34|128,1/*162*/, /*->110457*/ // 3 children in Scope
/*110295*/                    OPC_CheckChild0Same, 1,
/*110297*/                    OPC_CheckChild1Integer, 3, 
/*110299*/                    OPC_MoveParent,
/*110300*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110302*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110304*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110306*/                    OPC_MoveParent,
/*110307*/                    OPC_MoveChild1,
/*110308*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110311*/                    OPC_RecordMemRef,
/*110312*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*110313*/                    OPC_CheckFoldableChainNode,
/*110314*/                    OPC_MoveChild1,
/*110315*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*110318*/                    OPC_CheckChild0Same, 3,
/*110320*/                    OPC_CheckChild1Integer, 3, 
/*110322*/                    OPC_CheckType, MVT::i64,
/*110324*/                    OPC_MoveParent,
/*110325*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110327*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110329*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110331*/                    OPC_MoveParent,
/*110332*/                    OPC_MoveParent,
/*110333*/                    OPC_CheckType, MVT::i32,
/*110335*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*110337*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*110347*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*110350*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*110357*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*110363*/                    OPC_EmitInteger, MVT::i64, 0, 
/*110366*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*110374*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110377*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*110385*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110388*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*110397*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*110403*/                    OPC_EmitInteger, MVT::i64, 0, 
/*110406*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*110414*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110417*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*110425*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110428*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*110437*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*110446*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*110449*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*110457*/                  /*Scope*/ 1|128,2/*257*/, /*->110716*/
/*110459*/                    OPC_CheckChild0Same, 3,
/*110461*/                    OPC_CheckChild1Integer, 3, 
/*110463*/                    OPC_MoveParent,
/*110464*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110466*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110468*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110470*/                    OPC_MoveParent,
/*110471*/                    OPC_MoveChild1,
/*110472*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110475*/                    OPC_RecordMemRef,
/*110476*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*110477*/                    OPC_CheckFoldableChainNode,
/*110478*/                    OPC_MoveChild1,
/*110479*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*110482*/                    OPC_CheckChild0Same, 1,
/*110484*/                    OPC_CheckChild1Integer, 3, 
/*110486*/                    OPC_CheckType, MVT::i64,
/*110488*/                    OPC_MoveParent,
/*110489*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110491*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110493*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110495*/                    OPC_MoveParent,
/*110496*/                    OPC_MoveParent,
/*110497*/                    OPC_CheckType, MVT::i32,
/*110499*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*110501*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*110511*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*110514*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*110521*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*110527*/                    OPC_EmitInteger, MVT::i64, 0, 
/*110530*/                    OPC_Scope, 91, /*->110623*/ // 2 children in Scope
/*110532*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*110540*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110543*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*110551*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110554*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*110563*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*110569*/                      OPC_EmitInteger, MVT::i64, 0, 
/*110572*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*110580*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110583*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*110591*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110594*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*110603*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*110612*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*110615*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*110623*/                    /*Scope*/ 91, /*->110715*/
/*110624*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*110632*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110635*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*110643*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110646*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*110655*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*110661*/                      OPC_EmitInteger, MVT::i64, 0, 
/*110664*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*110672*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110675*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*110683*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110686*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*110695*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*110704*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*110707*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*110715*/                    0, /*End of Scope*/
/*110716*/                  /*Scope*/ 34|128,1/*162*/, /*->110880*/
/*110718*/                    OPC_CheckChild0Same, 1,
/*110720*/                    OPC_CheckChild1Integer, 3, 
/*110722*/                    OPC_MoveParent,
/*110723*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110725*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110727*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110729*/                    OPC_MoveParent,
/*110730*/                    OPC_MoveChild1,
/*110731*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110734*/                    OPC_RecordMemRef,
/*110735*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*110736*/                    OPC_CheckFoldableChainNode,
/*110737*/                    OPC_MoveChild1,
/*110738*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*110741*/                    OPC_CheckChild0Same, 3,
/*110743*/                    OPC_CheckChild1Integer, 3, 
/*110745*/                    OPC_CheckType, MVT::i64,
/*110747*/                    OPC_MoveParent,
/*110748*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110750*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110752*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110754*/                    OPC_MoveParent,
/*110755*/                    OPC_MoveParent,
/*110756*/                    OPC_CheckType, MVT::i32,
/*110758*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*110760*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*110770*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*110773*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*110780*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*110786*/                    OPC_EmitInteger, MVT::i64, 0, 
/*110789*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*110797*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110800*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*110808*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110811*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*110820*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*110826*/                    OPC_EmitInteger, MVT::i64, 0, 
/*110829*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*110837*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*110840*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*110848*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*110851*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*110860*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*110869*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*110872*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*110880*/                  0, /*End of Scope*/
/*110881*/                /*Scope*/ 118|128,2/*374*/, /*->111257*/
/*110883*/                  OPC_CheckChild1Same, 1,
/*110885*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110887*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*110889*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110891*/                  OPC_MoveParent,
/*110892*/                  OPC_MoveChild1,
/*110893*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110896*/                  OPC_RecordMemRef,
/*110897*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*110898*/                  OPC_CheckFoldableChainNode,
/*110899*/                  OPC_CheckChild1Same, 3,
/*110901*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110903*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*110905*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110907*/                  OPC_MoveParent,
/*110908*/                  OPC_MoveParent,
/*110909*/                  OPC_MoveParent,
/*110910*/                  OPC_MoveChild1,
/*110911*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*110914*/                  OPC_MoveChild0,
/*110915*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110918*/                  OPC_RecordMemRef,
/*110919*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*110920*/                  OPC_CheckFoldableChainNode,
/*110921*/                  OPC_MoveChild1,
/*110922*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*110925*/                  OPC_CheckType, MVT::i64,
/*110927*/                  OPC_Scope, 34|128,1/*162*/, /*->111092*/ // 2 children in Scope
/*110930*/                    OPC_CheckChild0Same, 3,
/*110932*/                    OPC_CheckChild1Integer, 3, 
/*110934*/                    OPC_MoveParent,
/*110935*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110937*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110939*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110941*/                    OPC_MoveParent,
/*110942*/                    OPC_MoveChild1,
/*110943*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*110946*/                    OPC_RecordMemRef,
/*110947*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*110948*/                    OPC_CheckFoldableChainNode,
/*110949*/                    OPC_MoveChild1,
/*110950*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*110953*/                    OPC_CheckChild0Same, 1,
/*110955*/                    OPC_CheckChild1Integer, 3, 
/*110957*/                    OPC_CheckType, MVT::i64,
/*110959*/                    OPC_MoveParent,
/*110960*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*110962*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*110964*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*110966*/                    OPC_MoveParent,
/*110967*/                    OPC_MoveParent,
/*110968*/                    OPC_CheckType, MVT::i32,
/*110970*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*110972*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*110982*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*110985*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*110992*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*110998*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111001*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*111009*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111012*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*111020*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111023*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*111032*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*111038*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111041*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*111049*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111052*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*111060*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111063*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*111072*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*111081*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*111084*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*111092*/                  /*Scope*/ 34|128,1/*162*/, /*->111256*/
/*111094*/                    OPC_CheckChild0Same, 1,
/*111096*/                    OPC_CheckChild1Integer, 3, 
/*111098*/                    OPC_MoveParent,
/*111099*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111101*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111103*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111105*/                    OPC_MoveParent,
/*111106*/                    OPC_MoveChild1,
/*111107*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111110*/                    OPC_RecordMemRef,
/*111111*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*111112*/                    OPC_CheckFoldableChainNode,
/*111113*/                    OPC_MoveChild1,
/*111114*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*111117*/                    OPC_CheckChild0Same, 3,
/*111119*/                    OPC_CheckChild1Integer, 3, 
/*111121*/                    OPC_CheckType, MVT::i64,
/*111123*/                    OPC_MoveParent,
/*111124*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111126*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111128*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111130*/                    OPC_MoveParent,
/*111131*/                    OPC_MoveParent,
/*111132*/                    OPC_CheckType, MVT::i32,
/*111134*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*111136*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*111146*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*111149*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*111156*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*111162*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111165*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*111173*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111176*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*111184*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111187*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*111196*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*111202*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111205*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*111213*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111216*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*111224*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111227*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*111236*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*111245*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*111248*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*111256*/                  0, /*End of Scope*/
/*111257*/                0, /*End of Scope*/
/*111258*/              /*Scope*/ 36|128,6/*804*/, /*->112064*/
/*111260*/                OPC_CheckChild0Same, 1,
/*111262*/                OPC_CheckChild1Integer, 2, 
/*111264*/                OPC_MoveParent,
/*111265*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111267*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*111269*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111271*/                OPC_MoveParent,
/*111272*/                OPC_MoveChild1,
/*111273*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111276*/                OPC_RecordMemRef,
/*111277*/                OPC_RecordNode, // #5 = 'ld' chained node
/*111278*/                OPC_CheckFoldableChainNode,
/*111279*/                OPC_MoveChild1,
/*111280*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*111283*/                OPC_CheckChild0Same, 3,
/*111285*/                OPC_CheckChild1Integer, 2, 
/*111287*/                OPC_CheckType, MVT::i64,
/*111289*/                OPC_MoveParent,
/*111290*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111292*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*111294*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111296*/                OPC_MoveParent,
/*111297*/                OPC_MoveParent,
/*111298*/                OPC_MoveParent,
/*111299*/                OPC_MoveChild1,
/*111300*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*111303*/                OPC_MoveChild0,
/*111304*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111307*/                OPC_RecordMemRef,
/*111308*/                OPC_RecordNode, // #6 = 'ld' chained node
/*111309*/                OPC_CheckFoldableChainNode,
/*111310*/                OPC_Scope, 118|128,2/*374*/, /*->111687*/ // 2 children in Scope
/*111313*/                  OPC_CheckChild1Same, 3,
/*111315*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111317*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*111319*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111321*/                  OPC_MoveParent,
/*111322*/                  OPC_MoveChild1,
/*111323*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111326*/                  OPC_RecordMemRef,
/*111327*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*111328*/                  OPC_CheckFoldableChainNode,
/*111329*/                  OPC_CheckChild1Same, 1,
/*111331*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111333*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*111335*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111337*/                  OPC_MoveParent,
/*111338*/                  OPC_MoveParent,
/*111339*/                  OPC_MoveParent,
/*111340*/                  OPC_MoveChild1,
/*111341*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*111344*/                  OPC_MoveChild0,
/*111345*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111348*/                  OPC_RecordMemRef,
/*111349*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*111350*/                  OPC_CheckFoldableChainNode,
/*111351*/                  OPC_MoveChild1,
/*111352*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*111355*/                  OPC_CheckType, MVT::i64,
/*111357*/                  OPC_Scope, 34|128,1/*162*/, /*->111522*/ // 2 children in Scope
/*111360*/                    OPC_CheckChild0Same, 3,
/*111362*/                    OPC_CheckChild1Integer, 3, 
/*111364*/                    OPC_MoveParent,
/*111365*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111367*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111369*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111371*/                    OPC_MoveParent,
/*111372*/                    OPC_MoveChild1,
/*111373*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111376*/                    OPC_RecordMemRef,
/*111377*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*111378*/                    OPC_CheckFoldableChainNode,
/*111379*/                    OPC_MoveChild1,
/*111380*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*111383*/                    OPC_CheckChild0Same, 1,
/*111385*/                    OPC_CheckChild1Integer, 3, 
/*111387*/                    OPC_CheckType, MVT::i64,
/*111389*/                    OPC_MoveParent,
/*111390*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111392*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111394*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111396*/                    OPC_MoveParent,
/*111397*/                    OPC_MoveParent,
/*111398*/                    OPC_CheckType, MVT::i32,
/*111400*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*111402*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*111412*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*111415*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*111422*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*111428*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111431*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*111439*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111442*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*111450*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111453*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*111462*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*111468*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111471*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*111479*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111482*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*111490*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111493*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*111502*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*111511*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*111514*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*111522*/                  /*Scope*/ 34|128,1/*162*/, /*->111686*/
/*111524*/                    OPC_CheckChild0Same, 1,
/*111526*/                    OPC_CheckChild1Integer, 3, 
/*111528*/                    OPC_MoveParent,
/*111529*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111531*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111533*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111535*/                    OPC_MoveParent,
/*111536*/                    OPC_MoveChild1,
/*111537*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111540*/                    OPC_RecordMemRef,
/*111541*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*111542*/                    OPC_CheckFoldableChainNode,
/*111543*/                    OPC_MoveChild1,
/*111544*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*111547*/                    OPC_CheckChild0Same, 3,
/*111549*/                    OPC_CheckChild1Integer, 3, 
/*111551*/                    OPC_CheckType, MVT::i64,
/*111553*/                    OPC_MoveParent,
/*111554*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111556*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111558*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111560*/                    OPC_MoveParent,
/*111561*/                    OPC_MoveParent,
/*111562*/                    OPC_CheckType, MVT::i32,
/*111564*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*111566*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*111576*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*111579*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*111586*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*111592*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111595*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*111603*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111606*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*111614*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111617*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*111626*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*111632*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111635*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*111643*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111646*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*111654*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111657*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*111666*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*111675*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*111678*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*111686*/                  0, /*End of Scope*/
/*111687*/                /*Scope*/ 118|128,2/*374*/, /*->112063*/
/*111689*/                  OPC_CheckChild1Same, 1,
/*111691*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111693*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*111695*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111697*/                  OPC_MoveParent,
/*111698*/                  OPC_MoveChild1,
/*111699*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111702*/                  OPC_RecordMemRef,
/*111703*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*111704*/                  OPC_CheckFoldableChainNode,
/*111705*/                  OPC_CheckChild1Same, 3,
/*111707*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111709*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*111711*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111713*/                  OPC_MoveParent,
/*111714*/                  OPC_MoveParent,
/*111715*/                  OPC_MoveParent,
/*111716*/                  OPC_MoveChild1,
/*111717*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*111720*/                  OPC_MoveChild0,
/*111721*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111724*/                  OPC_RecordMemRef,
/*111725*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*111726*/                  OPC_CheckFoldableChainNode,
/*111727*/                  OPC_MoveChild1,
/*111728*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*111731*/                  OPC_CheckType, MVT::i64,
/*111733*/                  OPC_Scope, 34|128,1/*162*/, /*->111898*/ // 2 children in Scope
/*111736*/                    OPC_CheckChild0Same, 3,
/*111738*/                    OPC_CheckChild1Integer, 3, 
/*111740*/                    OPC_MoveParent,
/*111741*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111743*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111745*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111747*/                    OPC_MoveParent,
/*111748*/                    OPC_MoveChild1,
/*111749*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111752*/                    OPC_RecordMemRef,
/*111753*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*111754*/                    OPC_CheckFoldableChainNode,
/*111755*/                    OPC_MoveChild1,
/*111756*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*111759*/                    OPC_CheckChild0Same, 1,
/*111761*/                    OPC_CheckChild1Integer, 3, 
/*111763*/                    OPC_CheckType, MVT::i64,
/*111765*/                    OPC_MoveParent,
/*111766*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111768*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111770*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111772*/                    OPC_MoveParent,
/*111773*/                    OPC_MoveParent,
/*111774*/                    OPC_CheckType, MVT::i32,
/*111776*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*111778*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*111788*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*111791*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*111798*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*111804*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111807*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*111815*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111818*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*111826*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111829*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*111838*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*111844*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111847*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*111855*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111858*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*111866*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111869*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*111878*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*111887*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*111890*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*111898*/                  /*Scope*/ 34|128,1/*162*/, /*->112062*/
/*111900*/                    OPC_CheckChild0Same, 1,
/*111902*/                    OPC_CheckChild1Integer, 3, 
/*111904*/                    OPC_MoveParent,
/*111905*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111907*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111909*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111911*/                    OPC_MoveParent,
/*111912*/                    OPC_MoveChild1,
/*111913*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*111916*/                    OPC_RecordMemRef,
/*111917*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*111918*/                    OPC_CheckFoldableChainNode,
/*111919*/                    OPC_MoveChild1,
/*111920*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*111923*/                    OPC_CheckChild0Same, 3,
/*111925*/                    OPC_CheckChild1Integer, 3, 
/*111927*/                    OPC_CheckType, MVT::i64,
/*111929*/                    OPC_MoveParent,
/*111930*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*111932*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*111934*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*111936*/                    OPC_MoveParent,
/*111937*/                    OPC_MoveParent,
/*111938*/                    OPC_CheckType, MVT::i32,
/*111940*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*111942*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*111952*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*111955*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*111962*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*111968*/                    OPC_EmitInteger, MVT::i64, 0, 
/*111971*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*111979*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*111982*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*111990*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*111993*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*112002*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*112008*/                    OPC_EmitInteger, MVT::i64, 0, 
/*112011*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*112019*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112022*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*112030*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112033*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*112042*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*112051*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*112054*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*112062*/                  0, /*End of Scope*/
/*112063*/                0, /*End of Scope*/
/*112064*/              0, /*End of Scope*/
/*112065*/            0, /*End of Scope*/
/*112066*/          /*Scope*/ 2|128,25/*3202*/, /*->115270*/
/*112068*/            OPC_RecordChild1, // #1 = $Rn
/*112069*/            OPC_CheckChild1Type, MVT::i64,
/*112071*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112073*/            OPC_CheckPredicate, 7, // Predicate_zextload
/*112075*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112077*/            OPC_MoveParent,
/*112078*/            OPC_MoveChild1,
/*112079*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112082*/            OPC_RecordMemRef,
/*112083*/            OPC_RecordNode, // #2 = 'ld' chained node
/*112084*/            OPC_CheckFoldableChainNode,
/*112085*/            OPC_RecordChild1, // #3 = $Rm
/*112086*/            OPC_CheckChild1Type, MVT::i64,
/*112088*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112090*/            OPC_CheckPredicate, 7, // Predicate_zextload
/*112092*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112094*/            OPC_MoveParent,
/*112095*/            OPC_MoveParent,
/*112096*/            OPC_MoveChild1,
/*112097*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*112100*/            OPC_MoveChild0,
/*112101*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112104*/            OPC_RecordMemRef,
/*112105*/            OPC_RecordNode, // #4 = 'ld' chained node
/*112106*/            OPC_CheckFoldableChainNode,
/*112107*/            OPC_MoveChild1,
/*112108*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112111*/            OPC_CheckType, MVT::i64,
/*112113*/            OPC_Scope, 66|128,6/*834*/, /*->112950*/ // 3 children in Scope
/*112116*/              OPC_CheckChild0Same, 1,
/*112118*/              OPC_CheckChild1Integer, 2, 
/*112120*/              OPC_MoveParent,
/*112121*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112123*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*112125*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112127*/              OPC_MoveParent,
/*112128*/              OPC_MoveChild1,
/*112129*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112132*/              OPC_RecordMemRef,
/*112133*/              OPC_RecordNode, // #5 = 'ld' chained node
/*112134*/              OPC_CheckFoldableChainNode,
/*112135*/              OPC_MoveChild1,
/*112136*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112139*/              OPC_CheckChild0Same, 3,
/*112141*/              OPC_CheckChild1Integer, 2, 
/*112143*/              OPC_CheckType, MVT::i64,
/*112145*/              OPC_MoveParent,
/*112146*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112148*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*112150*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112152*/              OPC_MoveParent,
/*112153*/              OPC_MoveParent,
/*112154*/              OPC_MoveParent,
/*112155*/              OPC_MoveChild1,
/*112156*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*112159*/              OPC_MoveChild0,
/*112160*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112163*/              OPC_RecordMemRef,
/*112164*/              OPC_RecordNode, // #6 = 'ld' chained node
/*112165*/              OPC_CheckFoldableChainNode,
/*112166*/              OPC_MoveChild1,
/*112167*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112170*/              OPC_CheckType, MVT::i64,
/*112172*/              OPC_Scope, 2|128,3/*386*/, /*->112561*/ // 2 children in Scope
/*112175*/                OPC_CheckChild0Same, 1,
/*112177*/                OPC_CheckChild1Integer, 1, 
/*112179*/                OPC_MoveParent,
/*112180*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112182*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*112184*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112186*/                OPC_MoveParent,
/*112187*/                OPC_MoveChild1,
/*112188*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112191*/                OPC_RecordMemRef,
/*112192*/                OPC_RecordNode, // #7 = 'ld' chained node
/*112193*/                OPC_CheckFoldableChainNode,
/*112194*/                OPC_MoveChild1,
/*112195*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112198*/                OPC_CheckChild0Same, 3,
/*112200*/                OPC_CheckChild1Integer, 1, 
/*112202*/                OPC_CheckType, MVT::i64,
/*112204*/                OPC_MoveParent,
/*112205*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112207*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*112209*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112211*/                OPC_MoveParent,
/*112212*/                OPC_MoveParent,
/*112213*/                OPC_MoveParent,
/*112214*/                OPC_MoveChild1,
/*112215*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*112218*/                OPC_MoveChild0,
/*112219*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112222*/                OPC_RecordMemRef,
/*112223*/                OPC_RecordNode, // #8 = 'ld' chained node
/*112224*/                OPC_CheckFoldableChainNode,
/*112225*/                OPC_MoveChild1,
/*112226*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112229*/                OPC_CheckType, MVT::i64,
/*112231*/                OPC_Scope, 34|128,1/*162*/, /*->112396*/ // 2 children in Scope
/*112234*/                  OPC_CheckChild0Same, 1,
/*112236*/                  OPC_CheckChild1Integer, 3, 
/*112238*/                  OPC_MoveParent,
/*112239*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112241*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*112243*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112245*/                  OPC_MoveParent,
/*112246*/                  OPC_MoveChild1,
/*112247*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112250*/                  OPC_RecordMemRef,
/*112251*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*112252*/                  OPC_CheckFoldableChainNode,
/*112253*/                  OPC_MoveChild1,
/*112254*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112257*/                  OPC_CheckChild0Same, 3,
/*112259*/                  OPC_CheckChild1Integer, 3, 
/*112261*/                  OPC_CheckType, MVT::i64,
/*112263*/                  OPC_MoveParent,
/*112264*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112266*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*112268*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112270*/                  OPC_MoveParent,
/*112271*/                  OPC_MoveParent,
/*112272*/                  OPC_CheckType, MVT::i32,
/*112274*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*112276*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*112286*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*112289*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*112296*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*112302*/                  OPC_EmitInteger, MVT::i64, 0, 
/*112305*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*112313*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112316*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*112324*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112327*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*112336*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*112342*/                  OPC_EmitInteger, MVT::i64, 0, 
/*112345*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*112353*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112356*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*112364*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112367*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*112376*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*112385*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*112388*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*112396*/                /*Scope*/ 34|128,1/*162*/, /*->112560*/
/*112398*/                  OPC_CheckChild0Same, 3,
/*112400*/                  OPC_CheckChild1Integer, 3, 
/*112402*/                  OPC_MoveParent,
/*112403*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112405*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*112407*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112409*/                  OPC_MoveParent,
/*112410*/                  OPC_MoveChild1,
/*112411*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112414*/                  OPC_RecordMemRef,
/*112415*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*112416*/                  OPC_CheckFoldableChainNode,
/*112417*/                  OPC_MoveChild1,
/*112418*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112421*/                  OPC_CheckChild0Same, 1,
/*112423*/                  OPC_CheckChild1Integer, 3, 
/*112425*/                  OPC_CheckType, MVT::i64,
/*112427*/                  OPC_MoveParent,
/*112428*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112430*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*112432*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112434*/                  OPC_MoveParent,
/*112435*/                  OPC_MoveParent,
/*112436*/                  OPC_CheckType, MVT::i32,
/*112438*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*112440*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*112450*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*112453*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*112460*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*112466*/                  OPC_EmitInteger, MVT::i64, 0, 
/*112469*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*112477*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112480*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*112488*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112491*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*112500*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*112506*/                  OPC_EmitInteger, MVT::i64, 0, 
/*112509*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*112517*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112520*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*112528*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112531*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*112540*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*112549*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*112552*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*112560*/                0, /*End of Scope*/
/*112561*/              /*Scope*/ 2|128,3/*386*/, /*->112949*/
/*112563*/                OPC_CheckChild0Same, 3,
/*112565*/                OPC_CheckChild1Integer, 1, 
/*112567*/                OPC_MoveParent,
/*112568*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112570*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*112572*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112574*/                OPC_MoveParent,
/*112575*/                OPC_MoveChild1,
/*112576*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112579*/                OPC_RecordMemRef,
/*112580*/                OPC_RecordNode, // #7 = 'ld' chained node
/*112581*/                OPC_CheckFoldableChainNode,
/*112582*/                OPC_MoveChild1,
/*112583*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112586*/                OPC_CheckChild0Same, 1,
/*112588*/                OPC_CheckChild1Integer, 1, 
/*112590*/                OPC_CheckType, MVT::i64,
/*112592*/                OPC_MoveParent,
/*112593*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112595*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*112597*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112599*/                OPC_MoveParent,
/*112600*/                OPC_MoveParent,
/*112601*/                OPC_MoveParent,
/*112602*/                OPC_MoveChild1,
/*112603*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*112606*/                OPC_MoveChild0,
/*112607*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112610*/                OPC_RecordMemRef,
/*112611*/                OPC_RecordNode, // #8 = 'ld' chained node
/*112612*/                OPC_CheckFoldableChainNode,
/*112613*/                OPC_MoveChild1,
/*112614*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112617*/                OPC_CheckType, MVT::i64,
/*112619*/                OPC_Scope, 34|128,1/*162*/, /*->112784*/ // 2 children in Scope
/*112622*/                  OPC_CheckChild0Same, 1,
/*112624*/                  OPC_CheckChild1Integer, 3, 
/*112626*/                  OPC_MoveParent,
/*112627*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112629*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*112631*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112633*/                  OPC_MoveParent,
/*112634*/                  OPC_MoveChild1,
/*112635*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112638*/                  OPC_RecordMemRef,
/*112639*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*112640*/                  OPC_CheckFoldableChainNode,
/*112641*/                  OPC_MoveChild1,
/*112642*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112645*/                  OPC_CheckChild0Same, 3,
/*112647*/                  OPC_CheckChild1Integer, 3, 
/*112649*/                  OPC_CheckType, MVT::i64,
/*112651*/                  OPC_MoveParent,
/*112652*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112654*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*112656*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112658*/                  OPC_MoveParent,
/*112659*/                  OPC_MoveParent,
/*112660*/                  OPC_CheckType, MVT::i32,
/*112662*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*112664*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*112674*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*112677*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*112684*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*112690*/                  OPC_EmitInteger, MVT::i64, 0, 
/*112693*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*112701*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112704*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*112712*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112715*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*112724*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*112730*/                  OPC_EmitInteger, MVT::i64, 0, 
/*112733*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*112741*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112744*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*112752*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112755*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*112764*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*112773*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*112776*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*112784*/                /*Scope*/ 34|128,1/*162*/, /*->112948*/
/*112786*/                  OPC_CheckChild0Same, 3,
/*112788*/                  OPC_CheckChild1Integer, 3, 
/*112790*/                  OPC_MoveParent,
/*112791*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112793*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*112795*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112797*/                  OPC_MoveParent,
/*112798*/                  OPC_MoveChild1,
/*112799*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112802*/                  OPC_RecordMemRef,
/*112803*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*112804*/                  OPC_CheckFoldableChainNode,
/*112805*/                  OPC_MoveChild1,
/*112806*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112809*/                  OPC_CheckChild0Same, 1,
/*112811*/                  OPC_CheckChild1Integer, 3, 
/*112813*/                  OPC_CheckType, MVT::i64,
/*112815*/                  OPC_MoveParent,
/*112816*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112818*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*112820*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112822*/                  OPC_MoveParent,
/*112823*/                  OPC_MoveParent,
/*112824*/                  OPC_CheckType, MVT::i32,
/*112826*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*112828*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*112838*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*112841*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*112848*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*112854*/                  OPC_EmitInteger, MVT::i64, 0, 
/*112857*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*112865*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112868*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*112876*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112879*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*112888*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*112894*/                  OPC_EmitInteger, MVT::i64, 0, 
/*112897*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*112905*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*112908*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*112916*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*112919*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*112928*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*112937*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*112940*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*112948*/                0, /*End of Scope*/
/*112949*/              0, /*End of Scope*/
/*112950*/            /*Scope*/ 73|128,11/*1481*/, /*->114433*/
/*112952*/              OPC_CheckChild0Same, 3,
/*112954*/              OPC_CheckChild1Integer, 2, 
/*112956*/              OPC_MoveParent,
/*112957*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112959*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*112961*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112963*/              OPC_MoveParent,
/*112964*/              OPC_MoveChild1,
/*112965*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112968*/              OPC_RecordMemRef,
/*112969*/              OPC_RecordNode, // #5 = 'ld' chained node
/*112970*/              OPC_CheckFoldableChainNode,
/*112971*/              OPC_MoveChild1,
/*112972*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*112975*/              OPC_CheckChild0Same, 1,
/*112977*/              OPC_CheckChild1Integer, 2, 
/*112979*/              OPC_CheckType, MVT::i64,
/*112981*/              OPC_MoveParent,
/*112982*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*112984*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*112986*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*112988*/              OPC_MoveParent,
/*112989*/              OPC_MoveParent,
/*112990*/              OPC_MoveParent,
/*112991*/              OPC_MoveChild1,
/*112992*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*112995*/              OPC_MoveChild0,
/*112996*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*112999*/              OPC_RecordMemRef,
/*113000*/              OPC_RecordNode, // #6 = 'ld' chained node
/*113001*/              OPC_CheckFoldableChainNode,
/*113002*/              OPC_MoveChild1,
/*113003*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113006*/              OPC_CheckType, MVT::i64,
/*113008*/              OPC_Scope, 2|128,3/*386*/, /*->113397*/ // 3 children in Scope
/*113011*/                OPC_CheckChild0Same, 1,
/*113013*/                OPC_CheckChild1Integer, 1, 
/*113015*/                OPC_MoveParent,
/*113016*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113018*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*113020*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113022*/                OPC_MoveParent,
/*113023*/                OPC_MoveChild1,
/*113024*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113027*/                OPC_RecordMemRef,
/*113028*/                OPC_RecordNode, // #7 = 'ld' chained node
/*113029*/                OPC_CheckFoldableChainNode,
/*113030*/                OPC_MoveChild1,
/*113031*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113034*/                OPC_CheckChild0Same, 3,
/*113036*/                OPC_CheckChild1Integer, 1, 
/*113038*/                OPC_CheckType, MVT::i64,
/*113040*/                OPC_MoveParent,
/*113041*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113043*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*113045*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113047*/                OPC_MoveParent,
/*113048*/                OPC_MoveParent,
/*113049*/                OPC_MoveParent,
/*113050*/                OPC_MoveChild1,
/*113051*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*113054*/                OPC_MoveChild0,
/*113055*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113058*/                OPC_RecordMemRef,
/*113059*/                OPC_RecordNode, // #8 = 'ld' chained node
/*113060*/                OPC_CheckFoldableChainNode,
/*113061*/                OPC_MoveChild1,
/*113062*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113065*/                OPC_CheckType, MVT::i64,
/*113067*/                OPC_Scope, 34|128,1/*162*/, /*->113232*/ // 2 children in Scope
/*113070*/                  OPC_CheckChild0Same, 1,
/*113072*/                  OPC_CheckChild1Integer, 3, 
/*113074*/                  OPC_MoveParent,
/*113075*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113077*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113079*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113081*/                  OPC_MoveParent,
/*113082*/                  OPC_MoveChild1,
/*113083*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113086*/                  OPC_RecordMemRef,
/*113087*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*113088*/                  OPC_CheckFoldableChainNode,
/*113089*/                  OPC_MoveChild1,
/*113090*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113093*/                  OPC_CheckChild0Same, 3,
/*113095*/                  OPC_CheckChild1Integer, 3, 
/*113097*/                  OPC_CheckType, MVT::i64,
/*113099*/                  OPC_MoveParent,
/*113100*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113102*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113104*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113106*/                  OPC_MoveParent,
/*113107*/                  OPC_MoveParent,
/*113108*/                  OPC_CheckType, MVT::i32,
/*113110*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*113112*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*113122*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*113125*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*113132*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*113138*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113141*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*113149*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113152*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*113160*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113163*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*113172*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*113178*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113181*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*113189*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113192*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*113200*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113203*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*113212*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*113221*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*113224*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*113232*/                /*Scope*/ 34|128,1/*162*/, /*->113396*/
/*113234*/                  OPC_CheckChild0Same, 3,
/*113236*/                  OPC_CheckChild1Integer, 3, 
/*113238*/                  OPC_MoveParent,
/*113239*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113241*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113243*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113245*/                  OPC_MoveParent,
/*113246*/                  OPC_MoveChild1,
/*113247*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113250*/                  OPC_RecordMemRef,
/*113251*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*113252*/                  OPC_CheckFoldableChainNode,
/*113253*/                  OPC_MoveChild1,
/*113254*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113257*/                  OPC_CheckChild0Same, 1,
/*113259*/                  OPC_CheckChild1Integer, 3, 
/*113261*/                  OPC_CheckType, MVT::i64,
/*113263*/                  OPC_MoveParent,
/*113264*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113266*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113268*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113270*/                  OPC_MoveParent,
/*113271*/                  OPC_MoveParent,
/*113272*/                  OPC_CheckType, MVT::i32,
/*113274*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*113276*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*113286*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*113289*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*113296*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*113302*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113305*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*113313*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113316*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*113324*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113327*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*113336*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*113342*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113345*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*113353*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113356*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*113364*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113367*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*113376*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*113385*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*113388*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*113396*/                0, /*End of Scope*/
/*113397*/              /*Scope*/ 5|128,5/*645*/, /*->114044*/
/*113399*/                OPC_CheckChild0Same, 3,
/*113401*/                OPC_CheckChild1Integer, 1, 
/*113403*/                OPC_MoveParent,
/*113404*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113406*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*113408*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113410*/                OPC_MoveParent,
/*113411*/                OPC_MoveChild1,
/*113412*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113415*/                OPC_RecordMemRef,
/*113416*/                OPC_RecordNode, // #7 = 'ld' chained node
/*113417*/                OPC_CheckFoldableChainNode,
/*113418*/                OPC_MoveChild1,
/*113419*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113422*/                OPC_CheckChild0Same, 1,
/*113424*/                OPC_CheckChild1Integer, 1, 
/*113426*/                OPC_CheckType, MVT::i64,
/*113428*/                OPC_MoveParent,
/*113429*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113431*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*113433*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113435*/                OPC_MoveParent,
/*113436*/                OPC_MoveParent,
/*113437*/                OPC_MoveParent,
/*113438*/                OPC_MoveChild1,
/*113439*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*113442*/                OPC_MoveChild0,
/*113443*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113446*/                OPC_RecordMemRef,
/*113447*/                OPC_RecordNode, // #8 = 'ld' chained node
/*113448*/                OPC_CheckFoldableChainNode,
/*113449*/                OPC_MoveChild1,
/*113450*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113453*/                OPC_CheckType, MVT::i64,
/*113455*/                OPC_Scope, 34|128,1/*162*/, /*->113620*/ // 3 children in Scope
/*113458*/                  OPC_CheckChild0Same, 1,
/*113460*/                  OPC_CheckChild1Integer, 3, 
/*113462*/                  OPC_MoveParent,
/*113463*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113465*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113467*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113469*/                  OPC_MoveParent,
/*113470*/                  OPC_MoveChild1,
/*113471*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113474*/                  OPC_RecordMemRef,
/*113475*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*113476*/                  OPC_CheckFoldableChainNode,
/*113477*/                  OPC_MoveChild1,
/*113478*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113481*/                  OPC_CheckChild0Same, 3,
/*113483*/                  OPC_CheckChild1Integer, 3, 
/*113485*/                  OPC_CheckType, MVT::i64,
/*113487*/                  OPC_MoveParent,
/*113488*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113490*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113492*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113494*/                  OPC_MoveParent,
/*113495*/                  OPC_MoveParent,
/*113496*/                  OPC_CheckType, MVT::i32,
/*113498*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*113500*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*113510*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*113513*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*113520*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*113526*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113529*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*113537*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113540*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*113548*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113551*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*113560*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*113566*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113569*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*113577*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113580*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*113588*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113591*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*113600*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*113609*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*113612*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*113620*/                /*Scope*/ 1|128,2/*257*/, /*->113879*/
/*113622*/                  OPC_CheckChild0Same, 3,
/*113624*/                  OPC_CheckChild1Integer, 3, 
/*113626*/                  OPC_MoveParent,
/*113627*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113629*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113631*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113633*/                  OPC_MoveParent,
/*113634*/                  OPC_MoveChild1,
/*113635*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113638*/                  OPC_RecordMemRef,
/*113639*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*113640*/                  OPC_CheckFoldableChainNode,
/*113641*/                  OPC_MoveChild1,
/*113642*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113645*/                  OPC_CheckChild0Same, 1,
/*113647*/                  OPC_CheckChild1Integer, 3, 
/*113649*/                  OPC_CheckType, MVT::i64,
/*113651*/                  OPC_MoveParent,
/*113652*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113654*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113656*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113658*/                  OPC_MoveParent,
/*113659*/                  OPC_MoveParent,
/*113660*/                  OPC_CheckType, MVT::i32,
/*113662*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*113664*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*113674*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*113677*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*113684*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*113690*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113693*/                  OPC_Scope, 91, /*->113786*/ // 2 children in Scope
/*113695*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*113703*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113706*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*113714*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113717*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*113726*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*113732*/                    OPC_EmitInteger, MVT::i64, 0, 
/*113735*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*113743*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113746*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*113754*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113757*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*113766*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*113775*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*113778*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*113786*/                  /*Scope*/ 91, /*->113878*/
/*113787*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*113795*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113798*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*113806*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113809*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*113818*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*113824*/                    OPC_EmitInteger, MVT::i64, 0, 
/*113827*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*113835*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113838*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*113846*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113849*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*113858*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*113867*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*113870*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*113878*/                  0, /*End of Scope*/
/*113879*/                /*Scope*/ 34|128,1/*162*/, /*->114043*/
/*113881*/                  OPC_CheckChild0Same, 1,
/*113883*/                  OPC_CheckChild1Integer, 3, 
/*113885*/                  OPC_MoveParent,
/*113886*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113888*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113890*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113892*/                  OPC_MoveParent,
/*113893*/                  OPC_MoveChild1,
/*113894*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*113897*/                  OPC_RecordMemRef,
/*113898*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*113899*/                  OPC_CheckFoldableChainNode,
/*113900*/                  OPC_MoveChild1,
/*113901*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*113904*/                  OPC_CheckChild0Same, 3,
/*113906*/                  OPC_CheckChild1Integer, 3, 
/*113908*/                  OPC_CheckType, MVT::i64,
/*113910*/                  OPC_MoveParent,
/*113911*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*113913*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*113915*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*113917*/                  OPC_MoveParent,
/*113918*/                  OPC_MoveParent,
/*113919*/                  OPC_CheckType, MVT::i32,
/*113921*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*113923*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*113933*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*113936*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*113943*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*113949*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113952*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*113960*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*113963*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*113971*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*113974*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*113983*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*113989*/                  OPC_EmitInteger, MVT::i64, 0, 
/*113992*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*114000*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114003*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*114011*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114014*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*114023*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*114032*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*114035*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*114043*/                0, /*End of Scope*/
/*114044*/              /*Scope*/ 2|128,3/*386*/, /*->114432*/
/*114046*/                OPC_CheckChild0Same, 1,
/*114048*/                OPC_CheckChild1Integer, 1, 
/*114050*/                OPC_MoveParent,
/*114051*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114053*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*114055*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114057*/                OPC_MoveParent,
/*114058*/                OPC_MoveChild1,
/*114059*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114062*/                OPC_RecordMemRef,
/*114063*/                OPC_RecordNode, // #7 = 'ld' chained node
/*114064*/                OPC_CheckFoldableChainNode,
/*114065*/                OPC_MoveChild1,
/*114066*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114069*/                OPC_CheckChild0Same, 3,
/*114071*/                OPC_CheckChild1Integer, 1, 
/*114073*/                OPC_CheckType, MVT::i64,
/*114075*/                OPC_MoveParent,
/*114076*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114078*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*114080*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114082*/                OPC_MoveParent,
/*114083*/                OPC_MoveParent,
/*114084*/                OPC_MoveParent,
/*114085*/                OPC_MoveChild1,
/*114086*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*114089*/                OPC_MoveChild0,
/*114090*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114093*/                OPC_RecordMemRef,
/*114094*/                OPC_RecordNode, // #8 = 'ld' chained node
/*114095*/                OPC_CheckFoldableChainNode,
/*114096*/                OPC_MoveChild1,
/*114097*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114100*/                OPC_CheckType, MVT::i64,
/*114102*/                OPC_Scope, 34|128,1/*162*/, /*->114267*/ // 2 children in Scope
/*114105*/                  OPC_CheckChild0Same, 3,
/*114107*/                  OPC_CheckChild1Integer, 3, 
/*114109*/                  OPC_MoveParent,
/*114110*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114112*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114114*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114116*/                  OPC_MoveParent,
/*114117*/                  OPC_MoveChild1,
/*114118*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114121*/                  OPC_RecordMemRef,
/*114122*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*114123*/                  OPC_CheckFoldableChainNode,
/*114124*/                  OPC_MoveChild1,
/*114125*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114128*/                  OPC_CheckChild0Same, 1,
/*114130*/                  OPC_CheckChild1Integer, 3, 
/*114132*/                  OPC_CheckType, MVT::i64,
/*114134*/                  OPC_MoveParent,
/*114135*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114137*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114139*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114141*/                  OPC_MoveParent,
/*114142*/                  OPC_MoveParent,
/*114143*/                  OPC_CheckType, MVT::i32,
/*114145*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*114147*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*114157*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*114160*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*114167*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*114173*/                  OPC_EmitInteger, MVT::i64, 0, 
/*114176*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*114184*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114187*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*114195*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114198*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*114207*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*114213*/                  OPC_EmitInteger, MVT::i64, 0, 
/*114216*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*114224*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114227*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*114235*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114238*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*114247*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*114256*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*114259*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*114267*/                /*Scope*/ 34|128,1/*162*/, /*->114431*/
/*114269*/                  OPC_CheckChild0Same, 1,
/*114271*/                  OPC_CheckChild1Integer, 3, 
/*114273*/                  OPC_MoveParent,
/*114274*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114276*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114278*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114280*/                  OPC_MoveParent,
/*114281*/                  OPC_MoveChild1,
/*114282*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114285*/                  OPC_RecordMemRef,
/*114286*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*114287*/                  OPC_CheckFoldableChainNode,
/*114288*/                  OPC_MoveChild1,
/*114289*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114292*/                  OPC_CheckChild0Same, 3,
/*114294*/                  OPC_CheckChild1Integer, 3, 
/*114296*/                  OPC_CheckType, MVT::i64,
/*114298*/                  OPC_MoveParent,
/*114299*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114301*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114303*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114305*/                  OPC_MoveParent,
/*114306*/                  OPC_MoveParent,
/*114307*/                  OPC_CheckType, MVT::i32,
/*114309*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*114311*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*114321*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*114324*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*114331*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*114337*/                  OPC_EmitInteger, MVT::i64, 0, 
/*114340*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*114348*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114351*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*114359*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114362*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*114371*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*114377*/                  OPC_EmitInteger, MVT::i64, 0, 
/*114380*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*114388*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114391*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*114399*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114402*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*114411*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*114420*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*114423*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*114431*/                0, /*End of Scope*/
/*114432*/              0, /*End of Scope*/
/*114433*/            /*Scope*/ 66|128,6/*834*/, /*->115269*/
/*114435*/              OPC_CheckChild0Same, 1,
/*114437*/              OPC_CheckChild1Integer, 2, 
/*114439*/              OPC_MoveParent,
/*114440*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114442*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*114444*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114446*/              OPC_MoveParent,
/*114447*/              OPC_MoveChild1,
/*114448*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114451*/              OPC_RecordMemRef,
/*114452*/              OPC_RecordNode, // #5 = 'ld' chained node
/*114453*/              OPC_CheckFoldableChainNode,
/*114454*/              OPC_MoveChild1,
/*114455*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114458*/              OPC_CheckChild0Same, 3,
/*114460*/              OPC_CheckChild1Integer, 2, 
/*114462*/              OPC_CheckType, MVT::i64,
/*114464*/              OPC_MoveParent,
/*114465*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114467*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*114469*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114471*/              OPC_MoveParent,
/*114472*/              OPC_MoveParent,
/*114473*/              OPC_MoveParent,
/*114474*/              OPC_MoveChild1,
/*114475*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*114478*/              OPC_MoveChild0,
/*114479*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114482*/              OPC_RecordMemRef,
/*114483*/              OPC_RecordNode, // #6 = 'ld' chained node
/*114484*/              OPC_CheckFoldableChainNode,
/*114485*/              OPC_MoveChild1,
/*114486*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114489*/              OPC_CheckType, MVT::i64,
/*114491*/              OPC_Scope, 2|128,3/*386*/, /*->114880*/ // 2 children in Scope
/*114494*/                OPC_CheckChild0Same, 3,
/*114496*/                OPC_CheckChild1Integer, 1, 
/*114498*/                OPC_MoveParent,
/*114499*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114501*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*114503*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114505*/                OPC_MoveParent,
/*114506*/                OPC_MoveChild1,
/*114507*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114510*/                OPC_RecordMemRef,
/*114511*/                OPC_RecordNode, // #7 = 'ld' chained node
/*114512*/                OPC_CheckFoldableChainNode,
/*114513*/                OPC_MoveChild1,
/*114514*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114517*/                OPC_CheckChild0Same, 1,
/*114519*/                OPC_CheckChild1Integer, 1, 
/*114521*/                OPC_CheckType, MVT::i64,
/*114523*/                OPC_MoveParent,
/*114524*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114526*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*114528*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114530*/                OPC_MoveParent,
/*114531*/                OPC_MoveParent,
/*114532*/                OPC_MoveParent,
/*114533*/                OPC_MoveChild1,
/*114534*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*114537*/                OPC_MoveChild0,
/*114538*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114541*/                OPC_RecordMemRef,
/*114542*/                OPC_RecordNode, // #8 = 'ld' chained node
/*114543*/                OPC_CheckFoldableChainNode,
/*114544*/                OPC_MoveChild1,
/*114545*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114548*/                OPC_CheckType, MVT::i64,
/*114550*/                OPC_Scope, 34|128,1/*162*/, /*->114715*/ // 2 children in Scope
/*114553*/                  OPC_CheckChild0Same, 3,
/*114555*/                  OPC_CheckChild1Integer, 3, 
/*114557*/                  OPC_MoveParent,
/*114558*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114560*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114562*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114564*/                  OPC_MoveParent,
/*114565*/                  OPC_MoveChild1,
/*114566*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114569*/                  OPC_RecordMemRef,
/*114570*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*114571*/                  OPC_CheckFoldableChainNode,
/*114572*/                  OPC_MoveChild1,
/*114573*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114576*/                  OPC_CheckChild0Same, 1,
/*114578*/                  OPC_CheckChild1Integer, 3, 
/*114580*/                  OPC_CheckType, MVT::i64,
/*114582*/                  OPC_MoveParent,
/*114583*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114585*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114587*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114589*/                  OPC_MoveParent,
/*114590*/                  OPC_MoveParent,
/*114591*/                  OPC_CheckType, MVT::i32,
/*114593*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*114595*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*114605*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*114608*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*114615*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*114621*/                  OPC_EmitInteger, MVT::i64, 0, 
/*114624*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*114632*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114635*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*114643*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114646*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*114655*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*114661*/                  OPC_EmitInteger, MVT::i64, 0, 
/*114664*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*114672*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114675*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*114683*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114686*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*114695*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*114704*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*114707*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*114715*/                /*Scope*/ 34|128,1/*162*/, /*->114879*/
/*114717*/                  OPC_CheckChild0Same, 1,
/*114719*/                  OPC_CheckChild1Integer, 3, 
/*114721*/                  OPC_MoveParent,
/*114722*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114724*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114726*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114728*/                  OPC_MoveParent,
/*114729*/                  OPC_MoveChild1,
/*114730*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114733*/                  OPC_RecordMemRef,
/*114734*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*114735*/                  OPC_CheckFoldableChainNode,
/*114736*/                  OPC_MoveChild1,
/*114737*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114740*/                  OPC_CheckChild0Same, 3,
/*114742*/                  OPC_CheckChild1Integer, 3, 
/*114744*/                  OPC_CheckType, MVT::i64,
/*114746*/                  OPC_MoveParent,
/*114747*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114749*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114751*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114753*/                  OPC_MoveParent,
/*114754*/                  OPC_MoveParent,
/*114755*/                  OPC_CheckType, MVT::i32,
/*114757*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*114759*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*114769*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*114772*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*114779*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*114785*/                  OPC_EmitInteger, MVT::i64, 0, 
/*114788*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*114796*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114799*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*114807*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114810*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*114819*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*114825*/                  OPC_EmitInteger, MVT::i64, 0, 
/*114828*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*114836*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*114839*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*114847*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*114850*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*114859*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*114868*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*114871*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*114879*/                0, /*End of Scope*/
/*114880*/              /*Scope*/ 2|128,3/*386*/, /*->115268*/
/*114882*/                OPC_CheckChild0Same, 1,
/*114884*/                OPC_CheckChild1Integer, 1, 
/*114886*/                OPC_MoveParent,
/*114887*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114889*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*114891*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114893*/                OPC_MoveParent,
/*114894*/                OPC_MoveChild1,
/*114895*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114898*/                OPC_RecordMemRef,
/*114899*/                OPC_RecordNode, // #7 = 'ld' chained node
/*114900*/                OPC_CheckFoldableChainNode,
/*114901*/                OPC_MoveChild1,
/*114902*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114905*/                OPC_CheckChild0Same, 3,
/*114907*/                OPC_CheckChild1Integer, 1, 
/*114909*/                OPC_CheckType, MVT::i64,
/*114911*/                OPC_MoveParent,
/*114912*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114914*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*114916*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114918*/                OPC_MoveParent,
/*114919*/                OPC_MoveParent,
/*114920*/                OPC_MoveParent,
/*114921*/                OPC_MoveChild1,
/*114922*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*114925*/                OPC_MoveChild0,
/*114926*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114929*/                OPC_RecordMemRef,
/*114930*/                OPC_RecordNode, // #8 = 'ld' chained node
/*114931*/                OPC_CheckFoldableChainNode,
/*114932*/                OPC_MoveChild1,
/*114933*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114936*/                OPC_CheckType, MVT::i64,
/*114938*/                OPC_Scope, 34|128,1/*162*/, /*->115103*/ // 2 children in Scope
/*114941*/                  OPC_CheckChild0Same, 3,
/*114943*/                  OPC_CheckChild1Integer, 3, 
/*114945*/                  OPC_MoveParent,
/*114946*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114948*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114950*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114952*/                  OPC_MoveParent,
/*114953*/                  OPC_MoveChild1,
/*114954*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*114957*/                  OPC_RecordMemRef,
/*114958*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*114959*/                  OPC_CheckFoldableChainNode,
/*114960*/                  OPC_MoveChild1,
/*114961*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*114964*/                  OPC_CheckChild0Same, 1,
/*114966*/                  OPC_CheckChild1Integer, 3, 
/*114968*/                  OPC_CheckType, MVT::i64,
/*114970*/                  OPC_MoveParent,
/*114971*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*114973*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*114975*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*114977*/                  OPC_MoveParent,
/*114978*/                  OPC_MoveParent,
/*114979*/                  OPC_CheckType, MVT::i32,
/*114981*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*114983*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*114993*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*114996*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*115003*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*115009*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115012*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*115020*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115023*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*115031*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115034*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*115043*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*115049*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115052*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*115060*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115063*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*115071*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115074*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*115083*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*115092*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*115095*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*115103*/                /*Scope*/ 34|128,1/*162*/, /*->115267*/
/*115105*/                  OPC_CheckChild0Same, 1,
/*115107*/                  OPC_CheckChild1Integer, 3, 
/*115109*/                  OPC_MoveParent,
/*115110*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115112*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115114*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115116*/                  OPC_MoveParent,
/*115117*/                  OPC_MoveChild1,
/*115118*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115121*/                  OPC_RecordMemRef,
/*115122*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*115123*/                  OPC_CheckFoldableChainNode,
/*115124*/                  OPC_MoveChild1,
/*115125*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115128*/                  OPC_CheckChild0Same, 3,
/*115130*/                  OPC_CheckChild1Integer, 3, 
/*115132*/                  OPC_CheckType, MVT::i64,
/*115134*/                  OPC_MoveParent,
/*115135*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115137*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115139*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115141*/                  OPC_MoveParent,
/*115142*/                  OPC_MoveParent,
/*115143*/                  OPC_CheckType, MVT::i32,
/*115145*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*115147*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*115157*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*115160*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*115167*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*115173*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115176*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*115184*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115187*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*115195*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115198*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*115207*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*115213*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115216*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*115224*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115227*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*115235*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115238*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*115247*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*115256*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*115259*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*115267*/                0, /*End of Scope*/
/*115268*/              0, /*End of Scope*/
/*115269*/            0, /*End of Scope*/
/*115270*/          /*Scope*/ 102|128,24/*3174*/, /*->118446*/
/*115272*/            OPC_MoveChild1,
/*115273*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115276*/            OPC_RecordChild0, // #1 = $Rn
/*115277*/            OPC_CheckChild1Integer, 1, 
/*115279*/            OPC_CheckType, MVT::i64,
/*115281*/            OPC_MoveParent,
/*115282*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115284*/            OPC_CheckPredicate, 7, // Predicate_zextload
/*115286*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115288*/            OPC_MoveParent,
/*115289*/            OPC_MoveChild1,
/*115290*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115293*/            OPC_RecordMemRef,
/*115294*/            OPC_RecordNode, // #2 = 'ld' chained node
/*115295*/            OPC_CheckFoldableChainNode,
/*115296*/            OPC_MoveChild1,
/*115297*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115300*/            OPC_RecordChild0, // #3 = $Rm
/*115301*/            OPC_CheckChild1Integer, 1, 
/*115303*/            OPC_CheckType, MVT::i64,
/*115305*/            OPC_MoveParent,
/*115306*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115308*/            OPC_CheckPredicate, 7, // Predicate_zextload
/*115310*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115312*/            OPC_MoveParent,
/*115313*/            OPC_MoveParent,
/*115314*/            OPC_MoveChild1,
/*115315*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*115318*/            OPC_MoveChild0,
/*115319*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115322*/            OPC_RecordMemRef,
/*115323*/            OPC_RecordNode, // #4 = 'ld' chained node
/*115324*/            OPC_CheckFoldableChainNode,
/*115325*/            OPC_Scope, 54|128,6/*822*/, /*->116150*/ // 3 children in Scope
/*115328*/              OPC_CheckChild1Same, 1,
/*115330*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115332*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*115334*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115336*/              OPC_MoveParent,
/*115337*/              OPC_MoveChild1,
/*115338*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115341*/              OPC_RecordMemRef,
/*115342*/              OPC_RecordNode, // #5 = 'ld' chained node
/*115343*/              OPC_CheckFoldableChainNode,
/*115344*/              OPC_CheckChild1Same, 3,
/*115346*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115348*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*115350*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115352*/              OPC_MoveParent,
/*115353*/              OPC_MoveParent,
/*115354*/              OPC_MoveParent,
/*115355*/              OPC_MoveChild1,
/*115356*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*115359*/              OPC_MoveChild0,
/*115360*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115363*/              OPC_RecordMemRef,
/*115364*/              OPC_RecordNode, // #6 = 'ld' chained node
/*115365*/              OPC_CheckFoldableChainNode,
/*115366*/              OPC_MoveChild1,
/*115367*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115370*/              OPC_CheckType, MVT::i64,
/*115372*/              OPC_Scope, 2|128,3/*386*/, /*->115761*/ // 2 children in Scope
/*115375*/                OPC_CheckChild0Same, 1,
/*115377*/                OPC_CheckChild1Integer, 2, 
/*115379*/                OPC_MoveParent,
/*115380*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115382*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*115384*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115386*/                OPC_MoveParent,
/*115387*/                OPC_MoveChild1,
/*115388*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115391*/                OPC_RecordMemRef,
/*115392*/                OPC_RecordNode, // #7 = 'ld' chained node
/*115393*/                OPC_CheckFoldableChainNode,
/*115394*/                OPC_MoveChild1,
/*115395*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115398*/                OPC_CheckChild0Same, 3,
/*115400*/                OPC_CheckChild1Integer, 2, 
/*115402*/                OPC_CheckType, MVT::i64,
/*115404*/                OPC_MoveParent,
/*115405*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115407*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*115409*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115411*/                OPC_MoveParent,
/*115412*/                OPC_MoveParent,
/*115413*/                OPC_MoveParent,
/*115414*/                OPC_MoveChild1,
/*115415*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*115418*/                OPC_MoveChild0,
/*115419*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115422*/                OPC_RecordMemRef,
/*115423*/                OPC_RecordNode, // #8 = 'ld' chained node
/*115424*/                OPC_CheckFoldableChainNode,
/*115425*/                OPC_MoveChild1,
/*115426*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115429*/                OPC_CheckType, MVT::i64,
/*115431*/                OPC_Scope, 34|128,1/*162*/, /*->115596*/ // 2 children in Scope
/*115434*/                  OPC_CheckChild0Same, 1,
/*115436*/                  OPC_CheckChild1Integer, 3, 
/*115438*/                  OPC_MoveParent,
/*115439*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115441*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115443*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115445*/                  OPC_MoveParent,
/*115446*/                  OPC_MoveChild1,
/*115447*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115450*/                  OPC_RecordMemRef,
/*115451*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*115452*/                  OPC_CheckFoldableChainNode,
/*115453*/                  OPC_MoveChild1,
/*115454*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115457*/                  OPC_CheckChild0Same, 3,
/*115459*/                  OPC_CheckChild1Integer, 3, 
/*115461*/                  OPC_CheckType, MVT::i64,
/*115463*/                  OPC_MoveParent,
/*115464*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115466*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115468*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115470*/                  OPC_MoveParent,
/*115471*/                  OPC_MoveParent,
/*115472*/                  OPC_CheckType, MVT::i32,
/*115474*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*115476*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*115486*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*115489*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*115496*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*115502*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115505*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*115513*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115516*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*115524*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115527*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*115536*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*115542*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115545*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*115553*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115556*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*115564*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115567*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*115576*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*115585*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*115588*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*115596*/                /*Scope*/ 34|128,1/*162*/, /*->115760*/
/*115598*/                  OPC_CheckChild0Same, 3,
/*115600*/                  OPC_CheckChild1Integer, 3, 
/*115602*/                  OPC_MoveParent,
/*115603*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115605*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115607*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115609*/                  OPC_MoveParent,
/*115610*/                  OPC_MoveChild1,
/*115611*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115614*/                  OPC_RecordMemRef,
/*115615*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*115616*/                  OPC_CheckFoldableChainNode,
/*115617*/                  OPC_MoveChild1,
/*115618*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115621*/                  OPC_CheckChild0Same, 1,
/*115623*/                  OPC_CheckChild1Integer, 3, 
/*115625*/                  OPC_CheckType, MVT::i64,
/*115627*/                  OPC_MoveParent,
/*115628*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115630*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115632*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115634*/                  OPC_MoveParent,
/*115635*/                  OPC_MoveParent,
/*115636*/                  OPC_CheckType, MVT::i32,
/*115638*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*115640*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*115650*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*115653*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*115660*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*115666*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115669*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*115677*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115680*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*115688*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115691*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*115700*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*115706*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115709*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*115717*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115720*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*115728*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115731*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*115740*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*115749*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*115752*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*115760*/                0, /*End of Scope*/
/*115761*/              /*Scope*/ 2|128,3/*386*/, /*->116149*/
/*115763*/                OPC_CheckChild0Same, 3,
/*115765*/                OPC_CheckChild1Integer, 2, 
/*115767*/                OPC_MoveParent,
/*115768*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115770*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*115772*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115774*/                OPC_MoveParent,
/*115775*/                OPC_MoveChild1,
/*115776*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115779*/                OPC_RecordMemRef,
/*115780*/                OPC_RecordNode, // #7 = 'ld' chained node
/*115781*/                OPC_CheckFoldableChainNode,
/*115782*/                OPC_MoveChild1,
/*115783*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115786*/                OPC_CheckChild0Same, 1,
/*115788*/                OPC_CheckChild1Integer, 2, 
/*115790*/                OPC_CheckType, MVT::i64,
/*115792*/                OPC_MoveParent,
/*115793*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115795*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*115797*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115799*/                OPC_MoveParent,
/*115800*/                OPC_MoveParent,
/*115801*/                OPC_MoveParent,
/*115802*/                OPC_MoveChild1,
/*115803*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*115806*/                OPC_MoveChild0,
/*115807*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115810*/                OPC_RecordMemRef,
/*115811*/                OPC_RecordNode, // #8 = 'ld' chained node
/*115812*/                OPC_CheckFoldableChainNode,
/*115813*/                OPC_MoveChild1,
/*115814*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115817*/                OPC_CheckType, MVT::i64,
/*115819*/                OPC_Scope, 34|128,1/*162*/, /*->115984*/ // 2 children in Scope
/*115822*/                  OPC_CheckChild0Same, 1,
/*115824*/                  OPC_CheckChild1Integer, 3, 
/*115826*/                  OPC_MoveParent,
/*115827*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115829*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115831*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115833*/                  OPC_MoveParent,
/*115834*/                  OPC_MoveChild1,
/*115835*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*115838*/                  OPC_RecordMemRef,
/*115839*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*115840*/                  OPC_CheckFoldableChainNode,
/*115841*/                  OPC_MoveChild1,
/*115842*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*115845*/                  OPC_CheckChild0Same, 3,
/*115847*/                  OPC_CheckChild1Integer, 3, 
/*115849*/                  OPC_CheckType, MVT::i64,
/*115851*/                  OPC_MoveParent,
/*115852*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115854*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115856*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115858*/                  OPC_MoveParent,
/*115859*/                  OPC_MoveParent,
/*115860*/                  OPC_CheckType, MVT::i32,
/*115862*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*115864*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*115874*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*115877*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*115884*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*115890*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115893*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*115901*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115904*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*115912*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115915*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*115924*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*115930*/                  OPC_EmitInteger, MVT::i64, 0, 
/*115933*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*115941*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*115944*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*115952*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*115955*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*115964*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*115973*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*115976*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*115984*/                /*Scope*/ 34|128,1/*162*/, /*->116148*/
/*115986*/                  OPC_CheckChild0Same, 3,
/*115988*/                  OPC_CheckChild1Integer, 3, 
/*115990*/                  OPC_MoveParent,
/*115991*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*115993*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*115995*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*115997*/                  OPC_MoveParent,
/*115998*/                  OPC_MoveChild1,
/*115999*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116002*/                  OPC_RecordMemRef,
/*116003*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*116004*/                  OPC_CheckFoldableChainNode,
/*116005*/                  OPC_MoveChild1,
/*116006*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116009*/                  OPC_CheckChild0Same, 1,
/*116011*/                  OPC_CheckChild1Integer, 3, 
/*116013*/                  OPC_CheckType, MVT::i64,
/*116015*/                  OPC_MoveParent,
/*116016*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116018*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116020*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116022*/                  OPC_MoveParent,
/*116023*/                  OPC_MoveParent,
/*116024*/                  OPC_CheckType, MVT::i32,
/*116026*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*116028*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*116038*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*116041*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*116048*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*116054*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116057*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*116065*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116068*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*116076*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116079*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*116088*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*116094*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116097*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*116105*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116108*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*116116*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116119*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*116128*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*116137*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*116140*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*116148*/                0, /*End of Scope*/
/*116149*/              0, /*End of Scope*/
/*116150*/            /*Scope*/ 61|128,11/*1469*/, /*->117621*/
/*116152*/              OPC_CheckChild1Same, 3,
/*116154*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116156*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*116158*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116160*/              OPC_MoveParent,
/*116161*/              OPC_MoveChild1,
/*116162*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116165*/              OPC_RecordMemRef,
/*116166*/              OPC_RecordNode, // #5 = 'ld' chained node
/*116167*/              OPC_CheckFoldableChainNode,
/*116168*/              OPC_CheckChild1Same, 1,
/*116170*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116172*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*116174*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116176*/              OPC_MoveParent,
/*116177*/              OPC_MoveParent,
/*116178*/              OPC_MoveParent,
/*116179*/              OPC_MoveChild1,
/*116180*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*116183*/              OPC_MoveChild0,
/*116184*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116187*/              OPC_RecordMemRef,
/*116188*/              OPC_RecordNode, // #6 = 'ld' chained node
/*116189*/              OPC_CheckFoldableChainNode,
/*116190*/              OPC_MoveChild1,
/*116191*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116194*/              OPC_CheckType, MVT::i64,
/*116196*/              OPC_Scope, 2|128,3/*386*/, /*->116585*/ // 3 children in Scope
/*116199*/                OPC_CheckChild0Same, 1,
/*116201*/                OPC_CheckChild1Integer, 2, 
/*116203*/                OPC_MoveParent,
/*116204*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116206*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*116208*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116210*/                OPC_MoveParent,
/*116211*/                OPC_MoveChild1,
/*116212*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116215*/                OPC_RecordMemRef,
/*116216*/                OPC_RecordNode, // #7 = 'ld' chained node
/*116217*/                OPC_CheckFoldableChainNode,
/*116218*/                OPC_MoveChild1,
/*116219*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116222*/                OPC_CheckChild0Same, 3,
/*116224*/                OPC_CheckChild1Integer, 2, 
/*116226*/                OPC_CheckType, MVT::i64,
/*116228*/                OPC_MoveParent,
/*116229*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116231*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*116233*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116235*/                OPC_MoveParent,
/*116236*/                OPC_MoveParent,
/*116237*/                OPC_MoveParent,
/*116238*/                OPC_MoveChild1,
/*116239*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*116242*/                OPC_MoveChild0,
/*116243*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116246*/                OPC_RecordMemRef,
/*116247*/                OPC_RecordNode, // #8 = 'ld' chained node
/*116248*/                OPC_CheckFoldableChainNode,
/*116249*/                OPC_MoveChild1,
/*116250*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116253*/                OPC_CheckType, MVT::i64,
/*116255*/                OPC_Scope, 34|128,1/*162*/, /*->116420*/ // 2 children in Scope
/*116258*/                  OPC_CheckChild0Same, 1,
/*116260*/                  OPC_CheckChild1Integer, 3, 
/*116262*/                  OPC_MoveParent,
/*116263*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116265*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116267*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116269*/                  OPC_MoveParent,
/*116270*/                  OPC_MoveChild1,
/*116271*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116274*/                  OPC_RecordMemRef,
/*116275*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*116276*/                  OPC_CheckFoldableChainNode,
/*116277*/                  OPC_MoveChild1,
/*116278*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116281*/                  OPC_CheckChild0Same, 3,
/*116283*/                  OPC_CheckChild1Integer, 3, 
/*116285*/                  OPC_CheckType, MVT::i64,
/*116287*/                  OPC_MoveParent,
/*116288*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116290*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116292*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116294*/                  OPC_MoveParent,
/*116295*/                  OPC_MoveParent,
/*116296*/                  OPC_CheckType, MVT::i32,
/*116298*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*116300*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*116310*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*116313*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*116320*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*116326*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116329*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*116337*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116340*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*116348*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116351*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*116360*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*116366*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116369*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*116377*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116380*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*116388*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116391*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*116400*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*116409*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*116412*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*116420*/                /*Scope*/ 34|128,1/*162*/, /*->116584*/
/*116422*/                  OPC_CheckChild0Same, 3,
/*116424*/                  OPC_CheckChild1Integer, 3, 
/*116426*/                  OPC_MoveParent,
/*116427*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116429*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116431*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116433*/                  OPC_MoveParent,
/*116434*/                  OPC_MoveChild1,
/*116435*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116438*/                  OPC_RecordMemRef,
/*116439*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*116440*/                  OPC_CheckFoldableChainNode,
/*116441*/                  OPC_MoveChild1,
/*116442*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116445*/                  OPC_CheckChild0Same, 1,
/*116447*/                  OPC_CheckChild1Integer, 3, 
/*116449*/                  OPC_CheckType, MVT::i64,
/*116451*/                  OPC_MoveParent,
/*116452*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116454*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116456*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116458*/                  OPC_MoveParent,
/*116459*/                  OPC_MoveParent,
/*116460*/                  OPC_CheckType, MVT::i32,
/*116462*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*116464*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*116474*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*116477*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*116484*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*116490*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116493*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*116501*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116504*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*116512*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116515*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*116524*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*116530*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116533*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*116541*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116544*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*116552*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116555*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*116564*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*116573*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*116576*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*116584*/                0, /*End of Scope*/
/*116585*/              /*Scope*/ 5|128,5/*645*/, /*->117232*/
/*116587*/                OPC_CheckChild0Same, 3,
/*116589*/                OPC_CheckChild1Integer, 2, 
/*116591*/                OPC_MoveParent,
/*116592*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116594*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*116596*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116598*/                OPC_MoveParent,
/*116599*/                OPC_MoveChild1,
/*116600*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116603*/                OPC_RecordMemRef,
/*116604*/                OPC_RecordNode, // #7 = 'ld' chained node
/*116605*/                OPC_CheckFoldableChainNode,
/*116606*/                OPC_MoveChild1,
/*116607*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116610*/                OPC_CheckChild0Same, 1,
/*116612*/                OPC_CheckChild1Integer, 2, 
/*116614*/                OPC_CheckType, MVT::i64,
/*116616*/                OPC_MoveParent,
/*116617*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116619*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*116621*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116623*/                OPC_MoveParent,
/*116624*/                OPC_MoveParent,
/*116625*/                OPC_MoveParent,
/*116626*/                OPC_MoveChild1,
/*116627*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*116630*/                OPC_MoveChild0,
/*116631*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116634*/                OPC_RecordMemRef,
/*116635*/                OPC_RecordNode, // #8 = 'ld' chained node
/*116636*/                OPC_CheckFoldableChainNode,
/*116637*/                OPC_MoveChild1,
/*116638*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116641*/                OPC_CheckType, MVT::i64,
/*116643*/                OPC_Scope, 34|128,1/*162*/, /*->116808*/ // 3 children in Scope
/*116646*/                  OPC_CheckChild0Same, 1,
/*116648*/                  OPC_CheckChild1Integer, 3, 
/*116650*/                  OPC_MoveParent,
/*116651*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116653*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116655*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116657*/                  OPC_MoveParent,
/*116658*/                  OPC_MoveChild1,
/*116659*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116662*/                  OPC_RecordMemRef,
/*116663*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*116664*/                  OPC_CheckFoldableChainNode,
/*116665*/                  OPC_MoveChild1,
/*116666*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116669*/                  OPC_CheckChild0Same, 3,
/*116671*/                  OPC_CheckChild1Integer, 3, 
/*116673*/                  OPC_CheckType, MVT::i64,
/*116675*/                  OPC_MoveParent,
/*116676*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116678*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116680*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116682*/                  OPC_MoveParent,
/*116683*/                  OPC_MoveParent,
/*116684*/                  OPC_CheckType, MVT::i32,
/*116686*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*116688*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*116698*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*116701*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*116708*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*116714*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116717*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*116725*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116728*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*116736*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116739*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*116748*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*116754*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116757*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*116765*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116768*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*116776*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116779*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*116788*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*116797*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*116800*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*116808*/                /*Scope*/ 1|128,2/*257*/, /*->117067*/
/*116810*/                  OPC_CheckChild0Same, 3,
/*116812*/                  OPC_CheckChild1Integer, 3, 
/*116814*/                  OPC_MoveParent,
/*116815*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116817*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116819*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116821*/                  OPC_MoveParent,
/*116822*/                  OPC_MoveChild1,
/*116823*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*116826*/                  OPC_RecordMemRef,
/*116827*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*116828*/                  OPC_CheckFoldableChainNode,
/*116829*/                  OPC_MoveChild1,
/*116830*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*116833*/                  OPC_CheckChild0Same, 1,
/*116835*/                  OPC_CheckChild1Integer, 3, 
/*116837*/                  OPC_CheckType, MVT::i64,
/*116839*/                  OPC_MoveParent,
/*116840*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*116842*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*116844*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*116846*/                  OPC_MoveParent,
/*116847*/                  OPC_MoveParent,
/*116848*/                  OPC_CheckType, MVT::i32,
/*116850*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*116852*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*116862*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*116865*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*116872*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*116878*/                  OPC_EmitInteger, MVT::i64, 0, 
/*116881*/                  OPC_Scope, 91, /*->116974*/ // 2 children in Scope
/*116883*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*116891*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116894*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*116902*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116905*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*116914*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*116920*/                    OPC_EmitInteger, MVT::i64, 0, 
/*116923*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*116931*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116934*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*116942*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116945*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*116954*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*116963*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*116966*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*116974*/                  /*Scope*/ 91, /*->117066*/
/*116975*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*116983*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*116986*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*116994*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*116997*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*117006*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*117012*/                    OPC_EmitInteger, MVT::i64, 0, 
/*117015*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*117023*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117026*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*117034*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117037*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*117046*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*117055*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*117058*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*117066*/                  0, /*End of Scope*/
/*117067*/                /*Scope*/ 34|128,1/*162*/, /*->117231*/
/*117069*/                  OPC_CheckChild0Same, 1,
/*117071*/                  OPC_CheckChild1Integer, 3, 
/*117073*/                  OPC_MoveParent,
/*117074*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117076*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117078*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117080*/                  OPC_MoveParent,
/*117081*/                  OPC_MoveChild1,
/*117082*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117085*/                  OPC_RecordMemRef,
/*117086*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*117087*/                  OPC_CheckFoldableChainNode,
/*117088*/                  OPC_MoveChild1,
/*117089*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117092*/                  OPC_CheckChild0Same, 3,
/*117094*/                  OPC_CheckChild1Integer, 3, 
/*117096*/                  OPC_CheckType, MVT::i64,
/*117098*/                  OPC_MoveParent,
/*117099*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117101*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117103*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117105*/                  OPC_MoveParent,
/*117106*/                  OPC_MoveParent,
/*117107*/                  OPC_CheckType, MVT::i32,
/*117109*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*117111*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*117121*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*117124*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*117131*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*117137*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117140*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*117148*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117151*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*117159*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117162*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*117171*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*117177*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117180*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*117188*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117191*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*117199*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117202*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*117211*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*117220*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*117223*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*117231*/                0, /*End of Scope*/
/*117232*/              /*Scope*/ 2|128,3/*386*/, /*->117620*/
/*117234*/                OPC_CheckChild0Same, 1,
/*117236*/                OPC_CheckChild1Integer, 2, 
/*117238*/                OPC_MoveParent,
/*117239*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117241*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*117243*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117245*/                OPC_MoveParent,
/*117246*/                OPC_MoveChild1,
/*117247*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117250*/                OPC_RecordMemRef,
/*117251*/                OPC_RecordNode, // #7 = 'ld' chained node
/*117252*/                OPC_CheckFoldableChainNode,
/*117253*/                OPC_MoveChild1,
/*117254*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117257*/                OPC_CheckChild0Same, 3,
/*117259*/                OPC_CheckChild1Integer, 2, 
/*117261*/                OPC_CheckType, MVT::i64,
/*117263*/                OPC_MoveParent,
/*117264*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117266*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*117268*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117270*/                OPC_MoveParent,
/*117271*/                OPC_MoveParent,
/*117272*/                OPC_MoveParent,
/*117273*/                OPC_MoveChild1,
/*117274*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*117277*/                OPC_MoveChild0,
/*117278*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117281*/                OPC_RecordMemRef,
/*117282*/                OPC_RecordNode, // #8 = 'ld' chained node
/*117283*/                OPC_CheckFoldableChainNode,
/*117284*/                OPC_MoveChild1,
/*117285*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117288*/                OPC_CheckType, MVT::i64,
/*117290*/                OPC_Scope, 34|128,1/*162*/, /*->117455*/ // 2 children in Scope
/*117293*/                  OPC_CheckChild0Same, 3,
/*117295*/                  OPC_CheckChild1Integer, 3, 
/*117297*/                  OPC_MoveParent,
/*117298*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117300*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117302*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117304*/                  OPC_MoveParent,
/*117305*/                  OPC_MoveChild1,
/*117306*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117309*/                  OPC_RecordMemRef,
/*117310*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*117311*/                  OPC_CheckFoldableChainNode,
/*117312*/                  OPC_MoveChild1,
/*117313*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117316*/                  OPC_CheckChild0Same, 1,
/*117318*/                  OPC_CheckChild1Integer, 3, 
/*117320*/                  OPC_CheckType, MVT::i64,
/*117322*/                  OPC_MoveParent,
/*117323*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117325*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117327*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117329*/                  OPC_MoveParent,
/*117330*/                  OPC_MoveParent,
/*117331*/                  OPC_CheckType, MVT::i32,
/*117333*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*117335*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*117345*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*117348*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*117355*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*117361*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117364*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*117372*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117375*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*117383*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117386*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*117395*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*117401*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117404*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*117412*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117415*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*117423*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117426*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*117435*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*117444*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*117447*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*117455*/                /*Scope*/ 34|128,1/*162*/, /*->117619*/
/*117457*/                  OPC_CheckChild0Same, 1,
/*117459*/                  OPC_CheckChild1Integer, 3, 
/*117461*/                  OPC_MoveParent,
/*117462*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117464*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117466*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117468*/                  OPC_MoveParent,
/*117469*/                  OPC_MoveChild1,
/*117470*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117473*/                  OPC_RecordMemRef,
/*117474*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*117475*/                  OPC_CheckFoldableChainNode,
/*117476*/                  OPC_MoveChild1,
/*117477*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117480*/                  OPC_CheckChild0Same, 3,
/*117482*/                  OPC_CheckChild1Integer, 3, 
/*117484*/                  OPC_CheckType, MVT::i64,
/*117486*/                  OPC_MoveParent,
/*117487*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117489*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117491*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117493*/                  OPC_MoveParent,
/*117494*/                  OPC_MoveParent,
/*117495*/                  OPC_CheckType, MVT::i32,
/*117497*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*117499*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*117509*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*117512*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*117519*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*117525*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117528*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*117536*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117539*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*117547*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117550*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*117559*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*117565*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117568*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*117576*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117579*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*117587*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117590*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*117599*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*117608*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*117611*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*117619*/                0, /*End of Scope*/
/*117620*/              0, /*End of Scope*/
/*117621*/            /*Scope*/ 54|128,6/*822*/, /*->118445*/
/*117623*/              OPC_CheckChild1Same, 1,
/*117625*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117627*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*117629*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117631*/              OPC_MoveParent,
/*117632*/              OPC_MoveChild1,
/*117633*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117636*/              OPC_RecordMemRef,
/*117637*/              OPC_RecordNode, // #5 = 'ld' chained node
/*117638*/              OPC_CheckFoldableChainNode,
/*117639*/              OPC_CheckChild1Same, 3,
/*117641*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117643*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*117645*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117647*/              OPC_MoveParent,
/*117648*/              OPC_MoveParent,
/*117649*/              OPC_MoveParent,
/*117650*/              OPC_MoveChild1,
/*117651*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*117654*/              OPC_MoveChild0,
/*117655*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117658*/              OPC_RecordMemRef,
/*117659*/              OPC_RecordNode, // #6 = 'ld' chained node
/*117660*/              OPC_CheckFoldableChainNode,
/*117661*/              OPC_MoveChild1,
/*117662*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117665*/              OPC_CheckType, MVT::i64,
/*117667*/              OPC_Scope, 2|128,3/*386*/, /*->118056*/ // 2 children in Scope
/*117670*/                OPC_CheckChild0Same, 3,
/*117672*/                OPC_CheckChild1Integer, 2, 
/*117674*/                OPC_MoveParent,
/*117675*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117677*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*117679*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117681*/                OPC_MoveParent,
/*117682*/                OPC_MoveChild1,
/*117683*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117686*/                OPC_RecordMemRef,
/*117687*/                OPC_RecordNode, // #7 = 'ld' chained node
/*117688*/                OPC_CheckFoldableChainNode,
/*117689*/                OPC_MoveChild1,
/*117690*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117693*/                OPC_CheckChild0Same, 1,
/*117695*/                OPC_CheckChild1Integer, 2, 
/*117697*/                OPC_CheckType, MVT::i64,
/*117699*/                OPC_MoveParent,
/*117700*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117702*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*117704*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117706*/                OPC_MoveParent,
/*117707*/                OPC_MoveParent,
/*117708*/                OPC_MoveParent,
/*117709*/                OPC_MoveChild1,
/*117710*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*117713*/                OPC_MoveChild0,
/*117714*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117717*/                OPC_RecordMemRef,
/*117718*/                OPC_RecordNode, // #8 = 'ld' chained node
/*117719*/                OPC_CheckFoldableChainNode,
/*117720*/                OPC_MoveChild1,
/*117721*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117724*/                OPC_CheckType, MVT::i64,
/*117726*/                OPC_Scope, 34|128,1/*162*/, /*->117891*/ // 2 children in Scope
/*117729*/                  OPC_CheckChild0Same, 3,
/*117731*/                  OPC_CheckChild1Integer, 3, 
/*117733*/                  OPC_MoveParent,
/*117734*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117736*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117738*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117740*/                  OPC_MoveParent,
/*117741*/                  OPC_MoveChild1,
/*117742*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117745*/                  OPC_RecordMemRef,
/*117746*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*117747*/                  OPC_CheckFoldableChainNode,
/*117748*/                  OPC_MoveChild1,
/*117749*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117752*/                  OPC_CheckChild0Same, 1,
/*117754*/                  OPC_CheckChild1Integer, 3, 
/*117756*/                  OPC_CheckType, MVT::i64,
/*117758*/                  OPC_MoveParent,
/*117759*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117761*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117763*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117765*/                  OPC_MoveParent,
/*117766*/                  OPC_MoveParent,
/*117767*/                  OPC_CheckType, MVT::i32,
/*117769*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*117771*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*117781*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*117784*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*117791*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*117797*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117800*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*117808*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117811*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*117819*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117822*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*117831*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*117837*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117840*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*117848*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117851*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*117859*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117862*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*117871*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*117880*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*117883*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*117891*/                /*Scope*/ 34|128,1/*162*/, /*->118055*/
/*117893*/                  OPC_CheckChild0Same, 1,
/*117895*/                  OPC_CheckChild1Integer, 3, 
/*117897*/                  OPC_MoveParent,
/*117898*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117900*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117902*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117904*/                  OPC_MoveParent,
/*117905*/                  OPC_MoveChild1,
/*117906*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*117909*/                  OPC_RecordMemRef,
/*117910*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*117911*/                  OPC_CheckFoldableChainNode,
/*117912*/                  OPC_MoveChild1,
/*117913*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*117916*/                  OPC_CheckChild0Same, 3,
/*117918*/                  OPC_CheckChild1Integer, 3, 
/*117920*/                  OPC_CheckType, MVT::i64,
/*117922*/                  OPC_MoveParent,
/*117923*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*117925*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*117927*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*117929*/                  OPC_MoveParent,
/*117930*/                  OPC_MoveParent,
/*117931*/                  OPC_CheckType, MVT::i32,
/*117933*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*117935*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*117945*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*117948*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*117955*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*117961*/                  OPC_EmitInteger, MVT::i64, 0, 
/*117964*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*117972*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*117975*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*117983*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*117986*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*117995*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*118001*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118004*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*118012*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118015*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*118023*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118026*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*118035*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*118044*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*118047*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*118055*/                0, /*End of Scope*/
/*118056*/              /*Scope*/ 2|128,3/*386*/, /*->118444*/
/*118058*/                OPC_CheckChild0Same, 1,
/*118060*/                OPC_CheckChild1Integer, 2, 
/*118062*/                OPC_MoveParent,
/*118063*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118065*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*118067*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118069*/                OPC_MoveParent,
/*118070*/                OPC_MoveChild1,
/*118071*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118074*/                OPC_RecordMemRef,
/*118075*/                OPC_RecordNode, // #7 = 'ld' chained node
/*118076*/                OPC_CheckFoldableChainNode,
/*118077*/                OPC_MoveChild1,
/*118078*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118081*/                OPC_CheckChild0Same, 3,
/*118083*/                OPC_CheckChild1Integer, 2, 
/*118085*/                OPC_CheckType, MVT::i64,
/*118087*/                OPC_MoveParent,
/*118088*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118090*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*118092*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118094*/                OPC_MoveParent,
/*118095*/                OPC_MoveParent,
/*118096*/                OPC_MoveParent,
/*118097*/                OPC_MoveChild1,
/*118098*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*118101*/                OPC_MoveChild0,
/*118102*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118105*/                OPC_RecordMemRef,
/*118106*/                OPC_RecordNode, // #8 = 'ld' chained node
/*118107*/                OPC_CheckFoldableChainNode,
/*118108*/                OPC_MoveChild1,
/*118109*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118112*/                OPC_CheckType, MVT::i64,
/*118114*/                OPC_Scope, 34|128,1/*162*/, /*->118279*/ // 2 children in Scope
/*118117*/                  OPC_CheckChild0Same, 3,
/*118119*/                  OPC_CheckChild1Integer, 3, 
/*118121*/                  OPC_MoveParent,
/*118122*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118124*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*118126*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118128*/                  OPC_MoveParent,
/*118129*/                  OPC_MoveChild1,
/*118130*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118133*/                  OPC_RecordMemRef,
/*118134*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*118135*/                  OPC_CheckFoldableChainNode,
/*118136*/                  OPC_MoveChild1,
/*118137*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118140*/                  OPC_CheckChild0Same, 1,
/*118142*/                  OPC_CheckChild1Integer, 3, 
/*118144*/                  OPC_CheckType, MVT::i64,
/*118146*/                  OPC_MoveParent,
/*118147*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118149*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*118151*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118153*/                  OPC_MoveParent,
/*118154*/                  OPC_MoveParent,
/*118155*/                  OPC_CheckType, MVT::i32,
/*118157*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*118159*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*118169*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*118172*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*118179*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*118185*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118188*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*118196*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118199*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*118207*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118210*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*118219*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*118225*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118228*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*118236*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118239*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*118247*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118250*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*118259*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*118268*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*118271*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*118279*/                /*Scope*/ 34|128,1/*162*/, /*->118443*/
/*118281*/                  OPC_CheckChild0Same, 1,
/*118283*/                  OPC_CheckChild1Integer, 3, 
/*118285*/                  OPC_MoveParent,
/*118286*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118288*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*118290*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118292*/                  OPC_MoveParent,
/*118293*/                  OPC_MoveChild1,
/*118294*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118297*/                  OPC_RecordMemRef,
/*118298*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*118299*/                  OPC_CheckFoldableChainNode,
/*118300*/                  OPC_MoveChild1,
/*118301*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118304*/                  OPC_CheckChild0Same, 3,
/*118306*/                  OPC_CheckChild1Integer, 3, 
/*118308*/                  OPC_CheckType, MVT::i64,
/*118310*/                  OPC_MoveParent,
/*118311*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118313*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*118315*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118317*/                  OPC_MoveParent,
/*118318*/                  OPC_MoveParent,
/*118319*/                  OPC_CheckType, MVT::i32,
/*118321*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*118323*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*118333*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*118336*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*118343*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*118349*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118352*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*118360*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118363*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*118371*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118374*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*118383*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*118389*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118392*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*118400*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118403*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*118411*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118414*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*118423*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*118432*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*118435*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*118443*/                0, /*End of Scope*/
/*118444*/              0, /*End of Scope*/
/*118445*/            0, /*End of Scope*/
/*118446*/          /*Scope*/ 2|128,25/*3202*/, /*->121650*/
/*118448*/            OPC_RecordChild1, // #1 = $Rn
/*118449*/            OPC_CheckChild1Type, MVT::i64,
/*118451*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118453*/            OPC_CheckPredicate, 7, // Predicate_zextload
/*118455*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118457*/            OPC_MoveParent,
/*118458*/            OPC_MoveChild1,
/*118459*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118462*/            OPC_RecordMemRef,
/*118463*/            OPC_RecordNode, // #2 = 'ld' chained node
/*118464*/            OPC_CheckFoldableChainNode,
/*118465*/            OPC_RecordChild1, // #3 = $Rm
/*118466*/            OPC_CheckChild1Type, MVT::i64,
/*118468*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118470*/            OPC_CheckPredicate, 7, // Predicate_zextload
/*118472*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118474*/            OPC_MoveParent,
/*118475*/            OPC_MoveParent,
/*118476*/            OPC_MoveChild1,
/*118477*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*118480*/            OPC_MoveChild0,
/*118481*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118484*/            OPC_RecordMemRef,
/*118485*/            OPC_RecordNode, // #4 = 'ld' chained node
/*118486*/            OPC_CheckFoldableChainNode,
/*118487*/            OPC_MoveChild1,
/*118488*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118491*/            OPC_CheckType, MVT::i64,
/*118493*/            OPC_Scope, 66|128,6/*834*/, /*->119330*/ // 3 children in Scope
/*118496*/              OPC_CheckChild0Same, 1,
/*118498*/              OPC_CheckChild1Integer, 1, 
/*118500*/              OPC_MoveParent,
/*118501*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118503*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*118505*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118507*/              OPC_MoveParent,
/*118508*/              OPC_MoveChild1,
/*118509*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118512*/              OPC_RecordMemRef,
/*118513*/              OPC_RecordNode, // #5 = 'ld' chained node
/*118514*/              OPC_CheckFoldableChainNode,
/*118515*/              OPC_MoveChild1,
/*118516*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118519*/              OPC_CheckChild0Same, 3,
/*118521*/              OPC_CheckChild1Integer, 1, 
/*118523*/              OPC_CheckType, MVT::i64,
/*118525*/              OPC_MoveParent,
/*118526*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118528*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*118530*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118532*/              OPC_MoveParent,
/*118533*/              OPC_MoveParent,
/*118534*/              OPC_MoveParent,
/*118535*/              OPC_MoveChild1,
/*118536*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*118539*/              OPC_MoveChild0,
/*118540*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118543*/              OPC_RecordMemRef,
/*118544*/              OPC_RecordNode, // #6 = 'ld' chained node
/*118545*/              OPC_CheckFoldableChainNode,
/*118546*/              OPC_MoveChild1,
/*118547*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118550*/              OPC_CheckType, MVT::i64,
/*118552*/              OPC_Scope, 2|128,3/*386*/, /*->118941*/ // 2 children in Scope
/*118555*/                OPC_CheckChild0Same, 1,
/*118557*/                OPC_CheckChild1Integer, 2, 
/*118559*/                OPC_MoveParent,
/*118560*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118562*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*118564*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118566*/                OPC_MoveParent,
/*118567*/                OPC_MoveChild1,
/*118568*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118571*/                OPC_RecordMemRef,
/*118572*/                OPC_RecordNode, // #7 = 'ld' chained node
/*118573*/                OPC_CheckFoldableChainNode,
/*118574*/                OPC_MoveChild1,
/*118575*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118578*/                OPC_CheckChild0Same, 3,
/*118580*/                OPC_CheckChild1Integer, 2, 
/*118582*/                OPC_CheckType, MVT::i64,
/*118584*/                OPC_MoveParent,
/*118585*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118587*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*118589*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118591*/                OPC_MoveParent,
/*118592*/                OPC_MoveParent,
/*118593*/                OPC_MoveParent,
/*118594*/                OPC_MoveChild1,
/*118595*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*118598*/                OPC_MoveChild0,
/*118599*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118602*/                OPC_RecordMemRef,
/*118603*/                OPC_RecordNode, // #8 = 'ld' chained node
/*118604*/                OPC_CheckFoldableChainNode,
/*118605*/                OPC_MoveChild1,
/*118606*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118609*/                OPC_CheckType, MVT::i64,
/*118611*/                OPC_Scope, 34|128,1/*162*/, /*->118776*/ // 2 children in Scope
/*118614*/                  OPC_CheckChild0Same, 1,
/*118616*/                  OPC_CheckChild1Integer, 3, 
/*118618*/                  OPC_MoveParent,
/*118619*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118621*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*118623*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118625*/                  OPC_MoveParent,
/*118626*/                  OPC_MoveChild1,
/*118627*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118630*/                  OPC_RecordMemRef,
/*118631*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*118632*/                  OPC_CheckFoldableChainNode,
/*118633*/                  OPC_MoveChild1,
/*118634*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118637*/                  OPC_CheckChild0Same, 3,
/*118639*/                  OPC_CheckChild1Integer, 3, 
/*118641*/                  OPC_CheckType, MVT::i64,
/*118643*/                  OPC_MoveParent,
/*118644*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118646*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*118648*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118650*/                  OPC_MoveParent,
/*118651*/                  OPC_MoveParent,
/*118652*/                  OPC_CheckType, MVT::i32,
/*118654*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*118656*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*118666*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*118669*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*118676*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*118682*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118685*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*118693*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118696*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*118704*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118707*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*118716*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*118722*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118725*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*118733*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118736*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*118744*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118747*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*118756*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*118765*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*118768*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*118776*/                /*Scope*/ 34|128,1/*162*/, /*->118940*/
/*118778*/                  OPC_CheckChild0Same, 3,
/*118780*/                  OPC_CheckChild1Integer, 3, 
/*118782*/                  OPC_MoveParent,
/*118783*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118785*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*118787*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118789*/                  OPC_MoveParent,
/*118790*/                  OPC_MoveChild1,
/*118791*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118794*/                  OPC_RecordMemRef,
/*118795*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*118796*/                  OPC_CheckFoldableChainNode,
/*118797*/                  OPC_MoveChild1,
/*118798*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118801*/                  OPC_CheckChild0Same, 1,
/*118803*/                  OPC_CheckChild1Integer, 3, 
/*118805*/                  OPC_CheckType, MVT::i64,
/*118807*/                  OPC_MoveParent,
/*118808*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118810*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*118812*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118814*/                  OPC_MoveParent,
/*118815*/                  OPC_MoveParent,
/*118816*/                  OPC_CheckType, MVT::i32,
/*118818*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*118820*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*118830*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*118833*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*118840*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*118846*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118849*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*118857*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118860*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*118868*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118871*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*118880*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*118886*/                  OPC_EmitInteger, MVT::i64, 0, 
/*118889*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*118897*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*118900*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*118908*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*118911*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*118920*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*118929*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*118932*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*118940*/                0, /*End of Scope*/
/*118941*/              /*Scope*/ 2|128,3/*386*/, /*->119329*/
/*118943*/                OPC_CheckChild0Same, 3,
/*118945*/                OPC_CheckChild1Integer, 2, 
/*118947*/                OPC_MoveParent,
/*118948*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118950*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*118952*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118954*/                OPC_MoveParent,
/*118955*/                OPC_MoveChild1,
/*118956*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118959*/                OPC_RecordMemRef,
/*118960*/                OPC_RecordNode, // #7 = 'ld' chained node
/*118961*/                OPC_CheckFoldableChainNode,
/*118962*/                OPC_MoveChild1,
/*118963*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118966*/                OPC_CheckChild0Same, 1,
/*118968*/                OPC_CheckChild1Integer, 2, 
/*118970*/                OPC_CheckType, MVT::i64,
/*118972*/                OPC_MoveParent,
/*118973*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*118975*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*118977*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*118979*/                OPC_MoveParent,
/*118980*/                OPC_MoveParent,
/*118981*/                OPC_MoveParent,
/*118982*/                OPC_MoveChild1,
/*118983*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*118986*/                OPC_MoveChild0,
/*118987*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*118990*/                OPC_RecordMemRef,
/*118991*/                OPC_RecordNode, // #8 = 'ld' chained node
/*118992*/                OPC_CheckFoldableChainNode,
/*118993*/                OPC_MoveChild1,
/*118994*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*118997*/                OPC_CheckType, MVT::i64,
/*118999*/                OPC_Scope, 34|128,1/*162*/, /*->119164*/ // 2 children in Scope
/*119002*/                  OPC_CheckChild0Same, 1,
/*119004*/                  OPC_CheckChild1Integer, 3, 
/*119006*/                  OPC_MoveParent,
/*119007*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119009*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119011*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119013*/                  OPC_MoveParent,
/*119014*/                  OPC_MoveChild1,
/*119015*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119018*/                  OPC_RecordMemRef,
/*119019*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*119020*/                  OPC_CheckFoldableChainNode,
/*119021*/                  OPC_MoveChild1,
/*119022*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119025*/                  OPC_CheckChild0Same, 3,
/*119027*/                  OPC_CheckChild1Integer, 3, 
/*119029*/                  OPC_CheckType, MVT::i64,
/*119031*/                  OPC_MoveParent,
/*119032*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119034*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119036*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119038*/                  OPC_MoveParent,
/*119039*/                  OPC_MoveParent,
/*119040*/                  OPC_CheckType, MVT::i32,
/*119042*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*119044*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*119054*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*119057*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*119064*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*119070*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119073*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*119081*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119084*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*119092*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119095*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*119104*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*119110*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119113*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*119121*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119124*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*119132*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119135*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*119144*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*119153*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*119156*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*119164*/                /*Scope*/ 34|128,1/*162*/, /*->119328*/
/*119166*/                  OPC_CheckChild0Same, 3,
/*119168*/                  OPC_CheckChild1Integer, 3, 
/*119170*/                  OPC_MoveParent,
/*119171*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119173*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119175*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119177*/                  OPC_MoveParent,
/*119178*/                  OPC_MoveChild1,
/*119179*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119182*/                  OPC_RecordMemRef,
/*119183*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*119184*/                  OPC_CheckFoldableChainNode,
/*119185*/                  OPC_MoveChild1,
/*119186*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119189*/                  OPC_CheckChild0Same, 1,
/*119191*/                  OPC_CheckChild1Integer, 3, 
/*119193*/                  OPC_CheckType, MVT::i64,
/*119195*/                  OPC_MoveParent,
/*119196*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119198*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119200*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119202*/                  OPC_MoveParent,
/*119203*/                  OPC_MoveParent,
/*119204*/                  OPC_CheckType, MVT::i32,
/*119206*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*119208*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*119218*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*119221*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*119228*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*119234*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119237*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*119245*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119248*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*119256*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119259*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*119268*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*119274*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119277*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*119285*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119288*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*119296*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119299*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*119308*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*119317*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*119320*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*119328*/                0, /*End of Scope*/
/*119329*/              0, /*End of Scope*/
/*119330*/            /*Scope*/ 73|128,11/*1481*/, /*->120813*/
/*119332*/              OPC_CheckChild0Same, 3,
/*119334*/              OPC_CheckChild1Integer, 1, 
/*119336*/              OPC_MoveParent,
/*119337*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119339*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*119341*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119343*/              OPC_MoveParent,
/*119344*/              OPC_MoveChild1,
/*119345*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119348*/              OPC_RecordMemRef,
/*119349*/              OPC_RecordNode, // #5 = 'ld' chained node
/*119350*/              OPC_CheckFoldableChainNode,
/*119351*/              OPC_MoveChild1,
/*119352*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119355*/              OPC_CheckChild0Same, 1,
/*119357*/              OPC_CheckChild1Integer, 1, 
/*119359*/              OPC_CheckType, MVT::i64,
/*119361*/              OPC_MoveParent,
/*119362*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119364*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*119366*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119368*/              OPC_MoveParent,
/*119369*/              OPC_MoveParent,
/*119370*/              OPC_MoveParent,
/*119371*/              OPC_MoveChild1,
/*119372*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*119375*/              OPC_MoveChild0,
/*119376*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119379*/              OPC_RecordMemRef,
/*119380*/              OPC_RecordNode, // #6 = 'ld' chained node
/*119381*/              OPC_CheckFoldableChainNode,
/*119382*/              OPC_MoveChild1,
/*119383*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119386*/              OPC_CheckType, MVT::i64,
/*119388*/              OPC_Scope, 2|128,3/*386*/, /*->119777*/ // 3 children in Scope
/*119391*/                OPC_CheckChild0Same, 1,
/*119393*/                OPC_CheckChild1Integer, 2, 
/*119395*/                OPC_MoveParent,
/*119396*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119398*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*119400*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119402*/                OPC_MoveParent,
/*119403*/                OPC_MoveChild1,
/*119404*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119407*/                OPC_RecordMemRef,
/*119408*/                OPC_RecordNode, // #7 = 'ld' chained node
/*119409*/                OPC_CheckFoldableChainNode,
/*119410*/                OPC_MoveChild1,
/*119411*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119414*/                OPC_CheckChild0Same, 3,
/*119416*/                OPC_CheckChild1Integer, 2, 
/*119418*/                OPC_CheckType, MVT::i64,
/*119420*/                OPC_MoveParent,
/*119421*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119423*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*119425*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119427*/                OPC_MoveParent,
/*119428*/                OPC_MoveParent,
/*119429*/                OPC_MoveParent,
/*119430*/                OPC_MoveChild1,
/*119431*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*119434*/                OPC_MoveChild0,
/*119435*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119438*/                OPC_RecordMemRef,
/*119439*/                OPC_RecordNode, // #8 = 'ld' chained node
/*119440*/                OPC_CheckFoldableChainNode,
/*119441*/                OPC_MoveChild1,
/*119442*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119445*/                OPC_CheckType, MVT::i64,
/*119447*/                OPC_Scope, 34|128,1/*162*/, /*->119612*/ // 2 children in Scope
/*119450*/                  OPC_CheckChild0Same, 1,
/*119452*/                  OPC_CheckChild1Integer, 3, 
/*119454*/                  OPC_MoveParent,
/*119455*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119457*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119459*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119461*/                  OPC_MoveParent,
/*119462*/                  OPC_MoveChild1,
/*119463*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119466*/                  OPC_RecordMemRef,
/*119467*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*119468*/                  OPC_CheckFoldableChainNode,
/*119469*/                  OPC_MoveChild1,
/*119470*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119473*/                  OPC_CheckChild0Same, 3,
/*119475*/                  OPC_CheckChild1Integer, 3, 
/*119477*/                  OPC_CheckType, MVT::i64,
/*119479*/                  OPC_MoveParent,
/*119480*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119482*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119484*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119486*/                  OPC_MoveParent,
/*119487*/                  OPC_MoveParent,
/*119488*/                  OPC_CheckType, MVT::i32,
/*119490*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*119492*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*119502*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*119505*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*119512*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*119518*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119521*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*119529*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119532*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*119540*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119543*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*119552*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*119558*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119561*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*119569*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119572*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*119580*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119583*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*119592*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*119601*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*119604*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*119612*/                /*Scope*/ 34|128,1/*162*/, /*->119776*/
/*119614*/                  OPC_CheckChild0Same, 3,
/*119616*/                  OPC_CheckChild1Integer, 3, 
/*119618*/                  OPC_MoveParent,
/*119619*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119621*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119623*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119625*/                  OPC_MoveParent,
/*119626*/                  OPC_MoveChild1,
/*119627*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119630*/                  OPC_RecordMemRef,
/*119631*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*119632*/                  OPC_CheckFoldableChainNode,
/*119633*/                  OPC_MoveChild1,
/*119634*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119637*/                  OPC_CheckChild0Same, 1,
/*119639*/                  OPC_CheckChild1Integer, 3, 
/*119641*/                  OPC_CheckType, MVT::i64,
/*119643*/                  OPC_MoveParent,
/*119644*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119646*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119648*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119650*/                  OPC_MoveParent,
/*119651*/                  OPC_MoveParent,
/*119652*/                  OPC_CheckType, MVT::i32,
/*119654*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*119656*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*119666*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*119669*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*119676*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*119682*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119685*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*119693*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119696*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*119704*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119707*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*119716*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*119722*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119725*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*119733*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119736*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*119744*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119747*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*119756*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*119765*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*119768*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*119776*/                0, /*End of Scope*/
/*119777*/              /*Scope*/ 5|128,5/*645*/, /*->120424*/
/*119779*/                OPC_CheckChild0Same, 3,
/*119781*/                OPC_CheckChild1Integer, 2, 
/*119783*/                OPC_MoveParent,
/*119784*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119786*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*119788*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119790*/                OPC_MoveParent,
/*119791*/                OPC_MoveChild1,
/*119792*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119795*/                OPC_RecordMemRef,
/*119796*/                OPC_RecordNode, // #7 = 'ld' chained node
/*119797*/                OPC_CheckFoldableChainNode,
/*119798*/                OPC_MoveChild1,
/*119799*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119802*/                OPC_CheckChild0Same, 1,
/*119804*/                OPC_CheckChild1Integer, 2, 
/*119806*/                OPC_CheckType, MVT::i64,
/*119808*/                OPC_MoveParent,
/*119809*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119811*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*119813*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119815*/                OPC_MoveParent,
/*119816*/                OPC_MoveParent,
/*119817*/                OPC_MoveParent,
/*119818*/                OPC_MoveChild1,
/*119819*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*119822*/                OPC_MoveChild0,
/*119823*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119826*/                OPC_RecordMemRef,
/*119827*/                OPC_RecordNode, // #8 = 'ld' chained node
/*119828*/                OPC_CheckFoldableChainNode,
/*119829*/                OPC_MoveChild1,
/*119830*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119833*/                OPC_CheckType, MVT::i64,
/*119835*/                OPC_Scope, 34|128,1/*162*/, /*->120000*/ // 3 children in Scope
/*119838*/                  OPC_CheckChild0Same, 1,
/*119840*/                  OPC_CheckChild1Integer, 3, 
/*119842*/                  OPC_MoveParent,
/*119843*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119845*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119847*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119849*/                  OPC_MoveParent,
/*119850*/                  OPC_MoveChild1,
/*119851*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*119854*/                  OPC_RecordMemRef,
/*119855*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*119856*/                  OPC_CheckFoldableChainNode,
/*119857*/                  OPC_MoveChild1,
/*119858*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*119861*/                  OPC_CheckChild0Same, 3,
/*119863*/                  OPC_CheckChild1Integer, 3, 
/*119865*/                  OPC_CheckType, MVT::i64,
/*119867*/                  OPC_MoveParent,
/*119868*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*119870*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*119872*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*119874*/                  OPC_MoveParent,
/*119875*/                  OPC_MoveParent,
/*119876*/                  OPC_CheckType, MVT::i32,
/*119878*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*119880*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*119890*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*119893*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*119900*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*119906*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119909*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*119917*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119920*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*119928*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119931*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*119940*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*119946*/                  OPC_EmitInteger, MVT::i64, 0, 
/*119949*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*119957*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*119960*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*119968*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*119971*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*119980*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*119989*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*119992*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*120000*/                /*Scope*/ 1|128,2/*257*/, /*->120259*/
/*120002*/                  OPC_CheckChild0Same, 3,
/*120004*/                  OPC_CheckChild1Integer, 3, 
/*120006*/                  OPC_MoveParent,
/*120007*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120009*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120011*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120013*/                  OPC_MoveParent,
/*120014*/                  OPC_MoveChild1,
/*120015*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120018*/                  OPC_RecordMemRef,
/*120019*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*120020*/                  OPC_CheckFoldableChainNode,
/*120021*/                  OPC_MoveChild1,
/*120022*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120025*/                  OPC_CheckChild0Same, 1,
/*120027*/                  OPC_CheckChild1Integer, 3, 
/*120029*/                  OPC_CheckType, MVT::i64,
/*120031*/                  OPC_MoveParent,
/*120032*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120034*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120036*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120038*/                  OPC_MoveParent,
/*120039*/                  OPC_MoveParent,
/*120040*/                  OPC_CheckType, MVT::i32,
/*120042*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*120044*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*120054*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*120057*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*120064*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*120070*/                  OPC_EmitInteger, MVT::i64, 0, 
/*120073*/                  OPC_Scope, 91, /*->120166*/ // 2 children in Scope
/*120075*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*120083*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120086*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*120094*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120097*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*120106*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*120112*/                    OPC_EmitInteger, MVT::i64, 0, 
/*120115*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*120123*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120126*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*120134*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120137*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*120146*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*120155*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*120158*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*120166*/                  /*Scope*/ 91, /*->120258*/
/*120167*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*120175*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120178*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*120186*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120189*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*120198*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*120204*/                    OPC_EmitInteger, MVT::i64, 0, 
/*120207*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*120215*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120218*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*120226*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120229*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*120238*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*120247*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*120250*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*120258*/                  0, /*End of Scope*/
/*120259*/                /*Scope*/ 34|128,1/*162*/, /*->120423*/
/*120261*/                  OPC_CheckChild0Same, 1,
/*120263*/                  OPC_CheckChild1Integer, 3, 
/*120265*/                  OPC_MoveParent,
/*120266*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120268*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120270*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120272*/                  OPC_MoveParent,
/*120273*/                  OPC_MoveChild1,
/*120274*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120277*/                  OPC_RecordMemRef,
/*120278*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*120279*/                  OPC_CheckFoldableChainNode,
/*120280*/                  OPC_MoveChild1,
/*120281*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120284*/                  OPC_CheckChild0Same, 3,
/*120286*/                  OPC_CheckChild1Integer, 3, 
/*120288*/                  OPC_CheckType, MVT::i64,
/*120290*/                  OPC_MoveParent,
/*120291*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120293*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120295*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120297*/                  OPC_MoveParent,
/*120298*/                  OPC_MoveParent,
/*120299*/                  OPC_CheckType, MVT::i32,
/*120301*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*120303*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*120313*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*120316*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*120323*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*120329*/                  OPC_EmitInteger, MVT::i64, 0, 
/*120332*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*120340*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120343*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*120351*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120354*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*120363*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*120369*/                  OPC_EmitInteger, MVT::i64, 0, 
/*120372*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*120380*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120383*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*120391*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120394*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*120403*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*120412*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*120415*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*120423*/                0, /*End of Scope*/
/*120424*/              /*Scope*/ 2|128,3/*386*/, /*->120812*/
/*120426*/                OPC_CheckChild0Same, 1,
/*120428*/                OPC_CheckChild1Integer, 2, 
/*120430*/                OPC_MoveParent,
/*120431*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120433*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*120435*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120437*/                OPC_MoveParent,
/*120438*/                OPC_MoveChild1,
/*120439*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120442*/                OPC_RecordMemRef,
/*120443*/                OPC_RecordNode, // #7 = 'ld' chained node
/*120444*/                OPC_CheckFoldableChainNode,
/*120445*/                OPC_MoveChild1,
/*120446*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120449*/                OPC_CheckChild0Same, 3,
/*120451*/                OPC_CheckChild1Integer, 2, 
/*120453*/                OPC_CheckType, MVT::i64,
/*120455*/                OPC_MoveParent,
/*120456*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120458*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*120460*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120462*/                OPC_MoveParent,
/*120463*/                OPC_MoveParent,
/*120464*/                OPC_MoveParent,
/*120465*/                OPC_MoveChild1,
/*120466*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*120469*/                OPC_MoveChild0,
/*120470*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120473*/                OPC_RecordMemRef,
/*120474*/                OPC_RecordNode, // #8 = 'ld' chained node
/*120475*/                OPC_CheckFoldableChainNode,
/*120476*/                OPC_MoveChild1,
/*120477*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120480*/                OPC_CheckType, MVT::i64,
/*120482*/                OPC_Scope, 34|128,1/*162*/, /*->120647*/ // 2 children in Scope
/*120485*/                  OPC_CheckChild0Same, 3,
/*120487*/                  OPC_CheckChild1Integer, 3, 
/*120489*/                  OPC_MoveParent,
/*120490*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120492*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120494*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120496*/                  OPC_MoveParent,
/*120497*/                  OPC_MoveChild1,
/*120498*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120501*/                  OPC_RecordMemRef,
/*120502*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*120503*/                  OPC_CheckFoldableChainNode,
/*120504*/                  OPC_MoveChild1,
/*120505*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120508*/                  OPC_CheckChild0Same, 1,
/*120510*/                  OPC_CheckChild1Integer, 3, 
/*120512*/                  OPC_CheckType, MVT::i64,
/*120514*/                  OPC_MoveParent,
/*120515*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120517*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120519*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120521*/                  OPC_MoveParent,
/*120522*/                  OPC_MoveParent,
/*120523*/                  OPC_CheckType, MVT::i32,
/*120525*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*120527*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*120537*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*120540*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*120547*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*120553*/                  OPC_EmitInteger, MVT::i64, 0, 
/*120556*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*120564*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120567*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*120575*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120578*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*120587*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*120593*/                  OPC_EmitInteger, MVT::i64, 0, 
/*120596*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*120604*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120607*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*120615*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120618*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*120627*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*120636*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*120639*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*120647*/                /*Scope*/ 34|128,1/*162*/, /*->120811*/
/*120649*/                  OPC_CheckChild0Same, 1,
/*120651*/                  OPC_CheckChild1Integer, 3, 
/*120653*/                  OPC_MoveParent,
/*120654*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120656*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120658*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120660*/                  OPC_MoveParent,
/*120661*/                  OPC_MoveChild1,
/*120662*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120665*/                  OPC_RecordMemRef,
/*120666*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*120667*/                  OPC_CheckFoldableChainNode,
/*120668*/                  OPC_MoveChild1,
/*120669*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120672*/                  OPC_CheckChild0Same, 3,
/*120674*/                  OPC_CheckChild1Integer, 3, 
/*120676*/                  OPC_CheckType, MVT::i64,
/*120678*/                  OPC_MoveParent,
/*120679*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120681*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120683*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120685*/                  OPC_MoveParent,
/*120686*/                  OPC_MoveParent,
/*120687*/                  OPC_CheckType, MVT::i32,
/*120689*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*120691*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*120701*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*120704*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*120711*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*120717*/                  OPC_EmitInteger, MVT::i64, 0, 
/*120720*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*120728*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120731*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*120739*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120742*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*120751*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*120757*/                  OPC_EmitInteger, MVT::i64, 0, 
/*120760*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*120768*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*120771*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*120779*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*120782*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*120791*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*120800*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*120803*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*120811*/                0, /*End of Scope*/
/*120812*/              0, /*End of Scope*/
/*120813*/            /*Scope*/ 66|128,6/*834*/, /*->121649*/
/*120815*/              OPC_CheckChild0Same, 1,
/*120817*/              OPC_CheckChild1Integer, 1, 
/*120819*/              OPC_MoveParent,
/*120820*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120822*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*120824*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120826*/              OPC_MoveParent,
/*120827*/              OPC_MoveChild1,
/*120828*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120831*/              OPC_RecordMemRef,
/*120832*/              OPC_RecordNode, // #5 = 'ld' chained node
/*120833*/              OPC_CheckFoldableChainNode,
/*120834*/              OPC_MoveChild1,
/*120835*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120838*/              OPC_CheckChild0Same, 3,
/*120840*/              OPC_CheckChild1Integer, 1, 
/*120842*/              OPC_CheckType, MVT::i64,
/*120844*/              OPC_MoveParent,
/*120845*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120847*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*120849*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120851*/              OPC_MoveParent,
/*120852*/              OPC_MoveParent,
/*120853*/              OPC_MoveParent,
/*120854*/              OPC_MoveChild1,
/*120855*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*120858*/              OPC_MoveChild0,
/*120859*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120862*/              OPC_RecordMemRef,
/*120863*/              OPC_RecordNode, // #6 = 'ld' chained node
/*120864*/              OPC_CheckFoldableChainNode,
/*120865*/              OPC_MoveChild1,
/*120866*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120869*/              OPC_CheckType, MVT::i64,
/*120871*/              OPC_Scope, 2|128,3/*386*/, /*->121260*/ // 2 children in Scope
/*120874*/                OPC_CheckChild0Same, 3,
/*120876*/                OPC_CheckChild1Integer, 2, 
/*120878*/                OPC_MoveParent,
/*120879*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120881*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*120883*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120885*/                OPC_MoveParent,
/*120886*/                OPC_MoveChild1,
/*120887*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120890*/                OPC_RecordMemRef,
/*120891*/                OPC_RecordNode, // #7 = 'ld' chained node
/*120892*/                OPC_CheckFoldableChainNode,
/*120893*/                OPC_MoveChild1,
/*120894*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120897*/                OPC_CheckChild0Same, 1,
/*120899*/                OPC_CheckChild1Integer, 2, 
/*120901*/                OPC_CheckType, MVT::i64,
/*120903*/                OPC_MoveParent,
/*120904*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120906*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*120908*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120910*/                OPC_MoveParent,
/*120911*/                OPC_MoveParent,
/*120912*/                OPC_MoveParent,
/*120913*/                OPC_MoveChild1,
/*120914*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*120917*/                OPC_MoveChild0,
/*120918*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120921*/                OPC_RecordMemRef,
/*120922*/                OPC_RecordNode, // #8 = 'ld' chained node
/*120923*/                OPC_CheckFoldableChainNode,
/*120924*/                OPC_MoveChild1,
/*120925*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120928*/                OPC_CheckType, MVT::i64,
/*120930*/                OPC_Scope, 34|128,1/*162*/, /*->121095*/ // 2 children in Scope
/*120933*/                  OPC_CheckChild0Same, 3,
/*120935*/                  OPC_CheckChild1Integer, 3, 
/*120937*/                  OPC_MoveParent,
/*120938*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120940*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120942*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120944*/                  OPC_MoveParent,
/*120945*/                  OPC_MoveChild1,
/*120946*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*120949*/                  OPC_RecordMemRef,
/*120950*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*120951*/                  OPC_CheckFoldableChainNode,
/*120952*/                  OPC_MoveChild1,
/*120953*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*120956*/                  OPC_CheckChild0Same, 1,
/*120958*/                  OPC_CheckChild1Integer, 3, 
/*120960*/                  OPC_CheckType, MVT::i64,
/*120962*/                  OPC_MoveParent,
/*120963*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*120965*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*120967*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*120969*/                  OPC_MoveParent,
/*120970*/                  OPC_MoveParent,
/*120971*/                  OPC_CheckType, MVT::i32,
/*120973*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*120975*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*120985*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*120988*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*120995*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*121001*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121004*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*121012*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121015*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*121023*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121026*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*121035*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*121041*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121044*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*121052*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121055*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*121063*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121066*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*121075*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*121084*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*121087*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*121095*/                /*Scope*/ 34|128,1/*162*/, /*->121259*/
/*121097*/                  OPC_CheckChild0Same, 1,
/*121099*/                  OPC_CheckChild1Integer, 3, 
/*121101*/                  OPC_MoveParent,
/*121102*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121104*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*121106*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*121108*/                  OPC_MoveParent,
/*121109*/                  OPC_MoveChild1,
/*121110*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121113*/                  OPC_RecordMemRef,
/*121114*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*121115*/                  OPC_CheckFoldableChainNode,
/*121116*/                  OPC_MoveChild1,
/*121117*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121120*/                  OPC_CheckChild0Same, 3,
/*121122*/                  OPC_CheckChild1Integer, 3, 
/*121124*/                  OPC_CheckType, MVT::i64,
/*121126*/                  OPC_MoveParent,
/*121127*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121129*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*121131*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*121133*/                  OPC_MoveParent,
/*121134*/                  OPC_MoveParent,
/*121135*/                  OPC_CheckType, MVT::i32,
/*121137*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*121139*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*121149*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*121152*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*121159*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*121165*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121168*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*121176*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121179*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*121187*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121190*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*121199*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*121205*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121208*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*121216*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121219*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*121227*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121230*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*121239*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*121248*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*121251*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*121259*/                0, /*End of Scope*/
/*121260*/              /*Scope*/ 2|128,3/*386*/, /*->121648*/
/*121262*/                OPC_CheckChild0Same, 1,
/*121264*/                OPC_CheckChild1Integer, 2, 
/*121266*/                OPC_MoveParent,
/*121267*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121269*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*121271*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*121273*/                OPC_MoveParent,
/*121274*/                OPC_MoveChild1,
/*121275*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121278*/                OPC_RecordMemRef,
/*121279*/                OPC_RecordNode, // #7 = 'ld' chained node
/*121280*/                OPC_CheckFoldableChainNode,
/*121281*/                OPC_MoveChild1,
/*121282*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121285*/                OPC_CheckChild0Same, 3,
/*121287*/                OPC_CheckChild1Integer, 2, 
/*121289*/                OPC_CheckType, MVT::i64,
/*121291*/                OPC_MoveParent,
/*121292*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121294*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*121296*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*121298*/                OPC_MoveParent,
/*121299*/                OPC_MoveParent,
/*121300*/                OPC_MoveParent,
/*121301*/                OPC_MoveChild1,
/*121302*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*121305*/                OPC_MoveChild0,
/*121306*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121309*/                OPC_RecordMemRef,
/*121310*/                OPC_RecordNode, // #8 = 'ld' chained node
/*121311*/                OPC_CheckFoldableChainNode,
/*121312*/                OPC_MoveChild1,
/*121313*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121316*/                OPC_CheckType, MVT::i64,
/*121318*/                OPC_Scope, 34|128,1/*162*/, /*->121483*/ // 2 children in Scope
/*121321*/                  OPC_CheckChild0Same, 3,
/*121323*/                  OPC_CheckChild1Integer, 3, 
/*121325*/                  OPC_MoveParent,
/*121326*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121328*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*121330*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*121332*/                  OPC_MoveParent,
/*121333*/                  OPC_MoveChild1,
/*121334*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121337*/                  OPC_RecordMemRef,
/*121338*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*121339*/                  OPC_CheckFoldableChainNode,
/*121340*/                  OPC_MoveChild1,
/*121341*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121344*/                  OPC_CheckChild0Same, 1,
/*121346*/                  OPC_CheckChild1Integer, 3, 
/*121348*/                  OPC_CheckType, MVT::i64,
/*121350*/                  OPC_MoveParent,
/*121351*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121353*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*121355*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*121357*/                  OPC_MoveParent,
/*121358*/                  OPC_MoveParent,
/*121359*/                  OPC_CheckType, MVT::i32,
/*121361*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*121363*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*121373*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*121376*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*121383*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*121389*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121392*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*121400*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121403*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*121411*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121414*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*121423*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*121429*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121432*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*121440*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121443*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*121451*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121454*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*121463*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*121472*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*121475*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*121483*/                /*Scope*/ 34|128,1/*162*/, /*->121647*/
/*121485*/                  OPC_CheckChild0Same, 1,
/*121487*/                  OPC_CheckChild1Integer, 3, 
/*121489*/                  OPC_MoveParent,
/*121490*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121492*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*121494*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*121496*/                  OPC_MoveParent,
/*121497*/                  OPC_MoveChild1,
/*121498*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121501*/                  OPC_RecordMemRef,
/*121502*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*121503*/                  OPC_CheckFoldableChainNode,
/*121504*/                  OPC_MoveChild1,
/*121505*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121508*/                  OPC_CheckChild0Same, 3,
/*121510*/                  OPC_CheckChild1Integer, 3, 
/*121512*/                  OPC_CheckType, MVT::i64,
/*121514*/                  OPC_MoveParent,
/*121515*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121517*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*121519*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*121521*/                  OPC_MoveParent,
/*121522*/                  OPC_MoveParent,
/*121523*/                  OPC_CheckType, MVT::i32,
/*121525*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*121527*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*121537*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*121540*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*121547*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*121553*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121556*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*121564*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121567*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*121575*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121578*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*121587*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*121593*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121596*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*121604*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121607*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*121615*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121618*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*121627*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*121636*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*121639*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*121647*/                0, /*End of Scope*/
/*121648*/              0, /*End of Scope*/
/*121649*/            0, /*End of Scope*/
/*121650*/          0, /*End of Scope*/
/*121651*/        /*SwitchOpcode*/ 121|128,38|128,2/*37753*/, TARGET_VAL(ISD::MUL),// ->159409
/*121656*/          OPC_MoveChild0,
/*121657*/          OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121660*/          OPC_RecordMemRef,
/*121661*/          OPC_RecordNode, // #0 = 'ld' chained node
/*121662*/          OPC_CheckFoldableChainNode,
/*121663*/          OPC_Scope, 99|128,49/*6371*/, /*->128037*/ // 4 children in Scope
/*121666*/            OPC_RecordChild1, // #1 = $Rn
/*121667*/            OPC_CheckChild1Type, MVT::i64,
/*121669*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121671*/            OPC_CheckPredicate, 5, // Predicate_sextload
/*121673*/            OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*121675*/            OPC_MoveParent,
/*121676*/            OPC_MoveChild1,
/*121677*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121680*/            OPC_RecordMemRef,
/*121681*/            OPC_RecordNode, // #2 = 'ld' chained node
/*121682*/            OPC_CheckFoldableChainNode,
/*121683*/            OPC_RecordChild1, // #3 = $Rm
/*121684*/            OPC_CheckChild1Type, MVT::i64,
/*121686*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121688*/            OPC_CheckPredicate, 5, // Predicate_sextload
/*121690*/            OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*121692*/            OPC_MoveParent,
/*121693*/            OPC_MoveParent,
/*121694*/            OPC_MoveChild1,
/*121695*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121698*/            OPC_MoveChild0,
/*121699*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*121702*/            OPC_MoveChild0,
/*121703*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121706*/            OPC_RecordMemRef,
/*121707*/            OPC_RecordNode, // #4 = 'ld' chained node
/*121708*/            OPC_CheckFoldableChainNode,
/*121709*/            OPC_MoveChild1,
/*121710*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121713*/            OPC_CheckType, MVT::i64,
/*121715*/            OPC_Scope, 67|128,6/*835*/, /*->122553*/ // 5 children in Scope
/*121718*/              OPC_CheckChild0Same, 1,
/*121720*/              OPC_CheckChild1Integer, 2, 
/*121722*/              OPC_MoveParent,
/*121723*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121725*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*121727*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*121729*/              OPC_MoveParent,
/*121730*/              OPC_MoveChild1,
/*121731*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121734*/              OPC_RecordMemRef,
/*121735*/              OPC_RecordNode, // #5 = 'ld' chained node
/*121736*/              OPC_CheckFoldableChainNode,
/*121737*/              OPC_MoveChild1,
/*121738*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121741*/              OPC_CheckChild0Same, 3,
/*121743*/              OPC_CheckChild1Integer, 2, 
/*121745*/              OPC_CheckType, MVT::i64,
/*121747*/              OPC_MoveParent,
/*121748*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121750*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*121752*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*121754*/              OPC_MoveParent,
/*121755*/              OPC_MoveParent,
/*121756*/              OPC_MoveChild1,
/*121757*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*121760*/              OPC_MoveChild0,
/*121761*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121764*/              OPC_RecordMemRef,
/*121765*/              OPC_RecordNode, // #6 = 'ld' chained node
/*121766*/              OPC_CheckFoldableChainNode,
/*121767*/              OPC_MoveChild1,
/*121768*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121771*/              OPC_CheckType, MVT::i64,
/*121773*/              OPC_Scope, 3|128,3/*387*/, /*->122163*/ // 2 children in Scope
/*121776*/                OPC_CheckChild0Same, 1,
/*121778*/                OPC_CheckChild1Integer, 1, 
/*121780*/                OPC_MoveParent,
/*121781*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121783*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*121785*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*121787*/                OPC_MoveParent,
/*121788*/                OPC_MoveChild1,
/*121789*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121792*/                OPC_RecordMemRef,
/*121793*/                OPC_RecordNode, // #7 = 'ld' chained node
/*121794*/                OPC_CheckFoldableChainNode,
/*121795*/                OPC_MoveChild1,
/*121796*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121799*/                OPC_CheckChild0Same, 3,
/*121801*/                OPC_CheckChild1Integer, 1, 
/*121803*/                OPC_CheckType, MVT::i64,
/*121805*/                OPC_MoveParent,
/*121806*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121808*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*121810*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*121812*/                OPC_MoveParent,
/*121813*/                OPC_MoveParent,
/*121814*/                OPC_MoveParent,
/*121815*/                OPC_MoveParent,
/*121816*/                OPC_MoveChild1,
/*121817*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*121820*/                OPC_MoveChild0,
/*121821*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121824*/                OPC_RecordMemRef,
/*121825*/                OPC_RecordNode, // #8 = 'ld' chained node
/*121826*/                OPC_CheckFoldableChainNode,
/*121827*/                OPC_MoveChild1,
/*121828*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121831*/                OPC_CheckType, MVT::i64,
/*121833*/                OPC_Scope, 34|128,1/*162*/, /*->121998*/ // 2 children in Scope
/*121836*/                  OPC_CheckChild0Same, 1,
/*121838*/                  OPC_CheckChild1Integer, 3, 
/*121840*/                  OPC_MoveParent,
/*121841*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121843*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*121845*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*121847*/                  OPC_MoveParent,
/*121848*/                  OPC_MoveChild1,
/*121849*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*121852*/                  OPC_RecordMemRef,
/*121853*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*121854*/                  OPC_CheckFoldableChainNode,
/*121855*/                  OPC_MoveChild1,
/*121856*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*121859*/                  OPC_CheckChild0Same, 3,
/*121861*/                  OPC_CheckChild1Integer, 3, 
/*121863*/                  OPC_CheckType, MVT::i64,
/*121865*/                  OPC_MoveParent,
/*121866*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*121868*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*121870*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*121872*/                  OPC_MoveParent,
/*121873*/                  OPC_MoveParent,
/*121874*/                  OPC_CheckType, MVT::i32,
/*121876*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*121878*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*121888*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*121891*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*121898*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*121904*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121907*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*121915*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121918*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*121926*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121929*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*121938*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*121944*/                  OPC_EmitInteger, MVT::i64, 0, 
/*121947*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*121955*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*121958*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*121966*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*121969*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*121978*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*121987*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*121990*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*121998*/                /*Scope*/ 34|128,1/*162*/, /*->122162*/
/*122000*/                  OPC_CheckChild0Same, 3,
/*122002*/                  OPC_CheckChild1Integer, 3, 
/*122004*/                  OPC_MoveParent,
/*122005*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122007*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122009*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122011*/                  OPC_MoveParent,
/*122012*/                  OPC_MoveChild1,
/*122013*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122016*/                  OPC_RecordMemRef,
/*122017*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*122018*/                  OPC_CheckFoldableChainNode,
/*122019*/                  OPC_MoveChild1,
/*122020*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122023*/                  OPC_CheckChild0Same, 1,
/*122025*/                  OPC_CheckChild1Integer, 3, 
/*122027*/                  OPC_CheckType, MVT::i64,
/*122029*/                  OPC_MoveParent,
/*122030*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122032*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122034*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122036*/                  OPC_MoveParent,
/*122037*/                  OPC_MoveParent,
/*122038*/                  OPC_CheckType, MVT::i32,
/*122040*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*122042*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*122052*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*122055*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*122062*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*122068*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122071*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*122079*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122082*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*122090*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122093*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*122102*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*122108*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122111*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*122119*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122122*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*122130*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122133*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*122142*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*122151*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*122154*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*122162*/                0, /*End of Scope*/
/*122163*/              /*Scope*/ 3|128,3/*387*/, /*->122552*/
/*122165*/                OPC_CheckChild0Same, 3,
/*122167*/                OPC_CheckChild1Integer, 1, 
/*122169*/                OPC_MoveParent,
/*122170*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122172*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*122174*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122176*/                OPC_MoveParent,
/*122177*/                OPC_MoveChild1,
/*122178*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122181*/                OPC_RecordMemRef,
/*122182*/                OPC_RecordNode, // #7 = 'ld' chained node
/*122183*/                OPC_CheckFoldableChainNode,
/*122184*/                OPC_MoveChild1,
/*122185*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122188*/                OPC_CheckChild0Same, 1,
/*122190*/                OPC_CheckChild1Integer, 1, 
/*122192*/                OPC_CheckType, MVT::i64,
/*122194*/                OPC_MoveParent,
/*122195*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122197*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*122199*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122201*/                OPC_MoveParent,
/*122202*/                OPC_MoveParent,
/*122203*/                OPC_MoveParent,
/*122204*/                OPC_MoveParent,
/*122205*/                OPC_MoveChild1,
/*122206*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*122209*/                OPC_MoveChild0,
/*122210*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122213*/                OPC_RecordMemRef,
/*122214*/                OPC_RecordNode, // #8 = 'ld' chained node
/*122215*/                OPC_CheckFoldableChainNode,
/*122216*/                OPC_MoveChild1,
/*122217*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122220*/                OPC_CheckType, MVT::i64,
/*122222*/                OPC_Scope, 34|128,1/*162*/, /*->122387*/ // 2 children in Scope
/*122225*/                  OPC_CheckChild0Same, 1,
/*122227*/                  OPC_CheckChild1Integer, 3, 
/*122229*/                  OPC_MoveParent,
/*122230*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122232*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122234*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122236*/                  OPC_MoveParent,
/*122237*/                  OPC_MoveChild1,
/*122238*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122241*/                  OPC_RecordMemRef,
/*122242*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*122243*/                  OPC_CheckFoldableChainNode,
/*122244*/                  OPC_MoveChild1,
/*122245*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122248*/                  OPC_CheckChild0Same, 3,
/*122250*/                  OPC_CheckChild1Integer, 3, 
/*122252*/                  OPC_CheckType, MVT::i64,
/*122254*/                  OPC_MoveParent,
/*122255*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122257*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122259*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122261*/                  OPC_MoveParent,
/*122262*/                  OPC_MoveParent,
/*122263*/                  OPC_CheckType, MVT::i32,
/*122265*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*122267*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*122277*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*122280*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*122287*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*122293*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122296*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*122304*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122307*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*122315*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122318*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*122327*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*122333*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122336*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*122344*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122347*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*122355*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122358*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*122367*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*122376*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*122379*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*122387*/                /*Scope*/ 34|128,1/*162*/, /*->122551*/
/*122389*/                  OPC_CheckChild0Same, 3,
/*122391*/                  OPC_CheckChild1Integer, 3, 
/*122393*/                  OPC_MoveParent,
/*122394*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122396*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122398*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122400*/                  OPC_MoveParent,
/*122401*/                  OPC_MoveChild1,
/*122402*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122405*/                  OPC_RecordMemRef,
/*122406*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*122407*/                  OPC_CheckFoldableChainNode,
/*122408*/                  OPC_MoveChild1,
/*122409*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122412*/                  OPC_CheckChild0Same, 1,
/*122414*/                  OPC_CheckChild1Integer, 3, 
/*122416*/                  OPC_CheckType, MVT::i64,
/*122418*/                  OPC_MoveParent,
/*122419*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122421*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122423*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122425*/                  OPC_MoveParent,
/*122426*/                  OPC_MoveParent,
/*122427*/                  OPC_CheckType, MVT::i32,
/*122429*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*122431*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*122441*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*122444*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*122451*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*122457*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122460*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*122468*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122471*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*122479*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122482*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*122491*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*122497*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122500*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*122508*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122511*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*122519*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122522*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*122531*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*122540*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*122543*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*122551*/                0, /*End of Scope*/
/*122552*/              0, /*End of Scope*/
/*122553*/            /*Scope*/ 75|128,11/*1483*/, /*->124038*/
/*122555*/              OPC_CheckChild0Same, 3,
/*122557*/              OPC_CheckChild1Integer, 2, 
/*122559*/              OPC_MoveParent,
/*122560*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122562*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*122564*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122566*/              OPC_MoveParent,
/*122567*/              OPC_MoveChild1,
/*122568*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122571*/              OPC_RecordMemRef,
/*122572*/              OPC_RecordNode, // #5 = 'ld' chained node
/*122573*/              OPC_CheckFoldableChainNode,
/*122574*/              OPC_MoveChild1,
/*122575*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122578*/              OPC_CheckChild0Same, 1,
/*122580*/              OPC_CheckChild1Integer, 2, 
/*122582*/              OPC_CheckType, MVT::i64,
/*122584*/              OPC_MoveParent,
/*122585*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122587*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*122589*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122591*/              OPC_MoveParent,
/*122592*/              OPC_MoveParent,
/*122593*/              OPC_MoveChild1,
/*122594*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*122597*/              OPC_MoveChild0,
/*122598*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122601*/              OPC_RecordMemRef,
/*122602*/              OPC_RecordNode, // #6 = 'ld' chained node
/*122603*/              OPC_CheckFoldableChainNode,
/*122604*/              OPC_MoveChild1,
/*122605*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122608*/              OPC_CheckType, MVT::i64,
/*122610*/              OPC_Scope, 3|128,3/*387*/, /*->123000*/ // 3 children in Scope
/*122613*/                OPC_CheckChild0Same, 1,
/*122615*/                OPC_CheckChild1Integer, 1, 
/*122617*/                OPC_MoveParent,
/*122618*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122620*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*122622*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122624*/                OPC_MoveParent,
/*122625*/                OPC_MoveChild1,
/*122626*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122629*/                OPC_RecordMemRef,
/*122630*/                OPC_RecordNode, // #7 = 'ld' chained node
/*122631*/                OPC_CheckFoldableChainNode,
/*122632*/                OPC_MoveChild1,
/*122633*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122636*/                OPC_CheckChild0Same, 3,
/*122638*/                OPC_CheckChild1Integer, 1, 
/*122640*/                OPC_CheckType, MVT::i64,
/*122642*/                OPC_MoveParent,
/*122643*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122645*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*122647*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122649*/                OPC_MoveParent,
/*122650*/                OPC_MoveParent,
/*122651*/                OPC_MoveParent,
/*122652*/                OPC_MoveParent,
/*122653*/                OPC_MoveChild1,
/*122654*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*122657*/                OPC_MoveChild0,
/*122658*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122661*/                OPC_RecordMemRef,
/*122662*/                OPC_RecordNode, // #8 = 'ld' chained node
/*122663*/                OPC_CheckFoldableChainNode,
/*122664*/                OPC_MoveChild1,
/*122665*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122668*/                OPC_CheckType, MVT::i64,
/*122670*/                OPC_Scope, 34|128,1/*162*/, /*->122835*/ // 2 children in Scope
/*122673*/                  OPC_CheckChild0Same, 1,
/*122675*/                  OPC_CheckChild1Integer, 3, 
/*122677*/                  OPC_MoveParent,
/*122678*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122680*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122682*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122684*/                  OPC_MoveParent,
/*122685*/                  OPC_MoveChild1,
/*122686*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122689*/                  OPC_RecordMemRef,
/*122690*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*122691*/                  OPC_CheckFoldableChainNode,
/*122692*/                  OPC_MoveChild1,
/*122693*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122696*/                  OPC_CheckChild0Same, 3,
/*122698*/                  OPC_CheckChild1Integer, 3, 
/*122700*/                  OPC_CheckType, MVT::i64,
/*122702*/                  OPC_MoveParent,
/*122703*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122705*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122707*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122709*/                  OPC_MoveParent,
/*122710*/                  OPC_MoveParent,
/*122711*/                  OPC_CheckType, MVT::i32,
/*122713*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*122715*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*122725*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*122728*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*122735*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*122741*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122744*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*122752*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122755*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*122763*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122766*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*122775*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*122781*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122784*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*122792*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122795*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*122803*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122806*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*122815*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*122824*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*122827*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*122835*/                /*Scope*/ 34|128,1/*162*/, /*->122999*/
/*122837*/                  OPC_CheckChild0Same, 3,
/*122839*/                  OPC_CheckChild1Integer, 3, 
/*122841*/                  OPC_MoveParent,
/*122842*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122844*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122846*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122848*/                  OPC_MoveParent,
/*122849*/                  OPC_MoveChild1,
/*122850*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*122853*/                  OPC_RecordMemRef,
/*122854*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*122855*/                  OPC_CheckFoldableChainNode,
/*122856*/                  OPC_MoveChild1,
/*122857*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*122860*/                  OPC_CheckChild0Same, 1,
/*122862*/                  OPC_CheckChild1Integer, 3, 
/*122864*/                  OPC_CheckType, MVT::i64,
/*122866*/                  OPC_MoveParent,
/*122867*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*122869*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*122871*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*122873*/                  OPC_MoveParent,
/*122874*/                  OPC_MoveParent,
/*122875*/                  OPC_CheckType, MVT::i32,
/*122877*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*122879*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*122889*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*122892*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*122899*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*122905*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122908*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*122916*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122919*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*122927*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122930*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*122939*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*122945*/                  OPC_EmitInteger, MVT::i64, 0, 
/*122948*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*122956*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*122959*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*122967*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*122970*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*122979*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*122988*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*122991*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*122999*/                0, /*End of Scope*/
/*123000*/              /*Scope*/ 6|128,5/*646*/, /*->123648*/
/*123002*/                OPC_CheckChild0Same, 3,
/*123004*/                OPC_CheckChild1Integer, 1, 
/*123006*/                OPC_MoveParent,
/*123007*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123009*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*123011*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123013*/                OPC_MoveParent,
/*123014*/                OPC_MoveChild1,
/*123015*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123018*/                OPC_RecordMemRef,
/*123019*/                OPC_RecordNode, // #7 = 'ld' chained node
/*123020*/                OPC_CheckFoldableChainNode,
/*123021*/                OPC_MoveChild1,
/*123022*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123025*/                OPC_CheckChild0Same, 1,
/*123027*/                OPC_CheckChild1Integer, 1, 
/*123029*/                OPC_CheckType, MVT::i64,
/*123031*/                OPC_MoveParent,
/*123032*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123034*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*123036*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123038*/                OPC_MoveParent,
/*123039*/                OPC_MoveParent,
/*123040*/                OPC_MoveParent,
/*123041*/                OPC_MoveParent,
/*123042*/                OPC_MoveChild1,
/*123043*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*123046*/                OPC_MoveChild0,
/*123047*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123050*/                OPC_RecordMemRef,
/*123051*/                OPC_RecordNode, // #8 = 'ld' chained node
/*123052*/                OPC_CheckFoldableChainNode,
/*123053*/                OPC_MoveChild1,
/*123054*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123057*/                OPC_CheckType, MVT::i64,
/*123059*/                OPC_Scope, 34|128,1/*162*/, /*->123224*/ // 3 children in Scope
/*123062*/                  OPC_CheckChild0Same, 1,
/*123064*/                  OPC_CheckChild1Integer, 3, 
/*123066*/                  OPC_MoveParent,
/*123067*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123069*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123071*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123073*/                  OPC_MoveParent,
/*123074*/                  OPC_MoveChild1,
/*123075*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123078*/                  OPC_RecordMemRef,
/*123079*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*123080*/                  OPC_CheckFoldableChainNode,
/*123081*/                  OPC_MoveChild1,
/*123082*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123085*/                  OPC_CheckChild0Same, 3,
/*123087*/                  OPC_CheckChild1Integer, 3, 
/*123089*/                  OPC_CheckType, MVT::i64,
/*123091*/                  OPC_MoveParent,
/*123092*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123094*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123096*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123098*/                  OPC_MoveParent,
/*123099*/                  OPC_MoveParent,
/*123100*/                  OPC_CheckType, MVT::i32,
/*123102*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*123104*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*123114*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*123117*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*123124*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*123130*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123133*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*123141*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123144*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*123152*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123155*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*123164*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*123170*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123173*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*123181*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123184*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*123192*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123195*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*123204*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*123213*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*123216*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*123224*/                /*Scope*/ 1|128,2/*257*/, /*->123483*/
/*123226*/                  OPC_CheckChild0Same, 3,
/*123228*/                  OPC_CheckChild1Integer, 3, 
/*123230*/                  OPC_MoveParent,
/*123231*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123233*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123235*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123237*/                  OPC_MoveParent,
/*123238*/                  OPC_MoveChild1,
/*123239*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123242*/                  OPC_RecordMemRef,
/*123243*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*123244*/                  OPC_CheckFoldableChainNode,
/*123245*/                  OPC_MoveChild1,
/*123246*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123249*/                  OPC_CheckChild0Same, 1,
/*123251*/                  OPC_CheckChild1Integer, 3, 
/*123253*/                  OPC_CheckType, MVT::i64,
/*123255*/                  OPC_MoveParent,
/*123256*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123258*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123260*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123262*/                  OPC_MoveParent,
/*123263*/                  OPC_MoveParent,
/*123264*/                  OPC_CheckType, MVT::i32,
/*123266*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*123268*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*123278*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*123281*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*123288*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*123294*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123297*/                  OPC_Scope, 91, /*->123390*/ // 2 children in Scope
/*123299*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*123307*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123310*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*123318*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123321*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*123330*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*123336*/                    OPC_EmitInteger, MVT::i64, 0, 
/*123339*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*123347*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123350*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*123358*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123361*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*123370*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*123379*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*123382*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*123390*/                  /*Scope*/ 91, /*->123482*/
/*123391*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*123399*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123402*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*123410*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123413*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*123422*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*123428*/                    OPC_EmitInteger, MVT::i64, 0, 
/*123431*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*123439*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123442*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*123450*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123453*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*123462*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*123471*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*123474*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*123482*/                  0, /*End of Scope*/
/*123483*/                /*Scope*/ 34|128,1/*162*/, /*->123647*/
/*123485*/                  OPC_CheckChild0Same, 1,
/*123487*/                  OPC_CheckChild1Integer, 3, 
/*123489*/                  OPC_MoveParent,
/*123490*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123492*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123494*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123496*/                  OPC_MoveParent,
/*123497*/                  OPC_MoveChild1,
/*123498*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123501*/                  OPC_RecordMemRef,
/*123502*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*123503*/                  OPC_CheckFoldableChainNode,
/*123504*/                  OPC_MoveChild1,
/*123505*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123508*/                  OPC_CheckChild0Same, 3,
/*123510*/                  OPC_CheckChild1Integer, 3, 
/*123512*/                  OPC_CheckType, MVT::i64,
/*123514*/                  OPC_MoveParent,
/*123515*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123517*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123519*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123521*/                  OPC_MoveParent,
/*123522*/                  OPC_MoveParent,
/*123523*/                  OPC_CheckType, MVT::i32,
/*123525*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*123527*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*123537*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*123540*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*123547*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*123553*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123556*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*123564*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123567*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*123575*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123578*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*123587*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*123593*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123596*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*123604*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123607*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*123615*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123618*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*123627*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*123636*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*123639*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*123647*/                0, /*End of Scope*/
/*123648*/              /*Scope*/ 3|128,3/*387*/, /*->124037*/
/*123650*/                OPC_CheckChild0Same, 1,
/*123652*/                OPC_CheckChild1Integer, 1, 
/*123654*/                OPC_MoveParent,
/*123655*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123657*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*123659*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123661*/                OPC_MoveParent,
/*123662*/                OPC_MoveChild1,
/*123663*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123666*/                OPC_RecordMemRef,
/*123667*/                OPC_RecordNode, // #7 = 'ld' chained node
/*123668*/                OPC_CheckFoldableChainNode,
/*123669*/                OPC_MoveChild1,
/*123670*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123673*/                OPC_CheckChild0Same, 3,
/*123675*/                OPC_CheckChild1Integer, 1, 
/*123677*/                OPC_CheckType, MVT::i64,
/*123679*/                OPC_MoveParent,
/*123680*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123682*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*123684*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123686*/                OPC_MoveParent,
/*123687*/                OPC_MoveParent,
/*123688*/                OPC_MoveParent,
/*123689*/                OPC_MoveParent,
/*123690*/                OPC_MoveChild1,
/*123691*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*123694*/                OPC_MoveChild0,
/*123695*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123698*/                OPC_RecordMemRef,
/*123699*/                OPC_RecordNode, // #8 = 'ld' chained node
/*123700*/                OPC_CheckFoldableChainNode,
/*123701*/                OPC_MoveChild1,
/*123702*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123705*/                OPC_CheckType, MVT::i64,
/*123707*/                OPC_Scope, 34|128,1/*162*/, /*->123872*/ // 2 children in Scope
/*123710*/                  OPC_CheckChild0Same, 3,
/*123712*/                  OPC_CheckChild1Integer, 3, 
/*123714*/                  OPC_MoveParent,
/*123715*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123717*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123719*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123721*/                  OPC_MoveParent,
/*123722*/                  OPC_MoveChild1,
/*123723*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123726*/                  OPC_RecordMemRef,
/*123727*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*123728*/                  OPC_CheckFoldableChainNode,
/*123729*/                  OPC_MoveChild1,
/*123730*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123733*/                  OPC_CheckChild0Same, 1,
/*123735*/                  OPC_CheckChild1Integer, 3, 
/*123737*/                  OPC_CheckType, MVT::i64,
/*123739*/                  OPC_MoveParent,
/*123740*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123742*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123744*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123746*/                  OPC_MoveParent,
/*123747*/                  OPC_MoveParent,
/*123748*/                  OPC_CheckType, MVT::i32,
/*123750*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*123752*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*123762*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*123765*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*123772*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*123778*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123781*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*123789*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123792*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*123800*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123803*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*123812*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*123818*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123821*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*123829*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123832*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*123840*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123843*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*123852*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*123861*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*123864*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*123872*/                /*Scope*/ 34|128,1/*162*/, /*->124036*/
/*123874*/                  OPC_CheckChild0Same, 1,
/*123876*/                  OPC_CheckChild1Integer, 3, 
/*123878*/                  OPC_MoveParent,
/*123879*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123881*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123883*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123885*/                  OPC_MoveParent,
/*123886*/                  OPC_MoveChild1,
/*123887*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*123890*/                  OPC_RecordMemRef,
/*123891*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*123892*/                  OPC_CheckFoldableChainNode,
/*123893*/                  OPC_MoveChild1,
/*123894*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*123897*/                  OPC_CheckChild0Same, 3,
/*123899*/                  OPC_CheckChild1Integer, 3, 
/*123901*/                  OPC_CheckType, MVT::i64,
/*123903*/                  OPC_MoveParent,
/*123904*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*123906*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*123908*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*123910*/                  OPC_MoveParent,
/*123911*/                  OPC_MoveParent,
/*123912*/                  OPC_CheckType, MVT::i32,
/*123914*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*123916*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*123926*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*123929*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*123936*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*123942*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123945*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*123953*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123956*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*123964*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*123967*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*123976*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*123982*/                  OPC_EmitInteger, MVT::i64, 0, 
/*123985*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*123993*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*123996*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*124004*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124007*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*124016*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*124025*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*124028*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*124036*/                0, /*End of Scope*/
/*124037*/              0, /*End of Scope*/
/*124038*/            /*Scope*/ 10|128,13/*1674*/, /*->125714*/
/*124040*/              OPC_CheckChild0Same, 1,
/*124042*/              OPC_Scope, 65|128,6/*833*/, /*->124878*/ // 2 children in Scope
/*124045*/                OPC_CheckChild1Integer, 2, 
/*124047*/                OPC_MoveParent,
/*124048*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124050*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*124052*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124054*/                OPC_MoveParent,
/*124055*/                OPC_MoveChild1,
/*124056*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124059*/                OPC_RecordMemRef,
/*124060*/                OPC_RecordNode, // #5 = 'ld' chained node
/*124061*/                OPC_CheckFoldableChainNode,
/*124062*/                OPC_MoveChild1,
/*124063*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124066*/                OPC_CheckChild0Same, 3,
/*124068*/                OPC_CheckChild1Integer, 2, 
/*124070*/                OPC_CheckType, MVT::i64,
/*124072*/                OPC_MoveParent,
/*124073*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124075*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*124077*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124079*/                OPC_MoveParent,
/*124080*/                OPC_MoveParent,
/*124081*/                OPC_MoveChild1,
/*124082*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*124085*/                OPC_MoveChild0,
/*124086*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124089*/                OPC_RecordMemRef,
/*124090*/                OPC_RecordNode, // #6 = 'ld' chained node
/*124091*/                OPC_CheckFoldableChainNode,
/*124092*/                OPC_MoveChild1,
/*124093*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124096*/                OPC_CheckType, MVT::i64,
/*124098*/                OPC_Scope, 3|128,3/*387*/, /*->124488*/ // 2 children in Scope
/*124101*/                  OPC_CheckChild0Same, 3,
/*124103*/                  OPC_CheckChild1Integer, 1, 
/*124105*/                  OPC_MoveParent,
/*124106*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124108*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*124110*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124112*/                  OPC_MoveParent,
/*124113*/                  OPC_MoveChild1,
/*124114*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124117*/                  OPC_RecordMemRef,
/*124118*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*124119*/                  OPC_CheckFoldableChainNode,
/*124120*/                  OPC_MoveChild1,
/*124121*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124124*/                  OPC_CheckChild0Same, 1,
/*124126*/                  OPC_CheckChild1Integer, 1, 
/*124128*/                  OPC_CheckType, MVT::i64,
/*124130*/                  OPC_MoveParent,
/*124131*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124133*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*124135*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124137*/                  OPC_MoveParent,
/*124138*/                  OPC_MoveParent,
/*124139*/                  OPC_MoveParent,
/*124140*/                  OPC_MoveParent,
/*124141*/                  OPC_MoveChild1,
/*124142*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*124145*/                  OPC_MoveChild0,
/*124146*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124149*/                  OPC_RecordMemRef,
/*124150*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*124151*/                  OPC_CheckFoldableChainNode,
/*124152*/                  OPC_MoveChild1,
/*124153*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124156*/                  OPC_CheckType, MVT::i64,
/*124158*/                  OPC_Scope, 34|128,1/*162*/, /*->124323*/ // 2 children in Scope
/*124161*/                    OPC_CheckChild0Same, 3,
/*124163*/                    OPC_CheckChild1Integer, 3, 
/*124165*/                    OPC_MoveParent,
/*124166*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124168*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*124170*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124172*/                    OPC_MoveParent,
/*124173*/                    OPC_MoveChild1,
/*124174*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124177*/                    OPC_RecordMemRef,
/*124178*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*124179*/                    OPC_CheckFoldableChainNode,
/*124180*/                    OPC_MoveChild1,
/*124181*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124184*/                    OPC_CheckChild0Same, 1,
/*124186*/                    OPC_CheckChild1Integer, 3, 
/*124188*/                    OPC_CheckType, MVT::i64,
/*124190*/                    OPC_MoveParent,
/*124191*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124193*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*124195*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124197*/                    OPC_MoveParent,
/*124198*/                    OPC_MoveParent,
/*124199*/                    OPC_CheckType, MVT::i32,
/*124201*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*124203*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*124213*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*124216*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*124223*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*124229*/                    OPC_EmitInteger, MVT::i64, 0, 
/*124232*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*124240*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*124243*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*124251*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124254*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*124263*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*124269*/                    OPC_EmitInteger, MVT::i64, 0, 
/*124272*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*124280*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*124283*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*124291*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124294*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*124303*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*124312*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*124315*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*124323*/                  /*Scope*/ 34|128,1/*162*/, /*->124487*/
/*124325*/                    OPC_CheckChild0Same, 1,
/*124327*/                    OPC_CheckChild1Integer, 3, 
/*124329*/                    OPC_MoveParent,
/*124330*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124332*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*124334*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124336*/                    OPC_MoveParent,
/*124337*/                    OPC_MoveChild1,
/*124338*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124341*/                    OPC_RecordMemRef,
/*124342*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*124343*/                    OPC_CheckFoldableChainNode,
/*124344*/                    OPC_MoveChild1,
/*124345*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124348*/                    OPC_CheckChild0Same, 3,
/*124350*/                    OPC_CheckChild1Integer, 3, 
/*124352*/                    OPC_CheckType, MVT::i64,
/*124354*/                    OPC_MoveParent,
/*124355*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124357*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*124359*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124361*/                    OPC_MoveParent,
/*124362*/                    OPC_MoveParent,
/*124363*/                    OPC_CheckType, MVT::i32,
/*124365*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*124367*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*124377*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*124380*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*124387*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*124393*/                    OPC_EmitInteger, MVT::i64, 0, 
/*124396*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*124404*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*124407*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*124415*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124418*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*124427*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*124433*/                    OPC_EmitInteger, MVT::i64, 0, 
/*124436*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*124444*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*124447*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*124455*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124458*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*124467*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*124476*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*124479*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*124487*/                  0, /*End of Scope*/
/*124488*/                /*Scope*/ 3|128,3/*387*/, /*->124877*/
/*124490*/                  OPC_CheckChild0Same, 1,
/*124492*/                  OPC_CheckChild1Integer, 1, 
/*124494*/                  OPC_MoveParent,
/*124495*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124497*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*124499*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124501*/                  OPC_MoveParent,
/*124502*/                  OPC_MoveChild1,
/*124503*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124506*/                  OPC_RecordMemRef,
/*124507*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*124508*/                  OPC_CheckFoldableChainNode,
/*124509*/                  OPC_MoveChild1,
/*124510*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124513*/                  OPC_CheckChild0Same, 3,
/*124515*/                  OPC_CheckChild1Integer, 1, 
/*124517*/                  OPC_CheckType, MVT::i64,
/*124519*/                  OPC_MoveParent,
/*124520*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124522*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*124524*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124526*/                  OPC_MoveParent,
/*124527*/                  OPC_MoveParent,
/*124528*/                  OPC_MoveParent,
/*124529*/                  OPC_MoveParent,
/*124530*/                  OPC_MoveChild1,
/*124531*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*124534*/                  OPC_MoveChild0,
/*124535*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124538*/                  OPC_RecordMemRef,
/*124539*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*124540*/                  OPC_CheckFoldableChainNode,
/*124541*/                  OPC_MoveChild1,
/*124542*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124545*/                  OPC_CheckType, MVT::i64,
/*124547*/                  OPC_Scope, 34|128,1/*162*/, /*->124712*/ // 2 children in Scope
/*124550*/                    OPC_CheckChild0Same, 3,
/*124552*/                    OPC_CheckChild1Integer, 3, 
/*124554*/                    OPC_MoveParent,
/*124555*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124557*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*124559*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124561*/                    OPC_MoveParent,
/*124562*/                    OPC_MoveChild1,
/*124563*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124566*/                    OPC_RecordMemRef,
/*124567*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*124568*/                    OPC_CheckFoldableChainNode,
/*124569*/                    OPC_MoveChild1,
/*124570*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124573*/                    OPC_CheckChild0Same, 1,
/*124575*/                    OPC_CheckChild1Integer, 3, 
/*124577*/                    OPC_CheckType, MVT::i64,
/*124579*/                    OPC_MoveParent,
/*124580*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124582*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*124584*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124586*/                    OPC_MoveParent,
/*124587*/                    OPC_MoveParent,
/*124588*/                    OPC_CheckType, MVT::i32,
/*124590*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*124592*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*124602*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*124605*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*124612*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*124618*/                    OPC_EmitInteger, MVT::i64, 0, 
/*124621*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*124629*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*124632*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*124640*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124643*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*124652*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*124658*/                    OPC_EmitInteger, MVT::i64, 0, 
/*124661*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*124669*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*124672*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*124680*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124683*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*124692*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*124701*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*124704*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*124712*/                  /*Scope*/ 34|128,1/*162*/, /*->124876*/
/*124714*/                    OPC_CheckChild0Same, 1,
/*124716*/                    OPC_CheckChild1Integer, 3, 
/*124718*/                    OPC_MoveParent,
/*124719*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124721*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*124723*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124725*/                    OPC_MoveParent,
/*124726*/                    OPC_MoveChild1,
/*124727*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124730*/                    OPC_RecordMemRef,
/*124731*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*124732*/                    OPC_CheckFoldableChainNode,
/*124733*/                    OPC_MoveChild1,
/*124734*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124737*/                    OPC_CheckChild0Same, 3,
/*124739*/                    OPC_CheckChild1Integer, 3, 
/*124741*/                    OPC_CheckType, MVT::i64,
/*124743*/                    OPC_MoveParent,
/*124744*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124746*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*124748*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124750*/                    OPC_MoveParent,
/*124751*/                    OPC_MoveParent,
/*124752*/                    OPC_CheckType, MVT::i32,
/*124754*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*124756*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*124766*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*124769*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*124776*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*124782*/                    OPC_EmitInteger, MVT::i64, 0, 
/*124785*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*124793*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*124796*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*124804*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124807*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*124816*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*124822*/                    OPC_EmitInteger, MVT::i64, 0, 
/*124825*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*124833*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*124836*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*124844*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*124847*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*124856*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*124865*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*124868*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*124876*/                  0, /*End of Scope*/
/*124877*/                0, /*End of Scope*/
/*124878*/              /*Scope*/ 65|128,6/*833*/, /*->125713*/
/*124880*/                OPC_CheckChild1Integer, 1, 
/*124882*/                OPC_MoveParent,
/*124883*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124885*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*124887*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124889*/                OPC_MoveParent,
/*124890*/                OPC_MoveChild1,
/*124891*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124894*/                OPC_RecordMemRef,
/*124895*/                OPC_RecordNode, // #5 = 'ld' chained node
/*124896*/                OPC_CheckFoldableChainNode,
/*124897*/                OPC_MoveChild1,
/*124898*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124901*/                OPC_CheckChild0Same, 3,
/*124903*/                OPC_CheckChild1Integer, 1, 
/*124905*/                OPC_CheckType, MVT::i64,
/*124907*/                OPC_MoveParent,
/*124908*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124910*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*124912*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124914*/                OPC_MoveParent,
/*124915*/                OPC_MoveParent,
/*124916*/                OPC_MoveChild1,
/*124917*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*124920*/                OPC_MoveChild0,
/*124921*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124924*/                OPC_RecordMemRef,
/*124925*/                OPC_RecordNode, // #6 = 'ld' chained node
/*124926*/                OPC_CheckFoldableChainNode,
/*124927*/                OPC_MoveChild1,
/*124928*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124931*/                OPC_CheckType, MVT::i64,
/*124933*/                OPC_Scope, 3|128,3/*387*/, /*->125323*/ // 2 children in Scope
/*124936*/                  OPC_CheckChild0Same, 1,
/*124938*/                  OPC_CheckChild1Integer, 2, 
/*124940*/                  OPC_MoveParent,
/*124941*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124943*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*124945*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124947*/                  OPC_MoveParent,
/*124948*/                  OPC_MoveChild1,
/*124949*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124952*/                  OPC_RecordMemRef,
/*124953*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*124954*/                  OPC_CheckFoldableChainNode,
/*124955*/                  OPC_MoveChild1,
/*124956*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124959*/                  OPC_CheckChild0Same, 3,
/*124961*/                  OPC_CheckChild1Integer, 2, 
/*124963*/                  OPC_CheckType, MVT::i64,
/*124965*/                  OPC_MoveParent,
/*124966*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*124968*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*124970*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*124972*/                  OPC_MoveParent,
/*124973*/                  OPC_MoveParent,
/*124974*/                  OPC_MoveParent,
/*124975*/                  OPC_MoveParent,
/*124976*/                  OPC_MoveChild1,
/*124977*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*124980*/                  OPC_MoveChild0,
/*124981*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*124984*/                  OPC_RecordMemRef,
/*124985*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*124986*/                  OPC_CheckFoldableChainNode,
/*124987*/                  OPC_MoveChild1,
/*124988*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*124991*/                  OPC_CheckType, MVT::i64,
/*124993*/                  OPC_Scope, 34|128,1/*162*/, /*->125158*/ // 2 children in Scope
/*124996*/                    OPC_CheckChild0Same, 1,
/*124998*/                    OPC_CheckChild1Integer, 3, 
/*125000*/                    OPC_MoveParent,
/*125001*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125003*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*125005*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125007*/                    OPC_MoveParent,
/*125008*/                    OPC_MoveChild1,
/*125009*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125012*/                    OPC_RecordMemRef,
/*125013*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*125014*/                    OPC_CheckFoldableChainNode,
/*125015*/                    OPC_MoveChild1,
/*125016*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125019*/                    OPC_CheckChild0Same, 3,
/*125021*/                    OPC_CheckChild1Integer, 3, 
/*125023*/                    OPC_CheckType, MVT::i64,
/*125025*/                    OPC_MoveParent,
/*125026*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125028*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*125030*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125032*/                    OPC_MoveParent,
/*125033*/                    OPC_MoveParent,
/*125034*/                    OPC_CheckType, MVT::i32,
/*125036*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*125038*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*125048*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*125051*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*125058*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*125064*/                    OPC_EmitInteger, MVT::i64, 0, 
/*125067*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*125075*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125078*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*125086*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125089*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*125098*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*125104*/                    OPC_EmitInteger, MVT::i64, 0, 
/*125107*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*125115*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125118*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*125126*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125129*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*125138*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*125147*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*125150*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*125158*/                  /*Scope*/ 34|128,1/*162*/, /*->125322*/
/*125160*/                    OPC_CheckChild0Same, 3,
/*125162*/                    OPC_CheckChild1Integer, 3, 
/*125164*/                    OPC_MoveParent,
/*125165*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125167*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*125169*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125171*/                    OPC_MoveParent,
/*125172*/                    OPC_MoveChild1,
/*125173*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125176*/                    OPC_RecordMemRef,
/*125177*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*125178*/                    OPC_CheckFoldableChainNode,
/*125179*/                    OPC_MoveChild1,
/*125180*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125183*/                    OPC_CheckChild0Same, 1,
/*125185*/                    OPC_CheckChild1Integer, 3, 
/*125187*/                    OPC_CheckType, MVT::i64,
/*125189*/                    OPC_MoveParent,
/*125190*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125192*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*125194*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125196*/                    OPC_MoveParent,
/*125197*/                    OPC_MoveParent,
/*125198*/                    OPC_CheckType, MVT::i32,
/*125200*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*125202*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*125212*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*125215*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*125222*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*125228*/                    OPC_EmitInteger, MVT::i64, 0, 
/*125231*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*125239*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125242*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*125250*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125253*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*125262*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*125268*/                    OPC_EmitInteger, MVT::i64, 0, 
/*125271*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*125279*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125282*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*125290*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125293*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*125302*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*125311*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*125314*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*125322*/                  0, /*End of Scope*/
/*125323*/                /*Scope*/ 3|128,3/*387*/, /*->125712*/
/*125325*/                  OPC_CheckChild0Same, 3,
/*125327*/                  OPC_CheckChild1Integer, 2, 
/*125329*/                  OPC_MoveParent,
/*125330*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125332*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*125334*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125336*/                  OPC_MoveParent,
/*125337*/                  OPC_MoveChild1,
/*125338*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125341*/                  OPC_RecordMemRef,
/*125342*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*125343*/                  OPC_CheckFoldableChainNode,
/*125344*/                  OPC_MoveChild1,
/*125345*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125348*/                  OPC_CheckChild0Same, 1,
/*125350*/                  OPC_CheckChild1Integer, 2, 
/*125352*/                  OPC_CheckType, MVT::i64,
/*125354*/                  OPC_MoveParent,
/*125355*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125357*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*125359*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125361*/                  OPC_MoveParent,
/*125362*/                  OPC_MoveParent,
/*125363*/                  OPC_MoveParent,
/*125364*/                  OPC_MoveParent,
/*125365*/                  OPC_MoveChild1,
/*125366*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*125369*/                  OPC_MoveChild0,
/*125370*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125373*/                  OPC_RecordMemRef,
/*125374*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*125375*/                  OPC_CheckFoldableChainNode,
/*125376*/                  OPC_MoveChild1,
/*125377*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125380*/                  OPC_CheckType, MVT::i64,
/*125382*/                  OPC_Scope, 34|128,1/*162*/, /*->125547*/ // 2 children in Scope
/*125385*/                    OPC_CheckChild0Same, 1,
/*125387*/                    OPC_CheckChild1Integer, 3, 
/*125389*/                    OPC_MoveParent,
/*125390*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125392*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*125394*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125396*/                    OPC_MoveParent,
/*125397*/                    OPC_MoveChild1,
/*125398*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125401*/                    OPC_RecordMemRef,
/*125402*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*125403*/                    OPC_CheckFoldableChainNode,
/*125404*/                    OPC_MoveChild1,
/*125405*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125408*/                    OPC_CheckChild0Same, 3,
/*125410*/                    OPC_CheckChild1Integer, 3, 
/*125412*/                    OPC_CheckType, MVT::i64,
/*125414*/                    OPC_MoveParent,
/*125415*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125417*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*125419*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125421*/                    OPC_MoveParent,
/*125422*/                    OPC_MoveParent,
/*125423*/                    OPC_CheckType, MVT::i32,
/*125425*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*125427*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*125437*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*125440*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*125447*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*125453*/                    OPC_EmitInteger, MVT::i64, 0, 
/*125456*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*125464*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125467*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*125475*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125478*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*125487*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*125493*/                    OPC_EmitInteger, MVT::i64, 0, 
/*125496*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*125504*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125507*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*125515*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125518*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*125527*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*125536*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*125539*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*125547*/                  /*Scope*/ 34|128,1/*162*/, /*->125711*/
/*125549*/                    OPC_CheckChild0Same, 3,
/*125551*/                    OPC_CheckChild1Integer, 3, 
/*125553*/                    OPC_MoveParent,
/*125554*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125556*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*125558*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125560*/                    OPC_MoveParent,
/*125561*/                    OPC_MoveChild1,
/*125562*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125565*/                    OPC_RecordMemRef,
/*125566*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*125567*/                    OPC_CheckFoldableChainNode,
/*125568*/                    OPC_MoveChild1,
/*125569*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125572*/                    OPC_CheckChild0Same, 1,
/*125574*/                    OPC_CheckChild1Integer, 3, 
/*125576*/                    OPC_CheckType, MVT::i64,
/*125578*/                    OPC_MoveParent,
/*125579*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125581*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*125583*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125585*/                    OPC_MoveParent,
/*125586*/                    OPC_MoveParent,
/*125587*/                    OPC_CheckType, MVT::i32,
/*125589*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*125591*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*125601*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*125604*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*125611*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*125617*/                    OPC_EmitInteger, MVT::i64, 0, 
/*125620*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*125628*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125631*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*125639*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125642*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*125651*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*125657*/                    OPC_EmitInteger, MVT::i64, 0, 
/*125660*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*125668*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125671*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*125679*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125682*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*125691*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*125700*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*125703*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*125711*/                  0, /*End of Scope*/
/*125712*/                0, /*End of Scope*/
/*125713*/              0, /*End of Scope*/
/*125714*/            /*Scope*/ 75|128,11/*1483*/, /*->127199*/
/*125716*/              OPC_CheckChild0Same, 3,
/*125718*/              OPC_CheckChild1Integer, 1, 
/*125720*/              OPC_MoveParent,
/*125721*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125723*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*125725*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125727*/              OPC_MoveParent,
/*125728*/              OPC_MoveChild1,
/*125729*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125732*/              OPC_RecordMemRef,
/*125733*/              OPC_RecordNode, // #5 = 'ld' chained node
/*125734*/              OPC_CheckFoldableChainNode,
/*125735*/              OPC_MoveChild1,
/*125736*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125739*/              OPC_CheckChild0Same, 1,
/*125741*/              OPC_CheckChild1Integer, 1, 
/*125743*/              OPC_CheckType, MVT::i64,
/*125745*/              OPC_MoveParent,
/*125746*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125748*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*125750*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125752*/              OPC_MoveParent,
/*125753*/              OPC_MoveParent,
/*125754*/              OPC_MoveChild1,
/*125755*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*125758*/              OPC_MoveChild0,
/*125759*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125762*/              OPC_RecordMemRef,
/*125763*/              OPC_RecordNode, // #6 = 'ld' chained node
/*125764*/              OPC_CheckFoldableChainNode,
/*125765*/              OPC_MoveChild1,
/*125766*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125769*/              OPC_CheckType, MVT::i64,
/*125771*/              OPC_Scope, 3|128,3/*387*/, /*->126161*/ // 3 children in Scope
/*125774*/                OPC_CheckChild0Same, 1,
/*125776*/                OPC_CheckChild1Integer, 2, 
/*125778*/                OPC_MoveParent,
/*125779*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125781*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*125783*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125785*/                OPC_MoveParent,
/*125786*/                OPC_MoveChild1,
/*125787*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125790*/                OPC_RecordMemRef,
/*125791*/                OPC_RecordNode, // #7 = 'ld' chained node
/*125792*/                OPC_CheckFoldableChainNode,
/*125793*/                OPC_MoveChild1,
/*125794*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125797*/                OPC_CheckChild0Same, 3,
/*125799*/                OPC_CheckChild1Integer, 2, 
/*125801*/                OPC_CheckType, MVT::i64,
/*125803*/                OPC_MoveParent,
/*125804*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125806*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*125808*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125810*/                OPC_MoveParent,
/*125811*/                OPC_MoveParent,
/*125812*/                OPC_MoveParent,
/*125813*/                OPC_MoveParent,
/*125814*/                OPC_MoveChild1,
/*125815*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*125818*/                OPC_MoveChild0,
/*125819*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125822*/                OPC_RecordMemRef,
/*125823*/                OPC_RecordNode, // #8 = 'ld' chained node
/*125824*/                OPC_CheckFoldableChainNode,
/*125825*/                OPC_MoveChild1,
/*125826*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125829*/                OPC_CheckType, MVT::i64,
/*125831*/                OPC_Scope, 34|128,1/*162*/, /*->125996*/ // 2 children in Scope
/*125834*/                  OPC_CheckChild0Same, 1,
/*125836*/                  OPC_CheckChild1Integer, 3, 
/*125838*/                  OPC_MoveParent,
/*125839*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125841*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*125843*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125845*/                  OPC_MoveParent,
/*125846*/                  OPC_MoveChild1,
/*125847*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*125850*/                  OPC_RecordMemRef,
/*125851*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*125852*/                  OPC_CheckFoldableChainNode,
/*125853*/                  OPC_MoveChild1,
/*125854*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*125857*/                  OPC_CheckChild0Same, 3,
/*125859*/                  OPC_CheckChild1Integer, 3, 
/*125861*/                  OPC_CheckType, MVT::i64,
/*125863*/                  OPC_MoveParent,
/*125864*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*125866*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*125868*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*125870*/                  OPC_MoveParent,
/*125871*/                  OPC_MoveParent,
/*125872*/                  OPC_CheckType, MVT::i32,
/*125874*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*125876*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*125886*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*125889*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*125896*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*125902*/                  OPC_EmitInteger, MVT::i64, 0, 
/*125905*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*125913*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125916*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*125924*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125927*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*125936*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*125942*/                  OPC_EmitInteger, MVT::i64, 0, 
/*125945*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*125953*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*125956*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*125964*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*125967*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*125976*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*125985*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*125988*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*125996*/                /*Scope*/ 34|128,1/*162*/, /*->126160*/
/*125998*/                  OPC_CheckChild0Same, 3,
/*126000*/                  OPC_CheckChild1Integer, 3, 
/*126002*/                  OPC_MoveParent,
/*126003*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126005*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126007*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126009*/                  OPC_MoveParent,
/*126010*/                  OPC_MoveChild1,
/*126011*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126014*/                  OPC_RecordMemRef,
/*126015*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*126016*/                  OPC_CheckFoldableChainNode,
/*126017*/                  OPC_MoveChild1,
/*126018*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126021*/                  OPC_CheckChild0Same, 1,
/*126023*/                  OPC_CheckChild1Integer, 3, 
/*126025*/                  OPC_CheckType, MVT::i64,
/*126027*/                  OPC_MoveParent,
/*126028*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126030*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126032*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126034*/                  OPC_MoveParent,
/*126035*/                  OPC_MoveParent,
/*126036*/                  OPC_CheckType, MVT::i32,
/*126038*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*126040*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*126050*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*126053*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*126060*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*126066*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126069*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*126077*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126080*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*126088*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126091*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*126100*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*126106*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126109*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*126117*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126120*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*126128*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126131*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*126140*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*126149*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*126152*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*126160*/                0, /*End of Scope*/
/*126161*/              /*Scope*/ 6|128,5/*646*/, /*->126809*/
/*126163*/                OPC_CheckChild0Same, 3,
/*126165*/                OPC_CheckChild1Integer, 2, 
/*126167*/                OPC_MoveParent,
/*126168*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126170*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*126172*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126174*/                OPC_MoveParent,
/*126175*/                OPC_MoveChild1,
/*126176*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126179*/                OPC_RecordMemRef,
/*126180*/                OPC_RecordNode, // #7 = 'ld' chained node
/*126181*/                OPC_CheckFoldableChainNode,
/*126182*/                OPC_MoveChild1,
/*126183*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126186*/                OPC_CheckChild0Same, 1,
/*126188*/                OPC_CheckChild1Integer, 2, 
/*126190*/                OPC_CheckType, MVT::i64,
/*126192*/                OPC_MoveParent,
/*126193*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126195*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*126197*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126199*/                OPC_MoveParent,
/*126200*/                OPC_MoveParent,
/*126201*/                OPC_MoveParent,
/*126202*/                OPC_MoveParent,
/*126203*/                OPC_MoveChild1,
/*126204*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*126207*/                OPC_MoveChild0,
/*126208*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126211*/                OPC_RecordMemRef,
/*126212*/                OPC_RecordNode, // #8 = 'ld' chained node
/*126213*/                OPC_CheckFoldableChainNode,
/*126214*/                OPC_MoveChild1,
/*126215*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126218*/                OPC_CheckType, MVT::i64,
/*126220*/                OPC_Scope, 34|128,1/*162*/, /*->126385*/ // 3 children in Scope
/*126223*/                  OPC_CheckChild0Same, 1,
/*126225*/                  OPC_CheckChild1Integer, 3, 
/*126227*/                  OPC_MoveParent,
/*126228*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126230*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126232*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126234*/                  OPC_MoveParent,
/*126235*/                  OPC_MoveChild1,
/*126236*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126239*/                  OPC_RecordMemRef,
/*126240*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*126241*/                  OPC_CheckFoldableChainNode,
/*126242*/                  OPC_MoveChild1,
/*126243*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126246*/                  OPC_CheckChild0Same, 3,
/*126248*/                  OPC_CheckChild1Integer, 3, 
/*126250*/                  OPC_CheckType, MVT::i64,
/*126252*/                  OPC_MoveParent,
/*126253*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126255*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126257*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126259*/                  OPC_MoveParent,
/*126260*/                  OPC_MoveParent,
/*126261*/                  OPC_CheckType, MVT::i32,
/*126263*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*126265*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*126275*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*126278*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*126285*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*126291*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126294*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*126302*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126305*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*126313*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126316*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*126325*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*126331*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126334*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*126342*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126345*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*126353*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126356*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*126365*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*126374*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*126377*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*126385*/                /*Scope*/ 1|128,2/*257*/, /*->126644*/
/*126387*/                  OPC_CheckChild0Same, 3,
/*126389*/                  OPC_CheckChild1Integer, 3, 
/*126391*/                  OPC_MoveParent,
/*126392*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126394*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126396*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126398*/                  OPC_MoveParent,
/*126399*/                  OPC_MoveChild1,
/*126400*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126403*/                  OPC_RecordMemRef,
/*126404*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*126405*/                  OPC_CheckFoldableChainNode,
/*126406*/                  OPC_MoveChild1,
/*126407*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126410*/                  OPC_CheckChild0Same, 1,
/*126412*/                  OPC_CheckChild1Integer, 3, 
/*126414*/                  OPC_CheckType, MVT::i64,
/*126416*/                  OPC_MoveParent,
/*126417*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126419*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126421*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126423*/                  OPC_MoveParent,
/*126424*/                  OPC_MoveParent,
/*126425*/                  OPC_CheckType, MVT::i32,
/*126427*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*126429*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*126439*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*126442*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*126449*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*126455*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126458*/                  OPC_Scope, 91, /*->126551*/ // 2 children in Scope
/*126460*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*126468*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126471*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*126479*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126482*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*126491*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*126497*/                    OPC_EmitInteger, MVT::i64, 0, 
/*126500*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*126508*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126511*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*126519*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126522*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*126531*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*126540*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*126543*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*126551*/                  /*Scope*/ 91, /*->126643*/
/*126552*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*126560*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126563*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*126571*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126574*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*126583*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*126589*/                    OPC_EmitInteger, MVT::i64, 0, 
/*126592*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*126600*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126603*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*126611*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126614*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*126623*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*126632*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*126635*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*126643*/                  0, /*End of Scope*/
/*126644*/                /*Scope*/ 34|128,1/*162*/, /*->126808*/
/*126646*/                  OPC_CheckChild0Same, 1,
/*126648*/                  OPC_CheckChild1Integer, 3, 
/*126650*/                  OPC_MoveParent,
/*126651*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126653*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126655*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126657*/                  OPC_MoveParent,
/*126658*/                  OPC_MoveChild1,
/*126659*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126662*/                  OPC_RecordMemRef,
/*126663*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*126664*/                  OPC_CheckFoldableChainNode,
/*126665*/                  OPC_MoveChild1,
/*126666*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126669*/                  OPC_CheckChild0Same, 3,
/*126671*/                  OPC_CheckChild1Integer, 3, 
/*126673*/                  OPC_CheckType, MVT::i64,
/*126675*/                  OPC_MoveParent,
/*126676*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126678*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126680*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126682*/                  OPC_MoveParent,
/*126683*/                  OPC_MoveParent,
/*126684*/                  OPC_CheckType, MVT::i32,
/*126686*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*126688*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*126698*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*126701*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*126708*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*126714*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126717*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*126725*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126728*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*126736*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126739*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*126748*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*126754*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126757*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*126765*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126768*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*126776*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126779*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*126788*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*126797*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*126800*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*126808*/                0, /*End of Scope*/
/*126809*/              /*Scope*/ 3|128,3/*387*/, /*->127198*/
/*126811*/                OPC_CheckChild0Same, 1,
/*126813*/                OPC_CheckChild1Integer, 2, 
/*126815*/                OPC_MoveParent,
/*126816*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126818*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*126820*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126822*/                OPC_MoveParent,
/*126823*/                OPC_MoveChild1,
/*126824*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126827*/                OPC_RecordMemRef,
/*126828*/                OPC_RecordNode, // #7 = 'ld' chained node
/*126829*/                OPC_CheckFoldableChainNode,
/*126830*/                OPC_MoveChild1,
/*126831*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126834*/                OPC_CheckChild0Same, 3,
/*126836*/                OPC_CheckChild1Integer, 2, 
/*126838*/                OPC_CheckType, MVT::i64,
/*126840*/                OPC_MoveParent,
/*126841*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126843*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*126845*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126847*/                OPC_MoveParent,
/*126848*/                OPC_MoveParent,
/*126849*/                OPC_MoveParent,
/*126850*/                OPC_MoveParent,
/*126851*/                OPC_MoveChild1,
/*126852*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*126855*/                OPC_MoveChild0,
/*126856*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126859*/                OPC_RecordMemRef,
/*126860*/                OPC_RecordNode, // #8 = 'ld' chained node
/*126861*/                OPC_CheckFoldableChainNode,
/*126862*/                OPC_MoveChild1,
/*126863*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126866*/                OPC_CheckType, MVT::i64,
/*126868*/                OPC_Scope, 34|128,1/*162*/, /*->127033*/ // 2 children in Scope
/*126871*/                  OPC_CheckChild0Same, 3,
/*126873*/                  OPC_CheckChild1Integer, 3, 
/*126875*/                  OPC_MoveParent,
/*126876*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126878*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126880*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126882*/                  OPC_MoveParent,
/*126883*/                  OPC_MoveChild1,
/*126884*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*126887*/                  OPC_RecordMemRef,
/*126888*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*126889*/                  OPC_CheckFoldableChainNode,
/*126890*/                  OPC_MoveChild1,
/*126891*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*126894*/                  OPC_CheckChild0Same, 1,
/*126896*/                  OPC_CheckChild1Integer, 3, 
/*126898*/                  OPC_CheckType, MVT::i64,
/*126900*/                  OPC_MoveParent,
/*126901*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*126903*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*126905*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*126907*/                  OPC_MoveParent,
/*126908*/                  OPC_MoveParent,
/*126909*/                  OPC_CheckType, MVT::i32,
/*126911*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*126913*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*126923*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*126926*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*126933*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*126939*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126942*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*126950*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126953*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*126961*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*126964*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*126973*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*126979*/                  OPC_EmitInteger, MVT::i64, 0, 
/*126982*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*126990*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*126993*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*127001*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127004*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*127013*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*127022*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*127025*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*127033*/                /*Scope*/ 34|128,1/*162*/, /*->127197*/
/*127035*/                  OPC_CheckChild0Same, 1,
/*127037*/                  OPC_CheckChild1Integer, 3, 
/*127039*/                  OPC_MoveParent,
/*127040*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127042*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127044*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127046*/                  OPC_MoveParent,
/*127047*/                  OPC_MoveChild1,
/*127048*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127051*/                  OPC_RecordMemRef,
/*127052*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*127053*/                  OPC_CheckFoldableChainNode,
/*127054*/                  OPC_MoveChild1,
/*127055*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127058*/                  OPC_CheckChild0Same, 3,
/*127060*/                  OPC_CheckChild1Integer, 3, 
/*127062*/                  OPC_CheckType, MVT::i64,
/*127064*/                  OPC_MoveParent,
/*127065*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127067*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127069*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127071*/                  OPC_MoveParent,
/*127072*/                  OPC_MoveParent,
/*127073*/                  OPC_CheckType, MVT::i32,
/*127075*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*127077*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*127087*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*127090*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*127097*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*127103*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127106*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*127114*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127117*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*127125*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127128*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*127137*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*127143*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127146*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*127154*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127157*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*127165*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127168*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*127177*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*127186*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*127189*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*127197*/                0, /*End of Scope*/
/*127198*/              0, /*End of Scope*/
/*127199*/            /*Scope*/ 67|128,6/*835*/, /*->128036*/
/*127201*/              OPC_CheckChild0Same, 1,
/*127203*/              OPC_CheckChild1Integer, 1, 
/*127205*/              OPC_MoveParent,
/*127206*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127208*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*127210*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127212*/              OPC_MoveParent,
/*127213*/              OPC_MoveChild1,
/*127214*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127217*/              OPC_RecordMemRef,
/*127218*/              OPC_RecordNode, // #5 = 'ld' chained node
/*127219*/              OPC_CheckFoldableChainNode,
/*127220*/              OPC_MoveChild1,
/*127221*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127224*/              OPC_CheckChild0Same, 3,
/*127226*/              OPC_CheckChild1Integer, 1, 
/*127228*/              OPC_CheckType, MVT::i64,
/*127230*/              OPC_MoveParent,
/*127231*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127233*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*127235*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127237*/              OPC_MoveParent,
/*127238*/              OPC_MoveParent,
/*127239*/              OPC_MoveChild1,
/*127240*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*127243*/              OPC_MoveChild0,
/*127244*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127247*/              OPC_RecordMemRef,
/*127248*/              OPC_RecordNode, // #6 = 'ld' chained node
/*127249*/              OPC_CheckFoldableChainNode,
/*127250*/              OPC_MoveChild1,
/*127251*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127254*/              OPC_CheckType, MVT::i64,
/*127256*/              OPC_Scope, 3|128,3/*387*/, /*->127646*/ // 2 children in Scope
/*127259*/                OPC_CheckChild0Same, 3,
/*127261*/                OPC_CheckChild1Integer, 2, 
/*127263*/                OPC_MoveParent,
/*127264*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127266*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*127268*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127270*/                OPC_MoveParent,
/*127271*/                OPC_MoveChild1,
/*127272*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127275*/                OPC_RecordMemRef,
/*127276*/                OPC_RecordNode, // #7 = 'ld' chained node
/*127277*/                OPC_CheckFoldableChainNode,
/*127278*/                OPC_MoveChild1,
/*127279*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127282*/                OPC_CheckChild0Same, 1,
/*127284*/                OPC_CheckChild1Integer, 2, 
/*127286*/                OPC_CheckType, MVT::i64,
/*127288*/                OPC_MoveParent,
/*127289*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127291*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*127293*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127295*/                OPC_MoveParent,
/*127296*/                OPC_MoveParent,
/*127297*/                OPC_MoveParent,
/*127298*/                OPC_MoveParent,
/*127299*/                OPC_MoveChild1,
/*127300*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*127303*/                OPC_MoveChild0,
/*127304*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127307*/                OPC_RecordMemRef,
/*127308*/                OPC_RecordNode, // #8 = 'ld' chained node
/*127309*/                OPC_CheckFoldableChainNode,
/*127310*/                OPC_MoveChild1,
/*127311*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127314*/                OPC_CheckType, MVT::i64,
/*127316*/                OPC_Scope, 34|128,1/*162*/, /*->127481*/ // 2 children in Scope
/*127319*/                  OPC_CheckChild0Same, 3,
/*127321*/                  OPC_CheckChild1Integer, 3, 
/*127323*/                  OPC_MoveParent,
/*127324*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127326*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127328*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127330*/                  OPC_MoveParent,
/*127331*/                  OPC_MoveChild1,
/*127332*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127335*/                  OPC_RecordMemRef,
/*127336*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*127337*/                  OPC_CheckFoldableChainNode,
/*127338*/                  OPC_MoveChild1,
/*127339*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127342*/                  OPC_CheckChild0Same, 1,
/*127344*/                  OPC_CheckChild1Integer, 3, 
/*127346*/                  OPC_CheckType, MVT::i64,
/*127348*/                  OPC_MoveParent,
/*127349*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127351*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127353*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127355*/                  OPC_MoveParent,
/*127356*/                  OPC_MoveParent,
/*127357*/                  OPC_CheckType, MVT::i32,
/*127359*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*127361*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*127371*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*127374*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*127381*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*127387*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127390*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*127398*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127401*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*127409*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127412*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*127421*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*127427*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127430*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*127438*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127441*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*127449*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127452*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*127461*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*127470*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*127473*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*127481*/                /*Scope*/ 34|128,1/*162*/, /*->127645*/
/*127483*/                  OPC_CheckChild0Same, 1,
/*127485*/                  OPC_CheckChild1Integer, 3, 
/*127487*/                  OPC_MoveParent,
/*127488*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127490*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127492*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127494*/                  OPC_MoveParent,
/*127495*/                  OPC_MoveChild1,
/*127496*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127499*/                  OPC_RecordMemRef,
/*127500*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*127501*/                  OPC_CheckFoldableChainNode,
/*127502*/                  OPC_MoveChild1,
/*127503*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127506*/                  OPC_CheckChild0Same, 3,
/*127508*/                  OPC_CheckChild1Integer, 3, 
/*127510*/                  OPC_CheckType, MVT::i64,
/*127512*/                  OPC_MoveParent,
/*127513*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127515*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127517*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127519*/                  OPC_MoveParent,
/*127520*/                  OPC_MoveParent,
/*127521*/                  OPC_CheckType, MVT::i32,
/*127523*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*127525*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*127535*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*127538*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*127545*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*127551*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127554*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*127562*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127565*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*127573*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127576*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*127585*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*127591*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127594*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*127602*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127605*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*127613*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127616*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*127625*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*127634*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*127637*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*127645*/                0, /*End of Scope*/
/*127646*/              /*Scope*/ 3|128,3/*387*/, /*->128035*/
/*127648*/                OPC_CheckChild0Same, 1,
/*127650*/                OPC_CheckChild1Integer, 2, 
/*127652*/                OPC_MoveParent,
/*127653*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127655*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*127657*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127659*/                OPC_MoveParent,
/*127660*/                OPC_MoveChild1,
/*127661*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127664*/                OPC_RecordMemRef,
/*127665*/                OPC_RecordNode, // #7 = 'ld' chained node
/*127666*/                OPC_CheckFoldableChainNode,
/*127667*/                OPC_MoveChild1,
/*127668*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127671*/                OPC_CheckChild0Same, 3,
/*127673*/                OPC_CheckChild1Integer, 2, 
/*127675*/                OPC_CheckType, MVT::i64,
/*127677*/                OPC_MoveParent,
/*127678*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127680*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*127682*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127684*/                OPC_MoveParent,
/*127685*/                OPC_MoveParent,
/*127686*/                OPC_MoveParent,
/*127687*/                OPC_MoveParent,
/*127688*/                OPC_MoveChild1,
/*127689*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*127692*/                OPC_MoveChild0,
/*127693*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127696*/                OPC_RecordMemRef,
/*127697*/                OPC_RecordNode, // #8 = 'ld' chained node
/*127698*/                OPC_CheckFoldableChainNode,
/*127699*/                OPC_MoveChild1,
/*127700*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127703*/                OPC_CheckType, MVT::i64,
/*127705*/                OPC_Scope, 34|128,1/*162*/, /*->127870*/ // 2 children in Scope
/*127708*/                  OPC_CheckChild0Same, 3,
/*127710*/                  OPC_CheckChild1Integer, 3, 
/*127712*/                  OPC_MoveParent,
/*127713*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127715*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127717*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127719*/                  OPC_MoveParent,
/*127720*/                  OPC_MoveChild1,
/*127721*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127724*/                  OPC_RecordMemRef,
/*127725*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*127726*/                  OPC_CheckFoldableChainNode,
/*127727*/                  OPC_MoveChild1,
/*127728*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127731*/                  OPC_CheckChild0Same, 1,
/*127733*/                  OPC_CheckChild1Integer, 3, 
/*127735*/                  OPC_CheckType, MVT::i64,
/*127737*/                  OPC_MoveParent,
/*127738*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127740*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127742*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127744*/                  OPC_MoveParent,
/*127745*/                  OPC_MoveParent,
/*127746*/                  OPC_CheckType, MVT::i32,
/*127748*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*127750*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*127760*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*127763*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*127770*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*127776*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127779*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*127787*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127790*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*127798*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127801*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*127810*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*127816*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127819*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*127827*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127830*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*127838*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127841*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*127850*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*127859*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*127862*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*127870*/                /*Scope*/ 34|128,1/*162*/, /*->128034*/
/*127872*/                  OPC_CheckChild0Same, 1,
/*127874*/                  OPC_CheckChild1Integer, 3, 
/*127876*/                  OPC_MoveParent,
/*127877*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127879*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127881*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127883*/                  OPC_MoveParent,
/*127884*/                  OPC_MoveChild1,
/*127885*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*127888*/                  OPC_RecordMemRef,
/*127889*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*127890*/                  OPC_CheckFoldableChainNode,
/*127891*/                  OPC_MoveChild1,
/*127892*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*127895*/                  OPC_CheckChild0Same, 3,
/*127897*/                  OPC_CheckChild1Integer, 3, 
/*127899*/                  OPC_CheckType, MVT::i64,
/*127901*/                  OPC_MoveParent,
/*127902*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*127904*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*127906*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*127908*/                  OPC_MoveParent,
/*127909*/                  OPC_MoveParent,
/*127910*/                  OPC_CheckType, MVT::i32,
/*127912*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*127914*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*127924*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*127927*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*127934*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*127940*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127943*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*127951*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127954*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*127962*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*127965*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*127974*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*127980*/                  OPC_EmitInteger, MVT::i64, 0, 
/*127983*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*127991*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*127994*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*128002*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128005*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*128014*/                  OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*128023*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*128026*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*128034*/                0, /*End of Scope*/
/*128035*/              0, /*End of Scope*/
/*128036*/            0, /*End of Scope*/
/*128037*/          /*Scope*/ 81|128,97/*12497*/, /*->140536*/
/*128039*/            OPC_MoveChild1,
/*128040*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128043*/            OPC_RecordChild0, // #1 = $Rn
/*128044*/            OPC_CheckType, MVT::i64,
/*128046*/            OPC_Scope, 98|128,48/*6242*/, /*->134291*/ // 2 children in Scope
/*128049*/              OPC_CheckChild1Integer, 1, 
/*128051*/              OPC_MoveParent,
/*128052*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128054*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*128056*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128058*/              OPC_MoveParent,
/*128059*/              OPC_MoveChild1,
/*128060*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128063*/              OPC_RecordMemRef,
/*128064*/              OPC_RecordNode, // #2 = 'ld' chained node
/*128065*/              OPC_CheckFoldableChainNode,
/*128066*/              OPC_MoveChild1,
/*128067*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128070*/              OPC_RecordChild0, // #3 = $Rm
/*128071*/              OPC_CheckChild1Integer, 1, 
/*128073*/              OPC_CheckType, MVT::i64,
/*128075*/              OPC_MoveParent,
/*128076*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128078*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*128080*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128082*/              OPC_MoveParent,
/*128083*/              OPC_MoveParent,
/*128084*/              OPC_MoveChild1,
/*128085*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128088*/              OPC_MoveChild0,
/*128089*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*128092*/              OPC_MoveChild0,
/*128093*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128096*/              OPC_RecordMemRef,
/*128097*/              OPC_RecordNode, // #4 = 'ld' chained node
/*128098*/              OPC_CheckFoldableChainNode,
/*128099*/              OPC_Scope, 121|128,23/*3065*/, /*->131167*/ // 4 children in Scope
/*128102*/                OPC_MoveChild1,
/*128103*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128106*/                OPC_CheckType, MVT::i64,
/*128108*/                OPC_Scope, 37|128,6/*805*/, /*->128916*/ // 3 children in Scope
/*128111*/                  OPC_CheckChild0Same, 1,
/*128113*/                  OPC_CheckChild1Integer, 2, 
/*128115*/                  OPC_MoveParent,
/*128116*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128118*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*128120*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128122*/                  OPC_MoveParent,
/*128123*/                  OPC_MoveChild1,
/*128124*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128127*/                  OPC_RecordMemRef,
/*128128*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*128129*/                  OPC_CheckFoldableChainNode,
/*128130*/                  OPC_MoveChild1,
/*128131*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128134*/                  OPC_CheckChild0Same, 3,
/*128136*/                  OPC_CheckChild1Integer, 2, 
/*128138*/                  OPC_CheckType, MVT::i64,
/*128140*/                  OPC_MoveParent,
/*128141*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128143*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*128145*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128147*/                  OPC_MoveParent,
/*128148*/                  OPC_MoveParent,
/*128149*/                  OPC_MoveChild1,
/*128150*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*128153*/                  OPC_MoveChild0,
/*128154*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128157*/                  OPC_RecordMemRef,
/*128158*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*128159*/                  OPC_CheckFoldableChainNode,
/*128160*/                  OPC_Scope, 119|128,2/*375*/, /*->128538*/ // 2 children in Scope
/*128163*/                    OPC_CheckChild1Same, 1,
/*128165*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128167*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*128169*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128171*/                    OPC_MoveParent,
/*128172*/                    OPC_MoveChild1,
/*128173*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128176*/                    OPC_RecordMemRef,
/*128177*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*128178*/                    OPC_CheckFoldableChainNode,
/*128179*/                    OPC_CheckChild1Same, 3,
/*128181*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128183*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*128185*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128187*/                    OPC_MoveParent,
/*128188*/                    OPC_MoveParent,
/*128189*/                    OPC_MoveParent,
/*128190*/                    OPC_MoveParent,
/*128191*/                    OPC_MoveChild1,
/*128192*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*128195*/                    OPC_MoveChild0,
/*128196*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128199*/                    OPC_RecordMemRef,
/*128200*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*128201*/                    OPC_CheckFoldableChainNode,
/*128202*/                    OPC_MoveChild1,
/*128203*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128206*/                    OPC_CheckType, MVT::i64,
/*128208*/                    OPC_Scope, 34|128,1/*162*/, /*->128373*/ // 2 children in Scope
/*128211*/                      OPC_CheckChild0Same, 1,
/*128213*/                      OPC_CheckChild1Integer, 3, 
/*128215*/                      OPC_MoveParent,
/*128216*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128218*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*128220*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128222*/                      OPC_MoveParent,
/*128223*/                      OPC_MoveChild1,
/*128224*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128227*/                      OPC_RecordMemRef,
/*128228*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*128229*/                      OPC_CheckFoldableChainNode,
/*128230*/                      OPC_MoveChild1,
/*128231*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128234*/                      OPC_CheckChild0Same, 3,
/*128236*/                      OPC_CheckChild1Integer, 3, 
/*128238*/                      OPC_CheckType, MVT::i64,
/*128240*/                      OPC_MoveParent,
/*128241*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128243*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*128245*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128247*/                      OPC_MoveParent,
/*128248*/                      OPC_MoveParent,
/*128249*/                      OPC_CheckType, MVT::i32,
/*128251*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*128253*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*128263*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*128266*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*128273*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*128279*/                      OPC_EmitInteger, MVT::i64, 0, 
/*128282*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*128290*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*128293*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*128301*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128304*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*128313*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*128319*/                      OPC_EmitInteger, MVT::i64, 0, 
/*128322*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*128330*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*128333*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*128341*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128344*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*128353*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*128362*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*128365*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*128373*/                    /*Scope*/ 34|128,1/*162*/, /*->128537*/
/*128375*/                      OPC_CheckChild0Same, 3,
/*128377*/                      OPC_CheckChild1Integer, 3, 
/*128379*/                      OPC_MoveParent,
/*128380*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128382*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*128384*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128386*/                      OPC_MoveParent,
/*128387*/                      OPC_MoveChild1,
/*128388*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128391*/                      OPC_RecordMemRef,
/*128392*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*128393*/                      OPC_CheckFoldableChainNode,
/*128394*/                      OPC_MoveChild1,
/*128395*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128398*/                      OPC_CheckChild0Same, 1,
/*128400*/                      OPC_CheckChild1Integer, 3, 
/*128402*/                      OPC_CheckType, MVT::i64,
/*128404*/                      OPC_MoveParent,
/*128405*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128407*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*128409*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128411*/                      OPC_MoveParent,
/*128412*/                      OPC_MoveParent,
/*128413*/                      OPC_CheckType, MVT::i32,
/*128415*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*128417*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*128427*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*128430*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*128437*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*128443*/                      OPC_EmitInteger, MVT::i64, 0, 
/*128446*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*128454*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*128457*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*128465*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128468*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*128477*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*128483*/                      OPC_EmitInteger, MVT::i64, 0, 
/*128486*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*128494*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*128497*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*128505*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128508*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*128517*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*128526*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*128529*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*128537*/                    0, /*End of Scope*/
/*128538*/                  /*Scope*/ 119|128,2/*375*/, /*->128915*/
/*128540*/                    OPC_CheckChild1Same, 3,
/*128542*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128544*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*128546*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128548*/                    OPC_MoveParent,
/*128549*/                    OPC_MoveChild1,
/*128550*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128553*/                    OPC_RecordMemRef,
/*128554*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*128555*/                    OPC_CheckFoldableChainNode,
/*128556*/                    OPC_CheckChild1Same, 1,
/*128558*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128560*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*128562*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128564*/                    OPC_MoveParent,
/*128565*/                    OPC_MoveParent,
/*128566*/                    OPC_MoveParent,
/*128567*/                    OPC_MoveParent,
/*128568*/                    OPC_MoveChild1,
/*128569*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*128572*/                    OPC_MoveChild0,
/*128573*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128576*/                    OPC_RecordMemRef,
/*128577*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*128578*/                    OPC_CheckFoldableChainNode,
/*128579*/                    OPC_MoveChild1,
/*128580*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128583*/                    OPC_CheckType, MVT::i64,
/*128585*/                    OPC_Scope, 34|128,1/*162*/, /*->128750*/ // 2 children in Scope
/*128588*/                      OPC_CheckChild0Same, 1,
/*128590*/                      OPC_CheckChild1Integer, 3, 
/*128592*/                      OPC_MoveParent,
/*128593*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128595*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*128597*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128599*/                      OPC_MoveParent,
/*128600*/                      OPC_MoveChild1,
/*128601*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128604*/                      OPC_RecordMemRef,
/*128605*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*128606*/                      OPC_CheckFoldableChainNode,
/*128607*/                      OPC_MoveChild1,
/*128608*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128611*/                      OPC_CheckChild0Same, 3,
/*128613*/                      OPC_CheckChild1Integer, 3, 
/*128615*/                      OPC_CheckType, MVT::i64,
/*128617*/                      OPC_MoveParent,
/*128618*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128620*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*128622*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128624*/                      OPC_MoveParent,
/*128625*/                      OPC_MoveParent,
/*128626*/                      OPC_CheckType, MVT::i32,
/*128628*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*128630*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*128640*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*128643*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*128650*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*128656*/                      OPC_EmitInteger, MVT::i64, 0, 
/*128659*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*128667*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*128670*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*128678*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128681*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*128690*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*128696*/                      OPC_EmitInteger, MVT::i64, 0, 
/*128699*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*128707*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*128710*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*128718*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128721*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*128730*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*128739*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*128742*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*128750*/                    /*Scope*/ 34|128,1/*162*/, /*->128914*/
/*128752*/                      OPC_CheckChild0Same, 3,
/*128754*/                      OPC_CheckChild1Integer, 3, 
/*128756*/                      OPC_MoveParent,
/*128757*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128759*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*128761*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128763*/                      OPC_MoveParent,
/*128764*/                      OPC_MoveChild1,
/*128765*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128768*/                      OPC_RecordMemRef,
/*128769*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*128770*/                      OPC_CheckFoldableChainNode,
/*128771*/                      OPC_MoveChild1,
/*128772*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128775*/                      OPC_CheckChild0Same, 1,
/*128777*/                      OPC_CheckChild1Integer, 3, 
/*128779*/                      OPC_CheckType, MVT::i64,
/*128781*/                      OPC_MoveParent,
/*128782*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128784*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*128786*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128788*/                      OPC_MoveParent,
/*128789*/                      OPC_MoveParent,
/*128790*/                      OPC_CheckType, MVT::i32,
/*128792*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*128794*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*128804*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*128807*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*128814*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*128820*/                      OPC_EmitInteger, MVT::i64, 0, 
/*128823*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*128831*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*128834*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*128842*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128845*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*128854*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*128860*/                      OPC_EmitInteger, MVT::i64, 0, 
/*128863*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*128871*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*128874*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*128882*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*128885*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*128894*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*128903*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*128906*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*128914*/                    0, /*End of Scope*/
/*128915*/                  0, /*End of Scope*/
/*128916*/                /*Scope*/ 33|128,11/*1441*/, /*->130359*/
/*128918*/                  OPC_CheckChild0Same, 3,
/*128920*/                  OPC_CheckChild1Integer, 2, 
/*128922*/                  OPC_MoveParent,
/*128923*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128925*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*128927*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128929*/                  OPC_MoveParent,
/*128930*/                  OPC_MoveChild1,
/*128931*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128934*/                  OPC_RecordMemRef,
/*128935*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*128936*/                  OPC_CheckFoldableChainNode,
/*128937*/                  OPC_MoveChild1,
/*128938*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*128941*/                  OPC_CheckChild0Same, 1,
/*128943*/                  OPC_CheckChild1Integer, 2, 
/*128945*/                  OPC_CheckType, MVT::i64,
/*128947*/                  OPC_MoveParent,
/*128948*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128950*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*128952*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128954*/                  OPC_MoveParent,
/*128955*/                  OPC_MoveParent,
/*128956*/                  OPC_MoveChild1,
/*128957*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*128960*/                  OPC_MoveChild0,
/*128961*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128964*/                  OPC_RecordMemRef,
/*128965*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*128966*/                  OPC_CheckFoldableChainNode,
/*128967*/                  OPC_Scope, 119|128,2/*375*/, /*->129345*/ // 3 children in Scope
/*128970*/                    OPC_CheckChild1Same, 1,
/*128972*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128974*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*128976*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128978*/                    OPC_MoveParent,
/*128979*/                    OPC_MoveChild1,
/*128980*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*128983*/                    OPC_RecordMemRef,
/*128984*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*128985*/                    OPC_CheckFoldableChainNode,
/*128986*/                    OPC_CheckChild1Same, 3,
/*128988*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*128990*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*128992*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*128994*/                    OPC_MoveParent,
/*128995*/                    OPC_MoveParent,
/*128996*/                    OPC_MoveParent,
/*128997*/                    OPC_MoveParent,
/*128998*/                    OPC_MoveChild1,
/*128999*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*129002*/                    OPC_MoveChild0,
/*129003*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129006*/                    OPC_RecordMemRef,
/*129007*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*129008*/                    OPC_CheckFoldableChainNode,
/*129009*/                    OPC_MoveChild1,
/*129010*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*129013*/                    OPC_CheckType, MVT::i64,
/*129015*/                    OPC_Scope, 34|128,1/*162*/, /*->129180*/ // 2 children in Scope
/*129018*/                      OPC_CheckChild0Same, 1,
/*129020*/                      OPC_CheckChild1Integer, 3, 
/*129022*/                      OPC_MoveParent,
/*129023*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129025*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129027*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129029*/                      OPC_MoveParent,
/*129030*/                      OPC_MoveChild1,
/*129031*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129034*/                      OPC_RecordMemRef,
/*129035*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*129036*/                      OPC_CheckFoldableChainNode,
/*129037*/                      OPC_MoveChild1,
/*129038*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*129041*/                      OPC_CheckChild0Same, 3,
/*129043*/                      OPC_CheckChild1Integer, 3, 
/*129045*/                      OPC_CheckType, MVT::i64,
/*129047*/                      OPC_MoveParent,
/*129048*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129050*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129052*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129054*/                      OPC_MoveParent,
/*129055*/                      OPC_MoveParent,
/*129056*/                      OPC_CheckType, MVT::i32,
/*129058*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*129060*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*129070*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*129073*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*129080*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*129086*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129089*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*129097*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129100*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*129108*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129111*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*129120*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*129126*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129129*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*129137*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129140*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*129148*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129151*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*129160*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*129169*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*129172*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*129180*/                    /*Scope*/ 34|128,1/*162*/, /*->129344*/
/*129182*/                      OPC_CheckChild0Same, 3,
/*129184*/                      OPC_CheckChild1Integer, 3, 
/*129186*/                      OPC_MoveParent,
/*129187*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129189*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129191*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129193*/                      OPC_MoveParent,
/*129194*/                      OPC_MoveChild1,
/*129195*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129198*/                      OPC_RecordMemRef,
/*129199*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*129200*/                      OPC_CheckFoldableChainNode,
/*129201*/                      OPC_MoveChild1,
/*129202*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*129205*/                      OPC_CheckChild0Same, 1,
/*129207*/                      OPC_CheckChild1Integer, 3, 
/*129209*/                      OPC_CheckType, MVT::i64,
/*129211*/                      OPC_MoveParent,
/*129212*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129214*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129216*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129218*/                      OPC_MoveParent,
/*129219*/                      OPC_MoveParent,
/*129220*/                      OPC_CheckType, MVT::i32,
/*129222*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*129224*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*129234*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*129237*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*129244*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*129250*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129253*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*129261*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129264*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*129272*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129275*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*129284*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*129290*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129293*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*129301*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129304*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*129312*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129315*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*129324*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*129333*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*129336*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*129344*/                    0, /*End of Scope*/
/*129345*/                  /*Scope*/ 122|128,4/*634*/, /*->129981*/
/*129347*/                    OPC_CheckChild1Same, 3,
/*129349*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129351*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*129353*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129355*/                    OPC_MoveParent,
/*129356*/                    OPC_MoveChild1,
/*129357*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129360*/                    OPC_RecordMemRef,
/*129361*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*129362*/                    OPC_CheckFoldableChainNode,
/*129363*/                    OPC_CheckChild1Same, 1,
/*129365*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129367*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*129369*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129371*/                    OPC_MoveParent,
/*129372*/                    OPC_MoveParent,
/*129373*/                    OPC_MoveParent,
/*129374*/                    OPC_MoveParent,
/*129375*/                    OPC_MoveChild1,
/*129376*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*129379*/                    OPC_MoveChild0,
/*129380*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129383*/                    OPC_RecordMemRef,
/*129384*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*129385*/                    OPC_CheckFoldableChainNode,
/*129386*/                    OPC_MoveChild1,
/*129387*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*129390*/                    OPC_CheckType, MVT::i64,
/*129392*/                    OPC_Scope, 34|128,1/*162*/, /*->129557*/ // 3 children in Scope
/*129395*/                      OPC_CheckChild0Same, 1,
/*129397*/                      OPC_CheckChild1Integer, 3, 
/*129399*/                      OPC_MoveParent,
/*129400*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129402*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129404*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129406*/                      OPC_MoveParent,
/*129407*/                      OPC_MoveChild1,
/*129408*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129411*/                      OPC_RecordMemRef,
/*129412*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*129413*/                      OPC_CheckFoldableChainNode,
/*129414*/                      OPC_MoveChild1,
/*129415*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*129418*/                      OPC_CheckChild0Same, 3,
/*129420*/                      OPC_CheckChild1Integer, 3, 
/*129422*/                      OPC_CheckType, MVT::i64,
/*129424*/                      OPC_MoveParent,
/*129425*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129427*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129429*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129431*/                      OPC_MoveParent,
/*129432*/                      OPC_MoveParent,
/*129433*/                      OPC_CheckType, MVT::i32,
/*129435*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*129437*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*129447*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*129450*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*129457*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*129463*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129466*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*129474*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129477*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*129485*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129488*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*129497*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*129503*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129506*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*129514*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129517*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*129525*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129528*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*129537*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*129546*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*129549*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*129557*/                    /*Scope*/ 1|128,2/*257*/, /*->129816*/
/*129559*/                      OPC_CheckChild0Same, 3,
/*129561*/                      OPC_CheckChild1Integer, 3, 
/*129563*/                      OPC_MoveParent,
/*129564*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129566*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129568*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129570*/                      OPC_MoveParent,
/*129571*/                      OPC_MoveChild1,
/*129572*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129575*/                      OPC_RecordMemRef,
/*129576*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*129577*/                      OPC_CheckFoldableChainNode,
/*129578*/                      OPC_MoveChild1,
/*129579*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*129582*/                      OPC_CheckChild0Same, 1,
/*129584*/                      OPC_CheckChild1Integer, 3, 
/*129586*/                      OPC_CheckType, MVT::i64,
/*129588*/                      OPC_MoveParent,
/*129589*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129591*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129593*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129595*/                      OPC_MoveParent,
/*129596*/                      OPC_MoveParent,
/*129597*/                      OPC_CheckType, MVT::i32,
/*129599*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*129601*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*129611*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*129614*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*129621*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*129627*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129630*/                      OPC_Scope, 91, /*->129723*/ // 2 children in Scope
/*129632*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*129640*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129643*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*129651*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129654*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*129663*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*129669*/                        OPC_EmitInteger, MVT::i64, 0, 
/*129672*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*129680*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129683*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*129691*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129694*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*129703*/                        OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*129712*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*129715*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*129723*/                      /*Scope*/ 91, /*->129815*/
/*129724*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*129732*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129735*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*129743*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129746*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*129755*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*129761*/                        OPC_EmitInteger, MVT::i64, 0, 
/*129764*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*129772*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129775*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*129783*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129786*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*129795*/                        OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*129804*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*129807*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*129815*/                      0, /*End of Scope*/
/*129816*/                    /*Scope*/ 34|128,1/*162*/, /*->129980*/
/*129818*/                      OPC_CheckChild0Same, 1,
/*129820*/                      OPC_CheckChild1Integer, 3, 
/*129822*/                      OPC_MoveParent,
/*129823*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129825*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129827*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129829*/                      OPC_MoveParent,
/*129830*/                      OPC_MoveChild1,
/*129831*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129834*/                      OPC_RecordMemRef,
/*129835*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*129836*/                      OPC_CheckFoldableChainNode,
/*129837*/                      OPC_MoveChild1,
/*129838*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*129841*/                      OPC_CheckChild0Same, 3,
/*129843*/                      OPC_CheckChild1Integer, 3, 
/*129845*/                      OPC_CheckType, MVT::i64,
/*129847*/                      OPC_MoveParent,
/*129848*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129850*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*129852*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129854*/                      OPC_MoveParent,
/*129855*/                      OPC_MoveParent,
/*129856*/                      OPC_CheckType, MVT::i32,
/*129858*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*129860*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*129870*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*129873*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*129880*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*129886*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129889*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*129897*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129900*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*129908*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129911*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*129920*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*129926*/                      OPC_EmitInteger, MVT::i64, 0, 
/*129929*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*129937*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*129940*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*129948*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*129951*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*129960*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*129969*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*129972*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*129980*/                    0, /*End of Scope*/
/*129981*/                  /*Scope*/ 119|128,2/*375*/, /*->130358*/
/*129983*/                    OPC_CheckChild1Same, 1,
/*129985*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*129987*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*129989*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*129991*/                    OPC_MoveParent,
/*129992*/                    OPC_MoveChild1,
/*129993*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*129996*/                    OPC_RecordMemRef,
/*129997*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*129998*/                    OPC_CheckFoldableChainNode,
/*129999*/                    OPC_CheckChild1Same, 3,
/*130001*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130003*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*130005*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130007*/                    OPC_MoveParent,
/*130008*/                    OPC_MoveParent,
/*130009*/                    OPC_MoveParent,
/*130010*/                    OPC_MoveParent,
/*130011*/                    OPC_MoveChild1,
/*130012*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*130015*/                    OPC_MoveChild0,
/*130016*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130019*/                    OPC_RecordMemRef,
/*130020*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*130021*/                    OPC_CheckFoldableChainNode,
/*130022*/                    OPC_MoveChild1,
/*130023*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130026*/                    OPC_CheckType, MVT::i64,
/*130028*/                    OPC_Scope, 34|128,1/*162*/, /*->130193*/ // 2 children in Scope
/*130031*/                      OPC_CheckChild0Same, 3,
/*130033*/                      OPC_CheckChild1Integer, 3, 
/*130035*/                      OPC_MoveParent,
/*130036*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130038*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130040*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130042*/                      OPC_MoveParent,
/*130043*/                      OPC_MoveChild1,
/*130044*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130047*/                      OPC_RecordMemRef,
/*130048*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*130049*/                      OPC_CheckFoldableChainNode,
/*130050*/                      OPC_MoveChild1,
/*130051*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130054*/                      OPC_CheckChild0Same, 1,
/*130056*/                      OPC_CheckChild1Integer, 3, 
/*130058*/                      OPC_CheckType, MVT::i64,
/*130060*/                      OPC_MoveParent,
/*130061*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130063*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130065*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130067*/                      OPC_MoveParent,
/*130068*/                      OPC_MoveParent,
/*130069*/                      OPC_CheckType, MVT::i32,
/*130071*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*130073*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*130083*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*130086*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*130093*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*130099*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130102*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*130110*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130113*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*130121*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130124*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*130133*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*130139*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130142*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*130150*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130153*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*130161*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130164*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*130173*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*130182*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*130185*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*130193*/                    /*Scope*/ 34|128,1/*162*/, /*->130357*/
/*130195*/                      OPC_CheckChild0Same, 1,
/*130197*/                      OPC_CheckChild1Integer, 3, 
/*130199*/                      OPC_MoveParent,
/*130200*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130202*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130204*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130206*/                      OPC_MoveParent,
/*130207*/                      OPC_MoveChild1,
/*130208*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130211*/                      OPC_RecordMemRef,
/*130212*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*130213*/                      OPC_CheckFoldableChainNode,
/*130214*/                      OPC_MoveChild1,
/*130215*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130218*/                      OPC_CheckChild0Same, 3,
/*130220*/                      OPC_CheckChild1Integer, 3, 
/*130222*/                      OPC_CheckType, MVT::i64,
/*130224*/                      OPC_MoveParent,
/*130225*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130227*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130229*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130231*/                      OPC_MoveParent,
/*130232*/                      OPC_MoveParent,
/*130233*/                      OPC_CheckType, MVT::i32,
/*130235*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*130237*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*130247*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*130250*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*130257*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*130263*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130266*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*130274*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130277*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*130285*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130288*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*130297*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*130303*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130306*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*130314*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130317*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*130325*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130328*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*130337*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*130346*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*130349*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*130357*/                    0, /*End of Scope*/
/*130358*/                  0, /*End of Scope*/
/*130359*/                /*Scope*/ 37|128,6/*805*/, /*->131166*/
/*130361*/                  OPC_CheckChild0Same, 1,
/*130363*/                  OPC_CheckChild1Integer, 2, 
/*130365*/                  OPC_MoveParent,
/*130366*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130368*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*130370*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130372*/                  OPC_MoveParent,
/*130373*/                  OPC_MoveChild1,
/*130374*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130377*/                  OPC_RecordMemRef,
/*130378*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*130379*/                  OPC_CheckFoldableChainNode,
/*130380*/                  OPC_MoveChild1,
/*130381*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130384*/                  OPC_CheckChild0Same, 3,
/*130386*/                  OPC_CheckChild1Integer, 2, 
/*130388*/                  OPC_CheckType, MVT::i64,
/*130390*/                  OPC_MoveParent,
/*130391*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130393*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*130395*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130397*/                  OPC_MoveParent,
/*130398*/                  OPC_MoveParent,
/*130399*/                  OPC_MoveChild1,
/*130400*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*130403*/                  OPC_MoveChild0,
/*130404*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130407*/                  OPC_RecordMemRef,
/*130408*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*130409*/                  OPC_CheckFoldableChainNode,
/*130410*/                  OPC_Scope, 119|128,2/*375*/, /*->130788*/ // 2 children in Scope
/*130413*/                    OPC_CheckChild1Same, 3,
/*130415*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130417*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*130419*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130421*/                    OPC_MoveParent,
/*130422*/                    OPC_MoveChild1,
/*130423*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130426*/                    OPC_RecordMemRef,
/*130427*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*130428*/                    OPC_CheckFoldableChainNode,
/*130429*/                    OPC_CheckChild1Same, 1,
/*130431*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130433*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*130435*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130437*/                    OPC_MoveParent,
/*130438*/                    OPC_MoveParent,
/*130439*/                    OPC_MoveParent,
/*130440*/                    OPC_MoveParent,
/*130441*/                    OPC_MoveChild1,
/*130442*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*130445*/                    OPC_MoveChild0,
/*130446*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130449*/                    OPC_RecordMemRef,
/*130450*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*130451*/                    OPC_CheckFoldableChainNode,
/*130452*/                    OPC_MoveChild1,
/*130453*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130456*/                    OPC_CheckType, MVT::i64,
/*130458*/                    OPC_Scope, 34|128,1/*162*/, /*->130623*/ // 2 children in Scope
/*130461*/                      OPC_CheckChild0Same, 3,
/*130463*/                      OPC_CheckChild1Integer, 3, 
/*130465*/                      OPC_MoveParent,
/*130466*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130468*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130470*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130472*/                      OPC_MoveParent,
/*130473*/                      OPC_MoveChild1,
/*130474*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130477*/                      OPC_RecordMemRef,
/*130478*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*130479*/                      OPC_CheckFoldableChainNode,
/*130480*/                      OPC_MoveChild1,
/*130481*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130484*/                      OPC_CheckChild0Same, 1,
/*130486*/                      OPC_CheckChild1Integer, 3, 
/*130488*/                      OPC_CheckType, MVT::i64,
/*130490*/                      OPC_MoveParent,
/*130491*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130493*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130495*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130497*/                      OPC_MoveParent,
/*130498*/                      OPC_MoveParent,
/*130499*/                      OPC_CheckType, MVT::i32,
/*130501*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*130503*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*130513*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*130516*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*130523*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*130529*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130532*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*130540*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130543*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*130551*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130554*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*130563*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*130569*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130572*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*130580*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130583*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*130591*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130594*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*130603*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*130612*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*130615*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*130623*/                    /*Scope*/ 34|128,1/*162*/, /*->130787*/
/*130625*/                      OPC_CheckChild0Same, 1,
/*130627*/                      OPC_CheckChild1Integer, 3, 
/*130629*/                      OPC_MoveParent,
/*130630*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130632*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130634*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130636*/                      OPC_MoveParent,
/*130637*/                      OPC_MoveChild1,
/*130638*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130641*/                      OPC_RecordMemRef,
/*130642*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*130643*/                      OPC_CheckFoldableChainNode,
/*130644*/                      OPC_MoveChild1,
/*130645*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130648*/                      OPC_CheckChild0Same, 3,
/*130650*/                      OPC_CheckChild1Integer, 3, 
/*130652*/                      OPC_CheckType, MVT::i64,
/*130654*/                      OPC_MoveParent,
/*130655*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130657*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130659*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130661*/                      OPC_MoveParent,
/*130662*/                      OPC_MoveParent,
/*130663*/                      OPC_CheckType, MVT::i32,
/*130665*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*130667*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*130677*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*130680*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*130687*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*130693*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130696*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*130704*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130707*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*130715*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130718*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*130727*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*130733*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130736*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*130744*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130747*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*130755*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130758*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*130767*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*130776*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*130779*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*130787*/                    0, /*End of Scope*/
/*130788*/                  /*Scope*/ 119|128,2/*375*/, /*->131165*/
/*130790*/                    OPC_CheckChild1Same, 1,
/*130792*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130794*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*130796*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130798*/                    OPC_MoveParent,
/*130799*/                    OPC_MoveChild1,
/*130800*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130803*/                    OPC_RecordMemRef,
/*130804*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*130805*/                    OPC_CheckFoldableChainNode,
/*130806*/                    OPC_CheckChild1Same, 3,
/*130808*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130810*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*130812*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130814*/                    OPC_MoveParent,
/*130815*/                    OPC_MoveParent,
/*130816*/                    OPC_MoveParent,
/*130817*/                    OPC_MoveParent,
/*130818*/                    OPC_MoveChild1,
/*130819*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*130822*/                    OPC_MoveChild0,
/*130823*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130826*/                    OPC_RecordMemRef,
/*130827*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*130828*/                    OPC_CheckFoldableChainNode,
/*130829*/                    OPC_MoveChild1,
/*130830*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130833*/                    OPC_CheckType, MVT::i64,
/*130835*/                    OPC_Scope, 34|128,1/*162*/, /*->131000*/ // 2 children in Scope
/*130838*/                      OPC_CheckChild0Same, 3,
/*130840*/                      OPC_CheckChild1Integer, 3, 
/*130842*/                      OPC_MoveParent,
/*130843*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130845*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130847*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130849*/                      OPC_MoveParent,
/*130850*/                      OPC_MoveChild1,
/*130851*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*130854*/                      OPC_RecordMemRef,
/*130855*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*130856*/                      OPC_CheckFoldableChainNode,
/*130857*/                      OPC_MoveChild1,
/*130858*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*130861*/                      OPC_CheckChild0Same, 1,
/*130863*/                      OPC_CheckChild1Integer, 3, 
/*130865*/                      OPC_CheckType, MVT::i64,
/*130867*/                      OPC_MoveParent,
/*130868*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*130870*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*130872*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*130874*/                      OPC_MoveParent,
/*130875*/                      OPC_MoveParent,
/*130876*/                      OPC_CheckType, MVT::i32,
/*130878*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*130880*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*130890*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*130893*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*130900*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*130906*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130909*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*130917*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130920*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*130928*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130931*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*130940*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*130946*/                      OPC_EmitInteger, MVT::i64, 0, 
/*130949*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*130957*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*130960*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*130968*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*130971*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*130980*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*130989*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*130992*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*131000*/                    /*Scope*/ 34|128,1/*162*/, /*->131164*/
/*131002*/                      OPC_CheckChild0Same, 1,
/*131004*/                      OPC_CheckChild1Integer, 3, 
/*131006*/                      OPC_MoveParent,
/*131007*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131009*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*131011*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131013*/                      OPC_MoveParent,
/*131014*/                      OPC_MoveChild1,
/*131015*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131018*/                      OPC_RecordMemRef,
/*131019*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*131020*/                      OPC_CheckFoldableChainNode,
/*131021*/                      OPC_MoveChild1,
/*131022*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131025*/                      OPC_CheckChild0Same, 3,
/*131027*/                      OPC_CheckChild1Integer, 3, 
/*131029*/                      OPC_CheckType, MVT::i64,
/*131031*/                      OPC_MoveParent,
/*131032*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131034*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*131036*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131038*/                      OPC_MoveParent,
/*131039*/                      OPC_MoveParent,
/*131040*/                      OPC_CheckType, MVT::i32,
/*131042*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*131044*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*131054*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*131057*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*131064*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*131070*/                      OPC_EmitInteger, MVT::i64, 0, 
/*131073*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*131081*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131084*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*131092*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131095*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*131104*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*131110*/                      OPC_EmitInteger, MVT::i64, 0, 
/*131113*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*131121*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131124*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*131132*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131135*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*131144*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*131153*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*131156*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*131164*/                    0, /*End of Scope*/
/*131165*/                  0, /*End of Scope*/
/*131166*/                0, /*End of Scope*/
/*131167*/              /*Scope*/ 55|128,6/*823*/, /*->131992*/
/*131169*/                OPC_CheckChild1Same, 1,
/*131171*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131173*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*131175*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131177*/                OPC_MoveParent,
/*131178*/                OPC_MoveChild1,
/*131179*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131182*/                OPC_RecordMemRef,
/*131183*/                OPC_RecordNode, // #5 = 'ld' chained node
/*131184*/                OPC_CheckFoldableChainNode,
/*131185*/                OPC_CheckChild1Same, 3,
/*131187*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131189*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*131191*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131193*/                OPC_MoveParent,
/*131194*/                OPC_MoveParent,
/*131195*/                OPC_MoveChild1,
/*131196*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*131199*/                OPC_MoveChild0,
/*131200*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131203*/                OPC_RecordMemRef,
/*131204*/                OPC_RecordNode, // #6 = 'ld' chained node
/*131205*/                OPC_CheckFoldableChainNode,
/*131206*/                OPC_MoveChild1,
/*131207*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131210*/                OPC_CheckType, MVT::i64,
/*131212*/                OPC_Scope, 3|128,3/*387*/, /*->131602*/ // 2 children in Scope
/*131215*/                  OPC_CheckChild0Same, 1,
/*131217*/                  OPC_CheckChild1Integer, 2, 
/*131219*/                  OPC_MoveParent,
/*131220*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131222*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*131224*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131226*/                  OPC_MoveParent,
/*131227*/                  OPC_MoveChild1,
/*131228*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131231*/                  OPC_RecordMemRef,
/*131232*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*131233*/                  OPC_CheckFoldableChainNode,
/*131234*/                  OPC_MoveChild1,
/*131235*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131238*/                  OPC_CheckChild0Same, 3,
/*131240*/                  OPC_CheckChild1Integer, 2, 
/*131242*/                  OPC_CheckType, MVT::i64,
/*131244*/                  OPC_MoveParent,
/*131245*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131247*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*131249*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131251*/                  OPC_MoveParent,
/*131252*/                  OPC_MoveParent,
/*131253*/                  OPC_MoveParent,
/*131254*/                  OPC_MoveParent,
/*131255*/                  OPC_MoveChild1,
/*131256*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*131259*/                  OPC_MoveChild0,
/*131260*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131263*/                  OPC_RecordMemRef,
/*131264*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*131265*/                  OPC_CheckFoldableChainNode,
/*131266*/                  OPC_MoveChild1,
/*131267*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131270*/                  OPC_CheckType, MVT::i64,
/*131272*/                  OPC_Scope, 34|128,1/*162*/, /*->131437*/ // 2 children in Scope
/*131275*/                    OPC_CheckChild0Same, 1,
/*131277*/                    OPC_CheckChild1Integer, 3, 
/*131279*/                    OPC_MoveParent,
/*131280*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131282*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*131284*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131286*/                    OPC_MoveParent,
/*131287*/                    OPC_MoveChild1,
/*131288*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131291*/                    OPC_RecordMemRef,
/*131292*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*131293*/                    OPC_CheckFoldableChainNode,
/*131294*/                    OPC_MoveChild1,
/*131295*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131298*/                    OPC_CheckChild0Same, 3,
/*131300*/                    OPC_CheckChild1Integer, 3, 
/*131302*/                    OPC_CheckType, MVT::i64,
/*131304*/                    OPC_MoveParent,
/*131305*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131307*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*131309*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131311*/                    OPC_MoveParent,
/*131312*/                    OPC_MoveParent,
/*131313*/                    OPC_CheckType, MVT::i32,
/*131315*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*131317*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*131327*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*131330*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*131337*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*131343*/                    OPC_EmitInteger, MVT::i64, 0, 
/*131346*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*131354*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131357*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*131365*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131368*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*131377*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*131383*/                    OPC_EmitInteger, MVT::i64, 0, 
/*131386*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*131394*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131397*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*131405*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131408*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*131417*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*131426*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*131429*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*131437*/                  /*Scope*/ 34|128,1/*162*/, /*->131601*/
/*131439*/                    OPC_CheckChild0Same, 3,
/*131441*/                    OPC_CheckChild1Integer, 3, 
/*131443*/                    OPC_MoveParent,
/*131444*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131446*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*131448*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131450*/                    OPC_MoveParent,
/*131451*/                    OPC_MoveChild1,
/*131452*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131455*/                    OPC_RecordMemRef,
/*131456*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*131457*/                    OPC_CheckFoldableChainNode,
/*131458*/                    OPC_MoveChild1,
/*131459*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131462*/                    OPC_CheckChild0Same, 1,
/*131464*/                    OPC_CheckChild1Integer, 3, 
/*131466*/                    OPC_CheckType, MVT::i64,
/*131468*/                    OPC_MoveParent,
/*131469*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131471*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*131473*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131475*/                    OPC_MoveParent,
/*131476*/                    OPC_MoveParent,
/*131477*/                    OPC_CheckType, MVT::i32,
/*131479*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*131481*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*131491*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*131494*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*131501*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*131507*/                    OPC_EmitInteger, MVT::i64, 0, 
/*131510*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*131518*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131521*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*131529*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131532*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*131541*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*131547*/                    OPC_EmitInteger, MVT::i64, 0, 
/*131550*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*131558*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131561*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*131569*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131572*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*131581*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*131590*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*131593*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*131601*/                  0, /*End of Scope*/
/*131602*/                /*Scope*/ 3|128,3/*387*/, /*->131991*/
/*131604*/                  OPC_CheckChild0Same, 3,
/*131606*/                  OPC_CheckChild1Integer, 2, 
/*131608*/                  OPC_MoveParent,
/*131609*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131611*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*131613*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131615*/                  OPC_MoveParent,
/*131616*/                  OPC_MoveChild1,
/*131617*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131620*/                  OPC_RecordMemRef,
/*131621*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*131622*/                  OPC_CheckFoldableChainNode,
/*131623*/                  OPC_MoveChild1,
/*131624*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131627*/                  OPC_CheckChild0Same, 1,
/*131629*/                  OPC_CheckChild1Integer, 2, 
/*131631*/                  OPC_CheckType, MVT::i64,
/*131633*/                  OPC_MoveParent,
/*131634*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131636*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*131638*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131640*/                  OPC_MoveParent,
/*131641*/                  OPC_MoveParent,
/*131642*/                  OPC_MoveParent,
/*131643*/                  OPC_MoveParent,
/*131644*/                  OPC_MoveChild1,
/*131645*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*131648*/                  OPC_MoveChild0,
/*131649*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131652*/                  OPC_RecordMemRef,
/*131653*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*131654*/                  OPC_CheckFoldableChainNode,
/*131655*/                  OPC_MoveChild1,
/*131656*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131659*/                  OPC_CheckType, MVT::i64,
/*131661*/                  OPC_Scope, 34|128,1/*162*/, /*->131826*/ // 2 children in Scope
/*131664*/                    OPC_CheckChild0Same, 1,
/*131666*/                    OPC_CheckChild1Integer, 3, 
/*131668*/                    OPC_MoveParent,
/*131669*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131671*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*131673*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131675*/                    OPC_MoveParent,
/*131676*/                    OPC_MoveChild1,
/*131677*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131680*/                    OPC_RecordMemRef,
/*131681*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*131682*/                    OPC_CheckFoldableChainNode,
/*131683*/                    OPC_MoveChild1,
/*131684*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131687*/                    OPC_CheckChild0Same, 3,
/*131689*/                    OPC_CheckChild1Integer, 3, 
/*131691*/                    OPC_CheckType, MVT::i64,
/*131693*/                    OPC_MoveParent,
/*131694*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131696*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*131698*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131700*/                    OPC_MoveParent,
/*131701*/                    OPC_MoveParent,
/*131702*/                    OPC_CheckType, MVT::i32,
/*131704*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*131706*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*131716*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*131719*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*131726*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*131732*/                    OPC_EmitInteger, MVT::i64, 0, 
/*131735*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*131743*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131746*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*131754*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131757*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*131766*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*131772*/                    OPC_EmitInteger, MVT::i64, 0, 
/*131775*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*131783*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131786*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*131794*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131797*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*131806*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*131815*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*131818*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*131826*/                  /*Scope*/ 34|128,1/*162*/, /*->131990*/
/*131828*/                    OPC_CheckChild0Same, 3,
/*131830*/                    OPC_CheckChild1Integer, 3, 
/*131832*/                    OPC_MoveParent,
/*131833*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131835*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*131837*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131839*/                    OPC_MoveParent,
/*131840*/                    OPC_MoveChild1,
/*131841*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*131844*/                    OPC_RecordMemRef,
/*131845*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*131846*/                    OPC_CheckFoldableChainNode,
/*131847*/                    OPC_MoveChild1,
/*131848*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*131851*/                    OPC_CheckChild0Same, 1,
/*131853*/                    OPC_CheckChild1Integer, 3, 
/*131855*/                    OPC_CheckType, MVT::i64,
/*131857*/                    OPC_MoveParent,
/*131858*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131860*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*131862*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*131864*/                    OPC_MoveParent,
/*131865*/                    OPC_MoveParent,
/*131866*/                    OPC_CheckType, MVT::i32,
/*131868*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*131870*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*131880*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*131883*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*131890*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*131896*/                    OPC_EmitInteger, MVT::i64, 0, 
/*131899*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*131907*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131910*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*131918*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131921*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*131930*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*131936*/                    OPC_EmitInteger, MVT::i64, 0, 
/*131939*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*131947*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*131950*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*131958*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*131961*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*131970*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*131979*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*131982*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*131990*/                  0, /*End of Scope*/
/*131991*/                0, /*End of Scope*/
/*131992*/              /*Scope*/ 63|128,11/*1471*/, /*->133465*/
/*131994*/                OPC_CheckChild1Same, 3,
/*131996*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*131998*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*132000*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132002*/                OPC_MoveParent,
/*132003*/                OPC_MoveChild1,
/*132004*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132007*/                OPC_RecordMemRef,
/*132008*/                OPC_RecordNode, // #5 = 'ld' chained node
/*132009*/                OPC_CheckFoldableChainNode,
/*132010*/                OPC_CheckChild1Same, 1,
/*132012*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132014*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*132016*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132018*/                OPC_MoveParent,
/*132019*/                OPC_MoveParent,
/*132020*/                OPC_MoveChild1,
/*132021*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*132024*/                OPC_MoveChild0,
/*132025*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132028*/                OPC_RecordMemRef,
/*132029*/                OPC_RecordNode, // #6 = 'ld' chained node
/*132030*/                OPC_CheckFoldableChainNode,
/*132031*/                OPC_MoveChild1,
/*132032*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132035*/                OPC_CheckType, MVT::i64,
/*132037*/                OPC_Scope, 3|128,3/*387*/, /*->132427*/ // 3 children in Scope
/*132040*/                  OPC_CheckChild0Same, 1,
/*132042*/                  OPC_CheckChild1Integer, 2, 
/*132044*/                  OPC_MoveParent,
/*132045*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132047*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*132049*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132051*/                  OPC_MoveParent,
/*132052*/                  OPC_MoveChild1,
/*132053*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132056*/                  OPC_RecordMemRef,
/*132057*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*132058*/                  OPC_CheckFoldableChainNode,
/*132059*/                  OPC_MoveChild1,
/*132060*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132063*/                  OPC_CheckChild0Same, 3,
/*132065*/                  OPC_CheckChild1Integer, 2, 
/*132067*/                  OPC_CheckType, MVT::i64,
/*132069*/                  OPC_MoveParent,
/*132070*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132072*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*132074*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132076*/                  OPC_MoveParent,
/*132077*/                  OPC_MoveParent,
/*132078*/                  OPC_MoveParent,
/*132079*/                  OPC_MoveParent,
/*132080*/                  OPC_MoveChild1,
/*132081*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*132084*/                  OPC_MoveChild0,
/*132085*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132088*/                  OPC_RecordMemRef,
/*132089*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*132090*/                  OPC_CheckFoldableChainNode,
/*132091*/                  OPC_MoveChild1,
/*132092*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132095*/                  OPC_CheckType, MVT::i64,
/*132097*/                  OPC_Scope, 34|128,1/*162*/, /*->132262*/ // 2 children in Scope
/*132100*/                    OPC_CheckChild0Same, 1,
/*132102*/                    OPC_CheckChild1Integer, 3, 
/*132104*/                    OPC_MoveParent,
/*132105*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132107*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132109*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132111*/                    OPC_MoveParent,
/*132112*/                    OPC_MoveChild1,
/*132113*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132116*/                    OPC_RecordMemRef,
/*132117*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*132118*/                    OPC_CheckFoldableChainNode,
/*132119*/                    OPC_MoveChild1,
/*132120*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132123*/                    OPC_CheckChild0Same, 3,
/*132125*/                    OPC_CheckChild1Integer, 3, 
/*132127*/                    OPC_CheckType, MVT::i64,
/*132129*/                    OPC_MoveParent,
/*132130*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132132*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132134*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132136*/                    OPC_MoveParent,
/*132137*/                    OPC_MoveParent,
/*132138*/                    OPC_CheckType, MVT::i32,
/*132140*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*132142*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*132152*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*132155*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*132162*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*132168*/                    OPC_EmitInteger, MVT::i64, 0, 
/*132171*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*132179*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132182*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*132190*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132193*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*132202*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*132208*/                    OPC_EmitInteger, MVT::i64, 0, 
/*132211*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*132219*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132222*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*132230*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132233*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*132242*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*132251*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*132254*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*132262*/                  /*Scope*/ 34|128,1/*162*/, /*->132426*/
/*132264*/                    OPC_CheckChild0Same, 3,
/*132266*/                    OPC_CheckChild1Integer, 3, 
/*132268*/                    OPC_MoveParent,
/*132269*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132271*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132273*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132275*/                    OPC_MoveParent,
/*132276*/                    OPC_MoveChild1,
/*132277*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132280*/                    OPC_RecordMemRef,
/*132281*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*132282*/                    OPC_CheckFoldableChainNode,
/*132283*/                    OPC_MoveChild1,
/*132284*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132287*/                    OPC_CheckChild0Same, 1,
/*132289*/                    OPC_CheckChild1Integer, 3, 
/*132291*/                    OPC_CheckType, MVT::i64,
/*132293*/                    OPC_MoveParent,
/*132294*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132296*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132298*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132300*/                    OPC_MoveParent,
/*132301*/                    OPC_MoveParent,
/*132302*/                    OPC_CheckType, MVT::i32,
/*132304*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*132306*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*132316*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*132319*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*132326*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*132332*/                    OPC_EmitInteger, MVT::i64, 0, 
/*132335*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*132343*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132346*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*132354*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132357*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*132366*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*132372*/                    OPC_EmitInteger, MVT::i64, 0, 
/*132375*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*132383*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132386*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*132394*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132397*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*132406*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*132415*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*132418*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*132426*/                  0, /*End of Scope*/
/*132427*/                /*Scope*/ 6|128,5/*646*/, /*->133075*/
/*132429*/                  OPC_CheckChild0Same, 3,
/*132431*/                  OPC_CheckChild1Integer, 2, 
/*132433*/                  OPC_MoveParent,
/*132434*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132436*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*132438*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132440*/                  OPC_MoveParent,
/*132441*/                  OPC_MoveChild1,
/*132442*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132445*/                  OPC_RecordMemRef,
/*132446*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*132447*/                  OPC_CheckFoldableChainNode,
/*132448*/                  OPC_MoveChild1,
/*132449*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132452*/                  OPC_CheckChild0Same, 1,
/*132454*/                  OPC_CheckChild1Integer, 2, 
/*132456*/                  OPC_CheckType, MVT::i64,
/*132458*/                  OPC_MoveParent,
/*132459*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132461*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*132463*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132465*/                  OPC_MoveParent,
/*132466*/                  OPC_MoveParent,
/*132467*/                  OPC_MoveParent,
/*132468*/                  OPC_MoveParent,
/*132469*/                  OPC_MoveChild1,
/*132470*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*132473*/                  OPC_MoveChild0,
/*132474*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132477*/                  OPC_RecordMemRef,
/*132478*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*132479*/                  OPC_CheckFoldableChainNode,
/*132480*/                  OPC_MoveChild1,
/*132481*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132484*/                  OPC_CheckType, MVT::i64,
/*132486*/                  OPC_Scope, 34|128,1/*162*/, /*->132651*/ // 3 children in Scope
/*132489*/                    OPC_CheckChild0Same, 1,
/*132491*/                    OPC_CheckChild1Integer, 3, 
/*132493*/                    OPC_MoveParent,
/*132494*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132496*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132498*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132500*/                    OPC_MoveParent,
/*132501*/                    OPC_MoveChild1,
/*132502*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132505*/                    OPC_RecordMemRef,
/*132506*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*132507*/                    OPC_CheckFoldableChainNode,
/*132508*/                    OPC_MoveChild1,
/*132509*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132512*/                    OPC_CheckChild0Same, 3,
/*132514*/                    OPC_CheckChild1Integer, 3, 
/*132516*/                    OPC_CheckType, MVT::i64,
/*132518*/                    OPC_MoveParent,
/*132519*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132521*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132523*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132525*/                    OPC_MoveParent,
/*132526*/                    OPC_MoveParent,
/*132527*/                    OPC_CheckType, MVT::i32,
/*132529*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*132531*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*132541*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*132544*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*132551*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*132557*/                    OPC_EmitInteger, MVT::i64, 0, 
/*132560*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*132568*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132571*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*132579*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132582*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*132591*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*132597*/                    OPC_EmitInteger, MVT::i64, 0, 
/*132600*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*132608*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132611*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*132619*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132622*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*132631*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*132640*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*132643*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*132651*/                  /*Scope*/ 1|128,2/*257*/, /*->132910*/
/*132653*/                    OPC_CheckChild0Same, 3,
/*132655*/                    OPC_CheckChild1Integer, 3, 
/*132657*/                    OPC_MoveParent,
/*132658*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132660*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132662*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132664*/                    OPC_MoveParent,
/*132665*/                    OPC_MoveChild1,
/*132666*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132669*/                    OPC_RecordMemRef,
/*132670*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*132671*/                    OPC_CheckFoldableChainNode,
/*132672*/                    OPC_MoveChild1,
/*132673*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132676*/                    OPC_CheckChild0Same, 1,
/*132678*/                    OPC_CheckChild1Integer, 3, 
/*132680*/                    OPC_CheckType, MVT::i64,
/*132682*/                    OPC_MoveParent,
/*132683*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132685*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132687*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132689*/                    OPC_MoveParent,
/*132690*/                    OPC_MoveParent,
/*132691*/                    OPC_CheckType, MVT::i32,
/*132693*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*132695*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*132705*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*132708*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*132715*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*132721*/                    OPC_EmitInteger, MVT::i64, 0, 
/*132724*/                    OPC_Scope, 91, /*->132817*/ // 2 children in Scope
/*132726*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*132734*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132737*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*132745*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132748*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*132757*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*132763*/                      OPC_EmitInteger, MVT::i64, 0, 
/*132766*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*132774*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132777*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*132785*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132788*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*132797*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*132806*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*132809*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*132817*/                    /*Scope*/ 91, /*->132909*/
/*132818*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*132826*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132829*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*132837*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132840*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*132849*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*132855*/                      OPC_EmitInteger, MVT::i64, 0, 
/*132858*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*132866*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132869*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*132877*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*132880*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*132889*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*132898*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*132901*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*132909*/                    0, /*End of Scope*/
/*132910*/                  /*Scope*/ 34|128,1/*162*/, /*->133074*/
/*132912*/                    OPC_CheckChild0Same, 1,
/*132914*/                    OPC_CheckChild1Integer, 3, 
/*132916*/                    OPC_MoveParent,
/*132917*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132919*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132921*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132923*/                    OPC_MoveParent,
/*132924*/                    OPC_MoveChild1,
/*132925*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*132928*/                    OPC_RecordMemRef,
/*132929*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*132930*/                    OPC_CheckFoldableChainNode,
/*132931*/                    OPC_MoveChild1,
/*132932*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*132935*/                    OPC_CheckChild0Same, 3,
/*132937*/                    OPC_CheckChild1Integer, 3, 
/*132939*/                    OPC_CheckType, MVT::i64,
/*132941*/                    OPC_MoveParent,
/*132942*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*132944*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*132946*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*132948*/                    OPC_MoveParent,
/*132949*/                    OPC_MoveParent,
/*132950*/                    OPC_CheckType, MVT::i32,
/*132952*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*132954*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*132964*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*132967*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*132974*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*132980*/                    OPC_EmitInteger, MVT::i64, 0, 
/*132983*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*132991*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*132994*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*133002*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133005*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*133014*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*133020*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133023*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*133031*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133034*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*133042*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133045*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*133054*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*133063*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*133066*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*133074*/                  0, /*End of Scope*/
/*133075*/                /*Scope*/ 3|128,3/*387*/, /*->133464*/
/*133077*/                  OPC_CheckChild0Same, 1,
/*133079*/                  OPC_CheckChild1Integer, 2, 
/*133081*/                  OPC_MoveParent,
/*133082*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133084*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*133086*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133088*/                  OPC_MoveParent,
/*133089*/                  OPC_MoveChild1,
/*133090*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133093*/                  OPC_RecordMemRef,
/*133094*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*133095*/                  OPC_CheckFoldableChainNode,
/*133096*/                  OPC_MoveChild1,
/*133097*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133100*/                  OPC_CheckChild0Same, 3,
/*133102*/                  OPC_CheckChild1Integer, 2, 
/*133104*/                  OPC_CheckType, MVT::i64,
/*133106*/                  OPC_MoveParent,
/*133107*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133109*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*133111*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133113*/                  OPC_MoveParent,
/*133114*/                  OPC_MoveParent,
/*133115*/                  OPC_MoveParent,
/*133116*/                  OPC_MoveParent,
/*133117*/                  OPC_MoveChild1,
/*133118*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*133121*/                  OPC_MoveChild0,
/*133122*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133125*/                  OPC_RecordMemRef,
/*133126*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*133127*/                  OPC_CheckFoldableChainNode,
/*133128*/                  OPC_MoveChild1,
/*133129*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133132*/                  OPC_CheckType, MVT::i64,
/*133134*/                  OPC_Scope, 34|128,1/*162*/, /*->133299*/ // 2 children in Scope
/*133137*/                    OPC_CheckChild0Same, 3,
/*133139*/                    OPC_CheckChild1Integer, 3, 
/*133141*/                    OPC_MoveParent,
/*133142*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133144*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133146*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133148*/                    OPC_MoveParent,
/*133149*/                    OPC_MoveChild1,
/*133150*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133153*/                    OPC_RecordMemRef,
/*133154*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*133155*/                    OPC_CheckFoldableChainNode,
/*133156*/                    OPC_MoveChild1,
/*133157*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133160*/                    OPC_CheckChild0Same, 1,
/*133162*/                    OPC_CheckChild1Integer, 3, 
/*133164*/                    OPC_CheckType, MVT::i64,
/*133166*/                    OPC_MoveParent,
/*133167*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133169*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133171*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133173*/                    OPC_MoveParent,
/*133174*/                    OPC_MoveParent,
/*133175*/                    OPC_CheckType, MVT::i32,
/*133177*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*133179*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*133189*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*133192*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*133199*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*133205*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133208*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*133216*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133219*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*133227*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133230*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*133239*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*133245*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133248*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*133256*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133259*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*133267*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133270*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*133279*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*133288*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*133291*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*133299*/                  /*Scope*/ 34|128,1/*162*/, /*->133463*/
/*133301*/                    OPC_CheckChild0Same, 1,
/*133303*/                    OPC_CheckChild1Integer, 3, 
/*133305*/                    OPC_MoveParent,
/*133306*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133308*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133310*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133312*/                    OPC_MoveParent,
/*133313*/                    OPC_MoveChild1,
/*133314*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133317*/                    OPC_RecordMemRef,
/*133318*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*133319*/                    OPC_CheckFoldableChainNode,
/*133320*/                    OPC_MoveChild1,
/*133321*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133324*/                    OPC_CheckChild0Same, 3,
/*133326*/                    OPC_CheckChild1Integer, 3, 
/*133328*/                    OPC_CheckType, MVT::i64,
/*133330*/                    OPC_MoveParent,
/*133331*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133333*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133335*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133337*/                    OPC_MoveParent,
/*133338*/                    OPC_MoveParent,
/*133339*/                    OPC_CheckType, MVT::i32,
/*133341*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*133343*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*133353*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*133356*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*133363*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*133369*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133372*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*133380*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133383*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*133391*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133394*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*133403*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*133409*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133412*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*133420*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133423*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*133431*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133434*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*133443*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*133452*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*133455*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*133463*/                  0, /*End of Scope*/
/*133464*/                0, /*End of Scope*/
/*133465*/              /*Scope*/ 55|128,6/*823*/, /*->134290*/
/*133467*/                OPC_CheckChild1Same, 1,
/*133469*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133471*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*133473*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133475*/                OPC_MoveParent,
/*133476*/                OPC_MoveChild1,
/*133477*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133480*/                OPC_RecordMemRef,
/*133481*/                OPC_RecordNode, // #5 = 'ld' chained node
/*133482*/                OPC_CheckFoldableChainNode,
/*133483*/                OPC_CheckChild1Same, 3,
/*133485*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133487*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*133489*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133491*/                OPC_MoveParent,
/*133492*/                OPC_MoveParent,
/*133493*/                OPC_MoveChild1,
/*133494*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*133497*/                OPC_MoveChild0,
/*133498*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133501*/                OPC_RecordMemRef,
/*133502*/                OPC_RecordNode, // #6 = 'ld' chained node
/*133503*/                OPC_CheckFoldableChainNode,
/*133504*/                OPC_MoveChild1,
/*133505*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133508*/                OPC_CheckType, MVT::i64,
/*133510*/                OPC_Scope, 3|128,3/*387*/, /*->133900*/ // 2 children in Scope
/*133513*/                  OPC_CheckChild0Same, 3,
/*133515*/                  OPC_CheckChild1Integer, 2, 
/*133517*/                  OPC_MoveParent,
/*133518*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133520*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*133522*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133524*/                  OPC_MoveParent,
/*133525*/                  OPC_MoveChild1,
/*133526*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133529*/                  OPC_RecordMemRef,
/*133530*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*133531*/                  OPC_CheckFoldableChainNode,
/*133532*/                  OPC_MoveChild1,
/*133533*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133536*/                  OPC_CheckChild0Same, 1,
/*133538*/                  OPC_CheckChild1Integer, 2, 
/*133540*/                  OPC_CheckType, MVT::i64,
/*133542*/                  OPC_MoveParent,
/*133543*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133545*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*133547*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133549*/                  OPC_MoveParent,
/*133550*/                  OPC_MoveParent,
/*133551*/                  OPC_MoveParent,
/*133552*/                  OPC_MoveParent,
/*133553*/                  OPC_MoveChild1,
/*133554*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*133557*/                  OPC_MoveChild0,
/*133558*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133561*/                  OPC_RecordMemRef,
/*133562*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*133563*/                  OPC_CheckFoldableChainNode,
/*133564*/                  OPC_MoveChild1,
/*133565*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133568*/                  OPC_CheckType, MVT::i64,
/*133570*/                  OPC_Scope, 34|128,1/*162*/, /*->133735*/ // 2 children in Scope
/*133573*/                    OPC_CheckChild0Same, 3,
/*133575*/                    OPC_CheckChild1Integer, 3, 
/*133577*/                    OPC_MoveParent,
/*133578*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133580*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133582*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133584*/                    OPC_MoveParent,
/*133585*/                    OPC_MoveChild1,
/*133586*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133589*/                    OPC_RecordMemRef,
/*133590*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*133591*/                    OPC_CheckFoldableChainNode,
/*133592*/                    OPC_MoveChild1,
/*133593*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133596*/                    OPC_CheckChild0Same, 1,
/*133598*/                    OPC_CheckChild1Integer, 3, 
/*133600*/                    OPC_CheckType, MVT::i64,
/*133602*/                    OPC_MoveParent,
/*133603*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133605*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133607*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133609*/                    OPC_MoveParent,
/*133610*/                    OPC_MoveParent,
/*133611*/                    OPC_CheckType, MVT::i32,
/*133613*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*133615*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*133625*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*133628*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*133635*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*133641*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133644*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*133652*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133655*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*133663*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133666*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*133675*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*133681*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133684*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*133692*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133695*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*133703*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133706*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*133715*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*133724*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*133727*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*133735*/                  /*Scope*/ 34|128,1/*162*/, /*->133899*/
/*133737*/                    OPC_CheckChild0Same, 1,
/*133739*/                    OPC_CheckChild1Integer, 3, 
/*133741*/                    OPC_MoveParent,
/*133742*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133744*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133746*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133748*/                    OPC_MoveParent,
/*133749*/                    OPC_MoveChild1,
/*133750*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133753*/                    OPC_RecordMemRef,
/*133754*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*133755*/                    OPC_CheckFoldableChainNode,
/*133756*/                    OPC_MoveChild1,
/*133757*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133760*/                    OPC_CheckChild0Same, 3,
/*133762*/                    OPC_CheckChild1Integer, 3, 
/*133764*/                    OPC_CheckType, MVT::i64,
/*133766*/                    OPC_MoveParent,
/*133767*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133769*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133771*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133773*/                    OPC_MoveParent,
/*133774*/                    OPC_MoveParent,
/*133775*/                    OPC_CheckType, MVT::i32,
/*133777*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*133779*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*133789*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*133792*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*133799*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*133805*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133808*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*133816*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133819*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*133827*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133830*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*133839*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*133845*/                    OPC_EmitInteger, MVT::i64, 0, 
/*133848*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*133856*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*133859*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*133867*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*133870*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*133879*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*133888*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*133891*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*133899*/                  0, /*End of Scope*/
/*133900*/                /*Scope*/ 3|128,3/*387*/, /*->134289*/
/*133902*/                  OPC_CheckChild0Same, 1,
/*133904*/                  OPC_CheckChild1Integer, 2, 
/*133906*/                  OPC_MoveParent,
/*133907*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133909*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*133911*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133913*/                  OPC_MoveParent,
/*133914*/                  OPC_MoveChild1,
/*133915*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133918*/                  OPC_RecordMemRef,
/*133919*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*133920*/                  OPC_CheckFoldableChainNode,
/*133921*/                  OPC_MoveChild1,
/*133922*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133925*/                  OPC_CheckChild0Same, 3,
/*133927*/                  OPC_CheckChild1Integer, 2, 
/*133929*/                  OPC_CheckType, MVT::i64,
/*133931*/                  OPC_MoveParent,
/*133932*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133934*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*133936*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133938*/                  OPC_MoveParent,
/*133939*/                  OPC_MoveParent,
/*133940*/                  OPC_MoveParent,
/*133941*/                  OPC_MoveParent,
/*133942*/                  OPC_MoveChild1,
/*133943*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*133946*/                  OPC_MoveChild0,
/*133947*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133950*/                  OPC_RecordMemRef,
/*133951*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*133952*/                  OPC_CheckFoldableChainNode,
/*133953*/                  OPC_MoveChild1,
/*133954*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133957*/                  OPC_CheckType, MVT::i64,
/*133959*/                  OPC_Scope, 34|128,1/*162*/, /*->134124*/ // 2 children in Scope
/*133962*/                    OPC_CheckChild0Same, 3,
/*133964*/                    OPC_CheckChild1Integer, 3, 
/*133966*/                    OPC_MoveParent,
/*133967*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133969*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133971*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133973*/                    OPC_MoveParent,
/*133974*/                    OPC_MoveChild1,
/*133975*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*133978*/                    OPC_RecordMemRef,
/*133979*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*133980*/                    OPC_CheckFoldableChainNode,
/*133981*/                    OPC_MoveChild1,
/*133982*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*133985*/                    OPC_CheckChild0Same, 1,
/*133987*/                    OPC_CheckChild1Integer, 3, 
/*133989*/                    OPC_CheckType, MVT::i64,
/*133991*/                    OPC_MoveParent,
/*133992*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*133994*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*133996*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*133998*/                    OPC_MoveParent,
/*133999*/                    OPC_MoveParent,
/*134000*/                    OPC_CheckType, MVT::i32,
/*134002*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*134004*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*134014*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*134017*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*134024*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*134030*/                    OPC_EmitInteger, MVT::i64, 0, 
/*134033*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*134041*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134044*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*134052*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134055*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*134064*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*134070*/                    OPC_EmitInteger, MVT::i64, 0, 
/*134073*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*134081*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134084*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*134092*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134095*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*134104*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*134113*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*134116*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*134124*/                  /*Scope*/ 34|128,1/*162*/, /*->134288*/
/*134126*/                    OPC_CheckChild0Same, 1,
/*134128*/                    OPC_CheckChild1Integer, 3, 
/*134130*/                    OPC_MoveParent,
/*134131*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134133*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*134135*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134137*/                    OPC_MoveParent,
/*134138*/                    OPC_MoveChild1,
/*134139*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134142*/                    OPC_RecordMemRef,
/*134143*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*134144*/                    OPC_CheckFoldableChainNode,
/*134145*/                    OPC_MoveChild1,
/*134146*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134149*/                    OPC_CheckChild0Same, 3,
/*134151*/                    OPC_CheckChild1Integer, 3, 
/*134153*/                    OPC_CheckType, MVT::i64,
/*134155*/                    OPC_MoveParent,
/*134156*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134158*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*134160*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134162*/                    OPC_MoveParent,
/*134163*/                    OPC_MoveParent,
/*134164*/                    OPC_CheckType, MVT::i32,
/*134166*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*134168*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*134178*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*134181*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*134188*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*134194*/                    OPC_EmitInteger, MVT::i64, 0, 
/*134197*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*134205*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134208*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*134216*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134219*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*134228*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*134234*/                    OPC_EmitInteger, MVT::i64, 0, 
/*134237*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*134245*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134248*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*134256*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134259*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*134268*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*134277*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*134280*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*134288*/                  0, /*End of Scope*/
/*134289*/                0, /*End of Scope*/
/*134290*/              0, /*End of Scope*/
/*134291*/            /*Scope*/ 98|128,48/*6242*/, /*->140535*/
/*134293*/              OPC_CheckChild1Integer, 2, 
/*134295*/              OPC_MoveParent,
/*134296*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134298*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*134300*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134302*/              OPC_MoveParent,
/*134303*/              OPC_MoveChild1,
/*134304*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134307*/              OPC_RecordMemRef,
/*134308*/              OPC_RecordNode, // #2 = 'ld' chained node
/*134309*/              OPC_CheckFoldableChainNode,
/*134310*/              OPC_MoveChild1,
/*134311*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134314*/              OPC_RecordChild0, // #3 = $Rm
/*134315*/              OPC_CheckChild1Integer, 2, 
/*134317*/              OPC_CheckType, MVT::i64,
/*134319*/              OPC_MoveParent,
/*134320*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134322*/              OPC_CheckPredicate, 5, // Predicate_sextload
/*134324*/              OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134326*/              OPC_MoveParent,
/*134327*/              OPC_MoveParent,
/*134328*/              OPC_MoveChild1,
/*134329*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134332*/              OPC_MoveChild0,
/*134333*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*134336*/              OPC_MoveChild0,
/*134337*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134340*/              OPC_RecordMemRef,
/*134341*/              OPC_RecordNode, // #4 = 'ld' chained node
/*134342*/              OPC_CheckFoldableChainNode,
/*134343*/              OPC_Scope, 121|128,23/*3065*/, /*->137411*/ // 4 children in Scope
/*134346*/                OPC_MoveChild1,
/*134347*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134350*/                OPC_CheckType, MVT::i64,
/*134352*/                OPC_Scope, 37|128,6/*805*/, /*->135160*/ // 3 children in Scope
/*134355*/                  OPC_CheckChild0Same, 1,
/*134357*/                  OPC_CheckChild1Integer, 1, 
/*134359*/                  OPC_MoveParent,
/*134360*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134362*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*134364*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134366*/                  OPC_MoveParent,
/*134367*/                  OPC_MoveChild1,
/*134368*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134371*/                  OPC_RecordMemRef,
/*134372*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*134373*/                  OPC_CheckFoldableChainNode,
/*134374*/                  OPC_MoveChild1,
/*134375*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134378*/                  OPC_CheckChild0Same, 3,
/*134380*/                  OPC_CheckChild1Integer, 1, 
/*134382*/                  OPC_CheckType, MVT::i64,
/*134384*/                  OPC_MoveParent,
/*134385*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134387*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*134389*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134391*/                  OPC_MoveParent,
/*134392*/                  OPC_MoveParent,
/*134393*/                  OPC_MoveChild1,
/*134394*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*134397*/                  OPC_MoveChild0,
/*134398*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134401*/                  OPC_RecordMemRef,
/*134402*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*134403*/                  OPC_CheckFoldableChainNode,
/*134404*/                  OPC_Scope, 119|128,2/*375*/, /*->134782*/ // 2 children in Scope
/*134407*/                    OPC_CheckChild1Same, 1,
/*134409*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134411*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*134413*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134415*/                    OPC_MoveParent,
/*134416*/                    OPC_MoveChild1,
/*134417*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134420*/                    OPC_RecordMemRef,
/*134421*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*134422*/                    OPC_CheckFoldableChainNode,
/*134423*/                    OPC_CheckChild1Same, 3,
/*134425*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134427*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*134429*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134431*/                    OPC_MoveParent,
/*134432*/                    OPC_MoveParent,
/*134433*/                    OPC_MoveParent,
/*134434*/                    OPC_MoveParent,
/*134435*/                    OPC_MoveChild1,
/*134436*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*134439*/                    OPC_MoveChild0,
/*134440*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134443*/                    OPC_RecordMemRef,
/*134444*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*134445*/                    OPC_CheckFoldableChainNode,
/*134446*/                    OPC_MoveChild1,
/*134447*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134450*/                    OPC_CheckType, MVT::i64,
/*134452*/                    OPC_Scope, 34|128,1/*162*/, /*->134617*/ // 2 children in Scope
/*134455*/                      OPC_CheckChild0Same, 1,
/*134457*/                      OPC_CheckChild1Integer, 3, 
/*134459*/                      OPC_MoveParent,
/*134460*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134462*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*134464*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134466*/                      OPC_MoveParent,
/*134467*/                      OPC_MoveChild1,
/*134468*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134471*/                      OPC_RecordMemRef,
/*134472*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*134473*/                      OPC_CheckFoldableChainNode,
/*134474*/                      OPC_MoveChild1,
/*134475*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134478*/                      OPC_CheckChild0Same, 3,
/*134480*/                      OPC_CheckChild1Integer, 3, 
/*134482*/                      OPC_CheckType, MVT::i64,
/*134484*/                      OPC_MoveParent,
/*134485*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134487*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*134489*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134491*/                      OPC_MoveParent,
/*134492*/                      OPC_MoveParent,
/*134493*/                      OPC_CheckType, MVT::i32,
/*134495*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*134497*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*134507*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*134510*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*134517*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*134523*/                      OPC_EmitInteger, MVT::i64, 0, 
/*134526*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*134534*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134537*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*134545*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134548*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*134557*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*134563*/                      OPC_EmitInteger, MVT::i64, 0, 
/*134566*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*134574*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134577*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*134585*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134588*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*134597*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*134606*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*134609*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*134617*/                    /*Scope*/ 34|128,1/*162*/, /*->134781*/
/*134619*/                      OPC_CheckChild0Same, 3,
/*134621*/                      OPC_CheckChild1Integer, 3, 
/*134623*/                      OPC_MoveParent,
/*134624*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134626*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*134628*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134630*/                      OPC_MoveParent,
/*134631*/                      OPC_MoveChild1,
/*134632*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134635*/                      OPC_RecordMemRef,
/*134636*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*134637*/                      OPC_CheckFoldableChainNode,
/*134638*/                      OPC_MoveChild1,
/*134639*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134642*/                      OPC_CheckChild0Same, 1,
/*134644*/                      OPC_CheckChild1Integer, 3, 
/*134646*/                      OPC_CheckType, MVT::i64,
/*134648*/                      OPC_MoveParent,
/*134649*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134651*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*134653*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134655*/                      OPC_MoveParent,
/*134656*/                      OPC_MoveParent,
/*134657*/                      OPC_CheckType, MVT::i32,
/*134659*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*134661*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*134671*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*134674*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*134681*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*134687*/                      OPC_EmitInteger, MVT::i64, 0, 
/*134690*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*134698*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134701*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*134709*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134712*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*134721*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*134727*/                      OPC_EmitInteger, MVT::i64, 0, 
/*134730*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*134738*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134741*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*134749*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134752*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*134761*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*134770*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*134773*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*134781*/                    0, /*End of Scope*/
/*134782*/                  /*Scope*/ 119|128,2/*375*/, /*->135159*/
/*134784*/                    OPC_CheckChild1Same, 3,
/*134786*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134788*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*134790*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134792*/                    OPC_MoveParent,
/*134793*/                    OPC_MoveChild1,
/*134794*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134797*/                    OPC_RecordMemRef,
/*134798*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*134799*/                    OPC_CheckFoldableChainNode,
/*134800*/                    OPC_CheckChild1Same, 1,
/*134802*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134804*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*134806*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134808*/                    OPC_MoveParent,
/*134809*/                    OPC_MoveParent,
/*134810*/                    OPC_MoveParent,
/*134811*/                    OPC_MoveParent,
/*134812*/                    OPC_MoveChild1,
/*134813*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*134816*/                    OPC_MoveChild0,
/*134817*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134820*/                    OPC_RecordMemRef,
/*134821*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*134822*/                    OPC_CheckFoldableChainNode,
/*134823*/                    OPC_MoveChild1,
/*134824*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134827*/                    OPC_CheckType, MVT::i64,
/*134829*/                    OPC_Scope, 34|128,1/*162*/, /*->134994*/ // 2 children in Scope
/*134832*/                      OPC_CheckChild0Same, 1,
/*134834*/                      OPC_CheckChild1Integer, 3, 
/*134836*/                      OPC_MoveParent,
/*134837*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134839*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*134841*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134843*/                      OPC_MoveParent,
/*134844*/                      OPC_MoveChild1,
/*134845*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*134848*/                      OPC_RecordMemRef,
/*134849*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*134850*/                      OPC_CheckFoldableChainNode,
/*134851*/                      OPC_MoveChild1,
/*134852*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*134855*/                      OPC_CheckChild0Same, 3,
/*134857*/                      OPC_CheckChild1Integer, 3, 
/*134859*/                      OPC_CheckType, MVT::i64,
/*134861*/                      OPC_MoveParent,
/*134862*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*134864*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*134866*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*134868*/                      OPC_MoveParent,
/*134869*/                      OPC_MoveParent,
/*134870*/                      OPC_CheckType, MVT::i32,
/*134872*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*134874*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*134884*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*134887*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*134894*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*134900*/                      OPC_EmitInteger, MVT::i64, 0, 
/*134903*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*134911*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134914*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*134922*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134925*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*134934*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*134940*/                      OPC_EmitInteger, MVT::i64, 0, 
/*134943*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*134951*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*134954*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*134962*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*134965*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*134974*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*134983*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*134986*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*134994*/                    /*Scope*/ 34|128,1/*162*/, /*->135158*/
/*134996*/                      OPC_CheckChild0Same, 3,
/*134998*/                      OPC_CheckChild1Integer, 3, 
/*135000*/                      OPC_MoveParent,
/*135001*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135003*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135005*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135007*/                      OPC_MoveParent,
/*135008*/                      OPC_MoveChild1,
/*135009*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135012*/                      OPC_RecordMemRef,
/*135013*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*135014*/                      OPC_CheckFoldableChainNode,
/*135015*/                      OPC_MoveChild1,
/*135016*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*135019*/                      OPC_CheckChild0Same, 1,
/*135021*/                      OPC_CheckChild1Integer, 3, 
/*135023*/                      OPC_CheckType, MVT::i64,
/*135025*/                      OPC_MoveParent,
/*135026*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135028*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135030*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135032*/                      OPC_MoveParent,
/*135033*/                      OPC_MoveParent,
/*135034*/                      OPC_CheckType, MVT::i32,
/*135036*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*135038*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*135048*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*135051*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*135058*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*135064*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135067*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*135075*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135078*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*135086*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135089*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*135098*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*135104*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135107*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*135115*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135118*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*135126*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135129*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*135138*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*135147*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*135150*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*135158*/                    0, /*End of Scope*/
/*135159*/                  0, /*End of Scope*/
/*135160*/                /*Scope*/ 33|128,11/*1441*/, /*->136603*/
/*135162*/                  OPC_CheckChild0Same, 3,
/*135164*/                  OPC_CheckChild1Integer, 1, 
/*135166*/                  OPC_MoveParent,
/*135167*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135169*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*135171*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135173*/                  OPC_MoveParent,
/*135174*/                  OPC_MoveChild1,
/*135175*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135178*/                  OPC_RecordMemRef,
/*135179*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*135180*/                  OPC_CheckFoldableChainNode,
/*135181*/                  OPC_MoveChild1,
/*135182*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*135185*/                  OPC_CheckChild0Same, 1,
/*135187*/                  OPC_CheckChild1Integer, 1, 
/*135189*/                  OPC_CheckType, MVT::i64,
/*135191*/                  OPC_MoveParent,
/*135192*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135194*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*135196*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135198*/                  OPC_MoveParent,
/*135199*/                  OPC_MoveParent,
/*135200*/                  OPC_MoveChild1,
/*135201*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*135204*/                  OPC_MoveChild0,
/*135205*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135208*/                  OPC_RecordMemRef,
/*135209*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*135210*/                  OPC_CheckFoldableChainNode,
/*135211*/                  OPC_Scope, 119|128,2/*375*/, /*->135589*/ // 3 children in Scope
/*135214*/                    OPC_CheckChild1Same, 1,
/*135216*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135218*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*135220*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135222*/                    OPC_MoveParent,
/*135223*/                    OPC_MoveChild1,
/*135224*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135227*/                    OPC_RecordMemRef,
/*135228*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*135229*/                    OPC_CheckFoldableChainNode,
/*135230*/                    OPC_CheckChild1Same, 3,
/*135232*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135234*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*135236*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135238*/                    OPC_MoveParent,
/*135239*/                    OPC_MoveParent,
/*135240*/                    OPC_MoveParent,
/*135241*/                    OPC_MoveParent,
/*135242*/                    OPC_MoveChild1,
/*135243*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*135246*/                    OPC_MoveChild0,
/*135247*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135250*/                    OPC_RecordMemRef,
/*135251*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*135252*/                    OPC_CheckFoldableChainNode,
/*135253*/                    OPC_MoveChild1,
/*135254*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*135257*/                    OPC_CheckType, MVT::i64,
/*135259*/                    OPC_Scope, 34|128,1/*162*/, /*->135424*/ // 2 children in Scope
/*135262*/                      OPC_CheckChild0Same, 1,
/*135264*/                      OPC_CheckChild1Integer, 3, 
/*135266*/                      OPC_MoveParent,
/*135267*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135269*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135271*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135273*/                      OPC_MoveParent,
/*135274*/                      OPC_MoveChild1,
/*135275*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135278*/                      OPC_RecordMemRef,
/*135279*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*135280*/                      OPC_CheckFoldableChainNode,
/*135281*/                      OPC_MoveChild1,
/*135282*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*135285*/                      OPC_CheckChild0Same, 3,
/*135287*/                      OPC_CheckChild1Integer, 3, 
/*135289*/                      OPC_CheckType, MVT::i64,
/*135291*/                      OPC_MoveParent,
/*135292*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135294*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135296*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135298*/                      OPC_MoveParent,
/*135299*/                      OPC_MoveParent,
/*135300*/                      OPC_CheckType, MVT::i32,
/*135302*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*135304*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*135314*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*135317*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*135324*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*135330*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135333*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*135341*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135344*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*135352*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135355*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*135364*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*135370*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135373*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*135381*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135384*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*135392*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135395*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*135404*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*135413*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*135416*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*135424*/                    /*Scope*/ 34|128,1/*162*/, /*->135588*/
/*135426*/                      OPC_CheckChild0Same, 3,
/*135428*/                      OPC_CheckChild1Integer, 3, 
/*135430*/                      OPC_MoveParent,
/*135431*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135433*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135435*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135437*/                      OPC_MoveParent,
/*135438*/                      OPC_MoveChild1,
/*135439*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135442*/                      OPC_RecordMemRef,
/*135443*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*135444*/                      OPC_CheckFoldableChainNode,
/*135445*/                      OPC_MoveChild1,
/*135446*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*135449*/                      OPC_CheckChild0Same, 1,
/*135451*/                      OPC_CheckChild1Integer, 3, 
/*135453*/                      OPC_CheckType, MVT::i64,
/*135455*/                      OPC_MoveParent,
/*135456*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135458*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135460*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135462*/                      OPC_MoveParent,
/*135463*/                      OPC_MoveParent,
/*135464*/                      OPC_CheckType, MVT::i32,
/*135466*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*135468*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*135478*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*135481*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*135488*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*135494*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135497*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*135505*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135508*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*135516*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135519*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*135528*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*135534*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135537*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*135545*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135548*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*135556*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135559*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*135568*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*135577*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*135580*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*135588*/                    0, /*End of Scope*/
/*135589*/                  /*Scope*/ 122|128,4/*634*/, /*->136225*/
/*135591*/                    OPC_CheckChild1Same, 3,
/*135593*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135595*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*135597*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135599*/                    OPC_MoveParent,
/*135600*/                    OPC_MoveChild1,
/*135601*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135604*/                    OPC_RecordMemRef,
/*135605*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*135606*/                    OPC_CheckFoldableChainNode,
/*135607*/                    OPC_CheckChild1Same, 1,
/*135609*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135611*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*135613*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135615*/                    OPC_MoveParent,
/*135616*/                    OPC_MoveParent,
/*135617*/                    OPC_MoveParent,
/*135618*/                    OPC_MoveParent,
/*135619*/                    OPC_MoveChild1,
/*135620*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*135623*/                    OPC_MoveChild0,
/*135624*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135627*/                    OPC_RecordMemRef,
/*135628*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*135629*/                    OPC_CheckFoldableChainNode,
/*135630*/                    OPC_MoveChild1,
/*135631*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*135634*/                    OPC_CheckType, MVT::i64,
/*135636*/                    OPC_Scope, 34|128,1/*162*/, /*->135801*/ // 3 children in Scope
/*135639*/                      OPC_CheckChild0Same, 1,
/*135641*/                      OPC_CheckChild1Integer, 3, 
/*135643*/                      OPC_MoveParent,
/*135644*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135646*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135648*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135650*/                      OPC_MoveParent,
/*135651*/                      OPC_MoveChild1,
/*135652*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135655*/                      OPC_RecordMemRef,
/*135656*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*135657*/                      OPC_CheckFoldableChainNode,
/*135658*/                      OPC_MoveChild1,
/*135659*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*135662*/                      OPC_CheckChild0Same, 3,
/*135664*/                      OPC_CheckChild1Integer, 3, 
/*135666*/                      OPC_CheckType, MVT::i64,
/*135668*/                      OPC_MoveParent,
/*135669*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135671*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135673*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135675*/                      OPC_MoveParent,
/*135676*/                      OPC_MoveParent,
/*135677*/                      OPC_CheckType, MVT::i32,
/*135679*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*135681*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*135691*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*135694*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*135701*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*135707*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135710*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*135718*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135721*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*135729*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135732*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*135741*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*135747*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135750*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*135758*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135761*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*135769*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135772*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*135781*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*135790*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*135793*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*135801*/                    /*Scope*/ 1|128,2/*257*/, /*->136060*/
/*135803*/                      OPC_CheckChild0Same, 3,
/*135805*/                      OPC_CheckChild1Integer, 3, 
/*135807*/                      OPC_MoveParent,
/*135808*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135810*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135812*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135814*/                      OPC_MoveParent,
/*135815*/                      OPC_MoveChild1,
/*135816*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*135819*/                      OPC_RecordMemRef,
/*135820*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*135821*/                      OPC_CheckFoldableChainNode,
/*135822*/                      OPC_MoveChild1,
/*135823*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*135826*/                      OPC_CheckChild0Same, 1,
/*135828*/                      OPC_CheckChild1Integer, 3, 
/*135830*/                      OPC_CheckType, MVT::i64,
/*135832*/                      OPC_MoveParent,
/*135833*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*135835*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*135837*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*135839*/                      OPC_MoveParent,
/*135840*/                      OPC_MoveParent,
/*135841*/                      OPC_CheckType, MVT::i32,
/*135843*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*135845*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*135855*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*135858*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*135865*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*135871*/                      OPC_EmitInteger, MVT::i64, 0, 
/*135874*/                      OPC_Scope, 91, /*->135967*/ // 2 children in Scope
/*135876*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*135884*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135887*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*135895*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135898*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*135907*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*135913*/                        OPC_EmitInteger, MVT::i64, 0, 
/*135916*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*135924*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135927*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*135935*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135938*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*135947*/                        OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*135956*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*135959*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*135967*/                      /*Scope*/ 91, /*->136059*/
/*135968*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*135976*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*135979*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*135987*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*135990*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*135999*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*136005*/                        OPC_EmitInteger, MVT::i64, 0, 
/*136008*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*136016*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136019*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*136027*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136030*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*136039*/                        OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*136048*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*136051*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*136059*/                      0, /*End of Scope*/
/*136060*/                    /*Scope*/ 34|128,1/*162*/, /*->136224*/
/*136062*/                      OPC_CheckChild0Same, 1,
/*136064*/                      OPC_CheckChild1Integer, 3, 
/*136066*/                      OPC_MoveParent,
/*136067*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136069*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136071*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136073*/                      OPC_MoveParent,
/*136074*/                      OPC_MoveChild1,
/*136075*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136078*/                      OPC_RecordMemRef,
/*136079*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*136080*/                      OPC_CheckFoldableChainNode,
/*136081*/                      OPC_MoveChild1,
/*136082*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*136085*/                      OPC_CheckChild0Same, 3,
/*136087*/                      OPC_CheckChild1Integer, 3, 
/*136089*/                      OPC_CheckType, MVT::i64,
/*136091*/                      OPC_MoveParent,
/*136092*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136094*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136096*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136098*/                      OPC_MoveParent,
/*136099*/                      OPC_MoveParent,
/*136100*/                      OPC_CheckType, MVT::i32,
/*136102*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*136104*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*136114*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*136117*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*136124*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*136130*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136133*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*136141*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136144*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*136152*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136155*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*136164*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*136170*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136173*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*136181*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136184*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*136192*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136195*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*136204*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*136213*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*136216*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*136224*/                    0, /*End of Scope*/
/*136225*/                  /*Scope*/ 119|128,2/*375*/, /*->136602*/
/*136227*/                    OPC_CheckChild1Same, 1,
/*136229*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136231*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*136233*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136235*/                    OPC_MoveParent,
/*136236*/                    OPC_MoveChild1,
/*136237*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136240*/                    OPC_RecordMemRef,
/*136241*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*136242*/                    OPC_CheckFoldableChainNode,
/*136243*/                    OPC_CheckChild1Same, 3,
/*136245*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136247*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*136249*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136251*/                    OPC_MoveParent,
/*136252*/                    OPC_MoveParent,
/*136253*/                    OPC_MoveParent,
/*136254*/                    OPC_MoveParent,
/*136255*/                    OPC_MoveChild1,
/*136256*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*136259*/                    OPC_MoveChild0,
/*136260*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136263*/                    OPC_RecordMemRef,
/*136264*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*136265*/                    OPC_CheckFoldableChainNode,
/*136266*/                    OPC_MoveChild1,
/*136267*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*136270*/                    OPC_CheckType, MVT::i64,
/*136272*/                    OPC_Scope, 34|128,1/*162*/, /*->136437*/ // 2 children in Scope
/*136275*/                      OPC_CheckChild0Same, 3,
/*136277*/                      OPC_CheckChild1Integer, 3, 
/*136279*/                      OPC_MoveParent,
/*136280*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136282*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136284*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136286*/                      OPC_MoveParent,
/*136287*/                      OPC_MoveChild1,
/*136288*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136291*/                      OPC_RecordMemRef,
/*136292*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*136293*/                      OPC_CheckFoldableChainNode,
/*136294*/                      OPC_MoveChild1,
/*136295*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*136298*/                      OPC_CheckChild0Same, 1,
/*136300*/                      OPC_CheckChild1Integer, 3, 
/*136302*/                      OPC_CheckType, MVT::i64,
/*136304*/                      OPC_MoveParent,
/*136305*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136307*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136309*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136311*/                      OPC_MoveParent,
/*136312*/                      OPC_MoveParent,
/*136313*/                      OPC_CheckType, MVT::i32,
/*136315*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*136317*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*136327*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*136330*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*136337*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*136343*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136346*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*136354*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136357*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*136365*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136368*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*136377*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*136383*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136386*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*136394*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136397*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*136405*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136408*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*136417*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*136426*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*136429*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*136437*/                    /*Scope*/ 34|128,1/*162*/, /*->136601*/
/*136439*/                      OPC_CheckChild0Same, 1,
/*136441*/                      OPC_CheckChild1Integer, 3, 
/*136443*/                      OPC_MoveParent,
/*136444*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136446*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136448*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136450*/                      OPC_MoveParent,
/*136451*/                      OPC_MoveChild1,
/*136452*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136455*/                      OPC_RecordMemRef,
/*136456*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*136457*/                      OPC_CheckFoldableChainNode,
/*136458*/                      OPC_MoveChild1,
/*136459*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*136462*/                      OPC_CheckChild0Same, 3,
/*136464*/                      OPC_CheckChild1Integer, 3, 
/*136466*/                      OPC_CheckType, MVT::i64,
/*136468*/                      OPC_MoveParent,
/*136469*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136471*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136473*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136475*/                      OPC_MoveParent,
/*136476*/                      OPC_MoveParent,
/*136477*/                      OPC_CheckType, MVT::i32,
/*136479*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*136481*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*136491*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*136494*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*136501*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*136507*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136510*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*136518*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136521*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*136529*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136532*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*136541*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*136547*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136550*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*136558*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136561*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*136569*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136572*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*136581*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*136590*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*136593*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*136601*/                    0, /*End of Scope*/
/*136602*/                  0, /*End of Scope*/
/*136603*/                /*Scope*/ 37|128,6/*805*/, /*->137410*/
/*136605*/                  OPC_CheckChild0Same, 1,
/*136607*/                  OPC_CheckChild1Integer, 1, 
/*136609*/                  OPC_MoveParent,
/*136610*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136612*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*136614*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136616*/                  OPC_MoveParent,
/*136617*/                  OPC_MoveChild1,
/*136618*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136621*/                  OPC_RecordMemRef,
/*136622*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*136623*/                  OPC_CheckFoldableChainNode,
/*136624*/                  OPC_MoveChild1,
/*136625*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*136628*/                  OPC_CheckChild0Same, 3,
/*136630*/                  OPC_CheckChild1Integer, 1, 
/*136632*/                  OPC_CheckType, MVT::i64,
/*136634*/                  OPC_MoveParent,
/*136635*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136637*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*136639*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136641*/                  OPC_MoveParent,
/*136642*/                  OPC_MoveParent,
/*136643*/                  OPC_MoveChild1,
/*136644*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*136647*/                  OPC_MoveChild0,
/*136648*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136651*/                  OPC_RecordMemRef,
/*136652*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*136653*/                  OPC_CheckFoldableChainNode,
/*136654*/                  OPC_Scope, 119|128,2/*375*/, /*->137032*/ // 2 children in Scope
/*136657*/                    OPC_CheckChild1Same, 3,
/*136659*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136661*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*136663*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136665*/                    OPC_MoveParent,
/*136666*/                    OPC_MoveChild1,
/*136667*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136670*/                    OPC_RecordMemRef,
/*136671*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*136672*/                    OPC_CheckFoldableChainNode,
/*136673*/                    OPC_CheckChild1Same, 1,
/*136675*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136677*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*136679*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136681*/                    OPC_MoveParent,
/*136682*/                    OPC_MoveParent,
/*136683*/                    OPC_MoveParent,
/*136684*/                    OPC_MoveParent,
/*136685*/                    OPC_MoveChild1,
/*136686*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*136689*/                    OPC_MoveChild0,
/*136690*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136693*/                    OPC_RecordMemRef,
/*136694*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*136695*/                    OPC_CheckFoldableChainNode,
/*136696*/                    OPC_MoveChild1,
/*136697*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*136700*/                    OPC_CheckType, MVT::i64,
/*136702*/                    OPC_Scope, 34|128,1/*162*/, /*->136867*/ // 2 children in Scope
/*136705*/                      OPC_CheckChild0Same, 3,
/*136707*/                      OPC_CheckChild1Integer, 3, 
/*136709*/                      OPC_MoveParent,
/*136710*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136712*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136714*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136716*/                      OPC_MoveParent,
/*136717*/                      OPC_MoveChild1,
/*136718*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136721*/                      OPC_RecordMemRef,
/*136722*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*136723*/                      OPC_CheckFoldableChainNode,
/*136724*/                      OPC_MoveChild1,
/*136725*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*136728*/                      OPC_CheckChild0Same, 1,
/*136730*/                      OPC_CheckChild1Integer, 3, 
/*136732*/                      OPC_CheckType, MVT::i64,
/*136734*/                      OPC_MoveParent,
/*136735*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136737*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136739*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136741*/                      OPC_MoveParent,
/*136742*/                      OPC_MoveParent,
/*136743*/                      OPC_CheckType, MVT::i32,
/*136745*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*136747*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*136757*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*136760*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*136767*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*136773*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136776*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*136784*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136787*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*136795*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136798*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*136807*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*136813*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136816*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*136824*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136827*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*136835*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136838*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*136847*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*136856*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*136859*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*136867*/                    /*Scope*/ 34|128,1/*162*/, /*->137031*/
/*136869*/                      OPC_CheckChild0Same, 1,
/*136871*/                      OPC_CheckChild1Integer, 3, 
/*136873*/                      OPC_MoveParent,
/*136874*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136876*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136878*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136880*/                      OPC_MoveParent,
/*136881*/                      OPC_MoveChild1,
/*136882*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*136885*/                      OPC_RecordMemRef,
/*136886*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*136887*/                      OPC_CheckFoldableChainNode,
/*136888*/                      OPC_MoveChild1,
/*136889*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*136892*/                      OPC_CheckChild0Same, 3,
/*136894*/                      OPC_CheckChild1Integer, 3, 
/*136896*/                      OPC_CheckType, MVT::i64,
/*136898*/                      OPC_MoveParent,
/*136899*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*136901*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*136903*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*136905*/                      OPC_MoveParent,
/*136906*/                      OPC_MoveParent,
/*136907*/                      OPC_CheckType, MVT::i32,
/*136909*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*136911*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*136921*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*136924*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*136931*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*136937*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136940*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*136948*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136951*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*136959*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*136962*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*136971*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*136977*/                      OPC_EmitInteger, MVT::i64, 0, 
/*136980*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*136988*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*136991*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*136999*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137002*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*137011*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*137020*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*137023*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*137031*/                    0, /*End of Scope*/
/*137032*/                  /*Scope*/ 119|128,2/*375*/, /*->137409*/
/*137034*/                    OPC_CheckChild1Same, 1,
/*137036*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137038*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*137040*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137042*/                    OPC_MoveParent,
/*137043*/                    OPC_MoveChild1,
/*137044*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137047*/                    OPC_RecordMemRef,
/*137048*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*137049*/                    OPC_CheckFoldableChainNode,
/*137050*/                    OPC_CheckChild1Same, 3,
/*137052*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137054*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*137056*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137058*/                    OPC_MoveParent,
/*137059*/                    OPC_MoveParent,
/*137060*/                    OPC_MoveParent,
/*137061*/                    OPC_MoveParent,
/*137062*/                    OPC_MoveChild1,
/*137063*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*137066*/                    OPC_MoveChild0,
/*137067*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137070*/                    OPC_RecordMemRef,
/*137071*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*137072*/                    OPC_CheckFoldableChainNode,
/*137073*/                    OPC_MoveChild1,
/*137074*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137077*/                    OPC_CheckType, MVT::i64,
/*137079*/                    OPC_Scope, 34|128,1/*162*/, /*->137244*/ // 2 children in Scope
/*137082*/                      OPC_CheckChild0Same, 3,
/*137084*/                      OPC_CheckChild1Integer, 3, 
/*137086*/                      OPC_MoveParent,
/*137087*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137089*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*137091*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137093*/                      OPC_MoveParent,
/*137094*/                      OPC_MoveChild1,
/*137095*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137098*/                      OPC_RecordMemRef,
/*137099*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*137100*/                      OPC_CheckFoldableChainNode,
/*137101*/                      OPC_MoveChild1,
/*137102*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137105*/                      OPC_CheckChild0Same, 1,
/*137107*/                      OPC_CheckChild1Integer, 3, 
/*137109*/                      OPC_CheckType, MVT::i64,
/*137111*/                      OPC_MoveParent,
/*137112*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137114*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*137116*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137118*/                      OPC_MoveParent,
/*137119*/                      OPC_MoveParent,
/*137120*/                      OPC_CheckType, MVT::i32,
/*137122*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*137124*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*137134*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*137137*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*137144*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*137150*/                      OPC_EmitInteger, MVT::i64, 0, 
/*137153*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*137161*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137164*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*137172*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137175*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*137184*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*137190*/                      OPC_EmitInteger, MVT::i64, 0, 
/*137193*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*137201*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137204*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*137212*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137215*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*137224*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*137233*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*137236*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*137244*/                    /*Scope*/ 34|128,1/*162*/, /*->137408*/
/*137246*/                      OPC_CheckChild0Same, 1,
/*137248*/                      OPC_CheckChild1Integer, 3, 
/*137250*/                      OPC_MoveParent,
/*137251*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137253*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*137255*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137257*/                      OPC_MoveParent,
/*137258*/                      OPC_MoveChild1,
/*137259*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137262*/                      OPC_RecordMemRef,
/*137263*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*137264*/                      OPC_CheckFoldableChainNode,
/*137265*/                      OPC_MoveChild1,
/*137266*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137269*/                      OPC_CheckChild0Same, 3,
/*137271*/                      OPC_CheckChild1Integer, 3, 
/*137273*/                      OPC_CheckType, MVT::i64,
/*137275*/                      OPC_MoveParent,
/*137276*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137278*/                      OPC_CheckPredicate, 5, // Predicate_sextload
/*137280*/                      OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137282*/                      OPC_MoveParent,
/*137283*/                      OPC_MoveParent,
/*137284*/                      OPC_CheckType, MVT::i32,
/*137286*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*137288*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*137298*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*137301*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*137308*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*137314*/                      OPC_EmitInteger, MVT::i64, 0, 
/*137317*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*137325*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137328*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*137336*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137339*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*137348*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*137354*/                      OPC_EmitInteger, MVT::i64, 0, 
/*137357*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*137365*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137368*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*137376*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137379*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*137388*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*137397*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*137400*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*137408*/                    0, /*End of Scope*/
/*137409*/                  0, /*End of Scope*/
/*137410*/                0, /*End of Scope*/
/*137411*/              /*Scope*/ 55|128,6/*823*/, /*->138236*/
/*137413*/                OPC_CheckChild1Same, 1,
/*137415*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137417*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*137419*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137421*/                OPC_MoveParent,
/*137422*/                OPC_MoveChild1,
/*137423*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137426*/                OPC_RecordMemRef,
/*137427*/                OPC_RecordNode, // #5 = 'ld' chained node
/*137428*/                OPC_CheckFoldableChainNode,
/*137429*/                OPC_CheckChild1Same, 3,
/*137431*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137433*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*137435*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137437*/                OPC_MoveParent,
/*137438*/                OPC_MoveParent,
/*137439*/                OPC_MoveChild1,
/*137440*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*137443*/                OPC_MoveChild0,
/*137444*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137447*/                OPC_RecordMemRef,
/*137448*/                OPC_RecordNode, // #6 = 'ld' chained node
/*137449*/                OPC_CheckFoldableChainNode,
/*137450*/                OPC_MoveChild1,
/*137451*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137454*/                OPC_CheckType, MVT::i64,
/*137456*/                OPC_Scope, 3|128,3/*387*/, /*->137846*/ // 2 children in Scope
/*137459*/                  OPC_CheckChild0Same, 1,
/*137461*/                  OPC_CheckChild1Integer, 1, 
/*137463*/                  OPC_MoveParent,
/*137464*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137466*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*137468*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137470*/                  OPC_MoveParent,
/*137471*/                  OPC_MoveChild1,
/*137472*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137475*/                  OPC_RecordMemRef,
/*137476*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*137477*/                  OPC_CheckFoldableChainNode,
/*137478*/                  OPC_MoveChild1,
/*137479*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137482*/                  OPC_CheckChild0Same, 3,
/*137484*/                  OPC_CheckChild1Integer, 1, 
/*137486*/                  OPC_CheckType, MVT::i64,
/*137488*/                  OPC_MoveParent,
/*137489*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137491*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*137493*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137495*/                  OPC_MoveParent,
/*137496*/                  OPC_MoveParent,
/*137497*/                  OPC_MoveParent,
/*137498*/                  OPC_MoveParent,
/*137499*/                  OPC_MoveChild1,
/*137500*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*137503*/                  OPC_MoveChild0,
/*137504*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137507*/                  OPC_RecordMemRef,
/*137508*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*137509*/                  OPC_CheckFoldableChainNode,
/*137510*/                  OPC_MoveChild1,
/*137511*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137514*/                  OPC_CheckType, MVT::i64,
/*137516*/                  OPC_Scope, 34|128,1/*162*/, /*->137681*/ // 2 children in Scope
/*137519*/                    OPC_CheckChild0Same, 1,
/*137521*/                    OPC_CheckChild1Integer, 3, 
/*137523*/                    OPC_MoveParent,
/*137524*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137526*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*137528*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137530*/                    OPC_MoveParent,
/*137531*/                    OPC_MoveChild1,
/*137532*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137535*/                    OPC_RecordMemRef,
/*137536*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*137537*/                    OPC_CheckFoldableChainNode,
/*137538*/                    OPC_MoveChild1,
/*137539*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137542*/                    OPC_CheckChild0Same, 3,
/*137544*/                    OPC_CheckChild1Integer, 3, 
/*137546*/                    OPC_CheckType, MVT::i64,
/*137548*/                    OPC_MoveParent,
/*137549*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137551*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*137553*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137555*/                    OPC_MoveParent,
/*137556*/                    OPC_MoveParent,
/*137557*/                    OPC_CheckType, MVT::i32,
/*137559*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*137561*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*137571*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*137574*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*137581*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*137587*/                    OPC_EmitInteger, MVT::i64, 0, 
/*137590*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*137598*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137601*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*137609*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137612*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*137621*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*137627*/                    OPC_EmitInteger, MVT::i64, 0, 
/*137630*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*137638*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137641*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*137649*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137652*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*137661*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*137670*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*137673*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*137681*/                  /*Scope*/ 34|128,1/*162*/, /*->137845*/
/*137683*/                    OPC_CheckChild0Same, 3,
/*137685*/                    OPC_CheckChild1Integer, 3, 
/*137687*/                    OPC_MoveParent,
/*137688*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137690*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*137692*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137694*/                    OPC_MoveParent,
/*137695*/                    OPC_MoveChild1,
/*137696*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137699*/                    OPC_RecordMemRef,
/*137700*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*137701*/                    OPC_CheckFoldableChainNode,
/*137702*/                    OPC_MoveChild1,
/*137703*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137706*/                    OPC_CheckChild0Same, 1,
/*137708*/                    OPC_CheckChild1Integer, 3, 
/*137710*/                    OPC_CheckType, MVT::i64,
/*137712*/                    OPC_MoveParent,
/*137713*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137715*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*137717*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137719*/                    OPC_MoveParent,
/*137720*/                    OPC_MoveParent,
/*137721*/                    OPC_CheckType, MVT::i32,
/*137723*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*137725*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*137735*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*137738*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*137745*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*137751*/                    OPC_EmitInteger, MVT::i64, 0, 
/*137754*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*137762*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137765*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*137773*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137776*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*137785*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*137791*/                    OPC_EmitInteger, MVT::i64, 0, 
/*137794*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*137802*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137805*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*137813*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*137816*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*137825*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*137834*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*137837*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*137845*/                  0, /*End of Scope*/
/*137846*/                /*Scope*/ 3|128,3/*387*/, /*->138235*/
/*137848*/                  OPC_CheckChild0Same, 3,
/*137850*/                  OPC_CheckChild1Integer, 1, 
/*137852*/                  OPC_MoveParent,
/*137853*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137855*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*137857*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137859*/                  OPC_MoveParent,
/*137860*/                  OPC_MoveChild1,
/*137861*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137864*/                  OPC_RecordMemRef,
/*137865*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*137866*/                  OPC_CheckFoldableChainNode,
/*137867*/                  OPC_MoveChild1,
/*137868*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137871*/                  OPC_CheckChild0Same, 1,
/*137873*/                  OPC_CheckChild1Integer, 1, 
/*137875*/                  OPC_CheckType, MVT::i64,
/*137877*/                  OPC_MoveParent,
/*137878*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137880*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*137882*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137884*/                  OPC_MoveParent,
/*137885*/                  OPC_MoveParent,
/*137886*/                  OPC_MoveParent,
/*137887*/                  OPC_MoveParent,
/*137888*/                  OPC_MoveChild1,
/*137889*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*137892*/                  OPC_MoveChild0,
/*137893*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137896*/                  OPC_RecordMemRef,
/*137897*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*137898*/                  OPC_CheckFoldableChainNode,
/*137899*/                  OPC_MoveChild1,
/*137900*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137903*/                  OPC_CheckType, MVT::i64,
/*137905*/                  OPC_Scope, 34|128,1/*162*/, /*->138070*/ // 2 children in Scope
/*137908*/                    OPC_CheckChild0Same, 1,
/*137910*/                    OPC_CheckChild1Integer, 3, 
/*137912*/                    OPC_MoveParent,
/*137913*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137915*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*137917*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137919*/                    OPC_MoveParent,
/*137920*/                    OPC_MoveChild1,
/*137921*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*137924*/                    OPC_RecordMemRef,
/*137925*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*137926*/                    OPC_CheckFoldableChainNode,
/*137927*/                    OPC_MoveChild1,
/*137928*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*137931*/                    OPC_CheckChild0Same, 3,
/*137933*/                    OPC_CheckChild1Integer, 3, 
/*137935*/                    OPC_CheckType, MVT::i64,
/*137937*/                    OPC_MoveParent,
/*137938*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*137940*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*137942*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*137944*/                    OPC_MoveParent,
/*137945*/                    OPC_MoveParent,
/*137946*/                    OPC_CheckType, MVT::i32,
/*137948*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*137950*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*137960*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*137963*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*137970*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*137976*/                    OPC_EmitInteger, MVT::i64, 0, 
/*137979*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*137987*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*137990*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*137998*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138001*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*138010*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*138016*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138019*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*138027*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138030*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*138038*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138041*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*138050*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*138059*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*138062*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*138070*/                  /*Scope*/ 34|128,1/*162*/, /*->138234*/
/*138072*/                    OPC_CheckChild0Same, 3,
/*138074*/                    OPC_CheckChild1Integer, 3, 
/*138076*/                    OPC_MoveParent,
/*138077*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138079*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138081*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138083*/                    OPC_MoveParent,
/*138084*/                    OPC_MoveChild1,
/*138085*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138088*/                    OPC_RecordMemRef,
/*138089*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*138090*/                    OPC_CheckFoldableChainNode,
/*138091*/                    OPC_MoveChild1,
/*138092*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138095*/                    OPC_CheckChild0Same, 1,
/*138097*/                    OPC_CheckChild1Integer, 3, 
/*138099*/                    OPC_CheckType, MVT::i64,
/*138101*/                    OPC_MoveParent,
/*138102*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138104*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138106*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138108*/                    OPC_MoveParent,
/*138109*/                    OPC_MoveParent,
/*138110*/                    OPC_CheckType, MVT::i32,
/*138112*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*138114*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*138124*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*138127*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*138134*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*138140*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138143*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*138151*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138154*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*138162*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138165*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*138174*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*138180*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138183*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*138191*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138194*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*138202*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138205*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*138214*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*138223*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*138226*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*138234*/                  0, /*End of Scope*/
/*138235*/                0, /*End of Scope*/
/*138236*/              /*Scope*/ 63|128,11/*1471*/, /*->139709*/
/*138238*/                OPC_CheckChild1Same, 3,
/*138240*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138242*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*138244*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138246*/                OPC_MoveParent,
/*138247*/                OPC_MoveChild1,
/*138248*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138251*/                OPC_RecordMemRef,
/*138252*/                OPC_RecordNode, // #5 = 'ld' chained node
/*138253*/                OPC_CheckFoldableChainNode,
/*138254*/                OPC_CheckChild1Same, 1,
/*138256*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138258*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*138260*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138262*/                OPC_MoveParent,
/*138263*/                OPC_MoveParent,
/*138264*/                OPC_MoveChild1,
/*138265*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*138268*/                OPC_MoveChild0,
/*138269*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138272*/                OPC_RecordMemRef,
/*138273*/                OPC_RecordNode, // #6 = 'ld' chained node
/*138274*/                OPC_CheckFoldableChainNode,
/*138275*/                OPC_MoveChild1,
/*138276*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138279*/                OPC_CheckType, MVT::i64,
/*138281*/                OPC_Scope, 3|128,3/*387*/, /*->138671*/ // 3 children in Scope
/*138284*/                  OPC_CheckChild0Same, 1,
/*138286*/                  OPC_CheckChild1Integer, 1, 
/*138288*/                  OPC_MoveParent,
/*138289*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138291*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*138293*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138295*/                  OPC_MoveParent,
/*138296*/                  OPC_MoveChild1,
/*138297*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138300*/                  OPC_RecordMemRef,
/*138301*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*138302*/                  OPC_CheckFoldableChainNode,
/*138303*/                  OPC_MoveChild1,
/*138304*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138307*/                  OPC_CheckChild0Same, 3,
/*138309*/                  OPC_CheckChild1Integer, 1, 
/*138311*/                  OPC_CheckType, MVT::i64,
/*138313*/                  OPC_MoveParent,
/*138314*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138316*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*138318*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138320*/                  OPC_MoveParent,
/*138321*/                  OPC_MoveParent,
/*138322*/                  OPC_MoveParent,
/*138323*/                  OPC_MoveParent,
/*138324*/                  OPC_MoveChild1,
/*138325*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*138328*/                  OPC_MoveChild0,
/*138329*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138332*/                  OPC_RecordMemRef,
/*138333*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*138334*/                  OPC_CheckFoldableChainNode,
/*138335*/                  OPC_MoveChild1,
/*138336*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138339*/                  OPC_CheckType, MVT::i64,
/*138341*/                  OPC_Scope, 34|128,1/*162*/, /*->138506*/ // 2 children in Scope
/*138344*/                    OPC_CheckChild0Same, 1,
/*138346*/                    OPC_CheckChild1Integer, 3, 
/*138348*/                    OPC_MoveParent,
/*138349*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138351*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138353*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138355*/                    OPC_MoveParent,
/*138356*/                    OPC_MoveChild1,
/*138357*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138360*/                    OPC_RecordMemRef,
/*138361*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*138362*/                    OPC_CheckFoldableChainNode,
/*138363*/                    OPC_MoveChild1,
/*138364*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138367*/                    OPC_CheckChild0Same, 3,
/*138369*/                    OPC_CheckChild1Integer, 3, 
/*138371*/                    OPC_CheckType, MVT::i64,
/*138373*/                    OPC_MoveParent,
/*138374*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138376*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138378*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138380*/                    OPC_MoveParent,
/*138381*/                    OPC_MoveParent,
/*138382*/                    OPC_CheckType, MVT::i32,
/*138384*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*138386*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*138396*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*138399*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*138406*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*138412*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138415*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*138423*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138426*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*138434*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138437*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*138446*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*138452*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138455*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*138463*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138466*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*138474*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138477*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*138486*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*138495*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*138498*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*138506*/                  /*Scope*/ 34|128,1/*162*/, /*->138670*/
/*138508*/                    OPC_CheckChild0Same, 3,
/*138510*/                    OPC_CheckChild1Integer, 3, 
/*138512*/                    OPC_MoveParent,
/*138513*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138515*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138517*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138519*/                    OPC_MoveParent,
/*138520*/                    OPC_MoveChild1,
/*138521*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138524*/                    OPC_RecordMemRef,
/*138525*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*138526*/                    OPC_CheckFoldableChainNode,
/*138527*/                    OPC_MoveChild1,
/*138528*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138531*/                    OPC_CheckChild0Same, 1,
/*138533*/                    OPC_CheckChild1Integer, 3, 
/*138535*/                    OPC_CheckType, MVT::i64,
/*138537*/                    OPC_MoveParent,
/*138538*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138540*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138542*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138544*/                    OPC_MoveParent,
/*138545*/                    OPC_MoveParent,
/*138546*/                    OPC_CheckType, MVT::i32,
/*138548*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*138550*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*138560*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*138563*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*138570*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*138576*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138579*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*138587*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138590*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*138598*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138601*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*138610*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*138616*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138619*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*138627*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138630*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*138638*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138641*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*138650*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*138659*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*138662*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*138670*/                  0, /*End of Scope*/
/*138671*/                /*Scope*/ 6|128,5/*646*/, /*->139319*/
/*138673*/                  OPC_CheckChild0Same, 3,
/*138675*/                  OPC_CheckChild1Integer, 1, 
/*138677*/                  OPC_MoveParent,
/*138678*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138680*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*138682*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138684*/                  OPC_MoveParent,
/*138685*/                  OPC_MoveChild1,
/*138686*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138689*/                  OPC_RecordMemRef,
/*138690*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*138691*/                  OPC_CheckFoldableChainNode,
/*138692*/                  OPC_MoveChild1,
/*138693*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138696*/                  OPC_CheckChild0Same, 1,
/*138698*/                  OPC_CheckChild1Integer, 1, 
/*138700*/                  OPC_CheckType, MVT::i64,
/*138702*/                  OPC_MoveParent,
/*138703*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138705*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*138707*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138709*/                  OPC_MoveParent,
/*138710*/                  OPC_MoveParent,
/*138711*/                  OPC_MoveParent,
/*138712*/                  OPC_MoveParent,
/*138713*/                  OPC_MoveChild1,
/*138714*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*138717*/                  OPC_MoveChild0,
/*138718*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138721*/                  OPC_RecordMemRef,
/*138722*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*138723*/                  OPC_CheckFoldableChainNode,
/*138724*/                  OPC_MoveChild1,
/*138725*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138728*/                  OPC_CheckType, MVT::i64,
/*138730*/                  OPC_Scope, 34|128,1/*162*/, /*->138895*/ // 3 children in Scope
/*138733*/                    OPC_CheckChild0Same, 1,
/*138735*/                    OPC_CheckChild1Integer, 3, 
/*138737*/                    OPC_MoveParent,
/*138738*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138740*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138742*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138744*/                    OPC_MoveParent,
/*138745*/                    OPC_MoveChild1,
/*138746*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138749*/                    OPC_RecordMemRef,
/*138750*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*138751*/                    OPC_CheckFoldableChainNode,
/*138752*/                    OPC_MoveChild1,
/*138753*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138756*/                    OPC_CheckChild0Same, 3,
/*138758*/                    OPC_CheckChild1Integer, 3, 
/*138760*/                    OPC_CheckType, MVT::i64,
/*138762*/                    OPC_MoveParent,
/*138763*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138765*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138767*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138769*/                    OPC_MoveParent,
/*138770*/                    OPC_MoveParent,
/*138771*/                    OPC_CheckType, MVT::i32,
/*138773*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*138775*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*138785*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*138788*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*138795*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*138801*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138804*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*138812*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138815*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*138823*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138826*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*138835*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*138841*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138844*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*138852*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138855*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*138863*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138866*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*138875*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*138884*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*138887*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*138895*/                  /*Scope*/ 1|128,2/*257*/, /*->139154*/
/*138897*/                    OPC_CheckChild0Same, 3,
/*138899*/                    OPC_CheckChild1Integer, 3, 
/*138901*/                    OPC_MoveParent,
/*138902*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138904*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138906*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138908*/                    OPC_MoveParent,
/*138909*/                    OPC_MoveChild1,
/*138910*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*138913*/                    OPC_RecordMemRef,
/*138914*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*138915*/                    OPC_CheckFoldableChainNode,
/*138916*/                    OPC_MoveChild1,
/*138917*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*138920*/                    OPC_CheckChild0Same, 1,
/*138922*/                    OPC_CheckChild1Integer, 3, 
/*138924*/                    OPC_CheckType, MVT::i64,
/*138926*/                    OPC_MoveParent,
/*138927*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*138929*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*138931*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*138933*/                    OPC_MoveParent,
/*138934*/                    OPC_MoveParent,
/*138935*/                    OPC_CheckType, MVT::i32,
/*138937*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*138939*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*138949*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*138952*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*138959*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*138965*/                    OPC_EmitInteger, MVT::i64, 0, 
/*138968*/                    OPC_Scope, 91, /*->139061*/ // 2 children in Scope
/*138970*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*138978*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*138981*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*138989*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*138992*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*139001*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*139007*/                      OPC_EmitInteger, MVT::i64, 0, 
/*139010*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*139018*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139021*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*139029*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139032*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*139041*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*139050*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*139053*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*139061*/                    /*Scope*/ 91, /*->139153*/
/*139062*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*139070*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139073*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*139081*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139084*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*139093*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*139099*/                      OPC_EmitInteger, MVT::i64, 0, 
/*139102*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*139110*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139113*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*139121*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139124*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*139133*/                      OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*139142*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*139145*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*139153*/                    0, /*End of Scope*/
/*139154*/                  /*Scope*/ 34|128,1/*162*/, /*->139318*/
/*139156*/                    OPC_CheckChild0Same, 1,
/*139158*/                    OPC_CheckChild1Integer, 3, 
/*139160*/                    OPC_MoveParent,
/*139161*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139163*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139165*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139167*/                    OPC_MoveParent,
/*139168*/                    OPC_MoveChild1,
/*139169*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139172*/                    OPC_RecordMemRef,
/*139173*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*139174*/                    OPC_CheckFoldableChainNode,
/*139175*/                    OPC_MoveChild1,
/*139176*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139179*/                    OPC_CheckChild0Same, 3,
/*139181*/                    OPC_CheckChild1Integer, 3, 
/*139183*/                    OPC_CheckType, MVT::i64,
/*139185*/                    OPC_MoveParent,
/*139186*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139188*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139190*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139192*/                    OPC_MoveParent,
/*139193*/                    OPC_MoveParent,
/*139194*/                    OPC_CheckType, MVT::i32,
/*139196*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*139198*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*139208*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*139211*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*139218*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*139224*/                    OPC_EmitInteger, MVT::i64, 0, 
/*139227*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*139235*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139238*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*139246*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139249*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*139258*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*139264*/                    OPC_EmitInteger, MVT::i64, 0, 
/*139267*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*139275*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139278*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*139286*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139289*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*139298*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*139307*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*139310*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*139318*/                  0, /*End of Scope*/
/*139319*/                /*Scope*/ 3|128,3/*387*/, /*->139708*/
/*139321*/                  OPC_CheckChild0Same, 1,
/*139323*/                  OPC_CheckChild1Integer, 1, 
/*139325*/                  OPC_MoveParent,
/*139326*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139328*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*139330*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139332*/                  OPC_MoveParent,
/*139333*/                  OPC_MoveChild1,
/*139334*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139337*/                  OPC_RecordMemRef,
/*139338*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*139339*/                  OPC_CheckFoldableChainNode,
/*139340*/                  OPC_MoveChild1,
/*139341*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139344*/                  OPC_CheckChild0Same, 3,
/*139346*/                  OPC_CheckChild1Integer, 1, 
/*139348*/                  OPC_CheckType, MVT::i64,
/*139350*/                  OPC_MoveParent,
/*139351*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139353*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*139355*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139357*/                  OPC_MoveParent,
/*139358*/                  OPC_MoveParent,
/*139359*/                  OPC_MoveParent,
/*139360*/                  OPC_MoveParent,
/*139361*/                  OPC_MoveChild1,
/*139362*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*139365*/                  OPC_MoveChild0,
/*139366*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139369*/                  OPC_RecordMemRef,
/*139370*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*139371*/                  OPC_CheckFoldableChainNode,
/*139372*/                  OPC_MoveChild1,
/*139373*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139376*/                  OPC_CheckType, MVT::i64,
/*139378*/                  OPC_Scope, 34|128,1/*162*/, /*->139543*/ // 2 children in Scope
/*139381*/                    OPC_CheckChild0Same, 3,
/*139383*/                    OPC_CheckChild1Integer, 3, 
/*139385*/                    OPC_MoveParent,
/*139386*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139388*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139390*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139392*/                    OPC_MoveParent,
/*139393*/                    OPC_MoveChild1,
/*139394*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139397*/                    OPC_RecordMemRef,
/*139398*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*139399*/                    OPC_CheckFoldableChainNode,
/*139400*/                    OPC_MoveChild1,
/*139401*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139404*/                    OPC_CheckChild0Same, 1,
/*139406*/                    OPC_CheckChild1Integer, 3, 
/*139408*/                    OPC_CheckType, MVT::i64,
/*139410*/                    OPC_MoveParent,
/*139411*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139413*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139415*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139417*/                    OPC_MoveParent,
/*139418*/                    OPC_MoveParent,
/*139419*/                    OPC_CheckType, MVT::i32,
/*139421*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*139423*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*139433*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*139436*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*139443*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*139449*/                    OPC_EmitInteger, MVT::i64, 0, 
/*139452*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*139460*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139463*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*139471*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139474*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*139483*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*139489*/                    OPC_EmitInteger, MVT::i64, 0, 
/*139492*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*139500*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139503*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*139511*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139514*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*139523*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*139532*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*139535*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*139543*/                  /*Scope*/ 34|128,1/*162*/, /*->139707*/
/*139545*/                    OPC_CheckChild0Same, 1,
/*139547*/                    OPC_CheckChild1Integer, 3, 
/*139549*/                    OPC_MoveParent,
/*139550*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139552*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139554*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139556*/                    OPC_MoveParent,
/*139557*/                    OPC_MoveChild1,
/*139558*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139561*/                    OPC_RecordMemRef,
/*139562*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*139563*/                    OPC_CheckFoldableChainNode,
/*139564*/                    OPC_MoveChild1,
/*139565*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139568*/                    OPC_CheckChild0Same, 3,
/*139570*/                    OPC_CheckChild1Integer, 3, 
/*139572*/                    OPC_CheckType, MVT::i64,
/*139574*/                    OPC_MoveParent,
/*139575*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139577*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139579*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139581*/                    OPC_MoveParent,
/*139582*/                    OPC_MoveParent,
/*139583*/                    OPC_CheckType, MVT::i32,
/*139585*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*139587*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*139597*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*139600*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*139607*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*139613*/                    OPC_EmitInteger, MVT::i64, 0, 
/*139616*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*139624*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139627*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*139635*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139638*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*139647*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*139653*/                    OPC_EmitInteger, MVT::i64, 0, 
/*139656*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*139664*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139667*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*139675*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139678*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*139687*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*139696*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*139699*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*139707*/                  0, /*End of Scope*/
/*139708*/                0, /*End of Scope*/
/*139709*/              /*Scope*/ 55|128,6/*823*/, /*->140534*/
/*139711*/                OPC_CheckChild1Same, 1,
/*139713*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139715*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*139717*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139719*/                OPC_MoveParent,
/*139720*/                OPC_MoveChild1,
/*139721*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139724*/                OPC_RecordMemRef,
/*139725*/                OPC_RecordNode, // #5 = 'ld' chained node
/*139726*/                OPC_CheckFoldableChainNode,
/*139727*/                OPC_CheckChild1Same, 3,
/*139729*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139731*/                OPC_CheckPredicate, 5, // Predicate_sextload
/*139733*/                OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139735*/                OPC_MoveParent,
/*139736*/                OPC_MoveParent,
/*139737*/                OPC_MoveChild1,
/*139738*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*139741*/                OPC_MoveChild0,
/*139742*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139745*/                OPC_RecordMemRef,
/*139746*/                OPC_RecordNode, // #6 = 'ld' chained node
/*139747*/                OPC_CheckFoldableChainNode,
/*139748*/                OPC_MoveChild1,
/*139749*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139752*/                OPC_CheckType, MVT::i64,
/*139754*/                OPC_Scope, 3|128,3/*387*/, /*->140144*/ // 2 children in Scope
/*139757*/                  OPC_CheckChild0Same, 3,
/*139759*/                  OPC_CheckChild1Integer, 1, 
/*139761*/                  OPC_MoveParent,
/*139762*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139764*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*139766*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139768*/                  OPC_MoveParent,
/*139769*/                  OPC_MoveChild1,
/*139770*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139773*/                  OPC_RecordMemRef,
/*139774*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*139775*/                  OPC_CheckFoldableChainNode,
/*139776*/                  OPC_MoveChild1,
/*139777*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139780*/                  OPC_CheckChild0Same, 1,
/*139782*/                  OPC_CheckChild1Integer, 1, 
/*139784*/                  OPC_CheckType, MVT::i64,
/*139786*/                  OPC_MoveParent,
/*139787*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139789*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*139791*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139793*/                  OPC_MoveParent,
/*139794*/                  OPC_MoveParent,
/*139795*/                  OPC_MoveParent,
/*139796*/                  OPC_MoveParent,
/*139797*/                  OPC_MoveChild1,
/*139798*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*139801*/                  OPC_MoveChild0,
/*139802*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139805*/                  OPC_RecordMemRef,
/*139806*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*139807*/                  OPC_CheckFoldableChainNode,
/*139808*/                  OPC_MoveChild1,
/*139809*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139812*/                  OPC_CheckType, MVT::i64,
/*139814*/                  OPC_Scope, 34|128,1/*162*/, /*->139979*/ // 2 children in Scope
/*139817*/                    OPC_CheckChild0Same, 3,
/*139819*/                    OPC_CheckChild1Integer, 3, 
/*139821*/                    OPC_MoveParent,
/*139822*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139824*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139826*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139828*/                    OPC_MoveParent,
/*139829*/                    OPC_MoveChild1,
/*139830*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139833*/                    OPC_RecordMemRef,
/*139834*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*139835*/                    OPC_CheckFoldableChainNode,
/*139836*/                    OPC_MoveChild1,
/*139837*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*139840*/                    OPC_CheckChild0Same, 1,
/*139842*/                    OPC_CheckChild1Integer, 3, 
/*139844*/                    OPC_CheckType, MVT::i64,
/*139846*/                    OPC_MoveParent,
/*139847*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139849*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139851*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139853*/                    OPC_MoveParent,
/*139854*/                    OPC_MoveParent,
/*139855*/                    OPC_CheckType, MVT::i32,
/*139857*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*139859*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*139869*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*139872*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*139879*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*139885*/                    OPC_EmitInteger, MVT::i64, 0, 
/*139888*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*139896*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139899*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*139907*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139910*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*139919*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*139925*/                    OPC_EmitInteger, MVT::i64, 0, 
/*139928*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*139936*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*139939*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*139947*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*139950*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*139959*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*139968*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*139971*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*139979*/                  /*Scope*/ 34|128,1/*162*/, /*->140143*/
/*139981*/                    OPC_CheckChild0Same, 1,
/*139983*/                    OPC_CheckChild1Integer, 3, 
/*139985*/                    OPC_MoveParent,
/*139986*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*139988*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*139990*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*139992*/                    OPC_MoveParent,
/*139993*/                    OPC_MoveChild1,
/*139994*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*139997*/                    OPC_RecordMemRef,
/*139998*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*139999*/                    OPC_CheckFoldableChainNode,
/*140000*/                    OPC_MoveChild1,
/*140001*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140004*/                    OPC_CheckChild0Same, 3,
/*140006*/                    OPC_CheckChild1Integer, 3, 
/*140008*/                    OPC_CheckType, MVT::i64,
/*140010*/                    OPC_MoveParent,
/*140011*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140013*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*140015*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*140017*/                    OPC_MoveParent,
/*140018*/                    OPC_MoveParent,
/*140019*/                    OPC_CheckType, MVT::i32,
/*140021*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*140023*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*140033*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*140036*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*140043*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*140049*/                    OPC_EmitInteger, MVT::i64, 0, 
/*140052*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*140060*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140063*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*140071*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140074*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*140083*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*140089*/                    OPC_EmitInteger, MVT::i64, 0, 
/*140092*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*140100*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140103*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*140111*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140114*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*140123*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*140132*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*140135*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*140143*/                  0, /*End of Scope*/
/*140144*/                /*Scope*/ 3|128,3/*387*/, /*->140533*/
/*140146*/                  OPC_CheckChild0Same, 1,
/*140148*/                  OPC_CheckChild1Integer, 1, 
/*140150*/                  OPC_MoveParent,
/*140151*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140153*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*140155*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*140157*/                  OPC_MoveParent,
/*140158*/                  OPC_MoveChild1,
/*140159*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140162*/                  OPC_RecordMemRef,
/*140163*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*140164*/                  OPC_CheckFoldableChainNode,
/*140165*/                  OPC_MoveChild1,
/*140166*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140169*/                  OPC_CheckChild0Same, 3,
/*140171*/                  OPC_CheckChild1Integer, 1, 
/*140173*/                  OPC_CheckType, MVT::i64,
/*140175*/                  OPC_MoveParent,
/*140176*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140178*/                  OPC_CheckPredicate, 5, // Predicate_sextload
/*140180*/                  OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*140182*/                  OPC_MoveParent,
/*140183*/                  OPC_MoveParent,
/*140184*/                  OPC_MoveParent,
/*140185*/                  OPC_MoveParent,
/*140186*/                  OPC_MoveChild1,
/*140187*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*140190*/                  OPC_MoveChild0,
/*140191*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140194*/                  OPC_RecordMemRef,
/*140195*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*140196*/                  OPC_CheckFoldableChainNode,
/*140197*/                  OPC_MoveChild1,
/*140198*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140201*/                  OPC_CheckType, MVT::i64,
/*140203*/                  OPC_Scope, 34|128,1/*162*/, /*->140368*/ // 2 children in Scope
/*140206*/                    OPC_CheckChild0Same, 3,
/*140208*/                    OPC_CheckChild1Integer, 3, 
/*140210*/                    OPC_MoveParent,
/*140211*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140213*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*140215*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*140217*/                    OPC_MoveParent,
/*140218*/                    OPC_MoveChild1,
/*140219*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140222*/                    OPC_RecordMemRef,
/*140223*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*140224*/                    OPC_CheckFoldableChainNode,
/*140225*/                    OPC_MoveChild1,
/*140226*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140229*/                    OPC_CheckChild0Same, 1,
/*140231*/                    OPC_CheckChild1Integer, 3, 
/*140233*/                    OPC_CheckType, MVT::i64,
/*140235*/                    OPC_MoveParent,
/*140236*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140238*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*140240*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*140242*/                    OPC_MoveParent,
/*140243*/                    OPC_MoveParent,
/*140244*/                    OPC_CheckType, MVT::i32,
/*140246*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*140248*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*140258*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*140261*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*140268*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*140274*/                    OPC_EmitInteger, MVT::i64, 0, 
/*140277*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*140285*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140288*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*140296*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140299*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*140308*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*140314*/                    OPC_EmitInteger, MVT::i64, 0, 
/*140317*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*140325*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140328*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*140336*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140339*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*140348*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*140357*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*140360*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*140368*/                  /*Scope*/ 34|128,1/*162*/, /*->140532*/
/*140370*/                    OPC_CheckChild0Same, 1,
/*140372*/                    OPC_CheckChild1Integer, 3, 
/*140374*/                    OPC_MoveParent,
/*140375*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140377*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*140379*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*140381*/                    OPC_MoveParent,
/*140382*/                    OPC_MoveChild1,
/*140383*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140386*/                    OPC_RecordMemRef,
/*140387*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*140388*/                    OPC_CheckFoldableChainNode,
/*140389*/                    OPC_MoveChild1,
/*140390*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140393*/                    OPC_CheckChild0Same, 3,
/*140395*/                    OPC_CheckChild1Integer, 3, 
/*140397*/                    OPC_CheckType, MVT::i64,
/*140399*/                    OPC_MoveParent,
/*140400*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140402*/                    OPC_CheckPredicate, 5, // Predicate_sextload
/*140404*/                    OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*140406*/                    OPC_MoveParent,
/*140407*/                    OPC_MoveParent,
/*140408*/                    OPC_CheckType, MVT::i32,
/*140410*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*140412*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*140422*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*140425*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*140432*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*140438*/                    OPC_EmitInteger, MVT::i64, 0, 
/*140441*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*140449*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140452*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*140460*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140463*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*140472*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*140478*/                    OPC_EmitInteger, MVT::i64, 0, 
/*140481*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*140489*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140492*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*140500*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140503*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*140512*/                    OPC_EmitNode1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*140521*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*140524*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*140532*/                  0, /*End of Scope*/
/*140533*/                0, /*End of Scope*/
/*140534*/              0, /*End of Scope*/
/*140535*/            0, /*End of Scope*/
/*140536*/          /*Scope*/ 99|128,49/*6371*/, /*->146909*/
/*140538*/            OPC_RecordChild1, // #1 = $Rn
/*140539*/            OPC_CheckChild1Type, MVT::i64,
/*140541*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140543*/            OPC_CheckPredicate, 7, // Predicate_zextload
/*140545*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140547*/            OPC_MoveParent,
/*140548*/            OPC_MoveChild1,
/*140549*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140552*/            OPC_RecordMemRef,
/*140553*/            OPC_RecordNode, // #2 = 'ld' chained node
/*140554*/            OPC_CheckFoldableChainNode,
/*140555*/            OPC_RecordChild1, // #3 = $Rm
/*140556*/            OPC_CheckChild1Type, MVT::i64,
/*140558*/            OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140560*/            OPC_CheckPredicate, 7, // Predicate_zextload
/*140562*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140564*/            OPC_MoveParent,
/*140565*/            OPC_MoveParent,
/*140566*/            OPC_MoveChild1,
/*140567*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140570*/            OPC_MoveChild0,
/*140571*/            OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*140574*/            OPC_MoveChild0,
/*140575*/            OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140578*/            OPC_RecordMemRef,
/*140579*/            OPC_RecordNode, // #4 = 'ld' chained node
/*140580*/            OPC_CheckFoldableChainNode,
/*140581*/            OPC_MoveChild1,
/*140582*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140585*/            OPC_CheckType, MVT::i64,
/*140587*/            OPC_Scope, 67|128,6/*835*/, /*->141425*/ // 5 children in Scope
/*140590*/              OPC_CheckChild0Same, 1,
/*140592*/              OPC_CheckChild1Integer, 2, 
/*140594*/              OPC_MoveParent,
/*140595*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140597*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*140599*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140601*/              OPC_MoveParent,
/*140602*/              OPC_MoveChild1,
/*140603*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140606*/              OPC_RecordMemRef,
/*140607*/              OPC_RecordNode, // #5 = 'ld' chained node
/*140608*/              OPC_CheckFoldableChainNode,
/*140609*/              OPC_MoveChild1,
/*140610*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140613*/              OPC_CheckChild0Same, 3,
/*140615*/              OPC_CheckChild1Integer, 2, 
/*140617*/              OPC_CheckType, MVT::i64,
/*140619*/              OPC_MoveParent,
/*140620*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140622*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*140624*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140626*/              OPC_MoveParent,
/*140627*/              OPC_MoveParent,
/*140628*/              OPC_MoveChild1,
/*140629*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*140632*/              OPC_MoveChild0,
/*140633*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140636*/              OPC_RecordMemRef,
/*140637*/              OPC_RecordNode, // #6 = 'ld' chained node
/*140638*/              OPC_CheckFoldableChainNode,
/*140639*/              OPC_MoveChild1,
/*140640*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140643*/              OPC_CheckType, MVT::i64,
/*140645*/              OPC_Scope, 3|128,3/*387*/, /*->141035*/ // 2 children in Scope
/*140648*/                OPC_CheckChild0Same, 1,
/*140650*/                OPC_CheckChild1Integer, 1, 
/*140652*/                OPC_MoveParent,
/*140653*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140655*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*140657*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140659*/                OPC_MoveParent,
/*140660*/                OPC_MoveChild1,
/*140661*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140664*/                OPC_RecordMemRef,
/*140665*/                OPC_RecordNode, // #7 = 'ld' chained node
/*140666*/                OPC_CheckFoldableChainNode,
/*140667*/                OPC_MoveChild1,
/*140668*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140671*/                OPC_CheckChild0Same, 3,
/*140673*/                OPC_CheckChild1Integer, 1, 
/*140675*/                OPC_CheckType, MVT::i64,
/*140677*/                OPC_MoveParent,
/*140678*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140680*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*140682*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140684*/                OPC_MoveParent,
/*140685*/                OPC_MoveParent,
/*140686*/                OPC_MoveParent,
/*140687*/                OPC_MoveParent,
/*140688*/                OPC_MoveChild1,
/*140689*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*140692*/                OPC_MoveChild0,
/*140693*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140696*/                OPC_RecordMemRef,
/*140697*/                OPC_RecordNode, // #8 = 'ld' chained node
/*140698*/                OPC_CheckFoldableChainNode,
/*140699*/                OPC_MoveChild1,
/*140700*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140703*/                OPC_CheckType, MVT::i64,
/*140705*/                OPC_Scope, 34|128,1/*162*/, /*->140870*/ // 2 children in Scope
/*140708*/                  OPC_CheckChild0Same, 1,
/*140710*/                  OPC_CheckChild1Integer, 3, 
/*140712*/                  OPC_MoveParent,
/*140713*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140715*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*140717*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140719*/                  OPC_MoveParent,
/*140720*/                  OPC_MoveChild1,
/*140721*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140724*/                  OPC_RecordMemRef,
/*140725*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*140726*/                  OPC_CheckFoldableChainNode,
/*140727*/                  OPC_MoveChild1,
/*140728*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140731*/                  OPC_CheckChild0Same, 3,
/*140733*/                  OPC_CheckChild1Integer, 3, 
/*140735*/                  OPC_CheckType, MVT::i64,
/*140737*/                  OPC_MoveParent,
/*140738*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140740*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*140742*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140744*/                  OPC_MoveParent,
/*140745*/                  OPC_MoveParent,
/*140746*/                  OPC_CheckType, MVT::i32,
/*140748*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*140750*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*140760*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*140763*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*140770*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*140776*/                  OPC_EmitInteger, MVT::i64, 0, 
/*140779*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*140787*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140790*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*140798*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140801*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*140810*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*140816*/                  OPC_EmitInteger, MVT::i64, 0, 
/*140819*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*140827*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140830*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*140838*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140841*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*140850*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*140859*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*140862*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*140870*/                /*Scope*/ 34|128,1/*162*/, /*->141034*/
/*140872*/                  OPC_CheckChild0Same, 3,
/*140874*/                  OPC_CheckChild1Integer, 3, 
/*140876*/                  OPC_MoveParent,
/*140877*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140879*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*140881*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140883*/                  OPC_MoveParent,
/*140884*/                  OPC_MoveChild1,
/*140885*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*140888*/                  OPC_RecordMemRef,
/*140889*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*140890*/                  OPC_CheckFoldableChainNode,
/*140891*/                  OPC_MoveChild1,
/*140892*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*140895*/                  OPC_CheckChild0Same, 1,
/*140897*/                  OPC_CheckChild1Integer, 3, 
/*140899*/                  OPC_CheckType, MVT::i64,
/*140901*/                  OPC_MoveParent,
/*140902*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*140904*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*140906*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*140908*/                  OPC_MoveParent,
/*140909*/                  OPC_MoveParent,
/*140910*/                  OPC_CheckType, MVT::i32,
/*140912*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*140914*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*140924*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*140927*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*140934*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*140940*/                  OPC_EmitInteger, MVT::i64, 0, 
/*140943*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*140951*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140954*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*140962*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*140965*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*140974*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*140980*/                  OPC_EmitInteger, MVT::i64, 0, 
/*140983*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*140991*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*140994*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*141002*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141005*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*141014*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*141023*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*141026*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*141034*/                0, /*End of Scope*/
/*141035*/              /*Scope*/ 3|128,3/*387*/, /*->141424*/
/*141037*/                OPC_CheckChild0Same, 3,
/*141039*/                OPC_CheckChild1Integer, 1, 
/*141041*/                OPC_MoveParent,
/*141042*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141044*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*141046*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141048*/                OPC_MoveParent,
/*141049*/                OPC_MoveChild1,
/*141050*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141053*/                OPC_RecordMemRef,
/*141054*/                OPC_RecordNode, // #7 = 'ld' chained node
/*141055*/                OPC_CheckFoldableChainNode,
/*141056*/                OPC_MoveChild1,
/*141057*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141060*/                OPC_CheckChild0Same, 1,
/*141062*/                OPC_CheckChild1Integer, 1, 
/*141064*/                OPC_CheckType, MVT::i64,
/*141066*/                OPC_MoveParent,
/*141067*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141069*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*141071*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141073*/                OPC_MoveParent,
/*141074*/                OPC_MoveParent,
/*141075*/                OPC_MoveParent,
/*141076*/                OPC_MoveParent,
/*141077*/                OPC_MoveChild1,
/*141078*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*141081*/                OPC_MoveChild0,
/*141082*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141085*/                OPC_RecordMemRef,
/*141086*/                OPC_RecordNode, // #8 = 'ld' chained node
/*141087*/                OPC_CheckFoldableChainNode,
/*141088*/                OPC_MoveChild1,
/*141089*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141092*/                OPC_CheckType, MVT::i64,
/*141094*/                OPC_Scope, 34|128,1/*162*/, /*->141259*/ // 2 children in Scope
/*141097*/                  OPC_CheckChild0Same, 1,
/*141099*/                  OPC_CheckChild1Integer, 3, 
/*141101*/                  OPC_MoveParent,
/*141102*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141104*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141106*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141108*/                  OPC_MoveParent,
/*141109*/                  OPC_MoveChild1,
/*141110*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141113*/                  OPC_RecordMemRef,
/*141114*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*141115*/                  OPC_CheckFoldableChainNode,
/*141116*/                  OPC_MoveChild1,
/*141117*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141120*/                  OPC_CheckChild0Same, 3,
/*141122*/                  OPC_CheckChild1Integer, 3, 
/*141124*/                  OPC_CheckType, MVT::i64,
/*141126*/                  OPC_MoveParent,
/*141127*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141129*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141131*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141133*/                  OPC_MoveParent,
/*141134*/                  OPC_MoveParent,
/*141135*/                  OPC_CheckType, MVT::i32,
/*141137*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*141139*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*141149*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*141152*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*141159*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*141165*/                  OPC_EmitInteger, MVT::i64, 0, 
/*141168*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*141176*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*141179*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*141187*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141190*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*141199*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*141205*/                  OPC_EmitInteger, MVT::i64, 0, 
/*141208*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*141216*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*141219*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*141227*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141230*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*141239*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*141248*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*141251*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*141259*/                /*Scope*/ 34|128,1/*162*/, /*->141423*/
/*141261*/                  OPC_CheckChild0Same, 3,
/*141263*/                  OPC_CheckChild1Integer, 3, 
/*141265*/                  OPC_MoveParent,
/*141266*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141268*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141270*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141272*/                  OPC_MoveParent,
/*141273*/                  OPC_MoveChild1,
/*141274*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141277*/                  OPC_RecordMemRef,
/*141278*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*141279*/                  OPC_CheckFoldableChainNode,
/*141280*/                  OPC_MoveChild1,
/*141281*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141284*/                  OPC_CheckChild0Same, 1,
/*141286*/                  OPC_CheckChild1Integer, 3, 
/*141288*/                  OPC_CheckType, MVT::i64,
/*141290*/                  OPC_MoveParent,
/*141291*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141293*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141295*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141297*/                  OPC_MoveParent,
/*141298*/                  OPC_MoveParent,
/*141299*/                  OPC_CheckType, MVT::i32,
/*141301*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*141303*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*141313*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*141316*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*141323*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*141329*/                  OPC_EmitInteger, MVT::i64, 0, 
/*141332*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*141340*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*141343*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*141351*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141354*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*141363*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*141369*/                  OPC_EmitInteger, MVT::i64, 0, 
/*141372*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*141380*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*141383*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*141391*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141394*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*141403*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*141412*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*141415*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*141423*/                0, /*End of Scope*/
/*141424*/              0, /*End of Scope*/
/*141425*/            /*Scope*/ 75|128,11/*1483*/, /*->142910*/
/*141427*/              OPC_CheckChild0Same, 3,
/*141429*/              OPC_CheckChild1Integer, 2, 
/*141431*/              OPC_MoveParent,
/*141432*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141434*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*141436*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141438*/              OPC_MoveParent,
/*141439*/              OPC_MoveChild1,
/*141440*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141443*/              OPC_RecordMemRef,
/*141444*/              OPC_RecordNode, // #5 = 'ld' chained node
/*141445*/              OPC_CheckFoldableChainNode,
/*141446*/              OPC_MoveChild1,
/*141447*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141450*/              OPC_CheckChild0Same, 1,
/*141452*/              OPC_CheckChild1Integer, 2, 
/*141454*/              OPC_CheckType, MVT::i64,
/*141456*/              OPC_MoveParent,
/*141457*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141459*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*141461*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141463*/              OPC_MoveParent,
/*141464*/              OPC_MoveParent,
/*141465*/              OPC_MoveChild1,
/*141466*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*141469*/              OPC_MoveChild0,
/*141470*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141473*/              OPC_RecordMemRef,
/*141474*/              OPC_RecordNode, // #6 = 'ld' chained node
/*141475*/              OPC_CheckFoldableChainNode,
/*141476*/              OPC_MoveChild1,
/*141477*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141480*/              OPC_CheckType, MVT::i64,
/*141482*/              OPC_Scope, 3|128,3/*387*/, /*->141872*/ // 3 children in Scope
/*141485*/                OPC_CheckChild0Same, 1,
/*141487*/                OPC_CheckChild1Integer, 1, 
/*141489*/                OPC_MoveParent,
/*141490*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141492*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*141494*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141496*/                OPC_MoveParent,
/*141497*/                OPC_MoveChild1,
/*141498*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141501*/                OPC_RecordMemRef,
/*141502*/                OPC_RecordNode, // #7 = 'ld' chained node
/*141503*/                OPC_CheckFoldableChainNode,
/*141504*/                OPC_MoveChild1,
/*141505*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141508*/                OPC_CheckChild0Same, 3,
/*141510*/                OPC_CheckChild1Integer, 1, 
/*141512*/                OPC_CheckType, MVT::i64,
/*141514*/                OPC_MoveParent,
/*141515*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141517*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*141519*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141521*/                OPC_MoveParent,
/*141522*/                OPC_MoveParent,
/*141523*/                OPC_MoveParent,
/*141524*/                OPC_MoveParent,
/*141525*/                OPC_MoveChild1,
/*141526*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*141529*/                OPC_MoveChild0,
/*141530*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141533*/                OPC_RecordMemRef,
/*141534*/                OPC_RecordNode, // #8 = 'ld' chained node
/*141535*/                OPC_CheckFoldableChainNode,
/*141536*/                OPC_MoveChild1,
/*141537*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141540*/                OPC_CheckType, MVT::i64,
/*141542*/                OPC_Scope, 34|128,1/*162*/, /*->141707*/ // 2 children in Scope
/*141545*/                  OPC_CheckChild0Same, 1,
/*141547*/                  OPC_CheckChild1Integer, 3, 
/*141549*/                  OPC_MoveParent,
/*141550*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141552*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141554*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141556*/                  OPC_MoveParent,
/*141557*/                  OPC_MoveChild1,
/*141558*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141561*/                  OPC_RecordMemRef,
/*141562*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*141563*/                  OPC_CheckFoldableChainNode,
/*141564*/                  OPC_MoveChild1,
/*141565*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141568*/                  OPC_CheckChild0Same, 3,
/*141570*/                  OPC_CheckChild1Integer, 3, 
/*141572*/                  OPC_CheckType, MVT::i64,
/*141574*/                  OPC_MoveParent,
/*141575*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141577*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141579*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141581*/                  OPC_MoveParent,
/*141582*/                  OPC_MoveParent,
/*141583*/                  OPC_CheckType, MVT::i32,
/*141585*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*141587*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*141597*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*141600*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*141607*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*141613*/                  OPC_EmitInteger, MVT::i64, 0, 
/*141616*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*141624*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*141627*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*141635*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141638*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*141647*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*141653*/                  OPC_EmitInteger, MVT::i64, 0, 
/*141656*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*141664*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*141667*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*141675*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141678*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*141687*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*141696*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*141699*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*141707*/                /*Scope*/ 34|128,1/*162*/, /*->141871*/
/*141709*/                  OPC_CheckChild0Same, 3,
/*141711*/                  OPC_CheckChild1Integer, 3, 
/*141713*/                  OPC_MoveParent,
/*141714*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141716*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141718*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141720*/                  OPC_MoveParent,
/*141721*/                  OPC_MoveChild1,
/*141722*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141725*/                  OPC_RecordMemRef,
/*141726*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*141727*/                  OPC_CheckFoldableChainNode,
/*141728*/                  OPC_MoveChild1,
/*141729*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141732*/                  OPC_CheckChild0Same, 1,
/*141734*/                  OPC_CheckChild1Integer, 3, 
/*141736*/                  OPC_CheckType, MVT::i64,
/*141738*/                  OPC_MoveParent,
/*141739*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141741*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141743*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141745*/                  OPC_MoveParent,
/*141746*/                  OPC_MoveParent,
/*141747*/                  OPC_CheckType, MVT::i32,
/*141749*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*141751*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*141761*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*141764*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*141771*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*141777*/                  OPC_EmitInteger, MVT::i64, 0, 
/*141780*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*141788*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*141791*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*141799*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141802*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*141811*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*141817*/                  OPC_EmitInteger, MVT::i64, 0, 
/*141820*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*141828*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*141831*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*141839*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*141842*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*141851*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*141860*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*141863*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*141871*/                0, /*End of Scope*/
/*141872*/              /*Scope*/ 6|128,5/*646*/, /*->142520*/
/*141874*/                OPC_CheckChild0Same, 3,
/*141876*/                OPC_CheckChild1Integer, 1, 
/*141878*/                OPC_MoveParent,
/*141879*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141881*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*141883*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141885*/                OPC_MoveParent,
/*141886*/                OPC_MoveChild1,
/*141887*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141890*/                OPC_RecordMemRef,
/*141891*/                OPC_RecordNode, // #7 = 'ld' chained node
/*141892*/                OPC_CheckFoldableChainNode,
/*141893*/                OPC_MoveChild1,
/*141894*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141897*/                OPC_CheckChild0Same, 1,
/*141899*/                OPC_CheckChild1Integer, 1, 
/*141901*/                OPC_CheckType, MVT::i64,
/*141903*/                OPC_MoveParent,
/*141904*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141906*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*141908*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141910*/                OPC_MoveParent,
/*141911*/                OPC_MoveParent,
/*141912*/                OPC_MoveParent,
/*141913*/                OPC_MoveParent,
/*141914*/                OPC_MoveChild1,
/*141915*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*141918*/                OPC_MoveChild0,
/*141919*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141922*/                OPC_RecordMemRef,
/*141923*/                OPC_RecordNode, // #8 = 'ld' chained node
/*141924*/                OPC_CheckFoldableChainNode,
/*141925*/                OPC_MoveChild1,
/*141926*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141929*/                OPC_CheckType, MVT::i64,
/*141931*/                OPC_Scope, 34|128,1/*162*/, /*->142096*/ // 3 children in Scope
/*141934*/                  OPC_CheckChild0Same, 1,
/*141936*/                  OPC_CheckChild1Integer, 3, 
/*141938*/                  OPC_MoveParent,
/*141939*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141941*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141943*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141945*/                  OPC_MoveParent,
/*141946*/                  OPC_MoveChild1,
/*141947*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*141950*/                  OPC_RecordMemRef,
/*141951*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*141952*/                  OPC_CheckFoldableChainNode,
/*141953*/                  OPC_MoveChild1,
/*141954*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*141957*/                  OPC_CheckChild0Same, 3,
/*141959*/                  OPC_CheckChild1Integer, 3, 
/*141961*/                  OPC_CheckType, MVT::i64,
/*141963*/                  OPC_MoveParent,
/*141964*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*141966*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*141968*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*141970*/                  OPC_MoveParent,
/*141971*/                  OPC_MoveParent,
/*141972*/                  OPC_CheckType, MVT::i32,
/*141974*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*141976*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*141986*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*141989*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*141996*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*142002*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142005*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*142013*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142016*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*142024*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142027*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*142036*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*142042*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142045*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*142053*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142056*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*142064*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142067*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*142076*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*142085*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*142088*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*142096*/                /*Scope*/ 1|128,2/*257*/, /*->142355*/
/*142098*/                  OPC_CheckChild0Same, 3,
/*142100*/                  OPC_CheckChild1Integer, 3, 
/*142102*/                  OPC_MoveParent,
/*142103*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142105*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142107*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142109*/                  OPC_MoveParent,
/*142110*/                  OPC_MoveChild1,
/*142111*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142114*/                  OPC_RecordMemRef,
/*142115*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*142116*/                  OPC_CheckFoldableChainNode,
/*142117*/                  OPC_MoveChild1,
/*142118*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142121*/                  OPC_CheckChild0Same, 1,
/*142123*/                  OPC_CheckChild1Integer, 3, 
/*142125*/                  OPC_CheckType, MVT::i64,
/*142127*/                  OPC_MoveParent,
/*142128*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142130*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142132*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142134*/                  OPC_MoveParent,
/*142135*/                  OPC_MoveParent,
/*142136*/                  OPC_CheckType, MVT::i32,
/*142138*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*142140*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*142150*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*142153*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*142160*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*142166*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142169*/                  OPC_Scope, 91, /*->142262*/ // 2 children in Scope
/*142171*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*142179*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142182*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*142190*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142193*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*142202*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*142208*/                    OPC_EmitInteger, MVT::i64, 0, 
/*142211*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*142219*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142222*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*142230*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142233*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*142242*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*142251*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*142254*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*142262*/                  /*Scope*/ 91, /*->142354*/
/*142263*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*142271*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142274*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*142282*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142285*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*142294*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*142300*/                    OPC_EmitInteger, MVT::i64, 0, 
/*142303*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*142311*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142314*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*142322*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142325*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*142334*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*142343*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*142346*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*142354*/                  0, /*End of Scope*/
/*142355*/                /*Scope*/ 34|128,1/*162*/, /*->142519*/
/*142357*/                  OPC_CheckChild0Same, 1,
/*142359*/                  OPC_CheckChild1Integer, 3, 
/*142361*/                  OPC_MoveParent,
/*142362*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142364*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142366*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142368*/                  OPC_MoveParent,
/*142369*/                  OPC_MoveChild1,
/*142370*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142373*/                  OPC_RecordMemRef,
/*142374*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*142375*/                  OPC_CheckFoldableChainNode,
/*142376*/                  OPC_MoveChild1,
/*142377*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142380*/                  OPC_CheckChild0Same, 3,
/*142382*/                  OPC_CheckChild1Integer, 3, 
/*142384*/                  OPC_CheckType, MVT::i64,
/*142386*/                  OPC_MoveParent,
/*142387*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142389*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142391*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142393*/                  OPC_MoveParent,
/*142394*/                  OPC_MoveParent,
/*142395*/                  OPC_CheckType, MVT::i32,
/*142397*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*142399*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*142409*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*142412*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*142419*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*142425*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142428*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*142436*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142439*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*142447*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142450*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*142459*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*142465*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142468*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*142476*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142479*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*142487*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142490*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*142499*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*142508*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*142511*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*142519*/                0, /*End of Scope*/
/*142520*/              /*Scope*/ 3|128,3/*387*/, /*->142909*/
/*142522*/                OPC_CheckChild0Same, 1,
/*142524*/                OPC_CheckChild1Integer, 1, 
/*142526*/                OPC_MoveParent,
/*142527*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142529*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*142531*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142533*/                OPC_MoveParent,
/*142534*/                OPC_MoveChild1,
/*142535*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142538*/                OPC_RecordMemRef,
/*142539*/                OPC_RecordNode, // #7 = 'ld' chained node
/*142540*/                OPC_CheckFoldableChainNode,
/*142541*/                OPC_MoveChild1,
/*142542*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142545*/                OPC_CheckChild0Same, 3,
/*142547*/                OPC_CheckChild1Integer, 1, 
/*142549*/                OPC_CheckType, MVT::i64,
/*142551*/                OPC_MoveParent,
/*142552*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142554*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*142556*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142558*/                OPC_MoveParent,
/*142559*/                OPC_MoveParent,
/*142560*/                OPC_MoveParent,
/*142561*/                OPC_MoveParent,
/*142562*/                OPC_MoveChild1,
/*142563*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*142566*/                OPC_MoveChild0,
/*142567*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142570*/                OPC_RecordMemRef,
/*142571*/                OPC_RecordNode, // #8 = 'ld' chained node
/*142572*/                OPC_CheckFoldableChainNode,
/*142573*/                OPC_MoveChild1,
/*142574*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142577*/                OPC_CheckType, MVT::i64,
/*142579*/                OPC_Scope, 34|128,1/*162*/, /*->142744*/ // 2 children in Scope
/*142582*/                  OPC_CheckChild0Same, 3,
/*142584*/                  OPC_CheckChild1Integer, 3, 
/*142586*/                  OPC_MoveParent,
/*142587*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142589*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142591*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142593*/                  OPC_MoveParent,
/*142594*/                  OPC_MoveChild1,
/*142595*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142598*/                  OPC_RecordMemRef,
/*142599*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*142600*/                  OPC_CheckFoldableChainNode,
/*142601*/                  OPC_MoveChild1,
/*142602*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142605*/                  OPC_CheckChild0Same, 1,
/*142607*/                  OPC_CheckChild1Integer, 3, 
/*142609*/                  OPC_CheckType, MVT::i64,
/*142611*/                  OPC_MoveParent,
/*142612*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142614*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142616*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142618*/                  OPC_MoveParent,
/*142619*/                  OPC_MoveParent,
/*142620*/                  OPC_CheckType, MVT::i32,
/*142622*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*142624*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*142634*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*142637*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*142644*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*142650*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142653*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*142661*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142664*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*142672*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142675*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*142684*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*142690*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142693*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*142701*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142704*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*142712*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142715*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*142724*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*142733*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*142736*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*142744*/                /*Scope*/ 34|128,1/*162*/, /*->142908*/
/*142746*/                  OPC_CheckChild0Same, 1,
/*142748*/                  OPC_CheckChild1Integer, 3, 
/*142750*/                  OPC_MoveParent,
/*142751*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142753*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142755*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142757*/                  OPC_MoveParent,
/*142758*/                  OPC_MoveChild1,
/*142759*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142762*/                  OPC_RecordMemRef,
/*142763*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*142764*/                  OPC_CheckFoldableChainNode,
/*142765*/                  OPC_MoveChild1,
/*142766*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142769*/                  OPC_CheckChild0Same, 3,
/*142771*/                  OPC_CheckChild1Integer, 3, 
/*142773*/                  OPC_CheckType, MVT::i64,
/*142775*/                  OPC_MoveParent,
/*142776*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142778*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142780*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142782*/                  OPC_MoveParent,
/*142783*/                  OPC_MoveParent,
/*142784*/                  OPC_CheckType, MVT::i32,
/*142786*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*142788*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*142798*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*142801*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*142808*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*142814*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142817*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*142825*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142828*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*142836*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142839*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*142848*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*142854*/                  OPC_EmitInteger, MVT::i64, 0, 
/*142857*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*142865*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*142868*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*142876*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*142879*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*142888*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*142897*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*142900*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*142908*/                0, /*End of Scope*/
/*142909*/              0, /*End of Scope*/
/*142910*/            /*Scope*/ 10|128,13/*1674*/, /*->144586*/
/*142912*/              OPC_CheckChild0Same, 1,
/*142914*/              OPC_Scope, 65|128,6/*833*/, /*->143750*/ // 2 children in Scope
/*142917*/                OPC_CheckChild1Integer, 2, 
/*142919*/                OPC_MoveParent,
/*142920*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142922*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*142924*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142926*/                OPC_MoveParent,
/*142927*/                OPC_MoveChild1,
/*142928*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142931*/                OPC_RecordMemRef,
/*142932*/                OPC_RecordNode, // #5 = 'ld' chained node
/*142933*/                OPC_CheckFoldableChainNode,
/*142934*/                OPC_MoveChild1,
/*142935*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142938*/                OPC_CheckChild0Same, 3,
/*142940*/                OPC_CheckChild1Integer, 2, 
/*142942*/                OPC_CheckType, MVT::i64,
/*142944*/                OPC_MoveParent,
/*142945*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142947*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*142949*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142951*/                OPC_MoveParent,
/*142952*/                OPC_MoveParent,
/*142953*/                OPC_MoveChild1,
/*142954*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*142957*/                OPC_MoveChild0,
/*142958*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142961*/                OPC_RecordMemRef,
/*142962*/                OPC_RecordNode, // #6 = 'ld' chained node
/*142963*/                OPC_CheckFoldableChainNode,
/*142964*/                OPC_MoveChild1,
/*142965*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142968*/                OPC_CheckType, MVT::i64,
/*142970*/                OPC_Scope, 3|128,3/*387*/, /*->143360*/ // 2 children in Scope
/*142973*/                  OPC_CheckChild0Same, 3,
/*142975*/                  OPC_CheckChild1Integer, 1, 
/*142977*/                  OPC_MoveParent,
/*142978*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*142980*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*142982*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*142984*/                  OPC_MoveParent,
/*142985*/                  OPC_MoveChild1,
/*142986*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*142989*/                  OPC_RecordMemRef,
/*142990*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*142991*/                  OPC_CheckFoldableChainNode,
/*142992*/                  OPC_MoveChild1,
/*142993*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*142996*/                  OPC_CheckChild0Same, 1,
/*142998*/                  OPC_CheckChild1Integer, 1, 
/*143000*/                  OPC_CheckType, MVT::i64,
/*143002*/                  OPC_MoveParent,
/*143003*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143005*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*143007*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143009*/                  OPC_MoveParent,
/*143010*/                  OPC_MoveParent,
/*143011*/                  OPC_MoveParent,
/*143012*/                  OPC_MoveParent,
/*143013*/                  OPC_MoveChild1,
/*143014*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*143017*/                  OPC_MoveChild0,
/*143018*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143021*/                  OPC_RecordMemRef,
/*143022*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*143023*/                  OPC_CheckFoldableChainNode,
/*143024*/                  OPC_MoveChild1,
/*143025*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143028*/                  OPC_CheckType, MVT::i64,
/*143030*/                  OPC_Scope, 34|128,1/*162*/, /*->143195*/ // 2 children in Scope
/*143033*/                    OPC_CheckChild0Same, 3,
/*143035*/                    OPC_CheckChild1Integer, 3, 
/*143037*/                    OPC_MoveParent,
/*143038*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143040*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143042*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143044*/                    OPC_MoveParent,
/*143045*/                    OPC_MoveChild1,
/*143046*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143049*/                    OPC_RecordMemRef,
/*143050*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*143051*/                    OPC_CheckFoldableChainNode,
/*143052*/                    OPC_MoveChild1,
/*143053*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143056*/                    OPC_CheckChild0Same, 1,
/*143058*/                    OPC_CheckChild1Integer, 3, 
/*143060*/                    OPC_CheckType, MVT::i64,
/*143062*/                    OPC_MoveParent,
/*143063*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143065*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143067*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143069*/                    OPC_MoveParent,
/*143070*/                    OPC_MoveParent,
/*143071*/                    OPC_CheckType, MVT::i32,
/*143073*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*143075*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*143085*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*143088*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*143095*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*143101*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143104*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*143112*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143115*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*143123*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143126*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*143135*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*143141*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143144*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*143152*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143155*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*143163*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143166*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*143175*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*143184*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*143187*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*143195*/                  /*Scope*/ 34|128,1/*162*/, /*->143359*/
/*143197*/                    OPC_CheckChild0Same, 1,
/*143199*/                    OPC_CheckChild1Integer, 3, 
/*143201*/                    OPC_MoveParent,
/*143202*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143204*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143206*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143208*/                    OPC_MoveParent,
/*143209*/                    OPC_MoveChild1,
/*143210*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143213*/                    OPC_RecordMemRef,
/*143214*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*143215*/                    OPC_CheckFoldableChainNode,
/*143216*/                    OPC_MoveChild1,
/*143217*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143220*/                    OPC_CheckChild0Same, 3,
/*143222*/                    OPC_CheckChild1Integer, 3, 
/*143224*/                    OPC_CheckType, MVT::i64,
/*143226*/                    OPC_MoveParent,
/*143227*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143229*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143231*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143233*/                    OPC_MoveParent,
/*143234*/                    OPC_MoveParent,
/*143235*/                    OPC_CheckType, MVT::i32,
/*143237*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*143239*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*143249*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*143252*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*143259*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*143265*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143268*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*143276*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143279*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*143287*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143290*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*143299*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*143305*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143308*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*143316*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143319*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*143327*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143330*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*143339*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*143348*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*143351*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*143359*/                  0, /*End of Scope*/
/*143360*/                /*Scope*/ 3|128,3/*387*/, /*->143749*/
/*143362*/                  OPC_CheckChild0Same, 1,
/*143364*/                  OPC_CheckChild1Integer, 1, 
/*143366*/                  OPC_MoveParent,
/*143367*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143369*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*143371*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143373*/                  OPC_MoveParent,
/*143374*/                  OPC_MoveChild1,
/*143375*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143378*/                  OPC_RecordMemRef,
/*143379*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*143380*/                  OPC_CheckFoldableChainNode,
/*143381*/                  OPC_MoveChild1,
/*143382*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143385*/                  OPC_CheckChild0Same, 3,
/*143387*/                  OPC_CheckChild1Integer, 1, 
/*143389*/                  OPC_CheckType, MVT::i64,
/*143391*/                  OPC_MoveParent,
/*143392*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143394*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*143396*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143398*/                  OPC_MoveParent,
/*143399*/                  OPC_MoveParent,
/*143400*/                  OPC_MoveParent,
/*143401*/                  OPC_MoveParent,
/*143402*/                  OPC_MoveChild1,
/*143403*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*143406*/                  OPC_MoveChild0,
/*143407*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143410*/                  OPC_RecordMemRef,
/*143411*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*143412*/                  OPC_CheckFoldableChainNode,
/*143413*/                  OPC_MoveChild1,
/*143414*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143417*/                  OPC_CheckType, MVT::i64,
/*143419*/                  OPC_Scope, 34|128,1/*162*/, /*->143584*/ // 2 children in Scope
/*143422*/                    OPC_CheckChild0Same, 3,
/*143424*/                    OPC_CheckChild1Integer, 3, 
/*143426*/                    OPC_MoveParent,
/*143427*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143429*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143431*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143433*/                    OPC_MoveParent,
/*143434*/                    OPC_MoveChild1,
/*143435*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143438*/                    OPC_RecordMemRef,
/*143439*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*143440*/                    OPC_CheckFoldableChainNode,
/*143441*/                    OPC_MoveChild1,
/*143442*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143445*/                    OPC_CheckChild0Same, 1,
/*143447*/                    OPC_CheckChild1Integer, 3, 
/*143449*/                    OPC_CheckType, MVT::i64,
/*143451*/                    OPC_MoveParent,
/*143452*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143454*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143456*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143458*/                    OPC_MoveParent,
/*143459*/                    OPC_MoveParent,
/*143460*/                    OPC_CheckType, MVT::i32,
/*143462*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*143464*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*143474*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*143477*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*143484*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*143490*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143493*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*143501*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143504*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*143512*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143515*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*143524*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*143530*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143533*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*143541*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143544*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*143552*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143555*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*143564*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*143573*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*143576*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*143584*/                  /*Scope*/ 34|128,1/*162*/, /*->143748*/
/*143586*/                    OPC_CheckChild0Same, 1,
/*143588*/                    OPC_CheckChild1Integer, 3, 
/*143590*/                    OPC_MoveParent,
/*143591*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143593*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143595*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143597*/                    OPC_MoveParent,
/*143598*/                    OPC_MoveChild1,
/*143599*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143602*/                    OPC_RecordMemRef,
/*143603*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*143604*/                    OPC_CheckFoldableChainNode,
/*143605*/                    OPC_MoveChild1,
/*143606*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143609*/                    OPC_CheckChild0Same, 3,
/*143611*/                    OPC_CheckChild1Integer, 3, 
/*143613*/                    OPC_CheckType, MVT::i64,
/*143615*/                    OPC_MoveParent,
/*143616*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143618*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143620*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143622*/                    OPC_MoveParent,
/*143623*/                    OPC_MoveParent,
/*143624*/                    OPC_CheckType, MVT::i32,
/*143626*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*143628*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*143638*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*143641*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*143648*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*143654*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143657*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*143665*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143668*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*143676*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143679*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*143688*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*143694*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143697*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*143705*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143708*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*143716*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143719*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*143728*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*143737*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*143740*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*143748*/                  0, /*End of Scope*/
/*143749*/                0, /*End of Scope*/
/*143750*/              /*Scope*/ 65|128,6/*833*/, /*->144585*/
/*143752*/                OPC_CheckChild1Integer, 1, 
/*143754*/                OPC_MoveParent,
/*143755*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143757*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*143759*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143761*/                OPC_MoveParent,
/*143762*/                OPC_MoveChild1,
/*143763*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143766*/                OPC_RecordMemRef,
/*143767*/                OPC_RecordNode, // #5 = 'ld' chained node
/*143768*/                OPC_CheckFoldableChainNode,
/*143769*/                OPC_MoveChild1,
/*143770*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143773*/                OPC_CheckChild0Same, 3,
/*143775*/                OPC_CheckChild1Integer, 1, 
/*143777*/                OPC_CheckType, MVT::i64,
/*143779*/                OPC_MoveParent,
/*143780*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143782*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*143784*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143786*/                OPC_MoveParent,
/*143787*/                OPC_MoveParent,
/*143788*/                OPC_MoveChild1,
/*143789*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*143792*/                OPC_MoveChild0,
/*143793*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143796*/                OPC_RecordMemRef,
/*143797*/                OPC_RecordNode, // #6 = 'ld' chained node
/*143798*/                OPC_CheckFoldableChainNode,
/*143799*/                OPC_MoveChild1,
/*143800*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143803*/                OPC_CheckType, MVT::i64,
/*143805*/                OPC_Scope, 3|128,3/*387*/, /*->144195*/ // 2 children in Scope
/*143808*/                  OPC_CheckChild0Same, 1,
/*143810*/                  OPC_CheckChild1Integer, 2, 
/*143812*/                  OPC_MoveParent,
/*143813*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143815*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*143817*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143819*/                  OPC_MoveParent,
/*143820*/                  OPC_MoveChild1,
/*143821*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143824*/                  OPC_RecordMemRef,
/*143825*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*143826*/                  OPC_CheckFoldableChainNode,
/*143827*/                  OPC_MoveChild1,
/*143828*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143831*/                  OPC_CheckChild0Same, 3,
/*143833*/                  OPC_CheckChild1Integer, 2, 
/*143835*/                  OPC_CheckType, MVT::i64,
/*143837*/                  OPC_MoveParent,
/*143838*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143840*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*143842*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143844*/                  OPC_MoveParent,
/*143845*/                  OPC_MoveParent,
/*143846*/                  OPC_MoveParent,
/*143847*/                  OPC_MoveParent,
/*143848*/                  OPC_MoveChild1,
/*143849*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*143852*/                  OPC_MoveChild0,
/*143853*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143856*/                  OPC_RecordMemRef,
/*143857*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*143858*/                  OPC_CheckFoldableChainNode,
/*143859*/                  OPC_MoveChild1,
/*143860*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143863*/                  OPC_CheckType, MVT::i64,
/*143865*/                  OPC_Scope, 34|128,1/*162*/, /*->144030*/ // 2 children in Scope
/*143868*/                    OPC_CheckChild0Same, 1,
/*143870*/                    OPC_CheckChild1Integer, 3, 
/*143872*/                    OPC_MoveParent,
/*143873*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143875*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143877*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143879*/                    OPC_MoveParent,
/*143880*/                    OPC_MoveChild1,
/*143881*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*143884*/                    OPC_RecordMemRef,
/*143885*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*143886*/                    OPC_CheckFoldableChainNode,
/*143887*/                    OPC_MoveChild1,
/*143888*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*143891*/                    OPC_CheckChild0Same, 3,
/*143893*/                    OPC_CheckChild1Integer, 3, 
/*143895*/                    OPC_CheckType, MVT::i64,
/*143897*/                    OPC_MoveParent,
/*143898*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*143900*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*143902*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*143904*/                    OPC_MoveParent,
/*143905*/                    OPC_MoveParent,
/*143906*/                    OPC_CheckType, MVT::i32,
/*143908*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*143910*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*143920*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*143923*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*143930*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*143936*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143939*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*143947*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143950*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*143958*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*143961*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*143970*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*143976*/                    OPC_EmitInteger, MVT::i64, 0, 
/*143979*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*143987*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*143990*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*143998*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144001*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*144010*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*144019*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*144022*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*144030*/                  /*Scope*/ 34|128,1/*162*/, /*->144194*/
/*144032*/                    OPC_CheckChild0Same, 3,
/*144034*/                    OPC_CheckChild1Integer, 3, 
/*144036*/                    OPC_MoveParent,
/*144037*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144039*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*144041*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144043*/                    OPC_MoveParent,
/*144044*/                    OPC_MoveChild1,
/*144045*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144048*/                    OPC_RecordMemRef,
/*144049*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*144050*/                    OPC_CheckFoldableChainNode,
/*144051*/                    OPC_MoveChild1,
/*144052*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144055*/                    OPC_CheckChild0Same, 1,
/*144057*/                    OPC_CheckChild1Integer, 3, 
/*144059*/                    OPC_CheckType, MVT::i64,
/*144061*/                    OPC_MoveParent,
/*144062*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144064*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*144066*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144068*/                    OPC_MoveParent,
/*144069*/                    OPC_MoveParent,
/*144070*/                    OPC_CheckType, MVT::i32,
/*144072*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*144074*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*144084*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*144087*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*144094*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*144100*/                    OPC_EmitInteger, MVT::i64, 0, 
/*144103*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*144111*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144114*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*144122*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144125*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*144134*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*144140*/                    OPC_EmitInteger, MVT::i64, 0, 
/*144143*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*144151*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144154*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*144162*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144165*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*144174*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*144183*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*144186*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*144194*/                  0, /*End of Scope*/
/*144195*/                /*Scope*/ 3|128,3/*387*/, /*->144584*/
/*144197*/                  OPC_CheckChild0Same, 3,
/*144199*/                  OPC_CheckChild1Integer, 2, 
/*144201*/                  OPC_MoveParent,
/*144202*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144204*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*144206*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144208*/                  OPC_MoveParent,
/*144209*/                  OPC_MoveChild1,
/*144210*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144213*/                  OPC_RecordMemRef,
/*144214*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*144215*/                  OPC_CheckFoldableChainNode,
/*144216*/                  OPC_MoveChild1,
/*144217*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144220*/                  OPC_CheckChild0Same, 1,
/*144222*/                  OPC_CheckChild1Integer, 2, 
/*144224*/                  OPC_CheckType, MVT::i64,
/*144226*/                  OPC_MoveParent,
/*144227*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144229*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*144231*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144233*/                  OPC_MoveParent,
/*144234*/                  OPC_MoveParent,
/*144235*/                  OPC_MoveParent,
/*144236*/                  OPC_MoveParent,
/*144237*/                  OPC_MoveChild1,
/*144238*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*144241*/                  OPC_MoveChild0,
/*144242*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144245*/                  OPC_RecordMemRef,
/*144246*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*144247*/                  OPC_CheckFoldableChainNode,
/*144248*/                  OPC_MoveChild1,
/*144249*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144252*/                  OPC_CheckType, MVT::i64,
/*144254*/                  OPC_Scope, 34|128,1/*162*/, /*->144419*/ // 2 children in Scope
/*144257*/                    OPC_CheckChild0Same, 1,
/*144259*/                    OPC_CheckChild1Integer, 3, 
/*144261*/                    OPC_MoveParent,
/*144262*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144264*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*144266*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144268*/                    OPC_MoveParent,
/*144269*/                    OPC_MoveChild1,
/*144270*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144273*/                    OPC_RecordMemRef,
/*144274*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*144275*/                    OPC_CheckFoldableChainNode,
/*144276*/                    OPC_MoveChild1,
/*144277*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144280*/                    OPC_CheckChild0Same, 3,
/*144282*/                    OPC_CheckChild1Integer, 3, 
/*144284*/                    OPC_CheckType, MVT::i64,
/*144286*/                    OPC_MoveParent,
/*144287*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144289*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*144291*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144293*/                    OPC_MoveParent,
/*144294*/                    OPC_MoveParent,
/*144295*/                    OPC_CheckType, MVT::i32,
/*144297*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*144299*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*144309*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*144312*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*144319*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*144325*/                    OPC_EmitInteger, MVT::i64, 0, 
/*144328*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*144336*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144339*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*144347*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144350*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*144359*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*144365*/                    OPC_EmitInteger, MVT::i64, 0, 
/*144368*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*144376*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144379*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*144387*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144390*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*144399*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*144408*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*144411*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*144419*/                  /*Scope*/ 34|128,1/*162*/, /*->144583*/
/*144421*/                    OPC_CheckChild0Same, 3,
/*144423*/                    OPC_CheckChild1Integer, 3, 
/*144425*/                    OPC_MoveParent,
/*144426*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144428*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*144430*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144432*/                    OPC_MoveParent,
/*144433*/                    OPC_MoveChild1,
/*144434*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144437*/                    OPC_RecordMemRef,
/*144438*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*144439*/                    OPC_CheckFoldableChainNode,
/*144440*/                    OPC_MoveChild1,
/*144441*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144444*/                    OPC_CheckChild0Same, 1,
/*144446*/                    OPC_CheckChild1Integer, 3, 
/*144448*/                    OPC_CheckType, MVT::i64,
/*144450*/                    OPC_MoveParent,
/*144451*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144453*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*144455*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144457*/                    OPC_MoveParent,
/*144458*/                    OPC_MoveParent,
/*144459*/                    OPC_CheckType, MVT::i32,
/*144461*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*144463*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*144473*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*144476*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*144483*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*144489*/                    OPC_EmitInteger, MVT::i64, 0, 
/*144492*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*144500*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144503*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*144511*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144514*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*144523*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*144529*/                    OPC_EmitInteger, MVT::i64, 0, 
/*144532*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*144540*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144543*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*144551*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144554*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*144563*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*144572*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*144575*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*144583*/                  0, /*End of Scope*/
/*144584*/                0, /*End of Scope*/
/*144585*/              0, /*End of Scope*/
/*144586*/            /*Scope*/ 75|128,11/*1483*/, /*->146071*/
/*144588*/              OPC_CheckChild0Same, 3,
/*144590*/              OPC_CheckChild1Integer, 1, 
/*144592*/              OPC_MoveParent,
/*144593*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144595*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*144597*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144599*/              OPC_MoveParent,
/*144600*/              OPC_MoveChild1,
/*144601*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144604*/              OPC_RecordMemRef,
/*144605*/              OPC_RecordNode, // #5 = 'ld' chained node
/*144606*/              OPC_CheckFoldableChainNode,
/*144607*/              OPC_MoveChild1,
/*144608*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144611*/              OPC_CheckChild0Same, 1,
/*144613*/              OPC_CheckChild1Integer, 1, 
/*144615*/              OPC_CheckType, MVT::i64,
/*144617*/              OPC_MoveParent,
/*144618*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144620*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*144622*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144624*/              OPC_MoveParent,
/*144625*/              OPC_MoveParent,
/*144626*/              OPC_MoveChild1,
/*144627*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*144630*/              OPC_MoveChild0,
/*144631*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144634*/              OPC_RecordMemRef,
/*144635*/              OPC_RecordNode, // #6 = 'ld' chained node
/*144636*/              OPC_CheckFoldableChainNode,
/*144637*/              OPC_MoveChild1,
/*144638*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144641*/              OPC_CheckType, MVT::i64,
/*144643*/              OPC_Scope, 3|128,3/*387*/, /*->145033*/ // 3 children in Scope
/*144646*/                OPC_CheckChild0Same, 1,
/*144648*/                OPC_CheckChild1Integer, 2, 
/*144650*/                OPC_MoveParent,
/*144651*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144653*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*144655*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144657*/                OPC_MoveParent,
/*144658*/                OPC_MoveChild1,
/*144659*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144662*/                OPC_RecordMemRef,
/*144663*/                OPC_RecordNode, // #7 = 'ld' chained node
/*144664*/                OPC_CheckFoldableChainNode,
/*144665*/                OPC_MoveChild1,
/*144666*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144669*/                OPC_CheckChild0Same, 3,
/*144671*/                OPC_CheckChild1Integer, 2, 
/*144673*/                OPC_CheckType, MVT::i64,
/*144675*/                OPC_MoveParent,
/*144676*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144678*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*144680*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144682*/                OPC_MoveParent,
/*144683*/                OPC_MoveParent,
/*144684*/                OPC_MoveParent,
/*144685*/                OPC_MoveParent,
/*144686*/                OPC_MoveChild1,
/*144687*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*144690*/                OPC_MoveChild0,
/*144691*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144694*/                OPC_RecordMemRef,
/*144695*/                OPC_RecordNode, // #8 = 'ld' chained node
/*144696*/                OPC_CheckFoldableChainNode,
/*144697*/                OPC_MoveChild1,
/*144698*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144701*/                OPC_CheckType, MVT::i64,
/*144703*/                OPC_Scope, 34|128,1/*162*/, /*->144868*/ // 2 children in Scope
/*144706*/                  OPC_CheckChild0Same, 1,
/*144708*/                  OPC_CheckChild1Integer, 3, 
/*144710*/                  OPC_MoveParent,
/*144711*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144713*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*144715*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144717*/                  OPC_MoveParent,
/*144718*/                  OPC_MoveChild1,
/*144719*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144722*/                  OPC_RecordMemRef,
/*144723*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*144724*/                  OPC_CheckFoldableChainNode,
/*144725*/                  OPC_MoveChild1,
/*144726*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144729*/                  OPC_CheckChild0Same, 3,
/*144731*/                  OPC_CheckChild1Integer, 3, 
/*144733*/                  OPC_CheckType, MVT::i64,
/*144735*/                  OPC_MoveParent,
/*144736*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144738*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*144740*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144742*/                  OPC_MoveParent,
/*144743*/                  OPC_MoveParent,
/*144744*/                  OPC_CheckType, MVT::i32,
/*144746*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*144748*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*144758*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*144761*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*144768*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*144774*/                  OPC_EmitInteger, MVT::i64, 0, 
/*144777*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*144785*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144788*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*144796*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144799*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*144808*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*144814*/                  OPC_EmitInteger, MVT::i64, 0, 
/*144817*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*144825*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144828*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*144836*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144839*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*144848*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*144857*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*144860*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*144868*/                /*Scope*/ 34|128,1/*162*/, /*->145032*/
/*144870*/                  OPC_CheckChild0Same, 3,
/*144872*/                  OPC_CheckChild1Integer, 3, 
/*144874*/                  OPC_MoveParent,
/*144875*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144877*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*144879*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144881*/                  OPC_MoveParent,
/*144882*/                  OPC_MoveChild1,
/*144883*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*144886*/                  OPC_RecordMemRef,
/*144887*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*144888*/                  OPC_CheckFoldableChainNode,
/*144889*/                  OPC_MoveChild1,
/*144890*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*144893*/                  OPC_CheckChild0Same, 1,
/*144895*/                  OPC_CheckChild1Integer, 3, 
/*144897*/                  OPC_CheckType, MVT::i64,
/*144899*/                  OPC_MoveParent,
/*144900*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*144902*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*144904*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*144906*/                  OPC_MoveParent,
/*144907*/                  OPC_MoveParent,
/*144908*/                  OPC_CheckType, MVT::i32,
/*144910*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*144912*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*144922*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*144925*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*144932*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*144938*/                  OPC_EmitInteger, MVT::i64, 0, 
/*144941*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*144949*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144952*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*144960*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*144963*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*144972*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*144978*/                  OPC_EmitInteger, MVT::i64, 0, 
/*144981*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*144989*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*144992*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*145000*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145003*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*145012*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*145021*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*145024*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*145032*/                0, /*End of Scope*/
/*145033*/              /*Scope*/ 6|128,5/*646*/, /*->145681*/
/*145035*/                OPC_CheckChild0Same, 3,
/*145037*/                OPC_CheckChild1Integer, 2, 
/*145039*/                OPC_MoveParent,
/*145040*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145042*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*145044*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145046*/                OPC_MoveParent,
/*145047*/                OPC_MoveChild1,
/*145048*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145051*/                OPC_RecordMemRef,
/*145052*/                OPC_RecordNode, // #7 = 'ld' chained node
/*145053*/                OPC_CheckFoldableChainNode,
/*145054*/                OPC_MoveChild1,
/*145055*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145058*/                OPC_CheckChild0Same, 1,
/*145060*/                OPC_CheckChild1Integer, 2, 
/*145062*/                OPC_CheckType, MVT::i64,
/*145064*/                OPC_MoveParent,
/*145065*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145067*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*145069*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145071*/                OPC_MoveParent,
/*145072*/                OPC_MoveParent,
/*145073*/                OPC_MoveParent,
/*145074*/                OPC_MoveParent,
/*145075*/                OPC_MoveChild1,
/*145076*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*145079*/                OPC_MoveChild0,
/*145080*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145083*/                OPC_RecordMemRef,
/*145084*/                OPC_RecordNode, // #8 = 'ld' chained node
/*145085*/                OPC_CheckFoldableChainNode,
/*145086*/                OPC_MoveChild1,
/*145087*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145090*/                OPC_CheckType, MVT::i64,
/*145092*/                OPC_Scope, 34|128,1/*162*/, /*->145257*/ // 3 children in Scope
/*145095*/                  OPC_CheckChild0Same, 1,
/*145097*/                  OPC_CheckChild1Integer, 3, 
/*145099*/                  OPC_MoveParent,
/*145100*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145102*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145104*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145106*/                  OPC_MoveParent,
/*145107*/                  OPC_MoveChild1,
/*145108*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145111*/                  OPC_RecordMemRef,
/*145112*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*145113*/                  OPC_CheckFoldableChainNode,
/*145114*/                  OPC_MoveChild1,
/*145115*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145118*/                  OPC_CheckChild0Same, 3,
/*145120*/                  OPC_CheckChild1Integer, 3, 
/*145122*/                  OPC_CheckType, MVT::i64,
/*145124*/                  OPC_MoveParent,
/*145125*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145127*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145129*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145131*/                  OPC_MoveParent,
/*145132*/                  OPC_MoveParent,
/*145133*/                  OPC_CheckType, MVT::i32,
/*145135*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*145137*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*145147*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*145150*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*145157*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*145163*/                  OPC_EmitInteger, MVT::i64, 0, 
/*145166*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*145174*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145177*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*145185*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145188*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*145197*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*145203*/                  OPC_EmitInteger, MVT::i64, 0, 
/*145206*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*145214*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145217*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*145225*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145228*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*145237*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*145246*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*145249*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*145257*/                /*Scope*/ 1|128,2/*257*/, /*->145516*/
/*145259*/                  OPC_CheckChild0Same, 3,
/*145261*/                  OPC_CheckChild1Integer, 3, 
/*145263*/                  OPC_MoveParent,
/*145264*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145266*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145268*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145270*/                  OPC_MoveParent,
/*145271*/                  OPC_MoveChild1,
/*145272*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145275*/                  OPC_RecordMemRef,
/*145276*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*145277*/                  OPC_CheckFoldableChainNode,
/*145278*/                  OPC_MoveChild1,
/*145279*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145282*/                  OPC_CheckChild0Same, 1,
/*145284*/                  OPC_CheckChild1Integer, 3, 
/*145286*/                  OPC_CheckType, MVT::i64,
/*145288*/                  OPC_MoveParent,
/*145289*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145291*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145293*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145295*/                  OPC_MoveParent,
/*145296*/                  OPC_MoveParent,
/*145297*/                  OPC_CheckType, MVT::i32,
/*145299*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*145301*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*145311*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*145314*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*145321*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*145327*/                  OPC_EmitInteger, MVT::i64, 0, 
/*145330*/                  OPC_Scope, 91, /*->145423*/ // 2 children in Scope
/*145332*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*145340*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145343*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*145351*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145354*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*145363*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*145369*/                    OPC_EmitInteger, MVT::i64, 0, 
/*145372*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*145380*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145383*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*145391*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145394*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*145403*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*145412*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*145415*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*145423*/                  /*Scope*/ 91, /*->145515*/
/*145424*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*145432*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145435*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*145443*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145446*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*145455*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*145461*/                    OPC_EmitInteger, MVT::i64, 0, 
/*145464*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*145472*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145475*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*145483*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145486*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*145495*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*145504*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*145507*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*145515*/                  0, /*End of Scope*/
/*145516*/                /*Scope*/ 34|128,1/*162*/, /*->145680*/
/*145518*/                  OPC_CheckChild0Same, 1,
/*145520*/                  OPC_CheckChild1Integer, 3, 
/*145522*/                  OPC_MoveParent,
/*145523*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145525*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145527*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145529*/                  OPC_MoveParent,
/*145530*/                  OPC_MoveChild1,
/*145531*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145534*/                  OPC_RecordMemRef,
/*145535*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*145536*/                  OPC_CheckFoldableChainNode,
/*145537*/                  OPC_MoveChild1,
/*145538*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145541*/                  OPC_CheckChild0Same, 3,
/*145543*/                  OPC_CheckChild1Integer, 3, 
/*145545*/                  OPC_CheckType, MVT::i64,
/*145547*/                  OPC_MoveParent,
/*145548*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145550*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145552*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145554*/                  OPC_MoveParent,
/*145555*/                  OPC_MoveParent,
/*145556*/                  OPC_CheckType, MVT::i32,
/*145558*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*145560*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*145570*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*145573*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*145580*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*145586*/                  OPC_EmitInteger, MVT::i64, 0, 
/*145589*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*145597*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145600*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*145608*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145611*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*145620*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*145626*/                  OPC_EmitInteger, MVT::i64, 0, 
/*145629*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*145637*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145640*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*145648*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145651*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*145660*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*145669*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*145672*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*145680*/                0, /*End of Scope*/
/*145681*/              /*Scope*/ 3|128,3/*387*/, /*->146070*/
/*145683*/                OPC_CheckChild0Same, 1,
/*145685*/                OPC_CheckChild1Integer, 2, 
/*145687*/                OPC_MoveParent,
/*145688*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145690*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*145692*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145694*/                OPC_MoveParent,
/*145695*/                OPC_MoveChild1,
/*145696*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145699*/                OPC_RecordMemRef,
/*145700*/                OPC_RecordNode, // #7 = 'ld' chained node
/*145701*/                OPC_CheckFoldableChainNode,
/*145702*/                OPC_MoveChild1,
/*145703*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145706*/                OPC_CheckChild0Same, 3,
/*145708*/                OPC_CheckChild1Integer, 2, 
/*145710*/                OPC_CheckType, MVT::i64,
/*145712*/                OPC_MoveParent,
/*145713*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145715*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*145717*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145719*/                OPC_MoveParent,
/*145720*/                OPC_MoveParent,
/*145721*/                OPC_MoveParent,
/*145722*/                OPC_MoveParent,
/*145723*/                OPC_MoveChild1,
/*145724*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*145727*/                OPC_MoveChild0,
/*145728*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145731*/                OPC_RecordMemRef,
/*145732*/                OPC_RecordNode, // #8 = 'ld' chained node
/*145733*/                OPC_CheckFoldableChainNode,
/*145734*/                OPC_MoveChild1,
/*145735*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145738*/                OPC_CheckType, MVT::i64,
/*145740*/                OPC_Scope, 34|128,1/*162*/, /*->145905*/ // 2 children in Scope
/*145743*/                  OPC_CheckChild0Same, 3,
/*145745*/                  OPC_CheckChild1Integer, 3, 
/*145747*/                  OPC_MoveParent,
/*145748*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145750*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145752*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145754*/                  OPC_MoveParent,
/*145755*/                  OPC_MoveChild1,
/*145756*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145759*/                  OPC_RecordMemRef,
/*145760*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*145761*/                  OPC_CheckFoldableChainNode,
/*145762*/                  OPC_MoveChild1,
/*145763*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145766*/                  OPC_CheckChild0Same, 1,
/*145768*/                  OPC_CheckChild1Integer, 3, 
/*145770*/                  OPC_CheckType, MVT::i64,
/*145772*/                  OPC_MoveParent,
/*145773*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145775*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145777*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145779*/                  OPC_MoveParent,
/*145780*/                  OPC_MoveParent,
/*145781*/                  OPC_CheckType, MVT::i32,
/*145783*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*145785*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*145795*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*145798*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*145805*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*145811*/                  OPC_EmitInteger, MVT::i64, 0, 
/*145814*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*145822*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145825*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*145833*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145836*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*145845*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*145851*/                  OPC_EmitInteger, MVT::i64, 0, 
/*145854*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*145862*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145865*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*145873*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*145876*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*145885*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*145894*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*145897*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*145905*/                /*Scope*/ 34|128,1/*162*/, /*->146069*/
/*145907*/                  OPC_CheckChild0Same, 1,
/*145909*/                  OPC_CheckChild1Integer, 3, 
/*145911*/                  OPC_MoveParent,
/*145912*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145914*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145916*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145918*/                  OPC_MoveParent,
/*145919*/                  OPC_MoveChild1,
/*145920*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*145923*/                  OPC_RecordMemRef,
/*145924*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*145925*/                  OPC_CheckFoldableChainNode,
/*145926*/                  OPC_MoveChild1,
/*145927*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*145930*/                  OPC_CheckChild0Same, 3,
/*145932*/                  OPC_CheckChild1Integer, 3, 
/*145934*/                  OPC_CheckType, MVT::i64,
/*145936*/                  OPC_MoveParent,
/*145937*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*145939*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*145941*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*145943*/                  OPC_MoveParent,
/*145944*/                  OPC_MoveParent,
/*145945*/                  OPC_CheckType, MVT::i32,
/*145947*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*145949*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*145959*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*145962*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*145969*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*145975*/                  OPC_EmitInteger, MVT::i64, 0, 
/*145978*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*145986*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*145989*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*145997*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146000*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*146009*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*146015*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146018*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*146026*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146029*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*146037*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146040*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*146049*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*146058*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*146061*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*146069*/                0, /*End of Scope*/
/*146070*/              0, /*End of Scope*/
/*146071*/            /*Scope*/ 67|128,6/*835*/, /*->146908*/
/*146073*/              OPC_CheckChild0Same, 1,
/*146075*/              OPC_CheckChild1Integer, 1, 
/*146077*/              OPC_MoveParent,
/*146078*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146080*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*146082*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146084*/              OPC_MoveParent,
/*146085*/              OPC_MoveChild1,
/*146086*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146089*/              OPC_RecordMemRef,
/*146090*/              OPC_RecordNode, // #5 = 'ld' chained node
/*146091*/              OPC_CheckFoldableChainNode,
/*146092*/              OPC_MoveChild1,
/*146093*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146096*/              OPC_CheckChild0Same, 3,
/*146098*/              OPC_CheckChild1Integer, 1, 
/*146100*/              OPC_CheckType, MVT::i64,
/*146102*/              OPC_MoveParent,
/*146103*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146105*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*146107*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146109*/              OPC_MoveParent,
/*146110*/              OPC_MoveParent,
/*146111*/              OPC_MoveChild1,
/*146112*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*146115*/              OPC_MoveChild0,
/*146116*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146119*/              OPC_RecordMemRef,
/*146120*/              OPC_RecordNode, // #6 = 'ld' chained node
/*146121*/              OPC_CheckFoldableChainNode,
/*146122*/              OPC_MoveChild1,
/*146123*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146126*/              OPC_CheckType, MVT::i64,
/*146128*/              OPC_Scope, 3|128,3/*387*/, /*->146518*/ // 2 children in Scope
/*146131*/                OPC_CheckChild0Same, 3,
/*146133*/                OPC_CheckChild1Integer, 2, 
/*146135*/                OPC_MoveParent,
/*146136*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146138*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*146140*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146142*/                OPC_MoveParent,
/*146143*/                OPC_MoveChild1,
/*146144*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146147*/                OPC_RecordMemRef,
/*146148*/                OPC_RecordNode, // #7 = 'ld' chained node
/*146149*/                OPC_CheckFoldableChainNode,
/*146150*/                OPC_MoveChild1,
/*146151*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146154*/                OPC_CheckChild0Same, 1,
/*146156*/                OPC_CheckChild1Integer, 2, 
/*146158*/                OPC_CheckType, MVT::i64,
/*146160*/                OPC_MoveParent,
/*146161*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146163*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*146165*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146167*/                OPC_MoveParent,
/*146168*/                OPC_MoveParent,
/*146169*/                OPC_MoveParent,
/*146170*/                OPC_MoveParent,
/*146171*/                OPC_MoveChild1,
/*146172*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*146175*/                OPC_MoveChild0,
/*146176*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146179*/                OPC_RecordMemRef,
/*146180*/                OPC_RecordNode, // #8 = 'ld' chained node
/*146181*/                OPC_CheckFoldableChainNode,
/*146182*/                OPC_MoveChild1,
/*146183*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146186*/                OPC_CheckType, MVT::i64,
/*146188*/                OPC_Scope, 34|128,1/*162*/, /*->146353*/ // 2 children in Scope
/*146191*/                  OPC_CheckChild0Same, 3,
/*146193*/                  OPC_CheckChild1Integer, 3, 
/*146195*/                  OPC_MoveParent,
/*146196*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146198*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146200*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146202*/                  OPC_MoveParent,
/*146203*/                  OPC_MoveChild1,
/*146204*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146207*/                  OPC_RecordMemRef,
/*146208*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*146209*/                  OPC_CheckFoldableChainNode,
/*146210*/                  OPC_MoveChild1,
/*146211*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146214*/                  OPC_CheckChild0Same, 1,
/*146216*/                  OPC_CheckChild1Integer, 3, 
/*146218*/                  OPC_CheckType, MVT::i64,
/*146220*/                  OPC_MoveParent,
/*146221*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146223*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146225*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146227*/                  OPC_MoveParent,
/*146228*/                  OPC_MoveParent,
/*146229*/                  OPC_CheckType, MVT::i32,
/*146231*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*146233*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*146243*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*146246*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*146253*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*146259*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146262*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*146270*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146273*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*146281*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146284*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*146293*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*146299*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146302*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*146310*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146313*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*146321*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146324*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*146333*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*146342*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*146345*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*146353*/                /*Scope*/ 34|128,1/*162*/, /*->146517*/
/*146355*/                  OPC_CheckChild0Same, 1,
/*146357*/                  OPC_CheckChild1Integer, 3, 
/*146359*/                  OPC_MoveParent,
/*146360*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146362*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146364*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146366*/                  OPC_MoveParent,
/*146367*/                  OPC_MoveChild1,
/*146368*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146371*/                  OPC_RecordMemRef,
/*146372*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*146373*/                  OPC_CheckFoldableChainNode,
/*146374*/                  OPC_MoveChild1,
/*146375*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146378*/                  OPC_CheckChild0Same, 3,
/*146380*/                  OPC_CheckChild1Integer, 3, 
/*146382*/                  OPC_CheckType, MVT::i64,
/*146384*/                  OPC_MoveParent,
/*146385*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146387*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146389*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146391*/                  OPC_MoveParent,
/*146392*/                  OPC_MoveParent,
/*146393*/                  OPC_CheckType, MVT::i32,
/*146395*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*146397*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*146407*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*146410*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*146417*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*146423*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146426*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*146434*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146437*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*146445*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146448*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*146457*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*146463*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146466*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*146474*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146477*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*146485*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146488*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*146497*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*146506*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*146509*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*146517*/                0, /*End of Scope*/
/*146518*/              /*Scope*/ 3|128,3/*387*/, /*->146907*/
/*146520*/                OPC_CheckChild0Same, 1,
/*146522*/                OPC_CheckChild1Integer, 2, 
/*146524*/                OPC_MoveParent,
/*146525*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146527*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*146529*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146531*/                OPC_MoveParent,
/*146532*/                OPC_MoveChild1,
/*146533*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146536*/                OPC_RecordMemRef,
/*146537*/                OPC_RecordNode, // #7 = 'ld' chained node
/*146538*/                OPC_CheckFoldableChainNode,
/*146539*/                OPC_MoveChild1,
/*146540*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146543*/                OPC_CheckChild0Same, 3,
/*146545*/                OPC_CheckChild1Integer, 2, 
/*146547*/                OPC_CheckType, MVT::i64,
/*146549*/                OPC_MoveParent,
/*146550*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146552*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*146554*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146556*/                OPC_MoveParent,
/*146557*/                OPC_MoveParent,
/*146558*/                OPC_MoveParent,
/*146559*/                OPC_MoveParent,
/*146560*/                OPC_MoveChild1,
/*146561*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*146564*/                OPC_MoveChild0,
/*146565*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146568*/                OPC_RecordMemRef,
/*146569*/                OPC_RecordNode, // #8 = 'ld' chained node
/*146570*/                OPC_CheckFoldableChainNode,
/*146571*/                OPC_MoveChild1,
/*146572*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146575*/                OPC_CheckType, MVT::i64,
/*146577*/                OPC_Scope, 34|128,1/*162*/, /*->146742*/ // 2 children in Scope
/*146580*/                  OPC_CheckChild0Same, 3,
/*146582*/                  OPC_CheckChild1Integer, 3, 
/*146584*/                  OPC_MoveParent,
/*146585*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146587*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146589*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146591*/                  OPC_MoveParent,
/*146592*/                  OPC_MoveChild1,
/*146593*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146596*/                  OPC_RecordMemRef,
/*146597*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*146598*/                  OPC_CheckFoldableChainNode,
/*146599*/                  OPC_MoveChild1,
/*146600*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146603*/                  OPC_CheckChild0Same, 1,
/*146605*/                  OPC_CheckChild1Integer, 3, 
/*146607*/                  OPC_CheckType, MVT::i64,
/*146609*/                  OPC_MoveParent,
/*146610*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146612*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146614*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146616*/                  OPC_MoveParent,
/*146617*/                  OPC_MoveParent,
/*146618*/                  OPC_CheckType, MVT::i32,
/*146620*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*146622*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*146632*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*146635*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*146642*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*146648*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146651*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*146659*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146662*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*146670*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146673*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*146682*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*146688*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146691*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*146699*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146702*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*146710*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146713*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*146722*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*146731*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*146734*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*146742*/                /*Scope*/ 34|128,1/*162*/, /*->146906*/
/*146744*/                  OPC_CheckChild0Same, 1,
/*146746*/                  OPC_CheckChild1Integer, 3, 
/*146748*/                  OPC_MoveParent,
/*146749*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146751*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146753*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146755*/                  OPC_MoveParent,
/*146756*/                  OPC_MoveChild1,
/*146757*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146760*/                  OPC_RecordMemRef,
/*146761*/                  OPC_RecordNode, // #9 = 'ld' chained node
/*146762*/                  OPC_CheckFoldableChainNode,
/*146763*/                  OPC_MoveChild1,
/*146764*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146767*/                  OPC_CheckChild0Same, 3,
/*146769*/                  OPC_CheckChild1Integer, 3, 
/*146771*/                  OPC_CheckType, MVT::i64,
/*146773*/                  OPC_MoveParent,
/*146774*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146776*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146778*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146780*/                  OPC_MoveParent,
/*146781*/                  OPC_MoveParent,
/*146782*/                  OPC_CheckType, MVT::i32,
/*146784*/                  OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*146786*/                  OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*146796*/                  OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*146799*/                  OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*146806*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*146812*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146815*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*146823*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146826*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*146834*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146837*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*146846*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*146852*/                  OPC_EmitInteger, MVT::i64, 0, 
/*146855*/                  OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*146863*/                  OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*146866*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*146874*/                  OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*146877*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*146886*/                  OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*146895*/                  OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*146898*/                  OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                MVT::i32, 2/*#Ops*/, 26, 27, 
                            // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                            // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*146906*/                0, /*End of Scope*/
/*146907*/              0, /*End of Scope*/
/*146908*/            0, /*End of Scope*/
/*146909*/          /*Scope*/ 81|128,97/*12497*/, /*->159408*/
/*146911*/            OPC_MoveChild1,
/*146912*/            OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146915*/            OPC_RecordChild0, // #1 = $Rn
/*146916*/            OPC_CheckType, MVT::i64,
/*146918*/            OPC_Scope, 98|128,48/*6242*/, /*->153163*/ // 2 children in Scope
/*146921*/              OPC_CheckChild1Integer, 1, 
/*146923*/              OPC_MoveParent,
/*146924*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146926*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*146928*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146930*/              OPC_MoveParent,
/*146931*/              OPC_MoveChild1,
/*146932*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146935*/              OPC_RecordMemRef,
/*146936*/              OPC_RecordNode, // #2 = 'ld' chained node
/*146937*/              OPC_CheckFoldableChainNode,
/*146938*/              OPC_MoveChild1,
/*146939*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146942*/              OPC_RecordChild0, // #3 = $Rm
/*146943*/              OPC_CheckChild1Integer, 1, 
/*146945*/              OPC_CheckType, MVT::i64,
/*146947*/              OPC_MoveParent,
/*146948*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146950*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*146952*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146954*/              OPC_MoveParent,
/*146955*/              OPC_MoveParent,
/*146956*/              OPC_MoveChild1,
/*146957*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146960*/              OPC_MoveChild0,
/*146961*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*146964*/              OPC_MoveChild0,
/*146965*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146968*/              OPC_RecordMemRef,
/*146969*/              OPC_RecordNode, // #4 = 'ld' chained node
/*146970*/              OPC_CheckFoldableChainNode,
/*146971*/              OPC_Scope, 121|128,23/*3065*/, /*->150039*/ // 4 children in Scope
/*146974*/                OPC_MoveChild1,
/*146975*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*146978*/                OPC_CheckType, MVT::i64,
/*146980*/                OPC_Scope, 37|128,6/*805*/, /*->147788*/ // 3 children in Scope
/*146983*/                  OPC_CheckChild0Same, 1,
/*146985*/                  OPC_CheckChild1Integer, 2, 
/*146987*/                  OPC_MoveParent,
/*146988*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*146990*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*146992*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*146994*/                  OPC_MoveParent,
/*146995*/                  OPC_MoveChild1,
/*146996*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*146999*/                  OPC_RecordMemRef,
/*147000*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*147001*/                  OPC_CheckFoldableChainNode,
/*147002*/                  OPC_MoveChild1,
/*147003*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147006*/                  OPC_CheckChild0Same, 3,
/*147008*/                  OPC_CheckChild1Integer, 2, 
/*147010*/                  OPC_CheckType, MVT::i64,
/*147012*/                  OPC_MoveParent,
/*147013*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147015*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*147017*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147019*/                  OPC_MoveParent,
/*147020*/                  OPC_MoveParent,
/*147021*/                  OPC_MoveChild1,
/*147022*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*147025*/                  OPC_MoveChild0,
/*147026*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147029*/                  OPC_RecordMemRef,
/*147030*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*147031*/                  OPC_CheckFoldableChainNode,
/*147032*/                  OPC_Scope, 119|128,2/*375*/, /*->147410*/ // 2 children in Scope
/*147035*/                    OPC_CheckChild1Same, 1,
/*147037*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147039*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*147041*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147043*/                    OPC_MoveParent,
/*147044*/                    OPC_MoveChild1,
/*147045*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147048*/                    OPC_RecordMemRef,
/*147049*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*147050*/                    OPC_CheckFoldableChainNode,
/*147051*/                    OPC_CheckChild1Same, 3,
/*147053*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147055*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*147057*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147059*/                    OPC_MoveParent,
/*147060*/                    OPC_MoveParent,
/*147061*/                    OPC_MoveParent,
/*147062*/                    OPC_MoveParent,
/*147063*/                    OPC_MoveChild1,
/*147064*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*147067*/                    OPC_MoveChild0,
/*147068*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147071*/                    OPC_RecordMemRef,
/*147072*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*147073*/                    OPC_CheckFoldableChainNode,
/*147074*/                    OPC_MoveChild1,
/*147075*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147078*/                    OPC_CheckType, MVT::i64,
/*147080*/                    OPC_Scope, 34|128,1/*162*/, /*->147245*/ // 2 children in Scope
/*147083*/                      OPC_CheckChild0Same, 1,
/*147085*/                      OPC_CheckChild1Integer, 3, 
/*147087*/                      OPC_MoveParent,
/*147088*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147090*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147092*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147094*/                      OPC_MoveParent,
/*147095*/                      OPC_MoveChild1,
/*147096*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147099*/                      OPC_RecordMemRef,
/*147100*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*147101*/                      OPC_CheckFoldableChainNode,
/*147102*/                      OPC_MoveChild1,
/*147103*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147106*/                      OPC_CheckChild0Same, 3,
/*147108*/                      OPC_CheckChild1Integer, 3, 
/*147110*/                      OPC_CheckType, MVT::i64,
/*147112*/                      OPC_MoveParent,
/*147113*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147115*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147117*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147119*/                      OPC_MoveParent,
/*147120*/                      OPC_MoveParent,
/*147121*/                      OPC_CheckType, MVT::i32,
/*147123*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*147125*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*147135*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*147138*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*147145*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*147151*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147154*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*147162*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147165*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*147173*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147176*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*147185*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*147191*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147194*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*147202*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147205*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*147213*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147216*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*147225*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*147234*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*147237*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*147245*/                    /*Scope*/ 34|128,1/*162*/, /*->147409*/
/*147247*/                      OPC_CheckChild0Same, 3,
/*147249*/                      OPC_CheckChild1Integer, 3, 
/*147251*/                      OPC_MoveParent,
/*147252*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147254*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147256*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147258*/                      OPC_MoveParent,
/*147259*/                      OPC_MoveChild1,
/*147260*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147263*/                      OPC_RecordMemRef,
/*147264*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*147265*/                      OPC_CheckFoldableChainNode,
/*147266*/                      OPC_MoveChild1,
/*147267*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147270*/                      OPC_CheckChild0Same, 1,
/*147272*/                      OPC_CheckChild1Integer, 3, 
/*147274*/                      OPC_CheckType, MVT::i64,
/*147276*/                      OPC_MoveParent,
/*147277*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147279*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147281*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147283*/                      OPC_MoveParent,
/*147284*/                      OPC_MoveParent,
/*147285*/                      OPC_CheckType, MVT::i32,
/*147287*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*147289*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*147299*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*147302*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*147309*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*147315*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147318*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*147326*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147329*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*147337*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147340*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*147349*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*147355*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147358*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*147366*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147369*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*147377*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147380*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*147389*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*147398*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*147401*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*147409*/                    0, /*End of Scope*/
/*147410*/                  /*Scope*/ 119|128,2/*375*/, /*->147787*/
/*147412*/                    OPC_CheckChild1Same, 3,
/*147414*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147416*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*147418*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147420*/                    OPC_MoveParent,
/*147421*/                    OPC_MoveChild1,
/*147422*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147425*/                    OPC_RecordMemRef,
/*147426*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*147427*/                    OPC_CheckFoldableChainNode,
/*147428*/                    OPC_CheckChild1Same, 1,
/*147430*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147432*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*147434*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147436*/                    OPC_MoveParent,
/*147437*/                    OPC_MoveParent,
/*147438*/                    OPC_MoveParent,
/*147439*/                    OPC_MoveParent,
/*147440*/                    OPC_MoveChild1,
/*147441*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*147444*/                    OPC_MoveChild0,
/*147445*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147448*/                    OPC_RecordMemRef,
/*147449*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*147450*/                    OPC_CheckFoldableChainNode,
/*147451*/                    OPC_MoveChild1,
/*147452*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147455*/                    OPC_CheckType, MVT::i64,
/*147457*/                    OPC_Scope, 34|128,1/*162*/, /*->147622*/ // 2 children in Scope
/*147460*/                      OPC_CheckChild0Same, 1,
/*147462*/                      OPC_CheckChild1Integer, 3, 
/*147464*/                      OPC_MoveParent,
/*147465*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147467*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147469*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147471*/                      OPC_MoveParent,
/*147472*/                      OPC_MoveChild1,
/*147473*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147476*/                      OPC_RecordMemRef,
/*147477*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*147478*/                      OPC_CheckFoldableChainNode,
/*147479*/                      OPC_MoveChild1,
/*147480*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147483*/                      OPC_CheckChild0Same, 3,
/*147485*/                      OPC_CheckChild1Integer, 3, 
/*147487*/                      OPC_CheckType, MVT::i64,
/*147489*/                      OPC_MoveParent,
/*147490*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147492*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147494*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147496*/                      OPC_MoveParent,
/*147497*/                      OPC_MoveParent,
/*147498*/                      OPC_CheckType, MVT::i32,
/*147500*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*147502*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*147512*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*147515*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*147522*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*147528*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147531*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*147539*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147542*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*147550*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147553*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*147562*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*147568*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147571*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*147579*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147582*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*147590*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147593*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*147602*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*147611*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*147614*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*147622*/                    /*Scope*/ 34|128,1/*162*/, /*->147786*/
/*147624*/                      OPC_CheckChild0Same, 3,
/*147626*/                      OPC_CheckChild1Integer, 3, 
/*147628*/                      OPC_MoveParent,
/*147629*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147631*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147633*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147635*/                      OPC_MoveParent,
/*147636*/                      OPC_MoveChild1,
/*147637*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147640*/                      OPC_RecordMemRef,
/*147641*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*147642*/                      OPC_CheckFoldableChainNode,
/*147643*/                      OPC_MoveChild1,
/*147644*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147647*/                      OPC_CheckChild0Same, 1,
/*147649*/                      OPC_CheckChild1Integer, 3, 
/*147651*/                      OPC_CheckType, MVT::i64,
/*147653*/                      OPC_MoveParent,
/*147654*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147656*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147658*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147660*/                      OPC_MoveParent,
/*147661*/                      OPC_MoveParent,
/*147662*/                      OPC_CheckType, MVT::i32,
/*147664*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*147666*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*147676*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*147679*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*147686*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*147692*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147695*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*147703*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147706*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*147714*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147717*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*147726*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*147732*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147735*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*147743*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147746*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*147754*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147757*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*147766*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*147775*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*147778*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*147786*/                    0, /*End of Scope*/
/*147787*/                  0, /*End of Scope*/
/*147788*/                /*Scope*/ 33|128,11/*1441*/, /*->149231*/
/*147790*/                  OPC_CheckChild0Same, 3,
/*147792*/                  OPC_CheckChild1Integer, 2, 
/*147794*/                  OPC_MoveParent,
/*147795*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147797*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*147799*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147801*/                  OPC_MoveParent,
/*147802*/                  OPC_MoveChild1,
/*147803*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147806*/                  OPC_RecordMemRef,
/*147807*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*147808*/                  OPC_CheckFoldableChainNode,
/*147809*/                  OPC_MoveChild1,
/*147810*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147813*/                  OPC_CheckChild0Same, 1,
/*147815*/                  OPC_CheckChild1Integer, 2, 
/*147817*/                  OPC_CheckType, MVT::i64,
/*147819*/                  OPC_MoveParent,
/*147820*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147822*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*147824*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147826*/                  OPC_MoveParent,
/*147827*/                  OPC_MoveParent,
/*147828*/                  OPC_MoveChild1,
/*147829*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*147832*/                  OPC_MoveChild0,
/*147833*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147836*/                  OPC_RecordMemRef,
/*147837*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*147838*/                  OPC_CheckFoldableChainNode,
/*147839*/                  OPC_Scope, 119|128,2/*375*/, /*->148217*/ // 3 children in Scope
/*147842*/                    OPC_CheckChild1Same, 1,
/*147844*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147846*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*147848*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147850*/                    OPC_MoveParent,
/*147851*/                    OPC_MoveChild1,
/*147852*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147855*/                    OPC_RecordMemRef,
/*147856*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*147857*/                    OPC_CheckFoldableChainNode,
/*147858*/                    OPC_CheckChild1Same, 3,
/*147860*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147862*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*147864*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147866*/                    OPC_MoveParent,
/*147867*/                    OPC_MoveParent,
/*147868*/                    OPC_MoveParent,
/*147869*/                    OPC_MoveParent,
/*147870*/                    OPC_MoveChild1,
/*147871*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*147874*/                    OPC_MoveChild0,
/*147875*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147878*/                    OPC_RecordMemRef,
/*147879*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*147880*/                    OPC_CheckFoldableChainNode,
/*147881*/                    OPC_MoveChild1,
/*147882*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147885*/                    OPC_CheckType, MVT::i64,
/*147887*/                    OPC_Scope, 34|128,1/*162*/, /*->148052*/ // 2 children in Scope
/*147890*/                      OPC_CheckChild0Same, 1,
/*147892*/                      OPC_CheckChild1Integer, 3, 
/*147894*/                      OPC_MoveParent,
/*147895*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147897*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147899*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147901*/                      OPC_MoveParent,
/*147902*/                      OPC_MoveChild1,
/*147903*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*147906*/                      OPC_RecordMemRef,
/*147907*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*147908*/                      OPC_CheckFoldableChainNode,
/*147909*/                      OPC_MoveChild1,
/*147910*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*147913*/                      OPC_CheckChild0Same, 3,
/*147915*/                      OPC_CheckChild1Integer, 3, 
/*147917*/                      OPC_CheckType, MVT::i64,
/*147919*/                      OPC_MoveParent,
/*147920*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*147922*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*147924*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*147926*/                      OPC_MoveParent,
/*147927*/                      OPC_MoveParent,
/*147928*/                      OPC_CheckType, MVT::i32,
/*147930*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*147932*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*147942*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*147945*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*147952*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*147958*/                      OPC_EmitInteger, MVT::i64, 0, 
/*147961*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*147969*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*147972*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*147980*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*147983*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*147992*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*147998*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148001*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*148009*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148012*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*148020*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148023*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*148032*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*148041*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*148044*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*148052*/                    /*Scope*/ 34|128,1/*162*/, /*->148216*/
/*148054*/                      OPC_CheckChild0Same, 3,
/*148056*/                      OPC_CheckChild1Integer, 3, 
/*148058*/                      OPC_MoveParent,
/*148059*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148061*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148063*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148065*/                      OPC_MoveParent,
/*148066*/                      OPC_MoveChild1,
/*148067*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148070*/                      OPC_RecordMemRef,
/*148071*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*148072*/                      OPC_CheckFoldableChainNode,
/*148073*/                      OPC_MoveChild1,
/*148074*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*148077*/                      OPC_CheckChild0Same, 1,
/*148079*/                      OPC_CheckChild1Integer, 3, 
/*148081*/                      OPC_CheckType, MVT::i64,
/*148083*/                      OPC_MoveParent,
/*148084*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148086*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148088*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148090*/                      OPC_MoveParent,
/*148091*/                      OPC_MoveParent,
/*148092*/                      OPC_CheckType, MVT::i32,
/*148094*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*148096*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*148106*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*148109*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*148116*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*148122*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148125*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*148133*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148136*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*148144*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148147*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*148156*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*148162*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148165*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*148173*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148176*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*148184*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148187*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*148196*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*148205*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*148208*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*148216*/                    0, /*End of Scope*/
/*148217*/                  /*Scope*/ 122|128,4/*634*/, /*->148853*/
/*148219*/                    OPC_CheckChild1Same, 3,
/*148221*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148223*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*148225*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148227*/                    OPC_MoveParent,
/*148228*/                    OPC_MoveChild1,
/*148229*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148232*/                    OPC_RecordMemRef,
/*148233*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*148234*/                    OPC_CheckFoldableChainNode,
/*148235*/                    OPC_CheckChild1Same, 1,
/*148237*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148239*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*148241*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148243*/                    OPC_MoveParent,
/*148244*/                    OPC_MoveParent,
/*148245*/                    OPC_MoveParent,
/*148246*/                    OPC_MoveParent,
/*148247*/                    OPC_MoveChild1,
/*148248*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*148251*/                    OPC_MoveChild0,
/*148252*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148255*/                    OPC_RecordMemRef,
/*148256*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*148257*/                    OPC_CheckFoldableChainNode,
/*148258*/                    OPC_MoveChild1,
/*148259*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*148262*/                    OPC_CheckType, MVT::i64,
/*148264*/                    OPC_Scope, 34|128,1/*162*/, /*->148429*/ // 3 children in Scope
/*148267*/                      OPC_CheckChild0Same, 1,
/*148269*/                      OPC_CheckChild1Integer, 3, 
/*148271*/                      OPC_MoveParent,
/*148272*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148274*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148276*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148278*/                      OPC_MoveParent,
/*148279*/                      OPC_MoveChild1,
/*148280*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148283*/                      OPC_RecordMemRef,
/*148284*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*148285*/                      OPC_CheckFoldableChainNode,
/*148286*/                      OPC_MoveChild1,
/*148287*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*148290*/                      OPC_CheckChild0Same, 3,
/*148292*/                      OPC_CheckChild1Integer, 3, 
/*148294*/                      OPC_CheckType, MVT::i64,
/*148296*/                      OPC_MoveParent,
/*148297*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148299*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148301*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148303*/                      OPC_MoveParent,
/*148304*/                      OPC_MoveParent,
/*148305*/                      OPC_CheckType, MVT::i32,
/*148307*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*148309*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*148319*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*148322*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*148329*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*148335*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148338*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*148346*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148349*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*148357*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148360*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*148369*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*148375*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148378*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*148386*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148389*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*148397*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148400*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*148409*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*148418*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*148421*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*148429*/                    /*Scope*/ 1|128,2/*257*/, /*->148688*/
/*148431*/                      OPC_CheckChild0Same, 3,
/*148433*/                      OPC_CheckChild1Integer, 3, 
/*148435*/                      OPC_MoveParent,
/*148436*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148438*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148440*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148442*/                      OPC_MoveParent,
/*148443*/                      OPC_MoveChild1,
/*148444*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148447*/                      OPC_RecordMemRef,
/*148448*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*148449*/                      OPC_CheckFoldableChainNode,
/*148450*/                      OPC_MoveChild1,
/*148451*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*148454*/                      OPC_CheckChild0Same, 1,
/*148456*/                      OPC_CheckChild1Integer, 3, 
/*148458*/                      OPC_CheckType, MVT::i64,
/*148460*/                      OPC_MoveParent,
/*148461*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148463*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148465*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148467*/                      OPC_MoveParent,
/*148468*/                      OPC_MoveParent,
/*148469*/                      OPC_CheckType, MVT::i32,
/*148471*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*148473*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*148483*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*148486*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*148493*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*148499*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148502*/                      OPC_Scope, 91, /*->148595*/ // 2 children in Scope
/*148504*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*148512*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148515*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*148523*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148526*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*148535*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*148541*/                        OPC_EmitInteger, MVT::i64, 0, 
/*148544*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*148552*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148555*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*148563*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148566*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*148575*/                        OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*148584*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*148587*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*148595*/                      /*Scope*/ 91, /*->148687*/
/*148596*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*148604*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148607*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*148615*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148618*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*148627*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*148633*/                        OPC_EmitInteger, MVT::i64, 0, 
/*148636*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*148644*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148647*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*148655*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148658*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*148667*/                        OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*148676*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*148679*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*148687*/                      0, /*End of Scope*/
/*148688*/                    /*Scope*/ 34|128,1/*162*/, /*->148852*/
/*148690*/                      OPC_CheckChild0Same, 1,
/*148692*/                      OPC_CheckChild1Integer, 3, 
/*148694*/                      OPC_MoveParent,
/*148695*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148697*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148699*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148701*/                      OPC_MoveParent,
/*148702*/                      OPC_MoveChild1,
/*148703*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148706*/                      OPC_RecordMemRef,
/*148707*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*148708*/                      OPC_CheckFoldableChainNode,
/*148709*/                      OPC_MoveChild1,
/*148710*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*148713*/                      OPC_CheckChild0Same, 3,
/*148715*/                      OPC_CheckChild1Integer, 3, 
/*148717*/                      OPC_CheckType, MVT::i64,
/*148719*/                      OPC_MoveParent,
/*148720*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148722*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148724*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148726*/                      OPC_MoveParent,
/*148727*/                      OPC_MoveParent,
/*148728*/                      OPC_CheckType, MVT::i32,
/*148730*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*148732*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*148742*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*148745*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*148752*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*148758*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148761*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*148769*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148772*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*148780*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148783*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*148792*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*148798*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148801*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*148809*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148812*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*148820*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148823*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*148832*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*148841*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*148844*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*148852*/                    0, /*End of Scope*/
/*148853*/                  /*Scope*/ 119|128,2/*375*/, /*->149230*/
/*148855*/                    OPC_CheckChild1Same, 1,
/*148857*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148859*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*148861*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148863*/                    OPC_MoveParent,
/*148864*/                    OPC_MoveChild1,
/*148865*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148868*/                    OPC_RecordMemRef,
/*148869*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*148870*/                    OPC_CheckFoldableChainNode,
/*148871*/                    OPC_CheckChild1Same, 3,
/*148873*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148875*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*148877*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148879*/                    OPC_MoveParent,
/*148880*/                    OPC_MoveParent,
/*148881*/                    OPC_MoveParent,
/*148882*/                    OPC_MoveParent,
/*148883*/                    OPC_MoveChild1,
/*148884*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*148887*/                    OPC_MoveChild0,
/*148888*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148891*/                    OPC_RecordMemRef,
/*148892*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*148893*/                    OPC_CheckFoldableChainNode,
/*148894*/                    OPC_MoveChild1,
/*148895*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*148898*/                    OPC_CheckType, MVT::i64,
/*148900*/                    OPC_Scope, 34|128,1/*162*/, /*->149065*/ // 2 children in Scope
/*148903*/                      OPC_CheckChild0Same, 3,
/*148905*/                      OPC_CheckChild1Integer, 3, 
/*148907*/                      OPC_MoveParent,
/*148908*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148910*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148912*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148914*/                      OPC_MoveParent,
/*148915*/                      OPC_MoveChild1,
/*148916*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*148919*/                      OPC_RecordMemRef,
/*148920*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*148921*/                      OPC_CheckFoldableChainNode,
/*148922*/                      OPC_MoveChild1,
/*148923*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*148926*/                      OPC_CheckChild0Same, 1,
/*148928*/                      OPC_CheckChild1Integer, 3, 
/*148930*/                      OPC_CheckType, MVT::i64,
/*148932*/                      OPC_MoveParent,
/*148933*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*148935*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*148937*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*148939*/                      OPC_MoveParent,
/*148940*/                      OPC_MoveParent,
/*148941*/                      OPC_CheckType, MVT::i32,
/*148943*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*148945*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*148955*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*148958*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*148965*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*148971*/                      OPC_EmitInteger, MVT::i64, 0, 
/*148974*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*148982*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*148985*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*148993*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*148996*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*149005*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*149011*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149014*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*149022*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149025*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*149033*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149036*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*149045*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*149054*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*149057*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*149065*/                    /*Scope*/ 34|128,1/*162*/, /*->149229*/
/*149067*/                      OPC_CheckChild0Same, 1,
/*149069*/                      OPC_CheckChild1Integer, 3, 
/*149071*/                      OPC_MoveParent,
/*149072*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149074*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149076*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149078*/                      OPC_MoveParent,
/*149079*/                      OPC_MoveChild1,
/*149080*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149083*/                      OPC_RecordMemRef,
/*149084*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*149085*/                      OPC_CheckFoldableChainNode,
/*149086*/                      OPC_MoveChild1,
/*149087*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*149090*/                      OPC_CheckChild0Same, 3,
/*149092*/                      OPC_CheckChild1Integer, 3, 
/*149094*/                      OPC_CheckType, MVT::i64,
/*149096*/                      OPC_MoveParent,
/*149097*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149099*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149101*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149103*/                      OPC_MoveParent,
/*149104*/                      OPC_MoveParent,
/*149105*/                      OPC_CheckType, MVT::i32,
/*149107*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*149109*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*149119*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*149122*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*149129*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*149135*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149138*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*149146*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149149*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*149157*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149160*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*149169*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*149175*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149178*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*149186*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149189*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*149197*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149200*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*149209*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*149218*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*149221*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*149229*/                    0, /*End of Scope*/
/*149230*/                  0, /*End of Scope*/
/*149231*/                /*Scope*/ 37|128,6/*805*/, /*->150038*/
/*149233*/                  OPC_CheckChild0Same, 1,
/*149235*/                  OPC_CheckChild1Integer, 2, 
/*149237*/                  OPC_MoveParent,
/*149238*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149240*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*149242*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149244*/                  OPC_MoveParent,
/*149245*/                  OPC_MoveChild1,
/*149246*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149249*/                  OPC_RecordMemRef,
/*149250*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*149251*/                  OPC_CheckFoldableChainNode,
/*149252*/                  OPC_MoveChild1,
/*149253*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*149256*/                  OPC_CheckChild0Same, 3,
/*149258*/                  OPC_CheckChild1Integer, 2, 
/*149260*/                  OPC_CheckType, MVT::i64,
/*149262*/                  OPC_MoveParent,
/*149263*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149265*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*149267*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149269*/                  OPC_MoveParent,
/*149270*/                  OPC_MoveParent,
/*149271*/                  OPC_MoveChild1,
/*149272*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*149275*/                  OPC_MoveChild0,
/*149276*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149279*/                  OPC_RecordMemRef,
/*149280*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*149281*/                  OPC_CheckFoldableChainNode,
/*149282*/                  OPC_Scope, 119|128,2/*375*/, /*->149660*/ // 2 children in Scope
/*149285*/                    OPC_CheckChild1Same, 3,
/*149287*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149289*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*149291*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149293*/                    OPC_MoveParent,
/*149294*/                    OPC_MoveChild1,
/*149295*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149298*/                    OPC_RecordMemRef,
/*149299*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*149300*/                    OPC_CheckFoldableChainNode,
/*149301*/                    OPC_CheckChild1Same, 1,
/*149303*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149305*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*149307*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149309*/                    OPC_MoveParent,
/*149310*/                    OPC_MoveParent,
/*149311*/                    OPC_MoveParent,
/*149312*/                    OPC_MoveParent,
/*149313*/                    OPC_MoveChild1,
/*149314*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*149317*/                    OPC_MoveChild0,
/*149318*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149321*/                    OPC_RecordMemRef,
/*149322*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*149323*/                    OPC_CheckFoldableChainNode,
/*149324*/                    OPC_MoveChild1,
/*149325*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*149328*/                    OPC_CheckType, MVT::i64,
/*149330*/                    OPC_Scope, 34|128,1/*162*/, /*->149495*/ // 2 children in Scope
/*149333*/                      OPC_CheckChild0Same, 3,
/*149335*/                      OPC_CheckChild1Integer, 3, 
/*149337*/                      OPC_MoveParent,
/*149338*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149340*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149342*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149344*/                      OPC_MoveParent,
/*149345*/                      OPC_MoveChild1,
/*149346*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149349*/                      OPC_RecordMemRef,
/*149350*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*149351*/                      OPC_CheckFoldableChainNode,
/*149352*/                      OPC_MoveChild1,
/*149353*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*149356*/                      OPC_CheckChild0Same, 1,
/*149358*/                      OPC_CheckChild1Integer, 3, 
/*149360*/                      OPC_CheckType, MVT::i64,
/*149362*/                      OPC_MoveParent,
/*149363*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149365*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149367*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149369*/                      OPC_MoveParent,
/*149370*/                      OPC_MoveParent,
/*149371*/                      OPC_CheckType, MVT::i32,
/*149373*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*149375*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*149385*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*149388*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*149395*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*149401*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149404*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*149412*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149415*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*149423*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149426*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*149435*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*149441*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149444*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*149452*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149455*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*149463*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149466*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*149475*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*149484*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*149487*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*149495*/                    /*Scope*/ 34|128,1/*162*/, /*->149659*/
/*149497*/                      OPC_CheckChild0Same, 1,
/*149499*/                      OPC_CheckChild1Integer, 3, 
/*149501*/                      OPC_MoveParent,
/*149502*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149504*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149506*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149508*/                      OPC_MoveParent,
/*149509*/                      OPC_MoveChild1,
/*149510*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149513*/                      OPC_RecordMemRef,
/*149514*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*149515*/                      OPC_CheckFoldableChainNode,
/*149516*/                      OPC_MoveChild1,
/*149517*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*149520*/                      OPC_CheckChild0Same, 3,
/*149522*/                      OPC_CheckChild1Integer, 3, 
/*149524*/                      OPC_CheckType, MVT::i64,
/*149526*/                      OPC_MoveParent,
/*149527*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149529*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149531*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149533*/                      OPC_MoveParent,
/*149534*/                      OPC_MoveParent,
/*149535*/                      OPC_CheckType, MVT::i32,
/*149537*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*149539*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*149549*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*149552*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*149559*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*149565*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149568*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*149576*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149579*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*149587*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149590*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*149599*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*149605*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149608*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*149616*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149619*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*149627*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149630*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*149639*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*149648*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*149651*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*149659*/                    0, /*End of Scope*/
/*149660*/                  /*Scope*/ 119|128,2/*375*/, /*->150037*/
/*149662*/                    OPC_CheckChild1Same, 1,
/*149664*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149666*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*149668*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149670*/                    OPC_MoveParent,
/*149671*/                    OPC_MoveChild1,
/*149672*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149675*/                    OPC_RecordMemRef,
/*149676*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*149677*/                    OPC_CheckFoldableChainNode,
/*149678*/                    OPC_CheckChild1Same, 3,
/*149680*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149682*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*149684*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149686*/                    OPC_MoveParent,
/*149687*/                    OPC_MoveParent,
/*149688*/                    OPC_MoveParent,
/*149689*/                    OPC_MoveParent,
/*149690*/                    OPC_MoveChild1,
/*149691*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*149694*/                    OPC_MoveChild0,
/*149695*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149698*/                    OPC_RecordMemRef,
/*149699*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*149700*/                    OPC_CheckFoldableChainNode,
/*149701*/                    OPC_MoveChild1,
/*149702*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*149705*/                    OPC_CheckType, MVT::i64,
/*149707*/                    OPC_Scope, 34|128,1/*162*/, /*->149872*/ // 2 children in Scope
/*149710*/                      OPC_CheckChild0Same, 3,
/*149712*/                      OPC_CheckChild1Integer, 3, 
/*149714*/                      OPC_MoveParent,
/*149715*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149717*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149719*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149721*/                      OPC_MoveParent,
/*149722*/                      OPC_MoveChild1,
/*149723*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149726*/                      OPC_RecordMemRef,
/*149727*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*149728*/                      OPC_CheckFoldableChainNode,
/*149729*/                      OPC_MoveChild1,
/*149730*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*149733*/                      OPC_CheckChild0Same, 1,
/*149735*/                      OPC_CheckChild1Integer, 3, 
/*149737*/                      OPC_CheckType, MVT::i64,
/*149739*/                      OPC_MoveParent,
/*149740*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149742*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149744*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149746*/                      OPC_MoveParent,
/*149747*/                      OPC_MoveParent,
/*149748*/                      OPC_CheckType, MVT::i32,
/*149750*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*149752*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*149762*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*149765*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*149772*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*149778*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149781*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*149789*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149792*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*149800*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149803*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*149812*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*149818*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149821*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*149829*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149832*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*149840*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149843*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*149852*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*149861*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*149864*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*149872*/                    /*Scope*/ 34|128,1/*162*/, /*->150036*/
/*149874*/                      OPC_CheckChild0Same, 1,
/*149876*/                      OPC_CheckChild1Integer, 3, 
/*149878*/                      OPC_MoveParent,
/*149879*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149881*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149883*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149885*/                      OPC_MoveParent,
/*149886*/                      OPC_MoveChild1,
/*149887*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*149890*/                      OPC_RecordMemRef,
/*149891*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*149892*/                      OPC_CheckFoldableChainNode,
/*149893*/                      OPC_MoveChild1,
/*149894*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*149897*/                      OPC_CheckChild0Same, 3,
/*149899*/                      OPC_CheckChild1Integer, 3, 
/*149901*/                      OPC_CheckType, MVT::i64,
/*149903*/                      OPC_MoveParent,
/*149904*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*149906*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*149908*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*149910*/                      OPC_MoveParent,
/*149911*/                      OPC_MoveParent,
/*149912*/                      OPC_CheckType, MVT::i32,
/*149914*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*149916*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*149926*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*149929*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*149936*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*149942*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149945*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*149953*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149956*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*149964*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*149967*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*149976*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*149982*/                      OPC_EmitInteger, MVT::i64, 0, 
/*149985*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*149993*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*149996*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*150004*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150007*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*150016*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*150025*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*150028*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*150036*/                    0, /*End of Scope*/
/*150037*/                  0, /*End of Scope*/
/*150038*/                0, /*End of Scope*/
/*150039*/              /*Scope*/ 55|128,6/*823*/, /*->150864*/
/*150041*/                OPC_CheckChild1Same, 1,
/*150043*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150045*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*150047*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150049*/                OPC_MoveParent,
/*150050*/                OPC_MoveChild1,
/*150051*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150054*/                OPC_RecordMemRef,
/*150055*/                OPC_RecordNode, // #5 = 'ld' chained node
/*150056*/                OPC_CheckFoldableChainNode,
/*150057*/                OPC_CheckChild1Same, 3,
/*150059*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150061*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*150063*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150065*/                OPC_MoveParent,
/*150066*/                OPC_MoveParent,
/*150067*/                OPC_MoveChild1,
/*150068*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*150071*/                OPC_MoveChild0,
/*150072*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150075*/                OPC_RecordMemRef,
/*150076*/                OPC_RecordNode, // #6 = 'ld' chained node
/*150077*/                OPC_CheckFoldableChainNode,
/*150078*/                OPC_MoveChild1,
/*150079*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150082*/                OPC_CheckType, MVT::i64,
/*150084*/                OPC_Scope, 3|128,3/*387*/, /*->150474*/ // 2 children in Scope
/*150087*/                  OPC_CheckChild0Same, 1,
/*150089*/                  OPC_CheckChild1Integer, 2, 
/*150091*/                  OPC_MoveParent,
/*150092*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150094*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*150096*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150098*/                  OPC_MoveParent,
/*150099*/                  OPC_MoveChild1,
/*150100*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150103*/                  OPC_RecordMemRef,
/*150104*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*150105*/                  OPC_CheckFoldableChainNode,
/*150106*/                  OPC_MoveChild1,
/*150107*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150110*/                  OPC_CheckChild0Same, 3,
/*150112*/                  OPC_CheckChild1Integer, 2, 
/*150114*/                  OPC_CheckType, MVT::i64,
/*150116*/                  OPC_MoveParent,
/*150117*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150119*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*150121*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150123*/                  OPC_MoveParent,
/*150124*/                  OPC_MoveParent,
/*150125*/                  OPC_MoveParent,
/*150126*/                  OPC_MoveParent,
/*150127*/                  OPC_MoveChild1,
/*150128*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*150131*/                  OPC_MoveChild0,
/*150132*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150135*/                  OPC_RecordMemRef,
/*150136*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*150137*/                  OPC_CheckFoldableChainNode,
/*150138*/                  OPC_MoveChild1,
/*150139*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150142*/                  OPC_CheckType, MVT::i64,
/*150144*/                  OPC_Scope, 34|128,1/*162*/, /*->150309*/ // 2 children in Scope
/*150147*/                    OPC_CheckChild0Same, 1,
/*150149*/                    OPC_CheckChild1Integer, 3, 
/*150151*/                    OPC_MoveParent,
/*150152*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150154*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150156*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150158*/                    OPC_MoveParent,
/*150159*/                    OPC_MoveChild1,
/*150160*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150163*/                    OPC_RecordMemRef,
/*150164*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*150165*/                    OPC_CheckFoldableChainNode,
/*150166*/                    OPC_MoveChild1,
/*150167*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150170*/                    OPC_CheckChild0Same, 3,
/*150172*/                    OPC_CheckChild1Integer, 3, 
/*150174*/                    OPC_CheckType, MVT::i64,
/*150176*/                    OPC_MoveParent,
/*150177*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150179*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150181*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150183*/                    OPC_MoveParent,
/*150184*/                    OPC_MoveParent,
/*150185*/                    OPC_CheckType, MVT::i32,
/*150187*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*150189*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*150199*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*150202*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*150209*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*150215*/                    OPC_EmitInteger, MVT::i64, 0, 
/*150218*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*150226*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*150229*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*150237*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150240*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*150249*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*150255*/                    OPC_EmitInteger, MVT::i64, 0, 
/*150258*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*150266*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*150269*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*150277*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150280*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*150289*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*150298*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*150301*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*150309*/                  /*Scope*/ 34|128,1/*162*/, /*->150473*/
/*150311*/                    OPC_CheckChild0Same, 3,
/*150313*/                    OPC_CheckChild1Integer, 3, 
/*150315*/                    OPC_MoveParent,
/*150316*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150318*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150320*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150322*/                    OPC_MoveParent,
/*150323*/                    OPC_MoveChild1,
/*150324*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150327*/                    OPC_RecordMemRef,
/*150328*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*150329*/                    OPC_CheckFoldableChainNode,
/*150330*/                    OPC_MoveChild1,
/*150331*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150334*/                    OPC_CheckChild0Same, 1,
/*150336*/                    OPC_CheckChild1Integer, 3, 
/*150338*/                    OPC_CheckType, MVT::i64,
/*150340*/                    OPC_MoveParent,
/*150341*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150343*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150345*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150347*/                    OPC_MoveParent,
/*150348*/                    OPC_MoveParent,
/*150349*/                    OPC_CheckType, MVT::i32,
/*150351*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*150353*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*150363*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*150366*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*150373*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*150379*/                    OPC_EmitInteger, MVT::i64, 0, 
/*150382*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*150390*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*150393*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*150401*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150404*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*150413*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*150419*/                    OPC_EmitInteger, MVT::i64, 0, 
/*150422*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*150430*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*150433*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*150441*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150444*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*150453*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*150462*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*150465*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*150473*/                  0, /*End of Scope*/
/*150474*/                /*Scope*/ 3|128,3/*387*/, /*->150863*/
/*150476*/                  OPC_CheckChild0Same, 3,
/*150478*/                  OPC_CheckChild1Integer, 2, 
/*150480*/                  OPC_MoveParent,
/*150481*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150483*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*150485*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150487*/                  OPC_MoveParent,
/*150488*/                  OPC_MoveChild1,
/*150489*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150492*/                  OPC_RecordMemRef,
/*150493*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*150494*/                  OPC_CheckFoldableChainNode,
/*150495*/                  OPC_MoveChild1,
/*150496*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150499*/                  OPC_CheckChild0Same, 1,
/*150501*/                  OPC_CheckChild1Integer, 2, 
/*150503*/                  OPC_CheckType, MVT::i64,
/*150505*/                  OPC_MoveParent,
/*150506*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150508*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*150510*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150512*/                  OPC_MoveParent,
/*150513*/                  OPC_MoveParent,
/*150514*/                  OPC_MoveParent,
/*150515*/                  OPC_MoveParent,
/*150516*/                  OPC_MoveChild1,
/*150517*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*150520*/                  OPC_MoveChild0,
/*150521*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150524*/                  OPC_RecordMemRef,
/*150525*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*150526*/                  OPC_CheckFoldableChainNode,
/*150527*/                  OPC_MoveChild1,
/*150528*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150531*/                  OPC_CheckType, MVT::i64,
/*150533*/                  OPC_Scope, 34|128,1/*162*/, /*->150698*/ // 2 children in Scope
/*150536*/                    OPC_CheckChild0Same, 1,
/*150538*/                    OPC_CheckChild1Integer, 3, 
/*150540*/                    OPC_MoveParent,
/*150541*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150543*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150545*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150547*/                    OPC_MoveParent,
/*150548*/                    OPC_MoveChild1,
/*150549*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150552*/                    OPC_RecordMemRef,
/*150553*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*150554*/                    OPC_CheckFoldableChainNode,
/*150555*/                    OPC_MoveChild1,
/*150556*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150559*/                    OPC_CheckChild0Same, 3,
/*150561*/                    OPC_CheckChild1Integer, 3, 
/*150563*/                    OPC_CheckType, MVT::i64,
/*150565*/                    OPC_MoveParent,
/*150566*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150568*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150570*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150572*/                    OPC_MoveParent,
/*150573*/                    OPC_MoveParent,
/*150574*/                    OPC_CheckType, MVT::i32,
/*150576*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*150578*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*150588*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*150591*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*150598*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*150604*/                    OPC_EmitInteger, MVT::i64, 0, 
/*150607*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*150615*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*150618*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*150626*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150629*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*150638*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*150644*/                    OPC_EmitInteger, MVT::i64, 0, 
/*150647*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*150655*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*150658*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*150666*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150669*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*150678*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*150687*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*150690*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*150698*/                  /*Scope*/ 34|128,1/*162*/, /*->150862*/
/*150700*/                    OPC_CheckChild0Same, 3,
/*150702*/                    OPC_CheckChild1Integer, 3, 
/*150704*/                    OPC_MoveParent,
/*150705*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150707*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150709*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150711*/                    OPC_MoveParent,
/*150712*/                    OPC_MoveChild1,
/*150713*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150716*/                    OPC_RecordMemRef,
/*150717*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*150718*/                    OPC_CheckFoldableChainNode,
/*150719*/                    OPC_MoveChild1,
/*150720*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150723*/                    OPC_CheckChild0Same, 1,
/*150725*/                    OPC_CheckChild1Integer, 3, 
/*150727*/                    OPC_CheckType, MVT::i64,
/*150729*/                    OPC_MoveParent,
/*150730*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150732*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150734*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150736*/                    OPC_MoveParent,
/*150737*/                    OPC_MoveParent,
/*150738*/                    OPC_CheckType, MVT::i32,
/*150740*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*150742*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*150752*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*150755*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*150762*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*150768*/                    OPC_EmitInteger, MVT::i64, 0, 
/*150771*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*150779*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*150782*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*150790*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150793*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*150802*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*150808*/                    OPC_EmitInteger, MVT::i64, 0, 
/*150811*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*150819*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*150822*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*150830*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*150833*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*150842*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*150851*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*150854*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*150862*/                  0, /*End of Scope*/
/*150863*/                0, /*End of Scope*/
/*150864*/              /*Scope*/ 63|128,11/*1471*/, /*->152337*/
/*150866*/                OPC_CheckChild1Same, 3,
/*150868*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150870*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*150872*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150874*/                OPC_MoveParent,
/*150875*/                OPC_MoveChild1,
/*150876*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150879*/                OPC_RecordMemRef,
/*150880*/                OPC_RecordNode, // #5 = 'ld' chained node
/*150881*/                OPC_CheckFoldableChainNode,
/*150882*/                OPC_CheckChild1Same, 1,
/*150884*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150886*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*150888*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150890*/                OPC_MoveParent,
/*150891*/                OPC_MoveParent,
/*150892*/                OPC_MoveChild1,
/*150893*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*150896*/                OPC_MoveChild0,
/*150897*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150900*/                OPC_RecordMemRef,
/*150901*/                OPC_RecordNode, // #6 = 'ld' chained node
/*150902*/                OPC_CheckFoldableChainNode,
/*150903*/                OPC_MoveChild1,
/*150904*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150907*/                OPC_CheckType, MVT::i64,
/*150909*/                OPC_Scope, 3|128,3/*387*/, /*->151299*/ // 3 children in Scope
/*150912*/                  OPC_CheckChild0Same, 1,
/*150914*/                  OPC_CheckChild1Integer, 2, 
/*150916*/                  OPC_MoveParent,
/*150917*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150919*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*150921*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150923*/                  OPC_MoveParent,
/*150924*/                  OPC_MoveChild1,
/*150925*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150928*/                  OPC_RecordMemRef,
/*150929*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*150930*/                  OPC_CheckFoldableChainNode,
/*150931*/                  OPC_MoveChild1,
/*150932*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150935*/                  OPC_CheckChild0Same, 3,
/*150937*/                  OPC_CheckChild1Integer, 2, 
/*150939*/                  OPC_CheckType, MVT::i64,
/*150941*/                  OPC_MoveParent,
/*150942*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150944*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*150946*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150948*/                  OPC_MoveParent,
/*150949*/                  OPC_MoveParent,
/*150950*/                  OPC_MoveParent,
/*150951*/                  OPC_MoveParent,
/*150952*/                  OPC_MoveChild1,
/*150953*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*150956*/                  OPC_MoveChild0,
/*150957*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150960*/                  OPC_RecordMemRef,
/*150961*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*150962*/                  OPC_CheckFoldableChainNode,
/*150963*/                  OPC_MoveChild1,
/*150964*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150967*/                  OPC_CheckType, MVT::i64,
/*150969*/                  OPC_Scope, 34|128,1/*162*/, /*->151134*/ // 2 children in Scope
/*150972*/                    OPC_CheckChild0Same, 1,
/*150974*/                    OPC_CheckChild1Integer, 3, 
/*150976*/                    OPC_MoveParent,
/*150977*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*150979*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*150981*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*150983*/                    OPC_MoveParent,
/*150984*/                    OPC_MoveChild1,
/*150985*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*150988*/                    OPC_RecordMemRef,
/*150989*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*150990*/                    OPC_CheckFoldableChainNode,
/*150991*/                    OPC_MoveChild1,
/*150992*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*150995*/                    OPC_CheckChild0Same, 3,
/*150997*/                    OPC_CheckChild1Integer, 3, 
/*150999*/                    OPC_CheckType, MVT::i64,
/*151001*/                    OPC_MoveParent,
/*151002*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151004*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151006*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151008*/                    OPC_MoveParent,
/*151009*/                    OPC_MoveParent,
/*151010*/                    OPC_CheckType, MVT::i32,
/*151012*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*151014*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*151024*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*151027*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*151034*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*151040*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151043*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*151051*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151054*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*151062*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151065*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*151074*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*151080*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151083*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*151091*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151094*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*151102*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151105*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*151114*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*151123*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*151126*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*151134*/                  /*Scope*/ 34|128,1/*162*/, /*->151298*/
/*151136*/                    OPC_CheckChild0Same, 3,
/*151138*/                    OPC_CheckChild1Integer, 3, 
/*151140*/                    OPC_MoveParent,
/*151141*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151143*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151145*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151147*/                    OPC_MoveParent,
/*151148*/                    OPC_MoveChild1,
/*151149*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*151152*/                    OPC_RecordMemRef,
/*151153*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*151154*/                    OPC_CheckFoldableChainNode,
/*151155*/                    OPC_MoveChild1,
/*151156*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*151159*/                    OPC_CheckChild0Same, 1,
/*151161*/                    OPC_CheckChild1Integer, 3, 
/*151163*/                    OPC_CheckType, MVT::i64,
/*151165*/                    OPC_MoveParent,
/*151166*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151168*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151170*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151172*/                    OPC_MoveParent,
/*151173*/                    OPC_MoveParent,
/*151174*/                    OPC_CheckType, MVT::i32,
/*151176*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*151178*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*151188*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*151191*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*151198*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*151204*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151207*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*151215*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151218*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*151226*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151229*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*151238*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*151244*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151247*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*151255*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151258*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*151266*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151269*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*151278*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*151287*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*151290*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*151298*/                  0, /*End of Scope*/
/*151299*/                /*Scope*/ 6|128,5/*646*/, /*->151947*/
/*151301*/                  OPC_CheckChild0Same, 3,
/*151303*/                  OPC_CheckChild1Integer, 2, 
/*151305*/                  OPC_MoveParent,
/*151306*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151308*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*151310*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151312*/                  OPC_MoveParent,
/*151313*/                  OPC_MoveChild1,
/*151314*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*151317*/                  OPC_RecordMemRef,
/*151318*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*151319*/                  OPC_CheckFoldableChainNode,
/*151320*/                  OPC_MoveChild1,
/*151321*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*151324*/                  OPC_CheckChild0Same, 1,
/*151326*/                  OPC_CheckChild1Integer, 2, 
/*151328*/                  OPC_CheckType, MVT::i64,
/*151330*/                  OPC_MoveParent,
/*151331*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151333*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*151335*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151337*/                  OPC_MoveParent,
/*151338*/                  OPC_MoveParent,
/*151339*/                  OPC_MoveParent,
/*151340*/                  OPC_MoveParent,
/*151341*/                  OPC_MoveChild1,
/*151342*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*151345*/                  OPC_MoveChild0,
/*151346*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*151349*/                  OPC_RecordMemRef,
/*151350*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*151351*/                  OPC_CheckFoldableChainNode,
/*151352*/                  OPC_MoveChild1,
/*151353*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*151356*/                  OPC_CheckType, MVT::i64,
/*151358*/                  OPC_Scope, 34|128,1/*162*/, /*->151523*/ // 3 children in Scope
/*151361*/                    OPC_CheckChild0Same, 1,
/*151363*/                    OPC_CheckChild1Integer, 3, 
/*151365*/                    OPC_MoveParent,
/*151366*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151368*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151370*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151372*/                    OPC_MoveParent,
/*151373*/                    OPC_MoveChild1,
/*151374*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*151377*/                    OPC_RecordMemRef,
/*151378*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*151379*/                    OPC_CheckFoldableChainNode,
/*151380*/                    OPC_MoveChild1,
/*151381*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*151384*/                    OPC_CheckChild0Same, 3,
/*151386*/                    OPC_CheckChild1Integer, 3, 
/*151388*/                    OPC_CheckType, MVT::i64,
/*151390*/                    OPC_MoveParent,
/*151391*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151393*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151395*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151397*/                    OPC_MoveParent,
/*151398*/                    OPC_MoveParent,
/*151399*/                    OPC_CheckType, MVT::i32,
/*151401*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*151403*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*151413*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*151416*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*151423*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*151429*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151432*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*151440*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151443*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*151451*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151454*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*151463*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*151469*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151472*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*151480*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151483*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*151491*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151494*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*151503*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*151512*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*151515*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*151523*/                  /*Scope*/ 1|128,2/*257*/, /*->151782*/
/*151525*/                    OPC_CheckChild0Same, 3,
/*151527*/                    OPC_CheckChild1Integer, 3, 
/*151529*/                    OPC_MoveParent,
/*151530*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151532*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151534*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151536*/                    OPC_MoveParent,
/*151537*/                    OPC_MoveChild1,
/*151538*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*151541*/                    OPC_RecordMemRef,
/*151542*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*151543*/                    OPC_CheckFoldableChainNode,
/*151544*/                    OPC_MoveChild1,
/*151545*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*151548*/                    OPC_CheckChild0Same, 1,
/*151550*/                    OPC_CheckChild1Integer, 3, 
/*151552*/                    OPC_CheckType, MVT::i64,
/*151554*/                    OPC_MoveParent,
/*151555*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151557*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151559*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151561*/                    OPC_MoveParent,
/*151562*/                    OPC_MoveParent,
/*151563*/                    OPC_CheckType, MVT::i32,
/*151565*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*151567*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*151577*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*151580*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*151587*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*151593*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151596*/                    OPC_Scope, 91, /*->151689*/ // 2 children in Scope
/*151598*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*151606*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151609*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*151617*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151620*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*151629*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*151635*/                      OPC_EmitInteger, MVT::i64, 0, 
/*151638*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*151646*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151649*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*151657*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151660*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*151669*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*151678*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*151681*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*151689*/                    /*Scope*/ 91, /*->151781*/
/*151690*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*151698*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151701*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*151709*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151712*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*151721*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*151727*/                      OPC_EmitInteger, MVT::i64, 0, 
/*151730*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*151738*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151741*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*151749*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151752*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*151761*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*151770*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*151773*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*151781*/                    0, /*End of Scope*/
/*151782*/                  /*Scope*/ 34|128,1/*162*/, /*->151946*/
/*151784*/                    OPC_CheckChild0Same, 1,
/*151786*/                    OPC_CheckChild1Integer, 3, 
/*151788*/                    OPC_MoveParent,
/*151789*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151791*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151793*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151795*/                    OPC_MoveParent,
/*151796*/                    OPC_MoveChild1,
/*151797*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*151800*/                    OPC_RecordMemRef,
/*151801*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*151802*/                    OPC_CheckFoldableChainNode,
/*151803*/                    OPC_MoveChild1,
/*151804*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*151807*/                    OPC_CheckChild0Same, 3,
/*151809*/                    OPC_CheckChild1Integer, 3, 
/*151811*/                    OPC_CheckType, MVT::i64,
/*151813*/                    OPC_MoveParent,
/*151814*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151816*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*151818*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151820*/                    OPC_MoveParent,
/*151821*/                    OPC_MoveParent,
/*151822*/                    OPC_CheckType, MVT::i32,
/*151824*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*151826*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*151836*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*151839*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*151846*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*151852*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151855*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*151863*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151866*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*151874*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151877*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*151886*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*151892*/                    OPC_EmitInteger, MVT::i64, 0, 
/*151895*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*151903*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*151906*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*151914*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*151917*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*151926*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*151935*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*151938*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*151946*/                  0, /*End of Scope*/
/*151947*/                /*Scope*/ 3|128,3/*387*/, /*->152336*/
/*151949*/                  OPC_CheckChild0Same, 1,
/*151951*/                  OPC_CheckChild1Integer, 2, 
/*151953*/                  OPC_MoveParent,
/*151954*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151956*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*151958*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151960*/                  OPC_MoveParent,
/*151961*/                  OPC_MoveChild1,
/*151962*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*151965*/                  OPC_RecordMemRef,
/*151966*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*151967*/                  OPC_CheckFoldableChainNode,
/*151968*/                  OPC_MoveChild1,
/*151969*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*151972*/                  OPC_CheckChild0Same, 3,
/*151974*/                  OPC_CheckChild1Integer, 2, 
/*151976*/                  OPC_CheckType, MVT::i64,
/*151978*/                  OPC_MoveParent,
/*151979*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*151981*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*151983*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*151985*/                  OPC_MoveParent,
/*151986*/                  OPC_MoveParent,
/*151987*/                  OPC_MoveParent,
/*151988*/                  OPC_MoveParent,
/*151989*/                  OPC_MoveChild1,
/*151990*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*151993*/                  OPC_MoveChild0,
/*151994*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*151997*/                  OPC_RecordMemRef,
/*151998*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*151999*/                  OPC_CheckFoldableChainNode,
/*152000*/                  OPC_MoveChild1,
/*152001*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152004*/                  OPC_CheckType, MVT::i64,
/*152006*/                  OPC_Scope, 34|128,1/*162*/, /*->152171*/ // 2 children in Scope
/*152009*/                    OPC_CheckChild0Same, 3,
/*152011*/                    OPC_CheckChild1Integer, 3, 
/*152013*/                    OPC_MoveParent,
/*152014*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152016*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152018*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152020*/                    OPC_MoveParent,
/*152021*/                    OPC_MoveChild1,
/*152022*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152025*/                    OPC_RecordMemRef,
/*152026*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*152027*/                    OPC_CheckFoldableChainNode,
/*152028*/                    OPC_MoveChild1,
/*152029*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152032*/                    OPC_CheckChild0Same, 1,
/*152034*/                    OPC_CheckChild1Integer, 3, 
/*152036*/                    OPC_CheckType, MVT::i64,
/*152038*/                    OPC_MoveParent,
/*152039*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152041*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152043*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152045*/                    OPC_MoveParent,
/*152046*/                    OPC_MoveParent,
/*152047*/                    OPC_CheckType, MVT::i32,
/*152049*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*152051*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*152061*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*152064*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*152071*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*152077*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152080*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*152088*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152091*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*152099*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152102*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*152111*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*152117*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152120*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*152128*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152131*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*152139*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152142*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*152151*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*152160*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*152163*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*152171*/                  /*Scope*/ 34|128,1/*162*/, /*->152335*/
/*152173*/                    OPC_CheckChild0Same, 1,
/*152175*/                    OPC_CheckChild1Integer, 3, 
/*152177*/                    OPC_MoveParent,
/*152178*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152180*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152182*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152184*/                    OPC_MoveParent,
/*152185*/                    OPC_MoveChild1,
/*152186*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152189*/                    OPC_RecordMemRef,
/*152190*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*152191*/                    OPC_CheckFoldableChainNode,
/*152192*/                    OPC_MoveChild1,
/*152193*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152196*/                    OPC_CheckChild0Same, 3,
/*152198*/                    OPC_CheckChild1Integer, 3, 
/*152200*/                    OPC_CheckType, MVT::i64,
/*152202*/                    OPC_MoveParent,
/*152203*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152205*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152207*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152209*/                    OPC_MoveParent,
/*152210*/                    OPC_MoveParent,
/*152211*/                    OPC_CheckType, MVT::i32,
/*152213*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*152215*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*152225*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*152228*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*152235*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*152241*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152244*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*152252*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152255*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*152263*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152266*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*152275*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*152281*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152284*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*152292*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152295*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*152303*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152306*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*152315*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*152324*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*152327*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*152335*/                  0, /*End of Scope*/
/*152336*/                0, /*End of Scope*/
/*152337*/              /*Scope*/ 55|128,6/*823*/, /*->153162*/
/*152339*/                OPC_CheckChild1Same, 1,
/*152341*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152343*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*152345*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152347*/                OPC_MoveParent,
/*152348*/                OPC_MoveChild1,
/*152349*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152352*/                OPC_RecordMemRef,
/*152353*/                OPC_RecordNode, // #5 = 'ld' chained node
/*152354*/                OPC_CheckFoldableChainNode,
/*152355*/                OPC_CheckChild1Same, 3,
/*152357*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152359*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*152361*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152363*/                OPC_MoveParent,
/*152364*/                OPC_MoveParent,
/*152365*/                OPC_MoveChild1,
/*152366*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*152369*/                OPC_MoveChild0,
/*152370*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152373*/                OPC_RecordMemRef,
/*152374*/                OPC_RecordNode, // #6 = 'ld' chained node
/*152375*/                OPC_CheckFoldableChainNode,
/*152376*/                OPC_MoveChild1,
/*152377*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152380*/                OPC_CheckType, MVT::i64,
/*152382*/                OPC_Scope, 3|128,3/*387*/, /*->152772*/ // 2 children in Scope
/*152385*/                  OPC_CheckChild0Same, 3,
/*152387*/                  OPC_CheckChild1Integer, 2, 
/*152389*/                  OPC_MoveParent,
/*152390*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152392*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*152394*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152396*/                  OPC_MoveParent,
/*152397*/                  OPC_MoveChild1,
/*152398*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152401*/                  OPC_RecordMemRef,
/*152402*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*152403*/                  OPC_CheckFoldableChainNode,
/*152404*/                  OPC_MoveChild1,
/*152405*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152408*/                  OPC_CheckChild0Same, 1,
/*152410*/                  OPC_CheckChild1Integer, 2, 
/*152412*/                  OPC_CheckType, MVT::i64,
/*152414*/                  OPC_MoveParent,
/*152415*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152417*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*152419*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152421*/                  OPC_MoveParent,
/*152422*/                  OPC_MoveParent,
/*152423*/                  OPC_MoveParent,
/*152424*/                  OPC_MoveParent,
/*152425*/                  OPC_MoveChild1,
/*152426*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*152429*/                  OPC_MoveChild0,
/*152430*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152433*/                  OPC_RecordMemRef,
/*152434*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*152435*/                  OPC_CheckFoldableChainNode,
/*152436*/                  OPC_MoveChild1,
/*152437*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152440*/                  OPC_CheckType, MVT::i64,
/*152442*/                  OPC_Scope, 34|128,1/*162*/, /*->152607*/ // 2 children in Scope
/*152445*/                    OPC_CheckChild0Same, 3,
/*152447*/                    OPC_CheckChild1Integer, 3, 
/*152449*/                    OPC_MoveParent,
/*152450*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152452*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152454*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152456*/                    OPC_MoveParent,
/*152457*/                    OPC_MoveChild1,
/*152458*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152461*/                    OPC_RecordMemRef,
/*152462*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*152463*/                    OPC_CheckFoldableChainNode,
/*152464*/                    OPC_MoveChild1,
/*152465*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152468*/                    OPC_CheckChild0Same, 1,
/*152470*/                    OPC_CheckChild1Integer, 3, 
/*152472*/                    OPC_CheckType, MVT::i64,
/*152474*/                    OPC_MoveParent,
/*152475*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152477*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152479*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152481*/                    OPC_MoveParent,
/*152482*/                    OPC_MoveParent,
/*152483*/                    OPC_CheckType, MVT::i32,
/*152485*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*152487*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*152497*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*152500*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*152507*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*152513*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152516*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*152524*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152527*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*152535*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152538*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*152547*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*152553*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152556*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*152564*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152567*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*152575*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152578*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*152587*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*152596*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*152599*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*152607*/                  /*Scope*/ 34|128,1/*162*/, /*->152771*/
/*152609*/                    OPC_CheckChild0Same, 1,
/*152611*/                    OPC_CheckChild1Integer, 3, 
/*152613*/                    OPC_MoveParent,
/*152614*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152616*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152618*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152620*/                    OPC_MoveParent,
/*152621*/                    OPC_MoveChild1,
/*152622*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152625*/                    OPC_RecordMemRef,
/*152626*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*152627*/                    OPC_CheckFoldableChainNode,
/*152628*/                    OPC_MoveChild1,
/*152629*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152632*/                    OPC_CheckChild0Same, 3,
/*152634*/                    OPC_CheckChild1Integer, 3, 
/*152636*/                    OPC_CheckType, MVT::i64,
/*152638*/                    OPC_MoveParent,
/*152639*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152641*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152643*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152645*/                    OPC_MoveParent,
/*152646*/                    OPC_MoveParent,
/*152647*/                    OPC_CheckType, MVT::i32,
/*152649*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*152651*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*152661*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*152664*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*152671*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*152677*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152680*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*152688*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152691*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*152699*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152702*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*152711*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*152717*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152720*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*152728*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152731*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*152739*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152742*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*152751*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*152760*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*152763*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*152771*/                  0, /*End of Scope*/
/*152772*/                /*Scope*/ 3|128,3/*387*/, /*->153161*/
/*152774*/                  OPC_CheckChild0Same, 1,
/*152776*/                  OPC_CheckChild1Integer, 2, 
/*152778*/                  OPC_MoveParent,
/*152779*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152781*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*152783*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152785*/                  OPC_MoveParent,
/*152786*/                  OPC_MoveChild1,
/*152787*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152790*/                  OPC_RecordMemRef,
/*152791*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*152792*/                  OPC_CheckFoldableChainNode,
/*152793*/                  OPC_MoveChild1,
/*152794*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152797*/                  OPC_CheckChild0Same, 3,
/*152799*/                  OPC_CheckChild1Integer, 2, 
/*152801*/                  OPC_CheckType, MVT::i64,
/*152803*/                  OPC_MoveParent,
/*152804*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152806*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*152808*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152810*/                  OPC_MoveParent,
/*152811*/                  OPC_MoveParent,
/*152812*/                  OPC_MoveParent,
/*152813*/                  OPC_MoveParent,
/*152814*/                  OPC_MoveChild1,
/*152815*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*152818*/                  OPC_MoveChild0,
/*152819*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152822*/                  OPC_RecordMemRef,
/*152823*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*152824*/                  OPC_CheckFoldableChainNode,
/*152825*/                  OPC_MoveChild1,
/*152826*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152829*/                  OPC_CheckType, MVT::i64,
/*152831*/                  OPC_Scope, 34|128,1/*162*/, /*->152996*/ // 2 children in Scope
/*152834*/                    OPC_CheckChild0Same, 3,
/*152836*/                    OPC_CheckChild1Integer, 3, 
/*152838*/                    OPC_MoveParent,
/*152839*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152841*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152843*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152845*/                    OPC_MoveParent,
/*152846*/                    OPC_MoveChild1,
/*152847*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*152850*/                    OPC_RecordMemRef,
/*152851*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*152852*/                    OPC_CheckFoldableChainNode,
/*152853*/                    OPC_MoveChild1,
/*152854*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*152857*/                    OPC_CheckChild0Same, 1,
/*152859*/                    OPC_CheckChild1Integer, 3, 
/*152861*/                    OPC_CheckType, MVT::i64,
/*152863*/                    OPC_MoveParent,
/*152864*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*152866*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*152868*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*152870*/                    OPC_MoveParent,
/*152871*/                    OPC_MoveParent,
/*152872*/                    OPC_CheckType, MVT::i32,
/*152874*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*152876*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*152886*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*152889*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*152896*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*152902*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152905*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*152913*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152916*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*152924*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152927*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*152936*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*152942*/                    OPC_EmitInteger, MVT::i64, 0, 
/*152945*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*152953*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*152956*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*152964*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*152967*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*152976*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*152985*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*152988*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*152996*/                  /*Scope*/ 34|128,1/*162*/, /*->153160*/
/*152998*/                    OPC_CheckChild0Same, 1,
/*153000*/                    OPC_CheckChild1Integer, 3, 
/*153002*/                    OPC_MoveParent,
/*153003*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153005*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*153007*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153009*/                    OPC_MoveParent,
/*153010*/                    OPC_MoveChild1,
/*153011*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153014*/                    OPC_RecordMemRef,
/*153015*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*153016*/                    OPC_CheckFoldableChainNode,
/*153017*/                    OPC_MoveChild1,
/*153018*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153021*/                    OPC_CheckChild0Same, 3,
/*153023*/                    OPC_CheckChild1Integer, 3, 
/*153025*/                    OPC_CheckType, MVT::i64,
/*153027*/                    OPC_MoveParent,
/*153028*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153030*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*153032*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153034*/                    OPC_MoveParent,
/*153035*/                    OPC_MoveParent,
/*153036*/                    OPC_CheckType, MVT::i32,
/*153038*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*153040*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*153050*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*153053*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*153060*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*153066*/                    OPC_EmitInteger, MVT::i64, 0, 
/*153069*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*153077*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153080*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*153088*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153091*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*153100*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*153106*/                    OPC_EmitInteger, MVT::i64, 0, 
/*153109*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*153117*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153120*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*153128*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153131*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*153140*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*153149*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*153152*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*153160*/                  0, /*End of Scope*/
/*153161*/                0, /*End of Scope*/
/*153162*/              0, /*End of Scope*/
/*153163*/            /*Scope*/ 98|128,48/*6242*/, /*->159407*/
/*153165*/              OPC_CheckChild1Integer, 2, 
/*153167*/              OPC_MoveParent,
/*153168*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153170*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*153172*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153174*/              OPC_MoveParent,
/*153175*/              OPC_MoveChild1,
/*153176*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153179*/              OPC_RecordMemRef,
/*153180*/              OPC_RecordNode, // #2 = 'ld' chained node
/*153181*/              OPC_CheckFoldableChainNode,
/*153182*/              OPC_MoveChild1,
/*153183*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153186*/              OPC_RecordChild0, // #3 = $Rm
/*153187*/              OPC_CheckChild1Integer, 2, 
/*153189*/              OPC_CheckType, MVT::i64,
/*153191*/              OPC_MoveParent,
/*153192*/              OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153194*/              OPC_CheckPredicate, 7, // Predicate_zextload
/*153196*/              OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153198*/              OPC_MoveParent,
/*153199*/              OPC_MoveParent,
/*153200*/              OPC_MoveChild1,
/*153201*/              OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153204*/              OPC_MoveChild0,
/*153205*/              OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*153208*/              OPC_MoveChild0,
/*153209*/              OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153212*/              OPC_RecordMemRef,
/*153213*/              OPC_RecordNode, // #4 = 'ld' chained node
/*153214*/              OPC_CheckFoldableChainNode,
/*153215*/              OPC_Scope, 121|128,23/*3065*/, /*->156283*/ // 4 children in Scope
/*153218*/                OPC_MoveChild1,
/*153219*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153222*/                OPC_CheckType, MVT::i64,
/*153224*/                OPC_Scope, 37|128,6/*805*/, /*->154032*/ // 3 children in Scope
/*153227*/                  OPC_CheckChild0Same, 1,
/*153229*/                  OPC_CheckChild1Integer, 1, 
/*153231*/                  OPC_MoveParent,
/*153232*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153234*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*153236*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153238*/                  OPC_MoveParent,
/*153239*/                  OPC_MoveChild1,
/*153240*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153243*/                  OPC_RecordMemRef,
/*153244*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*153245*/                  OPC_CheckFoldableChainNode,
/*153246*/                  OPC_MoveChild1,
/*153247*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153250*/                  OPC_CheckChild0Same, 3,
/*153252*/                  OPC_CheckChild1Integer, 1, 
/*153254*/                  OPC_CheckType, MVT::i64,
/*153256*/                  OPC_MoveParent,
/*153257*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153259*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*153261*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153263*/                  OPC_MoveParent,
/*153264*/                  OPC_MoveParent,
/*153265*/                  OPC_MoveChild1,
/*153266*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*153269*/                  OPC_MoveChild0,
/*153270*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153273*/                  OPC_RecordMemRef,
/*153274*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*153275*/                  OPC_CheckFoldableChainNode,
/*153276*/                  OPC_Scope, 119|128,2/*375*/, /*->153654*/ // 2 children in Scope
/*153279*/                    OPC_CheckChild1Same, 1,
/*153281*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153283*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*153285*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153287*/                    OPC_MoveParent,
/*153288*/                    OPC_MoveChild1,
/*153289*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153292*/                    OPC_RecordMemRef,
/*153293*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*153294*/                    OPC_CheckFoldableChainNode,
/*153295*/                    OPC_CheckChild1Same, 3,
/*153297*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153299*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*153301*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153303*/                    OPC_MoveParent,
/*153304*/                    OPC_MoveParent,
/*153305*/                    OPC_MoveParent,
/*153306*/                    OPC_MoveParent,
/*153307*/                    OPC_MoveChild1,
/*153308*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*153311*/                    OPC_MoveChild0,
/*153312*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153315*/                    OPC_RecordMemRef,
/*153316*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*153317*/                    OPC_CheckFoldableChainNode,
/*153318*/                    OPC_MoveChild1,
/*153319*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153322*/                    OPC_CheckType, MVT::i64,
/*153324*/                    OPC_Scope, 34|128,1/*162*/, /*->153489*/ // 2 children in Scope
/*153327*/                      OPC_CheckChild0Same, 1,
/*153329*/                      OPC_CheckChild1Integer, 3, 
/*153331*/                      OPC_MoveParent,
/*153332*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153334*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*153336*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153338*/                      OPC_MoveParent,
/*153339*/                      OPC_MoveChild1,
/*153340*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153343*/                      OPC_RecordMemRef,
/*153344*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*153345*/                      OPC_CheckFoldableChainNode,
/*153346*/                      OPC_MoveChild1,
/*153347*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153350*/                      OPC_CheckChild0Same, 3,
/*153352*/                      OPC_CheckChild1Integer, 3, 
/*153354*/                      OPC_CheckType, MVT::i64,
/*153356*/                      OPC_MoveParent,
/*153357*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153359*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*153361*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153363*/                      OPC_MoveParent,
/*153364*/                      OPC_MoveParent,
/*153365*/                      OPC_CheckType, MVT::i32,
/*153367*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*153369*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*153379*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*153382*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*153389*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*153395*/                      OPC_EmitInteger, MVT::i64, 0, 
/*153398*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*153406*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153409*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*153417*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153420*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*153429*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*153435*/                      OPC_EmitInteger, MVT::i64, 0, 
/*153438*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*153446*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153449*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*153457*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153460*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*153469*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*153478*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*153481*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*153489*/                    /*Scope*/ 34|128,1/*162*/, /*->153653*/
/*153491*/                      OPC_CheckChild0Same, 3,
/*153493*/                      OPC_CheckChild1Integer, 3, 
/*153495*/                      OPC_MoveParent,
/*153496*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153498*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*153500*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153502*/                      OPC_MoveParent,
/*153503*/                      OPC_MoveChild1,
/*153504*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153507*/                      OPC_RecordMemRef,
/*153508*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*153509*/                      OPC_CheckFoldableChainNode,
/*153510*/                      OPC_MoveChild1,
/*153511*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153514*/                      OPC_CheckChild0Same, 1,
/*153516*/                      OPC_CheckChild1Integer, 3, 
/*153518*/                      OPC_CheckType, MVT::i64,
/*153520*/                      OPC_MoveParent,
/*153521*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153523*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*153525*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153527*/                      OPC_MoveParent,
/*153528*/                      OPC_MoveParent,
/*153529*/                      OPC_CheckType, MVT::i32,
/*153531*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*153533*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*153543*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*153546*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*153553*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*153559*/                      OPC_EmitInteger, MVT::i64, 0, 
/*153562*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*153570*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153573*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*153581*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153584*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*153593*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*153599*/                      OPC_EmitInteger, MVT::i64, 0, 
/*153602*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*153610*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153613*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*153621*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153624*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*153633*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*153642*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*153645*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*153653*/                    0, /*End of Scope*/
/*153654*/                  /*Scope*/ 119|128,2/*375*/, /*->154031*/
/*153656*/                    OPC_CheckChild1Same, 3,
/*153658*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153660*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*153662*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153664*/                    OPC_MoveParent,
/*153665*/                    OPC_MoveChild1,
/*153666*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153669*/                    OPC_RecordMemRef,
/*153670*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*153671*/                    OPC_CheckFoldableChainNode,
/*153672*/                    OPC_CheckChild1Same, 1,
/*153674*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153676*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*153678*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153680*/                    OPC_MoveParent,
/*153681*/                    OPC_MoveParent,
/*153682*/                    OPC_MoveParent,
/*153683*/                    OPC_MoveParent,
/*153684*/                    OPC_MoveChild1,
/*153685*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*153688*/                    OPC_MoveChild0,
/*153689*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153692*/                    OPC_RecordMemRef,
/*153693*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*153694*/                    OPC_CheckFoldableChainNode,
/*153695*/                    OPC_MoveChild1,
/*153696*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153699*/                    OPC_CheckType, MVT::i64,
/*153701*/                    OPC_Scope, 34|128,1/*162*/, /*->153866*/ // 2 children in Scope
/*153704*/                      OPC_CheckChild0Same, 1,
/*153706*/                      OPC_CheckChild1Integer, 3, 
/*153708*/                      OPC_MoveParent,
/*153709*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153711*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*153713*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153715*/                      OPC_MoveParent,
/*153716*/                      OPC_MoveChild1,
/*153717*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153720*/                      OPC_RecordMemRef,
/*153721*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*153722*/                      OPC_CheckFoldableChainNode,
/*153723*/                      OPC_MoveChild1,
/*153724*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153727*/                      OPC_CheckChild0Same, 3,
/*153729*/                      OPC_CheckChild1Integer, 3, 
/*153731*/                      OPC_CheckType, MVT::i64,
/*153733*/                      OPC_MoveParent,
/*153734*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153736*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*153738*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153740*/                      OPC_MoveParent,
/*153741*/                      OPC_MoveParent,
/*153742*/                      OPC_CheckType, MVT::i32,
/*153744*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*153746*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*153756*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*153759*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*153766*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*153772*/                      OPC_EmitInteger, MVT::i64, 0, 
/*153775*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*153783*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153786*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*153794*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153797*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*153806*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*153812*/                      OPC_EmitInteger, MVT::i64, 0, 
/*153815*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*153823*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153826*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*153834*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153837*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*153846*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*153855*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*153858*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*153866*/                    /*Scope*/ 34|128,1/*162*/, /*->154030*/
/*153868*/                      OPC_CheckChild0Same, 3,
/*153870*/                      OPC_CheckChild1Integer, 3, 
/*153872*/                      OPC_MoveParent,
/*153873*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153875*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*153877*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153879*/                      OPC_MoveParent,
/*153880*/                      OPC_MoveChild1,
/*153881*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*153884*/                      OPC_RecordMemRef,
/*153885*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*153886*/                      OPC_CheckFoldableChainNode,
/*153887*/                      OPC_MoveChild1,
/*153888*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*153891*/                      OPC_CheckChild0Same, 1,
/*153893*/                      OPC_CheckChild1Integer, 3, 
/*153895*/                      OPC_CheckType, MVT::i64,
/*153897*/                      OPC_MoveParent,
/*153898*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*153900*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*153902*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*153904*/                      OPC_MoveParent,
/*153905*/                      OPC_MoveParent,
/*153906*/                      OPC_CheckType, MVT::i32,
/*153908*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*153910*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*153920*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*153923*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*153930*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*153936*/                      OPC_EmitInteger, MVT::i64, 0, 
/*153939*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*153947*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153950*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*153958*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*153961*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*153970*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*153976*/                      OPC_EmitInteger, MVT::i64, 0, 
/*153979*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*153987*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*153990*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*153998*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154001*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*154010*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*154019*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*154022*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*154030*/                    0, /*End of Scope*/
/*154031*/                  0, /*End of Scope*/
/*154032*/                /*Scope*/ 33|128,11/*1441*/, /*->155475*/
/*154034*/                  OPC_CheckChild0Same, 3,
/*154036*/                  OPC_CheckChild1Integer, 1, 
/*154038*/                  OPC_MoveParent,
/*154039*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154041*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*154043*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154045*/                  OPC_MoveParent,
/*154046*/                  OPC_MoveChild1,
/*154047*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154050*/                  OPC_RecordMemRef,
/*154051*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*154052*/                  OPC_CheckFoldableChainNode,
/*154053*/                  OPC_MoveChild1,
/*154054*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*154057*/                  OPC_CheckChild0Same, 1,
/*154059*/                  OPC_CheckChild1Integer, 1, 
/*154061*/                  OPC_CheckType, MVT::i64,
/*154063*/                  OPC_MoveParent,
/*154064*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154066*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*154068*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154070*/                  OPC_MoveParent,
/*154071*/                  OPC_MoveParent,
/*154072*/                  OPC_MoveChild1,
/*154073*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*154076*/                  OPC_MoveChild0,
/*154077*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154080*/                  OPC_RecordMemRef,
/*154081*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*154082*/                  OPC_CheckFoldableChainNode,
/*154083*/                  OPC_Scope, 119|128,2/*375*/, /*->154461*/ // 3 children in Scope
/*154086*/                    OPC_CheckChild1Same, 1,
/*154088*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154090*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*154092*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154094*/                    OPC_MoveParent,
/*154095*/                    OPC_MoveChild1,
/*154096*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154099*/                    OPC_RecordMemRef,
/*154100*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*154101*/                    OPC_CheckFoldableChainNode,
/*154102*/                    OPC_CheckChild1Same, 3,
/*154104*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154106*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*154108*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154110*/                    OPC_MoveParent,
/*154111*/                    OPC_MoveParent,
/*154112*/                    OPC_MoveParent,
/*154113*/                    OPC_MoveParent,
/*154114*/                    OPC_MoveChild1,
/*154115*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*154118*/                    OPC_MoveChild0,
/*154119*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154122*/                    OPC_RecordMemRef,
/*154123*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*154124*/                    OPC_CheckFoldableChainNode,
/*154125*/                    OPC_MoveChild1,
/*154126*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*154129*/                    OPC_CheckType, MVT::i64,
/*154131*/                    OPC_Scope, 34|128,1/*162*/, /*->154296*/ // 2 children in Scope
/*154134*/                      OPC_CheckChild0Same, 1,
/*154136*/                      OPC_CheckChild1Integer, 3, 
/*154138*/                      OPC_MoveParent,
/*154139*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154141*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154143*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154145*/                      OPC_MoveParent,
/*154146*/                      OPC_MoveChild1,
/*154147*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154150*/                      OPC_RecordMemRef,
/*154151*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*154152*/                      OPC_CheckFoldableChainNode,
/*154153*/                      OPC_MoveChild1,
/*154154*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*154157*/                      OPC_CheckChild0Same, 3,
/*154159*/                      OPC_CheckChild1Integer, 3, 
/*154161*/                      OPC_CheckType, MVT::i64,
/*154163*/                      OPC_MoveParent,
/*154164*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154166*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154168*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154170*/                      OPC_MoveParent,
/*154171*/                      OPC_MoveParent,
/*154172*/                      OPC_CheckType, MVT::i32,
/*154174*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*154176*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*154186*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*154189*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*154196*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*154202*/                      OPC_EmitInteger, MVT::i64, 0, 
/*154205*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*154213*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154216*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*154224*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154227*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*154236*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*154242*/                      OPC_EmitInteger, MVT::i64, 0, 
/*154245*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*154253*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154256*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*154264*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154267*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*154276*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*154285*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*154288*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*154296*/                    /*Scope*/ 34|128,1/*162*/, /*->154460*/
/*154298*/                      OPC_CheckChild0Same, 3,
/*154300*/                      OPC_CheckChild1Integer, 3, 
/*154302*/                      OPC_MoveParent,
/*154303*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154305*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154307*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154309*/                      OPC_MoveParent,
/*154310*/                      OPC_MoveChild1,
/*154311*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154314*/                      OPC_RecordMemRef,
/*154315*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*154316*/                      OPC_CheckFoldableChainNode,
/*154317*/                      OPC_MoveChild1,
/*154318*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*154321*/                      OPC_CheckChild0Same, 1,
/*154323*/                      OPC_CheckChild1Integer, 3, 
/*154325*/                      OPC_CheckType, MVT::i64,
/*154327*/                      OPC_MoveParent,
/*154328*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154330*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154332*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154334*/                      OPC_MoveParent,
/*154335*/                      OPC_MoveParent,
/*154336*/                      OPC_CheckType, MVT::i32,
/*154338*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*154340*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*154350*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*154353*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*154360*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*154366*/                      OPC_EmitInteger, MVT::i64, 0, 
/*154369*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*154377*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154380*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*154388*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154391*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*154400*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*154406*/                      OPC_EmitInteger, MVT::i64, 0, 
/*154409*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*154417*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154420*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*154428*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154431*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*154440*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*154449*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*154452*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*154460*/                    0, /*End of Scope*/
/*154461*/                  /*Scope*/ 122|128,4/*634*/, /*->155097*/
/*154463*/                    OPC_CheckChild1Same, 3,
/*154465*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154467*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*154469*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154471*/                    OPC_MoveParent,
/*154472*/                    OPC_MoveChild1,
/*154473*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154476*/                    OPC_RecordMemRef,
/*154477*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*154478*/                    OPC_CheckFoldableChainNode,
/*154479*/                    OPC_CheckChild1Same, 1,
/*154481*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154483*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*154485*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154487*/                    OPC_MoveParent,
/*154488*/                    OPC_MoveParent,
/*154489*/                    OPC_MoveParent,
/*154490*/                    OPC_MoveParent,
/*154491*/                    OPC_MoveChild1,
/*154492*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*154495*/                    OPC_MoveChild0,
/*154496*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154499*/                    OPC_RecordMemRef,
/*154500*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*154501*/                    OPC_CheckFoldableChainNode,
/*154502*/                    OPC_MoveChild1,
/*154503*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*154506*/                    OPC_CheckType, MVT::i64,
/*154508*/                    OPC_Scope, 34|128,1/*162*/, /*->154673*/ // 3 children in Scope
/*154511*/                      OPC_CheckChild0Same, 1,
/*154513*/                      OPC_CheckChild1Integer, 3, 
/*154515*/                      OPC_MoveParent,
/*154516*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154518*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154520*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154522*/                      OPC_MoveParent,
/*154523*/                      OPC_MoveChild1,
/*154524*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154527*/                      OPC_RecordMemRef,
/*154528*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*154529*/                      OPC_CheckFoldableChainNode,
/*154530*/                      OPC_MoveChild1,
/*154531*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*154534*/                      OPC_CheckChild0Same, 3,
/*154536*/                      OPC_CheckChild1Integer, 3, 
/*154538*/                      OPC_CheckType, MVT::i64,
/*154540*/                      OPC_MoveParent,
/*154541*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154543*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154545*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154547*/                      OPC_MoveParent,
/*154548*/                      OPC_MoveParent,
/*154549*/                      OPC_CheckType, MVT::i32,
/*154551*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*154553*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*154563*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*154566*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*154573*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*154579*/                      OPC_EmitInteger, MVT::i64, 0, 
/*154582*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*154590*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154593*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*154601*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154604*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*154613*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*154619*/                      OPC_EmitInteger, MVT::i64, 0, 
/*154622*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*154630*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154633*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*154641*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154644*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*154653*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*154662*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*154665*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*154673*/                    /*Scope*/ 1|128,2/*257*/, /*->154932*/
/*154675*/                      OPC_CheckChild0Same, 3,
/*154677*/                      OPC_CheckChild1Integer, 3, 
/*154679*/                      OPC_MoveParent,
/*154680*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154682*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154684*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154686*/                      OPC_MoveParent,
/*154687*/                      OPC_MoveChild1,
/*154688*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154691*/                      OPC_RecordMemRef,
/*154692*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*154693*/                      OPC_CheckFoldableChainNode,
/*154694*/                      OPC_MoveChild1,
/*154695*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*154698*/                      OPC_CheckChild0Same, 1,
/*154700*/                      OPC_CheckChild1Integer, 3, 
/*154702*/                      OPC_CheckType, MVT::i64,
/*154704*/                      OPC_MoveParent,
/*154705*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154707*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154709*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154711*/                      OPC_MoveParent,
/*154712*/                      OPC_MoveParent,
/*154713*/                      OPC_CheckType, MVT::i32,
/*154715*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*154717*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*154727*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*154730*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*154737*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*154743*/                      OPC_EmitInteger, MVT::i64, 0, 
/*154746*/                      OPC_Scope, 91, /*->154839*/ // 2 children in Scope
/*154748*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*154756*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154759*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*154767*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154770*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*154779*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*154785*/                        OPC_EmitInteger, MVT::i64, 0, 
/*154788*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*154796*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154799*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*154807*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154810*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*154819*/                        OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*154828*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*154831*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*154839*/                      /*Scope*/ 91, /*->154931*/
/*154840*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*154848*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154851*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*154859*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154862*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*154871*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                      MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*154877*/                        OPC_EmitInteger, MVT::i64, 0, 
/*154880*/                        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                      MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*154888*/                        OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*154891*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                      MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*154899*/                        OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*154902*/                        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                      MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*154911*/                        OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                      MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*154920*/                        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*154923*/                        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                      MVT::i32, 2/*#Ops*/, 26, 27, 
                                  // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*154931*/                      0, /*End of Scope*/
/*154932*/                    /*Scope*/ 34|128,1/*162*/, /*->155096*/
/*154934*/                      OPC_CheckChild0Same, 1,
/*154936*/                      OPC_CheckChild1Integer, 3, 
/*154938*/                      OPC_MoveParent,
/*154939*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154941*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154943*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154945*/                      OPC_MoveParent,
/*154946*/                      OPC_MoveChild1,
/*154947*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*154950*/                      OPC_RecordMemRef,
/*154951*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*154952*/                      OPC_CheckFoldableChainNode,
/*154953*/                      OPC_MoveChild1,
/*154954*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*154957*/                      OPC_CheckChild0Same, 3,
/*154959*/                      OPC_CheckChild1Integer, 3, 
/*154961*/                      OPC_CheckType, MVT::i64,
/*154963*/                      OPC_MoveParent,
/*154964*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*154966*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*154968*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*154970*/                      OPC_MoveParent,
/*154971*/                      OPC_MoveParent,
/*154972*/                      OPC_CheckType, MVT::i32,
/*154974*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*154976*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*154986*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*154989*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*154996*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*155002*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155005*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*155013*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155016*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*155024*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155027*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*155036*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*155042*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155045*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*155053*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155056*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*155064*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155067*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*155076*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*155085*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*155088*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*155096*/                    0, /*End of Scope*/
/*155097*/                  /*Scope*/ 119|128,2/*375*/, /*->155474*/
/*155099*/                    OPC_CheckChild1Same, 1,
/*155101*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155103*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*155105*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155107*/                    OPC_MoveParent,
/*155108*/                    OPC_MoveChild1,
/*155109*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155112*/                    OPC_RecordMemRef,
/*155113*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*155114*/                    OPC_CheckFoldableChainNode,
/*155115*/                    OPC_CheckChild1Same, 3,
/*155117*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155119*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*155121*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155123*/                    OPC_MoveParent,
/*155124*/                    OPC_MoveParent,
/*155125*/                    OPC_MoveParent,
/*155126*/                    OPC_MoveParent,
/*155127*/                    OPC_MoveChild1,
/*155128*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*155131*/                    OPC_MoveChild0,
/*155132*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155135*/                    OPC_RecordMemRef,
/*155136*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*155137*/                    OPC_CheckFoldableChainNode,
/*155138*/                    OPC_MoveChild1,
/*155139*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155142*/                    OPC_CheckType, MVT::i64,
/*155144*/                    OPC_Scope, 34|128,1/*162*/, /*->155309*/ // 2 children in Scope
/*155147*/                      OPC_CheckChild0Same, 3,
/*155149*/                      OPC_CheckChild1Integer, 3, 
/*155151*/                      OPC_MoveParent,
/*155152*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155154*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155156*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155158*/                      OPC_MoveParent,
/*155159*/                      OPC_MoveChild1,
/*155160*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155163*/                      OPC_RecordMemRef,
/*155164*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*155165*/                      OPC_CheckFoldableChainNode,
/*155166*/                      OPC_MoveChild1,
/*155167*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155170*/                      OPC_CheckChild0Same, 1,
/*155172*/                      OPC_CheckChild1Integer, 3, 
/*155174*/                      OPC_CheckType, MVT::i64,
/*155176*/                      OPC_MoveParent,
/*155177*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155179*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155181*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155183*/                      OPC_MoveParent,
/*155184*/                      OPC_MoveParent,
/*155185*/                      OPC_CheckType, MVT::i32,
/*155187*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*155189*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*155199*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*155202*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*155209*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*155215*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155218*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*155226*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155229*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*155237*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155240*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*155249*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*155255*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155258*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*155266*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155269*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*155277*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155280*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*155289*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*155298*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*155301*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*155309*/                    /*Scope*/ 34|128,1/*162*/, /*->155473*/
/*155311*/                      OPC_CheckChild0Same, 1,
/*155313*/                      OPC_CheckChild1Integer, 3, 
/*155315*/                      OPC_MoveParent,
/*155316*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155318*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155320*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155322*/                      OPC_MoveParent,
/*155323*/                      OPC_MoveChild1,
/*155324*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155327*/                      OPC_RecordMemRef,
/*155328*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*155329*/                      OPC_CheckFoldableChainNode,
/*155330*/                      OPC_MoveChild1,
/*155331*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155334*/                      OPC_CheckChild0Same, 3,
/*155336*/                      OPC_CheckChild1Integer, 3, 
/*155338*/                      OPC_CheckType, MVT::i64,
/*155340*/                      OPC_MoveParent,
/*155341*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155343*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155345*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155347*/                      OPC_MoveParent,
/*155348*/                      OPC_MoveParent,
/*155349*/                      OPC_CheckType, MVT::i32,
/*155351*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*155353*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*155363*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*155366*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*155373*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*155379*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155382*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*155390*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155393*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*155401*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155404*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*155413*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*155419*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155422*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*155430*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155433*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*155441*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155444*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*155453*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*155462*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*155465*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*155473*/                    0, /*End of Scope*/
/*155474*/                  0, /*End of Scope*/
/*155475*/                /*Scope*/ 37|128,6/*805*/, /*->156282*/
/*155477*/                  OPC_CheckChild0Same, 1,
/*155479*/                  OPC_CheckChild1Integer, 1, 
/*155481*/                  OPC_MoveParent,
/*155482*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155484*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*155486*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155488*/                  OPC_MoveParent,
/*155489*/                  OPC_MoveChild1,
/*155490*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155493*/                  OPC_RecordMemRef,
/*155494*/                  OPC_RecordNode, // #5 = 'ld' chained node
/*155495*/                  OPC_CheckFoldableChainNode,
/*155496*/                  OPC_MoveChild1,
/*155497*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155500*/                  OPC_CheckChild0Same, 3,
/*155502*/                  OPC_CheckChild1Integer, 1, 
/*155504*/                  OPC_CheckType, MVT::i64,
/*155506*/                  OPC_MoveParent,
/*155507*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155509*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*155511*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155513*/                  OPC_MoveParent,
/*155514*/                  OPC_MoveParent,
/*155515*/                  OPC_MoveChild1,
/*155516*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*155519*/                  OPC_MoveChild0,
/*155520*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155523*/                  OPC_RecordMemRef,
/*155524*/                  OPC_RecordNode, // #6 = 'ld' chained node
/*155525*/                  OPC_CheckFoldableChainNode,
/*155526*/                  OPC_Scope, 119|128,2/*375*/, /*->155904*/ // 2 children in Scope
/*155529*/                    OPC_CheckChild1Same, 3,
/*155531*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155533*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*155535*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155537*/                    OPC_MoveParent,
/*155538*/                    OPC_MoveChild1,
/*155539*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155542*/                    OPC_RecordMemRef,
/*155543*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*155544*/                    OPC_CheckFoldableChainNode,
/*155545*/                    OPC_CheckChild1Same, 1,
/*155547*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155549*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*155551*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155553*/                    OPC_MoveParent,
/*155554*/                    OPC_MoveParent,
/*155555*/                    OPC_MoveParent,
/*155556*/                    OPC_MoveParent,
/*155557*/                    OPC_MoveChild1,
/*155558*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*155561*/                    OPC_MoveChild0,
/*155562*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155565*/                    OPC_RecordMemRef,
/*155566*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*155567*/                    OPC_CheckFoldableChainNode,
/*155568*/                    OPC_MoveChild1,
/*155569*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155572*/                    OPC_CheckType, MVT::i64,
/*155574*/                    OPC_Scope, 34|128,1/*162*/, /*->155739*/ // 2 children in Scope
/*155577*/                      OPC_CheckChild0Same, 3,
/*155579*/                      OPC_CheckChild1Integer, 3, 
/*155581*/                      OPC_MoveParent,
/*155582*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155584*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155586*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155588*/                      OPC_MoveParent,
/*155589*/                      OPC_MoveChild1,
/*155590*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155593*/                      OPC_RecordMemRef,
/*155594*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*155595*/                      OPC_CheckFoldableChainNode,
/*155596*/                      OPC_MoveChild1,
/*155597*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155600*/                      OPC_CheckChild0Same, 1,
/*155602*/                      OPC_CheckChild1Integer, 3, 
/*155604*/                      OPC_CheckType, MVT::i64,
/*155606*/                      OPC_MoveParent,
/*155607*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155609*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155611*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155613*/                      OPC_MoveParent,
/*155614*/                      OPC_MoveParent,
/*155615*/                      OPC_CheckType, MVT::i32,
/*155617*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*155619*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*155629*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*155632*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*155639*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*155645*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155648*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*155656*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155659*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*155667*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155670*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*155679*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*155685*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155688*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*155696*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155699*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*155707*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155710*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*155719*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*155728*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*155731*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*155739*/                    /*Scope*/ 34|128,1/*162*/, /*->155903*/
/*155741*/                      OPC_CheckChild0Same, 1,
/*155743*/                      OPC_CheckChild1Integer, 3, 
/*155745*/                      OPC_MoveParent,
/*155746*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155748*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155750*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155752*/                      OPC_MoveParent,
/*155753*/                      OPC_MoveChild1,
/*155754*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155757*/                      OPC_RecordMemRef,
/*155758*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*155759*/                      OPC_CheckFoldableChainNode,
/*155760*/                      OPC_MoveChild1,
/*155761*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155764*/                      OPC_CheckChild0Same, 3,
/*155766*/                      OPC_CheckChild1Integer, 3, 
/*155768*/                      OPC_CheckType, MVT::i64,
/*155770*/                      OPC_MoveParent,
/*155771*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155773*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155775*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155777*/                      OPC_MoveParent,
/*155778*/                      OPC_MoveParent,
/*155779*/                      OPC_CheckType, MVT::i32,
/*155781*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*155783*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*155793*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*155796*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*155803*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*155809*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155812*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*155820*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155823*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*155831*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155834*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*155843*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*155849*/                      OPC_EmitInteger, MVT::i64, 0, 
/*155852*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*155860*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*155863*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*155871*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*155874*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*155883*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*155892*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*155895*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*155903*/                    0, /*End of Scope*/
/*155904*/                  /*Scope*/ 119|128,2/*375*/, /*->156281*/
/*155906*/                    OPC_CheckChild1Same, 1,
/*155908*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155910*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*155912*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155914*/                    OPC_MoveParent,
/*155915*/                    OPC_MoveChild1,
/*155916*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155919*/                    OPC_RecordMemRef,
/*155920*/                    OPC_RecordNode, // #7 = 'ld' chained node
/*155921*/                    OPC_CheckFoldableChainNode,
/*155922*/                    OPC_CheckChild1Same, 3,
/*155924*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155926*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*155928*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155930*/                    OPC_MoveParent,
/*155931*/                    OPC_MoveParent,
/*155932*/                    OPC_MoveParent,
/*155933*/                    OPC_MoveParent,
/*155934*/                    OPC_MoveChild1,
/*155935*/                    OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*155938*/                    OPC_MoveChild0,
/*155939*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155942*/                    OPC_RecordMemRef,
/*155943*/                    OPC_RecordNode, // #8 = 'ld' chained node
/*155944*/                    OPC_CheckFoldableChainNode,
/*155945*/                    OPC_MoveChild1,
/*155946*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155949*/                    OPC_CheckType, MVT::i64,
/*155951*/                    OPC_Scope, 34|128,1/*162*/, /*->156116*/ // 2 children in Scope
/*155954*/                      OPC_CheckChild0Same, 3,
/*155956*/                      OPC_CheckChild1Integer, 3, 
/*155958*/                      OPC_MoveParent,
/*155959*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155961*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155963*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155965*/                      OPC_MoveParent,
/*155966*/                      OPC_MoveChild1,
/*155967*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*155970*/                      OPC_RecordMemRef,
/*155971*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*155972*/                      OPC_CheckFoldableChainNode,
/*155973*/                      OPC_MoveChild1,
/*155974*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*155977*/                      OPC_CheckChild0Same, 1,
/*155979*/                      OPC_CheckChild1Integer, 3, 
/*155981*/                      OPC_CheckType, MVT::i64,
/*155983*/                      OPC_MoveParent,
/*155984*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*155986*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*155988*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*155990*/                      OPC_MoveParent,
/*155991*/                      OPC_MoveParent,
/*155992*/                      OPC_CheckType, MVT::i32,
/*155994*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*155996*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*156006*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*156009*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*156016*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*156022*/                      OPC_EmitInteger, MVT::i64, 0, 
/*156025*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*156033*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156036*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*156044*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156047*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*156056*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*156062*/                      OPC_EmitInteger, MVT::i64, 0, 
/*156065*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*156073*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156076*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*156084*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156087*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*156096*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*156105*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*156108*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*156116*/                    /*Scope*/ 34|128,1/*162*/, /*->156280*/
/*156118*/                      OPC_CheckChild0Same, 1,
/*156120*/                      OPC_CheckChild1Integer, 3, 
/*156122*/                      OPC_MoveParent,
/*156123*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156125*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*156127*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156129*/                      OPC_MoveParent,
/*156130*/                      OPC_MoveChild1,
/*156131*/                      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156134*/                      OPC_RecordMemRef,
/*156135*/                      OPC_RecordNode, // #9 = 'ld' chained node
/*156136*/                      OPC_CheckFoldableChainNode,
/*156137*/                      OPC_MoveChild1,
/*156138*/                      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156141*/                      OPC_CheckChild0Same, 3,
/*156143*/                      OPC_CheckChild1Integer, 3, 
/*156145*/                      OPC_CheckType, MVT::i64,
/*156147*/                      OPC_MoveParent,
/*156148*/                      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156150*/                      OPC_CheckPredicate, 7, // Predicate_zextload
/*156152*/                      OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156154*/                      OPC_MoveParent,
/*156155*/                      OPC_MoveParent,
/*156156*/                      OPC_CheckType, MVT::i32,
/*156158*/                      OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*156160*/                      OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*156170*/                      OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*156173*/                      OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                    MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*156180*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*156186*/                      OPC_EmitInteger, MVT::i64, 0, 
/*156189*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*156197*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156200*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*156208*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156211*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*156220*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*156226*/                      OPC_EmitInteger, MVT::i64, 0, 
/*156229*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*156237*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156240*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*156248*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156251*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*156260*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*156269*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*156272*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*156280*/                    0, /*End of Scope*/
/*156281*/                  0, /*End of Scope*/
/*156282*/                0, /*End of Scope*/
/*156283*/              /*Scope*/ 55|128,6/*823*/, /*->157108*/
/*156285*/                OPC_CheckChild1Same, 1,
/*156287*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156289*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*156291*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156293*/                OPC_MoveParent,
/*156294*/                OPC_MoveChild1,
/*156295*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156298*/                OPC_RecordMemRef,
/*156299*/                OPC_RecordNode, // #5 = 'ld' chained node
/*156300*/                OPC_CheckFoldableChainNode,
/*156301*/                OPC_CheckChild1Same, 3,
/*156303*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156305*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*156307*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156309*/                OPC_MoveParent,
/*156310*/                OPC_MoveParent,
/*156311*/                OPC_MoveChild1,
/*156312*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*156315*/                OPC_MoveChild0,
/*156316*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156319*/                OPC_RecordMemRef,
/*156320*/                OPC_RecordNode, // #6 = 'ld' chained node
/*156321*/                OPC_CheckFoldableChainNode,
/*156322*/                OPC_MoveChild1,
/*156323*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156326*/                OPC_CheckType, MVT::i64,
/*156328*/                OPC_Scope, 3|128,3/*387*/, /*->156718*/ // 2 children in Scope
/*156331*/                  OPC_CheckChild0Same, 1,
/*156333*/                  OPC_CheckChild1Integer, 1, 
/*156335*/                  OPC_MoveParent,
/*156336*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156338*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*156340*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156342*/                  OPC_MoveParent,
/*156343*/                  OPC_MoveChild1,
/*156344*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156347*/                  OPC_RecordMemRef,
/*156348*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*156349*/                  OPC_CheckFoldableChainNode,
/*156350*/                  OPC_MoveChild1,
/*156351*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156354*/                  OPC_CheckChild0Same, 3,
/*156356*/                  OPC_CheckChild1Integer, 1, 
/*156358*/                  OPC_CheckType, MVT::i64,
/*156360*/                  OPC_MoveParent,
/*156361*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156363*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*156365*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156367*/                  OPC_MoveParent,
/*156368*/                  OPC_MoveParent,
/*156369*/                  OPC_MoveParent,
/*156370*/                  OPC_MoveParent,
/*156371*/                  OPC_MoveChild1,
/*156372*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*156375*/                  OPC_MoveChild0,
/*156376*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156379*/                  OPC_RecordMemRef,
/*156380*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*156381*/                  OPC_CheckFoldableChainNode,
/*156382*/                  OPC_MoveChild1,
/*156383*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156386*/                  OPC_CheckType, MVT::i64,
/*156388*/                  OPC_Scope, 34|128,1/*162*/, /*->156553*/ // 2 children in Scope
/*156391*/                    OPC_CheckChild0Same, 1,
/*156393*/                    OPC_CheckChild1Integer, 3, 
/*156395*/                    OPC_MoveParent,
/*156396*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156398*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*156400*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156402*/                    OPC_MoveParent,
/*156403*/                    OPC_MoveChild1,
/*156404*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156407*/                    OPC_RecordMemRef,
/*156408*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*156409*/                    OPC_CheckFoldableChainNode,
/*156410*/                    OPC_MoveChild1,
/*156411*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156414*/                    OPC_CheckChild0Same, 3,
/*156416*/                    OPC_CheckChild1Integer, 3, 
/*156418*/                    OPC_CheckType, MVT::i64,
/*156420*/                    OPC_MoveParent,
/*156421*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156423*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*156425*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156427*/                    OPC_MoveParent,
/*156428*/                    OPC_MoveParent,
/*156429*/                    OPC_CheckType, MVT::i32,
/*156431*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*156433*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*156443*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*156446*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*156453*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*156459*/                    OPC_EmitInteger, MVT::i64, 0, 
/*156462*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*156470*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156473*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*156481*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156484*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*156493*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*156499*/                    OPC_EmitInteger, MVT::i64, 0, 
/*156502*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*156510*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156513*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*156521*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156524*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*156533*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*156542*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*156545*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*156553*/                  /*Scope*/ 34|128,1/*162*/, /*->156717*/
/*156555*/                    OPC_CheckChild0Same, 3,
/*156557*/                    OPC_CheckChild1Integer, 3, 
/*156559*/                    OPC_MoveParent,
/*156560*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156562*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*156564*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156566*/                    OPC_MoveParent,
/*156567*/                    OPC_MoveChild1,
/*156568*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156571*/                    OPC_RecordMemRef,
/*156572*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*156573*/                    OPC_CheckFoldableChainNode,
/*156574*/                    OPC_MoveChild1,
/*156575*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156578*/                    OPC_CheckChild0Same, 1,
/*156580*/                    OPC_CheckChild1Integer, 3, 
/*156582*/                    OPC_CheckType, MVT::i64,
/*156584*/                    OPC_MoveParent,
/*156585*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156587*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*156589*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156591*/                    OPC_MoveParent,
/*156592*/                    OPC_MoveParent,
/*156593*/                    OPC_CheckType, MVT::i32,
/*156595*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*156597*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*156607*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*156610*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*156617*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*156623*/                    OPC_EmitInteger, MVT::i64, 0, 
/*156626*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*156634*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156637*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*156645*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156648*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*156657*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*156663*/                    OPC_EmitInteger, MVT::i64, 0, 
/*156666*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*156674*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156677*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*156685*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156688*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*156697*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*156706*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*156709*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*156717*/                  0, /*End of Scope*/
/*156718*/                /*Scope*/ 3|128,3/*387*/, /*->157107*/
/*156720*/                  OPC_CheckChild0Same, 3,
/*156722*/                  OPC_CheckChild1Integer, 1, 
/*156724*/                  OPC_MoveParent,
/*156725*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156727*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*156729*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156731*/                  OPC_MoveParent,
/*156732*/                  OPC_MoveChild1,
/*156733*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156736*/                  OPC_RecordMemRef,
/*156737*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*156738*/                  OPC_CheckFoldableChainNode,
/*156739*/                  OPC_MoveChild1,
/*156740*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156743*/                  OPC_CheckChild0Same, 1,
/*156745*/                  OPC_CheckChild1Integer, 1, 
/*156747*/                  OPC_CheckType, MVT::i64,
/*156749*/                  OPC_MoveParent,
/*156750*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156752*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*156754*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156756*/                  OPC_MoveParent,
/*156757*/                  OPC_MoveParent,
/*156758*/                  OPC_MoveParent,
/*156759*/                  OPC_MoveParent,
/*156760*/                  OPC_MoveChild1,
/*156761*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*156764*/                  OPC_MoveChild0,
/*156765*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156768*/                  OPC_RecordMemRef,
/*156769*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*156770*/                  OPC_CheckFoldableChainNode,
/*156771*/                  OPC_MoveChild1,
/*156772*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156775*/                  OPC_CheckType, MVT::i64,
/*156777*/                  OPC_Scope, 34|128,1/*162*/, /*->156942*/ // 2 children in Scope
/*156780*/                    OPC_CheckChild0Same, 1,
/*156782*/                    OPC_CheckChild1Integer, 3, 
/*156784*/                    OPC_MoveParent,
/*156785*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156787*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*156789*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156791*/                    OPC_MoveParent,
/*156792*/                    OPC_MoveChild1,
/*156793*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156796*/                    OPC_RecordMemRef,
/*156797*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*156798*/                    OPC_CheckFoldableChainNode,
/*156799*/                    OPC_MoveChild1,
/*156800*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156803*/                    OPC_CheckChild0Same, 3,
/*156805*/                    OPC_CheckChild1Integer, 3, 
/*156807*/                    OPC_CheckType, MVT::i64,
/*156809*/                    OPC_MoveParent,
/*156810*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156812*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*156814*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156816*/                    OPC_MoveParent,
/*156817*/                    OPC_MoveParent,
/*156818*/                    OPC_CheckType, MVT::i32,
/*156820*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*156822*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*156832*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*156835*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*156842*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*156848*/                    OPC_EmitInteger, MVT::i64, 0, 
/*156851*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*156859*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156862*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*156870*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156873*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*156882*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*156888*/                    OPC_EmitInteger, MVT::i64, 0, 
/*156891*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*156899*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*156902*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*156910*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*156913*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*156922*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*156931*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*156934*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*156942*/                  /*Scope*/ 34|128,1/*162*/, /*->157106*/
/*156944*/                    OPC_CheckChild0Same, 3,
/*156946*/                    OPC_CheckChild1Integer, 3, 
/*156948*/                    OPC_MoveParent,
/*156949*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156951*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*156953*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156955*/                    OPC_MoveParent,
/*156956*/                    OPC_MoveChild1,
/*156957*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*156960*/                    OPC_RecordMemRef,
/*156961*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*156962*/                    OPC_CheckFoldableChainNode,
/*156963*/                    OPC_MoveChild1,
/*156964*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*156967*/                    OPC_CheckChild0Same, 1,
/*156969*/                    OPC_CheckChild1Integer, 3, 
/*156971*/                    OPC_CheckType, MVT::i64,
/*156973*/                    OPC_MoveParent,
/*156974*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*156976*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*156978*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*156980*/                    OPC_MoveParent,
/*156981*/                    OPC_MoveParent,
/*156982*/                    OPC_CheckType, MVT::i32,
/*156984*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*156986*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*156996*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*156999*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*157006*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*157012*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157015*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*157023*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157026*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*157034*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157037*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*157046*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*157052*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157055*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*157063*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157066*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*157074*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157077*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*157086*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*157095*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*157098*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*157106*/                  0, /*End of Scope*/
/*157107*/                0, /*End of Scope*/
/*157108*/              /*Scope*/ 63|128,11/*1471*/, /*->158581*/
/*157110*/                OPC_CheckChild1Same, 3,
/*157112*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157114*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*157116*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157118*/                OPC_MoveParent,
/*157119*/                OPC_MoveChild1,
/*157120*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157123*/                OPC_RecordMemRef,
/*157124*/                OPC_RecordNode, // #5 = 'ld' chained node
/*157125*/                OPC_CheckFoldableChainNode,
/*157126*/                OPC_CheckChild1Same, 1,
/*157128*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157130*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*157132*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157134*/                OPC_MoveParent,
/*157135*/                OPC_MoveParent,
/*157136*/                OPC_MoveChild1,
/*157137*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*157140*/                OPC_MoveChild0,
/*157141*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157144*/                OPC_RecordMemRef,
/*157145*/                OPC_RecordNode, // #6 = 'ld' chained node
/*157146*/                OPC_CheckFoldableChainNode,
/*157147*/                OPC_MoveChild1,
/*157148*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157151*/                OPC_CheckType, MVT::i64,
/*157153*/                OPC_Scope, 3|128,3/*387*/, /*->157543*/ // 3 children in Scope
/*157156*/                  OPC_CheckChild0Same, 1,
/*157158*/                  OPC_CheckChild1Integer, 1, 
/*157160*/                  OPC_MoveParent,
/*157161*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157163*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*157165*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157167*/                  OPC_MoveParent,
/*157168*/                  OPC_MoveChild1,
/*157169*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157172*/                  OPC_RecordMemRef,
/*157173*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*157174*/                  OPC_CheckFoldableChainNode,
/*157175*/                  OPC_MoveChild1,
/*157176*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157179*/                  OPC_CheckChild0Same, 3,
/*157181*/                  OPC_CheckChild1Integer, 1, 
/*157183*/                  OPC_CheckType, MVT::i64,
/*157185*/                  OPC_MoveParent,
/*157186*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157188*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*157190*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157192*/                  OPC_MoveParent,
/*157193*/                  OPC_MoveParent,
/*157194*/                  OPC_MoveParent,
/*157195*/                  OPC_MoveParent,
/*157196*/                  OPC_MoveChild1,
/*157197*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*157200*/                  OPC_MoveChild0,
/*157201*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157204*/                  OPC_RecordMemRef,
/*157205*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*157206*/                  OPC_CheckFoldableChainNode,
/*157207*/                  OPC_MoveChild1,
/*157208*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157211*/                  OPC_CheckType, MVT::i64,
/*157213*/                  OPC_Scope, 34|128,1/*162*/, /*->157378*/ // 2 children in Scope
/*157216*/                    OPC_CheckChild0Same, 1,
/*157218*/                    OPC_CheckChild1Integer, 3, 
/*157220*/                    OPC_MoveParent,
/*157221*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157223*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*157225*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157227*/                    OPC_MoveParent,
/*157228*/                    OPC_MoveChild1,
/*157229*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157232*/                    OPC_RecordMemRef,
/*157233*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*157234*/                    OPC_CheckFoldableChainNode,
/*157235*/                    OPC_MoveChild1,
/*157236*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157239*/                    OPC_CheckChild0Same, 3,
/*157241*/                    OPC_CheckChild1Integer, 3, 
/*157243*/                    OPC_CheckType, MVT::i64,
/*157245*/                    OPC_MoveParent,
/*157246*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157248*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*157250*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157252*/                    OPC_MoveParent,
/*157253*/                    OPC_MoveParent,
/*157254*/                    OPC_CheckType, MVT::i32,
/*157256*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*157258*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*157268*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*157271*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*157278*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*157284*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157287*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*157295*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157298*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*157306*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157309*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*157318*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*157324*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157327*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*157335*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157338*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*157346*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157349*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*157358*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*157367*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*157370*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*157378*/                  /*Scope*/ 34|128,1/*162*/, /*->157542*/
/*157380*/                    OPC_CheckChild0Same, 3,
/*157382*/                    OPC_CheckChild1Integer, 3, 
/*157384*/                    OPC_MoveParent,
/*157385*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157387*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*157389*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157391*/                    OPC_MoveParent,
/*157392*/                    OPC_MoveChild1,
/*157393*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157396*/                    OPC_RecordMemRef,
/*157397*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*157398*/                    OPC_CheckFoldableChainNode,
/*157399*/                    OPC_MoveChild1,
/*157400*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157403*/                    OPC_CheckChild0Same, 1,
/*157405*/                    OPC_CheckChild1Integer, 3, 
/*157407*/                    OPC_CheckType, MVT::i64,
/*157409*/                    OPC_MoveParent,
/*157410*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157412*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*157414*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157416*/                    OPC_MoveParent,
/*157417*/                    OPC_MoveParent,
/*157418*/                    OPC_CheckType, MVT::i32,
/*157420*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*157422*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*157432*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*157435*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*157442*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*157448*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157451*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*157459*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157462*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*157470*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157473*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*157482*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*157488*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157491*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*157499*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157502*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*157510*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157513*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*157522*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*157531*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*157534*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*157542*/                  0, /*End of Scope*/
/*157543*/                /*Scope*/ 6|128,5/*646*/, /*->158191*/
/*157545*/                  OPC_CheckChild0Same, 3,
/*157547*/                  OPC_CheckChild1Integer, 1, 
/*157549*/                  OPC_MoveParent,
/*157550*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157552*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*157554*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157556*/                  OPC_MoveParent,
/*157557*/                  OPC_MoveChild1,
/*157558*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157561*/                  OPC_RecordMemRef,
/*157562*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*157563*/                  OPC_CheckFoldableChainNode,
/*157564*/                  OPC_MoveChild1,
/*157565*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157568*/                  OPC_CheckChild0Same, 1,
/*157570*/                  OPC_CheckChild1Integer, 1, 
/*157572*/                  OPC_CheckType, MVT::i64,
/*157574*/                  OPC_MoveParent,
/*157575*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157577*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*157579*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157581*/                  OPC_MoveParent,
/*157582*/                  OPC_MoveParent,
/*157583*/                  OPC_MoveParent,
/*157584*/                  OPC_MoveParent,
/*157585*/                  OPC_MoveChild1,
/*157586*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*157589*/                  OPC_MoveChild0,
/*157590*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157593*/                  OPC_RecordMemRef,
/*157594*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*157595*/                  OPC_CheckFoldableChainNode,
/*157596*/                  OPC_MoveChild1,
/*157597*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157600*/                  OPC_CheckType, MVT::i64,
/*157602*/                  OPC_Scope, 34|128,1/*162*/, /*->157767*/ // 3 children in Scope
/*157605*/                    OPC_CheckChild0Same, 1,
/*157607*/                    OPC_CheckChild1Integer, 3, 
/*157609*/                    OPC_MoveParent,
/*157610*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157612*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*157614*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157616*/                    OPC_MoveParent,
/*157617*/                    OPC_MoveChild1,
/*157618*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157621*/                    OPC_RecordMemRef,
/*157622*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*157623*/                    OPC_CheckFoldableChainNode,
/*157624*/                    OPC_MoveChild1,
/*157625*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157628*/                    OPC_CheckChild0Same, 3,
/*157630*/                    OPC_CheckChild1Integer, 3, 
/*157632*/                    OPC_CheckType, MVT::i64,
/*157634*/                    OPC_MoveParent,
/*157635*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157637*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*157639*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157641*/                    OPC_MoveParent,
/*157642*/                    OPC_MoveParent,
/*157643*/                    OPC_CheckType, MVT::i32,
/*157645*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*157647*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*157657*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*157660*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*157667*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*157673*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157676*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*157684*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157687*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*157695*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157698*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*157707*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*157713*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157716*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*157724*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157727*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*157735*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157738*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*157747*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*157756*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*157759*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*157767*/                  /*Scope*/ 1|128,2/*257*/, /*->158026*/
/*157769*/                    OPC_CheckChild0Same, 3,
/*157771*/                    OPC_CheckChild1Integer, 3, 
/*157773*/                    OPC_MoveParent,
/*157774*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157776*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*157778*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157780*/                    OPC_MoveParent,
/*157781*/                    OPC_MoveChild1,
/*157782*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*157785*/                    OPC_RecordMemRef,
/*157786*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*157787*/                    OPC_CheckFoldableChainNode,
/*157788*/                    OPC_MoveChild1,
/*157789*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*157792*/                    OPC_CheckChild0Same, 1,
/*157794*/                    OPC_CheckChild1Integer, 3, 
/*157796*/                    OPC_CheckType, MVT::i64,
/*157798*/                    OPC_MoveParent,
/*157799*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*157801*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*157803*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*157805*/                    OPC_MoveParent,
/*157806*/                    OPC_MoveParent,
/*157807*/                    OPC_CheckType, MVT::i32,
/*157809*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*157811*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*157821*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*157824*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*157831*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*157837*/                    OPC_EmitInteger, MVT::i64, 0, 
/*157840*/                    OPC_Scope, 91, /*->157933*/ // 2 children in Scope
/*157842*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 13,  // Results = #14
/*157850*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157853*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*157861*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157864*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*157873*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*157879*/                      OPC_EmitInteger, MVT::i64, 0, 
/*157882*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 20,  // Results = #21
/*157890*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157893*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*157901*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157904*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*157913*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*157922*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*157925*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*157933*/                    /*Scope*/ 91, /*->158025*/
/*157934*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*157942*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157945*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*157953*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157956*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*157965*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                    MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*157971*/                      OPC_EmitInteger, MVT::i64, 0, 
/*157974*/                      OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                    MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*157982*/                      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*157985*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                    MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*157993*/                      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*157996*/                      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                    MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*158005*/                      OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                    MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*158014*/                      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*158017*/                      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                    MVT::i32, 2/*#Ops*/, 26, 27, 
                                // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*158025*/                    0, /*End of Scope*/
/*158026*/                  /*Scope*/ 34|128,1/*162*/, /*->158190*/
/*158028*/                    OPC_CheckChild0Same, 1,
/*158030*/                    OPC_CheckChild1Integer, 3, 
/*158032*/                    OPC_MoveParent,
/*158033*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158035*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158037*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158039*/                    OPC_MoveParent,
/*158040*/                    OPC_MoveChild1,
/*158041*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158044*/                    OPC_RecordMemRef,
/*158045*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*158046*/                    OPC_CheckFoldableChainNode,
/*158047*/                    OPC_MoveChild1,
/*158048*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158051*/                    OPC_CheckChild0Same, 3,
/*158053*/                    OPC_CheckChild1Integer, 3, 
/*158055*/                    OPC_CheckType, MVT::i64,
/*158057*/                    OPC_MoveParent,
/*158058*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158060*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158062*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158064*/                    OPC_MoveParent,
/*158065*/                    OPC_MoveParent,
/*158066*/                    OPC_CheckType, MVT::i32,
/*158068*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*158070*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*158080*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*158083*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*158090*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*158096*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158099*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*158107*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158110*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*158118*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158121*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*158130*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*158136*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158139*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*158147*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158150*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*158158*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158161*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*158170*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*158179*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*158182*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*158190*/                  0, /*End of Scope*/
/*158191*/                /*Scope*/ 3|128,3/*387*/, /*->158580*/
/*158193*/                  OPC_CheckChild0Same, 1,
/*158195*/                  OPC_CheckChild1Integer, 1, 
/*158197*/                  OPC_MoveParent,
/*158198*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158200*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*158202*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158204*/                  OPC_MoveParent,
/*158205*/                  OPC_MoveChild1,
/*158206*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158209*/                  OPC_RecordMemRef,
/*158210*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*158211*/                  OPC_CheckFoldableChainNode,
/*158212*/                  OPC_MoveChild1,
/*158213*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158216*/                  OPC_CheckChild0Same, 3,
/*158218*/                  OPC_CheckChild1Integer, 1, 
/*158220*/                  OPC_CheckType, MVT::i64,
/*158222*/                  OPC_MoveParent,
/*158223*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158225*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*158227*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158229*/                  OPC_MoveParent,
/*158230*/                  OPC_MoveParent,
/*158231*/                  OPC_MoveParent,
/*158232*/                  OPC_MoveParent,
/*158233*/                  OPC_MoveChild1,
/*158234*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*158237*/                  OPC_MoveChild0,
/*158238*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158241*/                  OPC_RecordMemRef,
/*158242*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*158243*/                  OPC_CheckFoldableChainNode,
/*158244*/                  OPC_MoveChild1,
/*158245*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158248*/                  OPC_CheckType, MVT::i64,
/*158250*/                  OPC_Scope, 34|128,1/*162*/, /*->158415*/ // 2 children in Scope
/*158253*/                    OPC_CheckChild0Same, 3,
/*158255*/                    OPC_CheckChild1Integer, 3, 
/*158257*/                    OPC_MoveParent,
/*158258*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158260*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158262*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158264*/                    OPC_MoveParent,
/*158265*/                    OPC_MoveChild1,
/*158266*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158269*/                    OPC_RecordMemRef,
/*158270*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*158271*/                    OPC_CheckFoldableChainNode,
/*158272*/                    OPC_MoveChild1,
/*158273*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158276*/                    OPC_CheckChild0Same, 1,
/*158278*/                    OPC_CheckChild1Integer, 3, 
/*158280*/                    OPC_CheckType, MVT::i64,
/*158282*/                    OPC_MoveParent,
/*158283*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158285*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158287*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158289*/                    OPC_MoveParent,
/*158290*/                    OPC_MoveParent,
/*158291*/                    OPC_CheckType, MVT::i32,
/*158293*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*158295*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*158305*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*158308*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*158315*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*158321*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158324*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*158332*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158335*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*158343*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158346*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*158355*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*158361*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158364*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*158372*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158375*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*158383*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158386*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*158395*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*158404*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*158407*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*158415*/                  /*Scope*/ 34|128,1/*162*/, /*->158579*/
/*158417*/                    OPC_CheckChild0Same, 1,
/*158419*/                    OPC_CheckChild1Integer, 3, 
/*158421*/                    OPC_MoveParent,
/*158422*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158424*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158426*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158428*/                    OPC_MoveParent,
/*158429*/                    OPC_MoveChild1,
/*158430*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158433*/                    OPC_RecordMemRef,
/*158434*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*158435*/                    OPC_CheckFoldableChainNode,
/*158436*/                    OPC_MoveChild1,
/*158437*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158440*/                    OPC_CheckChild0Same, 3,
/*158442*/                    OPC_CheckChild1Integer, 3, 
/*158444*/                    OPC_CheckType, MVT::i64,
/*158446*/                    OPC_MoveParent,
/*158447*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158449*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158451*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158453*/                    OPC_MoveParent,
/*158454*/                    OPC_MoveParent,
/*158455*/                    OPC_CheckType, MVT::i32,
/*158457*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*158459*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*158469*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*158472*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*158479*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*158485*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158488*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*158496*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158499*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*158507*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158510*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*158519*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*158525*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158528*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*158536*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158539*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*158547*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158550*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*158559*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*158568*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*158571*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*158579*/                  0, /*End of Scope*/
/*158580*/                0, /*End of Scope*/
/*158581*/              /*Scope*/ 55|128,6/*823*/, /*->159406*/
/*158583*/                OPC_CheckChild1Same, 1,
/*158585*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158587*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*158589*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158591*/                OPC_MoveParent,
/*158592*/                OPC_MoveChild1,
/*158593*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158596*/                OPC_RecordMemRef,
/*158597*/                OPC_RecordNode, // #5 = 'ld' chained node
/*158598*/                OPC_CheckFoldableChainNode,
/*158599*/                OPC_CheckChild1Same, 3,
/*158601*/                OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158603*/                OPC_CheckPredicate, 7, // Predicate_zextload
/*158605*/                OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158607*/                OPC_MoveParent,
/*158608*/                OPC_MoveParent,
/*158609*/                OPC_MoveChild1,
/*158610*/                OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*158613*/                OPC_MoveChild0,
/*158614*/                OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158617*/                OPC_RecordMemRef,
/*158618*/                OPC_RecordNode, // #6 = 'ld' chained node
/*158619*/                OPC_CheckFoldableChainNode,
/*158620*/                OPC_MoveChild1,
/*158621*/                OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158624*/                OPC_CheckType, MVT::i64,
/*158626*/                OPC_Scope, 3|128,3/*387*/, /*->159016*/ // 2 children in Scope
/*158629*/                  OPC_CheckChild0Same, 3,
/*158631*/                  OPC_CheckChild1Integer, 1, 
/*158633*/                  OPC_MoveParent,
/*158634*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158636*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*158638*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158640*/                  OPC_MoveParent,
/*158641*/                  OPC_MoveChild1,
/*158642*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158645*/                  OPC_RecordMemRef,
/*158646*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*158647*/                  OPC_CheckFoldableChainNode,
/*158648*/                  OPC_MoveChild1,
/*158649*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158652*/                  OPC_CheckChild0Same, 1,
/*158654*/                  OPC_CheckChild1Integer, 1, 
/*158656*/                  OPC_CheckType, MVT::i64,
/*158658*/                  OPC_MoveParent,
/*158659*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158661*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*158663*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158665*/                  OPC_MoveParent,
/*158666*/                  OPC_MoveParent,
/*158667*/                  OPC_MoveParent,
/*158668*/                  OPC_MoveParent,
/*158669*/                  OPC_MoveChild1,
/*158670*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*158673*/                  OPC_MoveChild0,
/*158674*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158677*/                  OPC_RecordMemRef,
/*158678*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*158679*/                  OPC_CheckFoldableChainNode,
/*158680*/                  OPC_MoveChild1,
/*158681*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158684*/                  OPC_CheckType, MVT::i64,
/*158686*/                  OPC_Scope, 34|128,1/*162*/, /*->158851*/ // 2 children in Scope
/*158689*/                    OPC_CheckChild0Same, 3,
/*158691*/                    OPC_CheckChild1Integer, 3, 
/*158693*/                    OPC_MoveParent,
/*158694*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158696*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158698*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158700*/                    OPC_MoveParent,
/*158701*/                    OPC_MoveChild1,
/*158702*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158705*/                    OPC_RecordMemRef,
/*158706*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*158707*/                    OPC_CheckFoldableChainNode,
/*158708*/                    OPC_MoveChild1,
/*158709*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158712*/                    OPC_CheckChild0Same, 1,
/*158714*/                    OPC_CheckChild1Integer, 3, 
/*158716*/                    OPC_CheckType, MVT::i64,
/*158718*/                    OPC_MoveParent,
/*158719*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158721*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158723*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158725*/                    OPC_MoveParent,
/*158726*/                    OPC_MoveParent,
/*158727*/                    OPC_CheckType, MVT::i32,
/*158729*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*158731*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*158741*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*158744*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*158751*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*158757*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158760*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*158768*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158771*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*158779*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158782*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*158791*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*158797*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158800*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*158808*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158811*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*158819*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158822*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*158831*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*158840*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*158843*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*158851*/                  /*Scope*/ 34|128,1/*162*/, /*->159015*/
/*158853*/                    OPC_CheckChild0Same, 1,
/*158855*/                    OPC_CheckChild1Integer, 3, 
/*158857*/                    OPC_MoveParent,
/*158858*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158860*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158862*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158864*/                    OPC_MoveParent,
/*158865*/                    OPC_MoveChild1,
/*158866*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*158869*/                    OPC_RecordMemRef,
/*158870*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*158871*/                    OPC_CheckFoldableChainNode,
/*158872*/                    OPC_MoveChild1,
/*158873*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*158876*/                    OPC_CheckChild0Same, 3,
/*158878*/                    OPC_CheckChild1Integer, 3, 
/*158880*/                    OPC_CheckType, MVT::i64,
/*158882*/                    OPC_MoveParent,
/*158883*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*158885*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*158887*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*158889*/                    OPC_MoveParent,
/*158890*/                    OPC_MoveParent,
/*158891*/                    OPC_CheckType, MVT::i32,
/*158893*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*158895*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*158905*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*158908*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*158915*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*158921*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158924*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*158932*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158935*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*158943*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158946*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*158955*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*158961*/                    OPC_EmitInteger, MVT::i64, 0, 
/*158964*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*158972*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*158975*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*158983*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*158986*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*158995*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*159004*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*159007*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*159015*/                  0, /*End of Scope*/
/*159016*/                /*Scope*/ 3|128,3/*387*/, /*->159405*/
/*159018*/                  OPC_CheckChild0Same, 1,
/*159020*/                  OPC_CheckChild1Integer, 1, 
/*159022*/                  OPC_MoveParent,
/*159023*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*159025*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*159027*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*159029*/                  OPC_MoveParent,
/*159030*/                  OPC_MoveChild1,
/*159031*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*159034*/                  OPC_RecordMemRef,
/*159035*/                  OPC_RecordNode, // #7 = 'ld' chained node
/*159036*/                  OPC_CheckFoldableChainNode,
/*159037*/                  OPC_MoveChild1,
/*159038*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*159041*/                  OPC_CheckChild0Same, 3,
/*159043*/                  OPC_CheckChild1Integer, 1, 
/*159045*/                  OPC_CheckType, MVT::i64,
/*159047*/                  OPC_MoveParent,
/*159048*/                  OPC_CheckPredicate, 4, // Predicate_unindexedload
/*159050*/                  OPC_CheckPredicate, 7, // Predicate_zextload
/*159052*/                  OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*159054*/                  OPC_MoveParent,
/*159055*/                  OPC_MoveParent,
/*159056*/                  OPC_MoveParent,
/*159057*/                  OPC_MoveParent,
/*159058*/                  OPC_MoveChild1,
/*159059*/                  OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*159062*/                  OPC_MoveChild0,
/*159063*/                  OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*159066*/                  OPC_RecordMemRef,
/*159067*/                  OPC_RecordNode, // #8 = 'ld' chained node
/*159068*/                  OPC_CheckFoldableChainNode,
/*159069*/                  OPC_MoveChild1,
/*159070*/                  OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*159073*/                  OPC_CheckType, MVT::i64,
/*159075*/                  OPC_Scope, 34|128,1/*162*/, /*->159240*/ // 2 children in Scope
/*159078*/                    OPC_CheckChild0Same, 3,
/*159080*/                    OPC_CheckChild1Integer, 3, 
/*159082*/                    OPC_MoveParent,
/*159083*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*159085*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*159087*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*159089*/                    OPC_MoveParent,
/*159090*/                    OPC_MoveChild1,
/*159091*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*159094*/                    OPC_RecordMemRef,
/*159095*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*159096*/                    OPC_CheckFoldableChainNode,
/*159097*/                    OPC_MoveChild1,
/*159098*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*159101*/                    OPC_CheckChild0Same, 1,
/*159103*/                    OPC_CheckChild1Integer, 3, 
/*159105*/                    OPC_CheckType, MVT::i64,
/*159107*/                    OPC_MoveParent,
/*159108*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*159110*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*159112*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*159114*/                    OPC_MoveParent,
/*159115*/                    OPC_MoveParent,
/*159116*/                    OPC_CheckType, MVT::i32,
/*159118*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*159120*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*159130*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*159133*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*159140*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*159146*/                    OPC_EmitInteger, MVT::i64, 0, 
/*159149*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*159157*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*159160*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*159168*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*159171*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*159180*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*159186*/                    OPC_EmitInteger, MVT::i64, 0, 
/*159189*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*159197*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*159200*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*159208*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*159211*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*159220*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*159229*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*159232*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*159240*/                  /*Scope*/ 34|128,1/*162*/, /*->159404*/
/*159242*/                    OPC_CheckChild0Same, 1,
/*159244*/                    OPC_CheckChild1Integer, 3, 
/*159246*/                    OPC_MoveParent,
/*159247*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*159249*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*159251*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*159253*/                    OPC_MoveParent,
/*159254*/                    OPC_MoveChild1,
/*159255*/                    OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*159258*/                    OPC_RecordMemRef,
/*159259*/                    OPC_RecordNode, // #9 = 'ld' chained node
/*159260*/                    OPC_CheckFoldableChainNode,
/*159261*/                    OPC_MoveChild1,
/*159262*/                    OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*159265*/                    OPC_CheckChild0Same, 3,
/*159267*/                    OPC_CheckChild1Integer, 3, 
/*159269*/                    OPC_CheckType, MVT::i64,
/*159271*/                    OPC_MoveParent,
/*159272*/                    OPC_CheckPredicate, 4, // Predicate_unindexedload
/*159274*/                    OPC_CheckPredicate, 7, // Predicate_zextload
/*159276*/                    OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*159278*/                    OPC_MoveParent,
/*159279*/                    OPC_MoveParent,
/*159280*/                    OPC_CheckType, MVT::i32,
/*159282*/                    OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*159284*/                    OPC_EmitMergeInputChains, 8, 0, 2, 4, 5, 6, 7, 8, 9, 
/*159294*/                    OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*159297*/                    OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                                  MVT::i64, 1/*#Ops*/, 10,  // Results = #11
/*159304*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #12
/*159310*/                    OPC_EmitInteger, MVT::i64, 0, 
/*159313*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 3, 13,  // Results = #14
/*159321*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*159324*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 14, 15,  // Results = #16
/*159332*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*159335*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 12, 16, 17,  // Results = #18
/*159344*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                                  MVT::v2i32, 0/*#Ops*/,  // Results = #19
/*159350*/                    OPC_EmitInteger, MVT::i64, 0, 
/*159353*/                    OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain,
                                  MVT::i32, 2/*#Ops*/, 1, 20,  // Results = #21
/*159361*/                    OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*159364*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                                  MVT::i32, 2/*#Ops*/, 21, 22,  // Results = #23
/*159372*/                    OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*159375*/                    OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                                  MVT::v2i32, 3/*#Ops*/, 19, 23, 24,  // Results = #25
/*159384*/                    OPC_EmitNode1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                                  MVT::i64, 3/*#Ops*/, 11, 18, 25,  // Results = #26
/*159393*/                    OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*159396*/                    OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain|OPFL_MemRefs,
                                  MVT::i32, 2/*#Ops*/, 26, 27, 
                              // Src: (add:{ *:[i32] } (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (add:{ *:[i32] } (mul:{ *:[i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>))), (mul:{ *:[i32] } (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rm, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>, (ld:{ *:[i32] } (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, 3:{ *:[i64] }))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>)) - Complexity = 111
                              // Dst: (EXTRACT_SUBREG:{ *:[i32] } (UDOTv8i8:{ *:[i64] } (DUPv2i32gpr:{ *:[i64] } WZR:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] }), (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (COPY_TO_REGCLASS:{ *:[i32] } (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rm, 0:{ *:[i64] }), FPR32:{ *:[i32] }), ssub:{ *:[i32] })), sub_32:{ *:[i32] })
/*159404*/                  0, /*End of Scope*/
/*159405*/                0, /*End of Scope*/
/*159406*/              0, /*End of Scope*/
/*159407*/            0, /*End of Scope*/
/*159408*/          0, /*End of Scope*/
/*159409*/        0, // EndSwitchOpcode
/*159410*/      /*SwitchOpcode*/ 57, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->159470
/*159413*/        OPC_RecordChild0, // #0 = $Rn
/*159414*/        OPC_CheckChild0Type, MVT::v2i64,
/*159416*/        OPC_Scope, 25, /*->159443*/ // 2 children in Scope
/*159418*/          OPC_CheckChild1Integer, 0, 
/*159420*/          OPC_CheckChild1Type, MVT::i64,
/*159422*/          OPC_MoveParent,
/*159423*/          OPC_MoveChild1,
/*159424*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*159427*/          OPC_CheckChild0Same, 0,
/*159429*/          OPC_CheckChild1Integer, 1, 
/*159431*/          OPC_CheckChild1Type, MVT::i64,
/*159433*/          OPC_MoveParent,
/*159434*/          OPC_CheckType, MVT::i64,
/*159436*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv2i64p), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (add:{ *:[i64] } (vector_extract:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rn, 0:{ *:[i64] }), (vector_extract:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rn, 1:{ *:[i64] })) - Complexity = 19
                    // Dst: (ADDPv2i64p:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rn)
/*159443*/        /*Scope*/ 25, /*->159469*/
/*159444*/          OPC_CheckChild1Integer, 1, 
/*159446*/          OPC_CheckChild1Type, MVT::i64,
/*159448*/          OPC_MoveParent,
/*159449*/          OPC_MoveChild1,
/*159450*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*159453*/          OPC_CheckChild0Same, 0,
/*159455*/          OPC_CheckChild1Integer, 0, 
/*159457*/          OPC_CheckChild1Type, MVT::i64,
/*159459*/          OPC_MoveParent,
/*159460*/          OPC_CheckType, MVT::i64,
/*159462*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv2i64p), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (add:{ *:[i64] } (vector_extract:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rn, 1:{ *:[i64] }), (vector_extract:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rn, 0:{ *:[i64] })) - Complexity = 19
                    // Dst: (ADDPv2i64p:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rn)
/*159469*/        0, /*End of Scope*/
/*159470*/      0, // EndSwitchOpcode
/*159471*/    /*Scope*/ 64, /*->159536*/
/*159472*/      OPC_RecordChild0, // #0 = $Rn
/*159473*/      OPC_RecordChild1, // #1 = $imm
/*159474*/      OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->159505
/*159477*/        OPC_Scope, 12, /*->159491*/ // 2 children in Scope
/*159479*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectArithImmed:$imm #2 #3
/*159482*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDWri), 0,
                        MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (add:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm) - Complexity = 18
                    // Dst: (ADDWri:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm)
/*159491*/        /*Scope*/ 12, /*->159504*/
/*159492*/          OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectArithImmed:$imm #2 #3
/*159495*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDWri), 0,
                        MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (add:{ *:[i32] } addsub_shifted_imm32:{ *:[i32] }:$imm, GPR32sp:{ *:[i32] }:$Rn) - Complexity = 18
                    // Dst: (ADDWri:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm)
/*159504*/        0, /*End of Scope*/
/*159505*/      /*SwitchType*/ 28, MVT::i64,// ->159535
/*159507*/        OPC_Scope, 12, /*->159521*/ // 2 children in Scope
/*159509*/          OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectArithImmed:$imm #2 #3
/*159512*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDXri), 0,
                        MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm) - Complexity = 18
                    // Dst: (ADDXri:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm)
/*159521*/        /*Scope*/ 12, /*->159534*/
/*159522*/          OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectArithImmed:$imm #2 #3
/*159525*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDXri), 0,
                        MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (add:{ *:[i64] } addsub_shifted_imm64:{ *:[i64] }:$imm, GPR64sp:{ *:[i64] }:$Rn) - Complexity = 18
                    // Dst: (ADDXri:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm)
/*159534*/        0, /*End of Scope*/
/*159535*/      0, // EndSwitchType
/*159536*/    /*Scope*/ 83, /*->159620*/
/*159537*/      OPC_MoveChild0,
/*159538*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*159541*/      OPC_MoveChild0,
/*159542*/      OPC_SwitchOpcode /*2 cases */, 35, TARGET_VAL(ISD::SIGN_EXTEND),// ->159581
/*159546*/        OPC_RecordChild0, // #0 = $Rn
/*159547*/        OPC_MoveParent,
/*159548*/        OPC_RecordChild1, // #1 = $C
/*159549*/        OPC_MoveChild1,
/*159550*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*159553*/        OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*159555*/        OPC_MoveParent,
/*159556*/        OPC_MoveParent,
/*159557*/        OPC_RecordChild1, // #2 = $Ra
/*159558*/        OPC_CheckType, MVT::i64,
/*159560*/        OPC_EmitConvertToTarget, 1,
/*159562*/        OPC_EmitNodeXForm, 0, 3, // trunc_imm
/*159565*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 4,  // Results = #5
/*159572*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 0, 5, 2, 
                  // Src: (add:{ *:[i64] } (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C), GPR64:{ *:[i64] }:$Ra) - Complexity = 18
                  // Dst: (SMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*159581*/      /*SwitchOpcode*/ 35, TARGET_VAL(ISD::ZERO_EXTEND),// ->159619
/*159584*/        OPC_RecordChild0, // #0 = $Rn
/*159585*/        OPC_MoveParent,
/*159586*/        OPC_RecordChild1, // #1 = $C
/*159587*/        OPC_MoveChild1,
/*159588*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*159591*/        OPC_CheckPredicate, 9, // Predicate_i64imm_32bit
/*159593*/        OPC_MoveParent,
/*159594*/        OPC_MoveParent,
/*159595*/        OPC_RecordChild1, // #2 = $Ra
/*159596*/        OPC_CheckType, MVT::i64,
/*159598*/        OPC_EmitConvertToTarget, 1,
/*159600*/        OPC_EmitNodeXForm, 0, 3, // trunc_imm
/*159603*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 4,  // Results = #5
/*159610*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 0, 5, 2, 
                  // Src: (add:{ *:[i64] } (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_i64imm_32bit>>:$C), GPR64:{ *:[i64] }:$Ra) - Complexity = 18
                  // Dst: (UMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*159619*/      0, // EndSwitchOpcode
/*159620*/    /*Scope*/ 82, /*->159703*/
/*159621*/      OPC_RecordChild0, // #0 = $Ra
/*159622*/      OPC_MoveChild1,
/*159623*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*159626*/      OPC_MoveChild0,
/*159627*/      OPC_SwitchOpcode /*2 cases */, 34, TARGET_VAL(ISD::SIGN_EXTEND),// ->159665
/*159631*/        OPC_RecordChild0, // #1 = $Rn
/*159632*/        OPC_MoveParent,
/*159633*/        OPC_RecordChild1, // #2 = $C
/*159634*/        OPC_MoveChild1,
/*159635*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*159638*/        OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*159640*/        OPC_MoveParent,
/*159641*/        OPC_MoveParent,
/*159642*/        OPC_CheckType, MVT::i64,
/*159644*/        OPC_EmitConvertToTarget, 2,
/*159646*/        OPC_EmitNodeXForm, 0, 3, // trunc_imm
/*159649*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 4,  // Results = #5
/*159656*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 1, 5, 0, 
                  // Src: (add:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C)) - Complexity = 18
                  // Dst: (SMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*159665*/      /*SwitchOpcode*/ 34, TARGET_VAL(ISD::ZERO_EXTEND),// ->159702
/*159668*/        OPC_RecordChild0, // #1 = $Rn
/*159669*/        OPC_MoveParent,
/*159670*/        OPC_RecordChild1, // #2 = $C
/*159671*/        OPC_MoveChild1,
/*159672*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*159675*/        OPC_CheckPredicate, 9, // Predicate_i64imm_32bit
/*159677*/        OPC_MoveParent,
/*159678*/        OPC_MoveParent,
/*159679*/        OPC_CheckType, MVT::i64,
/*159681*/        OPC_EmitConvertToTarget, 2,
/*159683*/        OPC_EmitNodeXForm, 0, 3, // trunc_imm
/*159686*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 4,  // Results = #5
/*159693*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 1, 5, 0, 
                  // Src: (add:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_i64imm_32bit>>:$C)) - Complexity = 18
                  // Dst: (UMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*159702*/      0, // EndSwitchOpcode
/*159703*/    /*Scope*/ 56, /*->159760*/
/*159704*/      OPC_MoveChild0,
/*159705*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*159708*/      OPC_MoveChild0,
/*159709*/      OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
/*159712*/      OPC_RecordChild0, // #0 = $Rn
/*159713*/      OPC_MoveChild1,
/*159714*/      OPC_CheckValueType, MVT::i32,
/*159716*/      OPC_MoveParent,
/*159717*/      OPC_MoveParent,
/*159718*/      OPC_RecordChild1, // #1 = $C
/*159719*/      OPC_MoveChild1,
/*159720*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*159723*/      OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*159725*/      OPC_MoveParent,
/*159726*/      OPC_MoveParent,
/*159727*/      OPC_RecordChild1, // #2 = $Ra
/*159728*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*159731*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 0, 3,  // Results = #4
/*159739*/      OPC_EmitConvertToTarget, 1,
/*159741*/      OPC_EmitNodeXForm, 0, 5, // trunc_imm
/*159744*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                    MVT::i32, 1/*#Ops*/, 6,  // Results = #7
/*159751*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                    MVT::i64, 3/*#Ops*/, 4, 7, 2, 
                // Src: (add:{ *:[i64] } (mul:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i32:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C), GPR64:{ *:[i64] }:$Ra) - Complexity = 18
                // Dst: (SMADDLrrr:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, sub_32:{ *:[i32] }), (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*159760*/    /*Scope*/ 104, /*->159865*/
/*159761*/      OPC_RecordChild0, // #0 = $Ra
/*159762*/      OPC_MoveChild1,
/*159763*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*159766*/      OPC_MoveChild0,
/*159767*/      OPC_SwitchOpcode /*3 cases */, 47, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->159818
/*159771*/        OPC_RecordChild0, // #1 = $Rn
/*159772*/        OPC_MoveChild1,
/*159773*/        OPC_CheckValueType, MVT::i32,
/*159775*/        OPC_MoveParent,
/*159776*/        OPC_MoveParent,
/*159777*/        OPC_RecordChild1, // #2 = $C
/*159778*/        OPC_MoveChild1,
/*159779*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*159782*/        OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*159784*/        OPC_MoveParent,
/*159785*/        OPC_MoveParent,
/*159786*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*159789*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*159797*/        OPC_EmitConvertToTarget, 2,
/*159799*/        OPC_EmitNodeXForm, 0, 5, // trunc_imm
/*159802*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 6,  // Results = #7
/*159809*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 4, 7, 0, 
                  // Src: (add:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i32:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C)) - Complexity = 18
                  // Dst: (SMADDLrrr:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, sub_32:{ *:[i32] }), (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*159818*/      /*SwitchOpcode*/ 20, TARGET_VAL(ISD::SIGN_EXTEND),// ->159841
/*159821*/        OPC_RecordChild0, // #1 = $Rn
/*159822*/        OPC_MoveParent,
/*159823*/        OPC_MoveChild1,
/*159824*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*159827*/        OPC_RecordChild0, // #2 = $Rm
/*159828*/        OPC_MoveParent,
/*159829*/        OPC_MoveParent,
/*159830*/        OPC_CheckType, MVT::i64,
/*159832*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 1, 2, 0, 
                  // Src: (add:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm))) - Complexity = 17
                  // Dst: (SMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, GPR64:{ *:[i64] }:$Ra)
/*159841*/      /*SwitchOpcode*/ 20, TARGET_VAL(ISD::ZERO_EXTEND),// ->159864
/*159844*/        OPC_RecordChild0, // #1 = $Rn
/*159845*/        OPC_MoveParent,
/*159846*/        OPC_MoveChild1,
/*159847*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*159850*/        OPC_RecordChild0, // #2 = $Rm
/*159851*/        OPC_MoveParent,
/*159852*/        OPC_MoveParent,
/*159853*/        OPC_CheckType, MVT::i64,
/*159855*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 1, 2, 0, 
                  // Src: (add:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm))) - Complexity = 17
                  // Dst: (UMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, GPR64:{ *:[i64] }:$Ra)
/*159864*/      0, // EndSwitchOpcode
/*159865*/    /*Scope*/ 55, /*->159921*/
/*159866*/      OPC_MoveChild0,
/*159867*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*159870*/      OPC_MoveChild0,
/*159871*/      OPC_SwitchOpcode /*2 cases */, 21, TARGET_VAL(ISD::SIGN_EXTEND),// ->159896
/*159875*/        OPC_RecordChild0, // #0 = $Rn
/*159876*/        OPC_MoveParent,
/*159877*/        OPC_MoveChild1,
/*159878*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*159881*/        OPC_RecordChild0, // #1 = $Rm
/*159882*/        OPC_MoveParent,
/*159883*/        OPC_MoveParent,
/*159884*/        OPC_RecordChild1, // #2 = $Ra
/*159885*/        OPC_CheckType, MVT::i64,
/*159887*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (add:{ *:[i64] } (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)), GPR64:{ *:[i64] }:$Ra) - Complexity = 17
                  // Dst: (SMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, GPR64:{ *:[i64] }:$Ra)
/*159896*/      /*SwitchOpcode*/ 21, TARGET_VAL(ISD::ZERO_EXTEND),// ->159920
/*159899*/        OPC_RecordChild0, // #0 = $Rn
/*159900*/        OPC_MoveParent,
/*159901*/        OPC_MoveChild1,
/*159902*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*159905*/        OPC_RecordChild0, // #1 = $Rm
/*159906*/        OPC_MoveParent,
/*159907*/        OPC_MoveParent,
/*159908*/        OPC_RecordChild1, // #2 = $Ra
/*159909*/        OPC_CheckType, MVT::i64,
/*159911*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (add:{ *:[i64] } (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)), GPR64:{ *:[i64] }:$Ra) - Complexity = 17
                  // Dst: (UMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, GPR64:{ *:[i64] }:$Ra)
/*159920*/      0, // EndSwitchOpcode
/*159921*/    /*Scope*/ 44|128,2/*300*/, /*->160223*/
/*159923*/      OPC_RecordChild0, // #0 = $R2
/*159924*/      OPC_Scope, 43|128,1/*171*/, /*->160098*/ // 2 children in Scope
/*159927*/        OPC_RecordChild1, // #1 = $R3
/*159928*/        OPC_SwitchType /*2 cases */, 82, MVT::i32,// ->160013
/*159931*/          OPC_Scope, 12, /*->159945*/ // 6 children in Scope
/*159933*/            OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectArithExtendedRegister:$R3 #2 #3
/*159936*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDWrx), 0,
                          MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (add:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3) - Complexity = 13
                      // Dst: (ADDWrx:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3)
/*159945*/          /*Scope*/ 13, /*->159959*/
/*159946*/            OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectNegArithImmed:$imm #2 #3
/*159949*/            OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWri), 0,
                          MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (add:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm) - Complexity = 13
                      // Dst: (SUBSWri:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm)
/*159959*/          /*Scope*/ 12, /*->159972*/
/*159960*/            OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectArithExtendedRegister:$R3 #2 #3
/*159963*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDWrx), 0,
                          MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (add:{ *:[i32] } arith_extended_reg32_i32:{ *:[i32] }:$R3, GPR32sp:{ *:[i32] }:$R2) - Complexity = 13
                      // Dst: (ADDWrx:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3)
/*159972*/          /*Scope*/ 13, /*->159986*/
/*159973*/            OPC_CheckComplexPat, /*CP*/3, /*#*/0, // SelectNegArithImmed:$imm #2 #3
/*159976*/            OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWri), 0,
                          MVT::i32, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (add:{ *:[i32] } neg_addsub_shifted_imm32:{ *:[i32] }:$imm, GPR32:{ *:[i32] }:$Rn) - Complexity = 13
                      // Dst: (SUBSWri:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm)
/*159986*/          /*Scope*/ 12, /*->159999*/
/*159987*/            OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectArithShiftedRegister:$Rm #2 #3
/*159990*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDWrs), 0,
                          MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (add:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 12
                      // Dst: (ADDWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm)
/*159999*/          /*Scope*/ 12, /*->160012*/
/*160000*/            OPC_CheckComplexPat, /*CP*/4, /*#*/0, // SelectArithShiftedRegister:$Rm #2 #3
/*160003*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDWrs), 0,
                          MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (add:{ *:[i32] } arith_shifted_reg32:{ *:[i32] }:$Rm, GPR32:{ *:[i32] }:$Rn) - Complexity = 12
                      // Dst: (ADDWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm)
/*160012*/          0, /*End of Scope*/
/*160013*/        /*SwitchType*/ 82, MVT::i64,// ->160097
/*160015*/          OPC_Scope, 12, /*->160029*/ // 6 children in Scope
/*160017*/            OPC_CheckComplexPat, /*CP*/5, /*#*/1, // SelectArithExtendedRegister:$R3 #2 #3
/*160020*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDXrx), 0,
                          MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (add:{ *:[i64] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32to64_i64:{ *:[i64] }:$R3) - Complexity = 13
                      // Dst: (ADDXrx:{ *:[i64] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32to64_i64:{ *:[i64] }:$R3)
/*160029*/          /*Scope*/ 13, /*->160043*/
/*160030*/            OPC_CheckComplexPat, /*CP*/6, /*#*/1, // SelectNegArithImmed:$imm #2 #3
/*160033*/            OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXri), 0,
                          MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (add:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm) - Complexity = 13
                      // Dst: (SUBSXri:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm)
/*160043*/          /*Scope*/ 12, /*->160056*/
/*160044*/            OPC_CheckComplexPat, /*CP*/5, /*#*/0, // SelectArithExtendedRegister:$R3 #2 #3
/*160047*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDXrx), 0,
                          MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (add:{ *:[i64] } arith_extended_reg32to64_i64:{ *:[i64] }:$R3, GPR64sp:{ *:[i64] }:$R2) - Complexity = 13
                      // Dst: (ADDXrx:{ *:[i64] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32to64_i64:{ *:[i64] }:$R3)
/*160056*/          /*Scope*/ 13, /*->160070*/
/*160057*/            OPC_CheckComplexPat, /*CP*/6, /*#*/0, // SelectNegArithImmed:$imm #2 #3
/*160060*/            OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXri), 0,
                          MVT::i64, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (add:{ *:[i64] } neg_addsub_shifted_imm64:{ *:[i64] }:$imm, GPR64:{ *:[i64] }:$Rn) - Complexity = 13
                      // Dst: (SUBSXri:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm)
/*160070*/          /*Scope*/ 12, /*->160083*/
/*160071*/            OPC_CheckComplexPat, /*CP*/7, /*#*/1, // SelectArithShiftedRegister:$Rm #2 #3
/*160074*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDXrs), 0,
                          MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (add:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 12
                      // Dst: (ADDXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm)
/*160083*/          /*Scope*/ 12, /*->160096*/
/*160084*/            OPC_CheckComplexPat, /*CP*/7, /*#*/0, // SelectArithShiftedRegister:$Rm #2 #3
/*160087*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDXrs), 0,
                          MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (add:{ *:[i64] } arith_shifted_reg64:{ *:[i64] }:$Rm, GPR64:{ *:[i64] }:$Rn) - Complexity = 12
                      // Dst: (ADDXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm)
/*160096*/          0, /*End of Scope*/
/*160097*/        0, // EndSwitchType
/*160098*/      /*Scope*/ 123, /*->160222*/
/*160099*/        OPC_MoveChild1,
/*160100*/        OPC_SwitchOpcode /*4 cases */, 27, TARGET_VAL(AArch64ISD::SRSHR_I),// ->160131
/*160104*/          OPC_RecordChild0, // #1 = $Rn
/*160105*/          OPC_RecordChild1, // #2 = $imm
/*160106*/          OPC_MoveChild1,
/*160107*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160110*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*160112*/          OPC_CheckType, MVT::i32,
/*160114*/          OPC_MoveParent,
/*160115*/          OPC_MoveParent,
/*160116*/          OPC_CheckType, MVT::i64,
/*160118*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160120*/          OPC_EmitConvertToTarget, 2,
/*160122*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAd), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, (AArch64srshri:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (SRSRAd:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*160131*/        /*SwitchOpcode*/ 27, TARGET_VAL(AArch64ISD::VASHR),// ->160161
/*160134*/          OPC_RecordChild0, // #1 = $Rn
/*160135*/          OPC_RecordChild1, // #2 = $imm
/*160136*/          OPC_MoveChild1,
/*160137*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160140*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*160142*/          OPC_CheckType, MVT::i32,
/*160144*/          OPC_MoveParent,
/*160145*/          OPC_MoveParent,
/*160146*/          OPC_CheckType, MVT::i64,
/*160148*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160150*/          OPC_EmitConvertToTarget, 2,
/*160152*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAd), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, (AArch64vashr:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (SSRAd:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*160161*/        /*SwitchOpcode*/ 27, TARGET_VAL(AArch64ISD::URSHR_I),// ->160191
/*160164*/          OPC_RecordChild0, // #1 = $Rn
/*160165*/          OPC_RecordChild1, // #2 = $imm
/*160166*/          OPC_MoveChild1,
/*160167*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160170*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*160172*/          OPC_CheckType, MVT::i32,
/*160174*/          OPC_MoveParent,
/*160175*/          OPC_MoveParent,
/*160176*/          OPC_CheckType, MVT::i64,
/*160178*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160180*/          OPC_EmitConvertToTarget, 2,
/*160182*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAd), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, (AArch64urshri:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (URSRAd:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*160191*/        /*SwitchOpcode*/ 27, TARGET_VAL(AArch64ISD::VLSHR),// ->160221
/*160194*/          OPC_RecordChild0, // #1 = $Rn
/*160195*/          OPC_RecordChild1, // #2 = $imm
/*160196*/          OPC_MoveChild1,
/*160197*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160200*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*160202*/          OPC_CheckType, MVT::i32,
/*160204*/          OPC_MoveParent,
/*160205*/          OPC_MoveParent,
/*160206*/          OPC_CheckType, MVT::i64,
/*160208*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160210*/          OPC_EmitConvertToTarget, 2,
/*160212*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAd), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, (AArch64vlshr:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (USRAd:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*160221*/        0, // EndSwitchOpcode
/*160222*/      0, /*End of Scope*/
/*160223*/    /*Scope*/ 127, /*->160351*/
/*160224*/      OPC_MoveChild0,
/*160225*/      OPC_SwitchOpcode /*4 cases */, 28, TARGET_VAL(AArch64ISD::SRSHR_I),// ->160257
/*160229*/        OPC_RecordChild0, // #0 = $Rn
/*160230*/        OPC_RecordChild1, // #1 = $imm
/*160231*/        OPC_MoveChild1,
/*160232*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160235*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*160237*/        OPC_CheckType, MVT::i32,
/*160239*/        OPC_MoveParent,
/*160240*/        OPC_MoveParent,
/*160241*/        OPC_RecordChild1, // #2 = $Rd
/*160242*/        OPC_CheckType, MVT::i64,
/*160244*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160246*/        OPC_EmitConvertToTarget, 1,
/*160248*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAd), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3, 
                  // Src: (add:{ *:[i64] } (AArch64srshri:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), FPR64:{ *:[i64] }:$Rd) - Complexity = 10
                  // Dst: (SRSRAd:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*160257*/      /*SwitchOpcode*/ 28, TARGET_VAL(AArch64ISD::VASHR),// ->160288
/*160260*/        OPC_RecordChild0, // #0 = $Rn
/*160261*/        OPC_RecordChild1, // #1 = $imm
/*160262*/        OPC_MoveChild1,
/*160263*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160266*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*160268*/        OPC_CheckType, MVT::i32,
/*160270*/        OPC_MoveParent,
/*160271*/        OPC_MoveParent,
/*160272*/        OPC_RecordChild1, // #2 = $Rd
/*160273*/        OPC_CheckType, MVT::i64,
/*160275*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160277*/        OPC_EmitConvertToTarget, 1,
/*160279*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAd), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3, 
                  // Src: (add:{ *:[i64] } (AArch64vashr:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), FPR64:{ *:[i64] }:$Rd) - Complexity = 10
                  // Dst: (SSRAd:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*160288*/      /*SwitchOpcode*/ 28, TARGET_VAL(AArch64ISD::URSHR_I),// ->160319
/*160291*/        OPC_RecordChild0, // #0 = $Rn
/*160292*/        OPC_RecordChild1, // #1 = $imm
/*160293*/        OPC_MoveChild1,
/*160294*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160297*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*160299*/        OPC_CheckType, MVT::i32,
/*160301*/        OPC_MoveParent,
/*160302*/        OPC_MoveParent,
/*160303*/        OPC_RecordChild1, // #2 = $Rd
/*160304*/        OPC_CheckType, MVT::i64,
/*160306*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160308*/        OPC_EmitConvertToTarget, 1,
/*160310*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAd), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3, 
                  // Src: (add:{ *:[i64] } (AArch64urshri:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), FPR64:{ *:[i64] }:$Rd) - Complexity = 10
                  // Dst: (URSRAd:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*160319*/      /*SwitchOpcode*/ 28, TARGET_VAL(AArch64ISD::VLSHR),// ->160350
/*160322*/        OPC_RecordChild0, // #0 = $Rn
/*160323*/        OPC_RecordChild1, // #1 = $imm
/*160324*/        OPC_MoveChild1,
/*160325*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160328*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*160330*/        OPC_CheckType, MVT::i32,
/*160332*/        OPC_MoveParent,
/*160333*/        OPC_MoveParent,
/*160334*/        OPC_RecordChild1, // #2 = $Rd
/*160335*/        OPC_CheckType, MVT::i64,
/*160337*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160339*/        OPC_EmitConvertToTarget, 1,
/*160341*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAd), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3, 
                  // Src: (add:{ *:[i64] } (AArch64vlshr:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), FPR64:{ *:[i64] }:$Rd) - Complexity = 10
                  // Dst: (USRAd:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*160350*/      0, // EndSwitchOpcode
/*160351*/    /*Scope*/ 13|128,2/*269*/, /*->160622*/
/*160353*/      OPC_RecordChild0, // #0 = $Rn
/*160354*/      OPC_Scope, 23, /*->160379*/ // 2 children in Scope
/*160356*/        OPC_RecordChild1, // #1 = $Rm
/*160357*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->160368
/*160360*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDWrr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                    // Dst: (ADDWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*160368*/        /*SwitchType*/ 8, MVT::i64,// ->160378
/*160370*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDXrr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (ADDXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*160378*/        0, // EndSwitchType
/*160379*/      /*Scope*/ 112|128,1/*240*/, /*->160621*/
/*160381*/        OPC_MoveChild1,
/*160382*/        OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*160385*/        OPC_Scope, 116, /*->160503*/ // 2 children in Scope
/*160387*/          OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*160390*/          OPC_MoveChild1,
/*160391*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160394*/          OPC_RecordChild0, // #1 = $Rn
/*160395*/          OPC_SwitchType /*2 cases */, 51, MVT::v4i16,// ->160449
/*160398*/            OPC_CheckChild1Integer, 4, 
/*160400*/            OPC_CheckChild1Type, MVT::i64,
/*160402*/            OPC_MoveParent,
/*160403*/            OPC_MoveChild2,
/*160404*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160407*/            OPC_MoveChild0,
/*160408*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*160411*/            OPC_RecordChild0, // #2 = $Rm
/*160412*/            OPC_CheckChild0Type, MVT::v8i16,
/*160414*/            OPC_RecordChild1, // #3 = $idx
/*160415*/            OPC_MoveChild1,
/*160416*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160419*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*160421*/            OPC_CheckType, MVT::i64,
/*160423*/            OPC_MoveParent,
/*160424*/            OPC_MoveParent,
/*160425*/            OPC_CheckChild1Integer, 4, 
/*160427*/            OPC_CheckChild1Type, MVT::i64,
/*160429*/            OPC_CheckType, MVT::v4i16,
/*160431*/            OPC_MoveParent,
/*160432*/            OPC_MoveParent,
/*160433*/            OPC_CheckType, MVT::v4i32,
/*160435*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160437*/            OPC_EmitConvertToTarget, 3,
/*160439*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv8i16_indexed), 0,
                          MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] }))) - Complexity = 34
                      // Dst: (SMLALv8i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*160449*/          /*SwitchType*/ 51, MVT::v2i32,// ->160502
/*160451*/            OPC_CheckChild1Integer, 2, 
/*160453*/            OPC_CheckChild1Type, MVT::i64,
/*160455*/            OPC_MoveParent,
/*160456*/            OPC_MoveChild2,
/*160457*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160460*/            OPC_MoveChild0,
/*160461*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*160464*/            OPC_RecordChild0, // #2 = $Rm
/*160465*/            OPC_CheckChild0Type, MVT::v4i32,
/*160467*/            OPC_RecordChild1, // #3 = $idx
/*160468*/            OPC_MoveChild1,
/*160469*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160472*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*160474*/            OPC_CheckType, MVT::i64,
/*160476*/            OPC_MoveParent,
/*160477*/            OPC_MoveParent,
/*160478*/            OPC_CheckChild1Integer, 2, 
/*160480*/            OPC_CheckChild1Type, MVT::i64,
/*160482*/            OPC_CheckType, MVT::v2i32,
/*160484*/            OPC_MoveParent,
/*160485*/            OPC_MoveParent,
/*160486*/            OPC_CheckType, MVT::v2i64,
/*160488*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160490*/            OPC_EmitConvertToTarget, 3,
/*160492*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i32_indexed), 0,
                          MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] }))) - Complexity = 34
                      // Dst: (SMLALv4i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*160502*/          0, // EndSwitchType
/*160503*/        /*Scope*/ 116, /*->160620*/
/*160504*/          OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*160507*/          OPC_MoveChild1,
/*160508*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160511*/          OPC_RecordChild0, // #1 = $Rn
/*160512*/          OPC_SwitchType /*2 cases */, 51, MVT::v4i16,// ->160566
/*160515*/            OPC_CheckChild1Integer, 4, 
/*160517*/            OPC_CheckChild1Type, MVT::i64,
/*160519*/            OPC_MoveParent,
/*160520*/            OPC_MoveChild2,
/*160521*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160524*/            OPC_MoveChild0,
/*160525*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*160528*/            OPC_RecordChild0, // #2 = $Rm
/*160529*/            OPC_CheckChild0Type, MVT::v8i16,
/*160531*/            OPC_RecordChild1, // #3 = $idx
/*160532*/            OPC_MoveChild1,
/*160533*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160536*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*160538*/            OPC_CheckType, MVT::i64,
/*160540*/            OPC_MoveParent,
/*160541*/            OPC_MoveParent,
/*160542*/            OPC_CheckChild1Integer, 4, 
/*160544*/            OPC_CheckChild1Type, MVT::i64,
/*160546*/            OPC_CheckType, MVT::v4i16,
/*160548*/            OPC_MoveParent,
/*160549*/            OPC_MoveParent,
/*160550*/            OPC_CheckType, MVT::v4i32,
/*160552*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160554*/            OPC_EmitConvertToTarget, 3,
/*160556*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv8i16_indexed), 0,
                          MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] }))) - Complexity = 34
                      // Dst: (UMLALv8i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*160566*/          /*SwitchType*/ 51, MVT::v2i32,// ->160619
/*160568*/            OPC_CheckChild1Integer, 2, 
/*160570*/            OPC_CheckChild1Type, MVT::i64,
/*160572*/            OPC_MoveParent,
/*160573*/            OPC_MoveChild2,
/*160574*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160577*/            OPC_MoveChild0,
/*160578*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*160581*/            OPC_RecordChild0, // #2 = $Rm
/*160582*/            OPC_CheckChild0Type, MVT::v4i32,
/*160584*/            OPC_RecordChild1, // #3 = $idx
/*160585*/            OPC_MoveChild1,
/*160586*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160589*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*160591*/            OPC_CheckType, MVT::i64,
/*160593*/            OPC_MoveParent,
/*160594*/            OPC_MoveParent,
/*160595*/            OPC_CheckChild1Integer, 2, 
/*160597*/            OPC_CheckChild1Type, MVT::i64,
/*160599*/            OPC_CheckType, MVT::v2i32,
/*160601*/            OPC_MoveParent,
/*160602*/            OPC_MoveParent,
/*160603*/            OPC_CheckType, MVT::v2i64,
/*160605*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160607*/            OPC_EmitConvertToTarget, 3,
/*160609*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i32_indexed), 0,
                          MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] }))) - Complexity = 34
                      // Dst: (UMLALv4i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*160619*/          0, // EndSwitchType
/*160620*/        0, /*End of Scope*/
/*160621*/      0, /*End of Scope*/
/*160622*/    /*Scope*/ 116|128,1/*244*/, /*->160868*/
/*160624*/      OPC_MoveChild0,
/*160625*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*160628*/      OPC_Scope, 118, /*->160748*/ // 2 children in Scope
/*160630*/        OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*160633*/        OPC_MoveChild1,
/*160634*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160637*/        OPC_RecordChild0, // #0 = $Rn
/*160638*/        OPC_SwitchType /*2 cases */, 52, MVT::v4i16,// ->160693
/*160641*/          OPC_CheckChild1Integer, 4, 
/*160643*/          OPC_CheckChild1Type, MVT::i64,
/*160645*/          OPC_MoveParent,
/*160646*/          OPC_MoveChild2,
/*160647*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160650*/          OPC_MoveChild0,
/*160651*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*160654*/          OPC_RecordChild0, // #1 = $Rm
/*160655*/          OPC_CheckChild0Type, MVT::v8i16,
/*160657*/          OPC_RecordChild1, // #2 = $idx
/*160658*/          OPC_MoveChild1,
/*160659*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160662*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*160664*/          OPC_CheckType, MVT::i64,
/*160666*/          OPC_MoveParent,
/*160667*/          OPC_MoveParent,
/*160668*/          OPC_CheckChild1Integer, 4, 
/*160670*/          OPC_CheckChild1Type, MVT::i64,
/*160672*/          OPC_CheckType, MVT::v4i16,
/*160674*/          OPC_MoveParent,
/*160675*/          OPC_MoveParent,
/*160676*/          OPC_RecordChild1, // #3 = $Rd
/*160677*/          OPC_CheckType, MVT::v4i32,
/*160679*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160681*/          OPC_EmitConvertToTarget, 2,
/*160683*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv8i16_indexed), 0,
                        MVT::v4i32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] })), V128:{ *:[v4i32] }:$Rd) - Complexity = 34
                    // Dst: (SMLALv8i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*160693*/        /*SwitchType*/ 52, MVT::v2i32,// ->160747
/*160695*/          OPC_CheckChild1Integer, 2, 
/*160697*/          OPC_CheckChild1Type, MVT::i64,
/*160699*/          OPC_MoveParent,
/*160700*/          OPC_MoveChild2,
/*160701*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160704*/          OPC_MoveChild0,
/*160705*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*160708*/          OPC_RecordChild0, // #1 = $Rm
/*160709*/          OPC_CheckChild0Type, MVT::v4i32,
/*160711*/          OPC_RecordChild1, // #2 = $idx
/*160712*/          OPC_MoveChild1,
/*160713*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160716*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*160718*/          OPC_CheckType, MVT::i64,
/*160720*/          OPC_MoveParent,
/*160721*/          OPC_MoveParent,
/*160722*/          OPC_CheckChild1Integer, 2, 
/*160724*/          OPC_CheckChild1Type, MVT::i64,
/*160726*/          OPC_CheckType, MVT::v2i32,
/*160728*/          OPC_MoveParent,
/*160729*/          OPC_MoveParent,
/*160730*/          OPC_RecordChild1, // #3 = $Rd
/*160731*/          OPC_CheckType, MVT::v2i64,
/*160733*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160735*/          OPC_EmitConvertToTarget, 2,
/*160737*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i32_indexed), 0,
                        MVT::v2i64, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] })), V128:{ *:[v2i64] }:$Rd) - Complexity = 34
                    // Dst: (SMLALv4i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*160747*/        0, // EndSwitchType
/*160748*/      /*Scope*/ 118, /*->160867*/
/*160749*/        OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*160752*/        OPC_MoveChild1,
/*160753*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160756*/        OPC_RecordChild0, // #0 = $Rn
/*160757*/        OPC_SwitchType /*2 cases */, 52, MVT::v4i16,// ->160812
/*160760*/          OPC_CheckChild1Integer, 4, 
/*160762*/          OPC_CheckChild1Type, MVT::i64,
/*160764*/          OPC_MoveParent,
/*160765*/          OPC_MoveChild2,
/*160766*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160769*/          OPC_MoveChild0,
/*160770*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*160773*/          OPC_RecordChild0, // #1 = $Rm
/*160774*/          OPC_CheckChild0Type, MVT::v8i16,
/*160776*/          OPC_RecordChild1, // #2 = $idx
/*160777*/          OPC_MoveChild1,
/*160778*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160781*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*160783*/          OPC_CheckType, MVT::i64,
/*160785*/          OPC_MoveParent,
/*160786*/          OPC_MoveParent,
/*160787*/          OPC_CheckChild1Integer, 4, 
/*160789*/          OPC_CheckChild1Type, MVT::i64,
/*160791*/          OPC_CheckType, MVT::v4i16,
/*160793*/          OPC_MoveParent,
/*160794*/          OPC_MoveParent,
/*160795*/          OPC_RecordChild1, // #3 = $Rd
/*160796*/          OPC_CheckType, MVT::v4i32,
/*160798*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160800*/          OPC_EmitConvertToTarget, 2,
/*160802*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv8i16_indexed), 0,
                        MVT::v4i32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] })), V128:{ *:[v4i32] }:$Rd) - Complexity = 34
                    // Dst: (UMLALv8i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*160812*/        /*SwitchType*/ 52, MVT::v2i32,// ->160866
/*160814*/          OPC_CheckChild1Integer, 2, 
/*160816*/          OPC_CheckChild1Type, MVT::i64,
/*160818*/          OPC_MoveParent,
/*160819*/          OPC_MoveChild2,
/*160820*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160823*/          OPC_MoveChild0,
/*160824*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*160827*/          OPC_RecordChild0, // #1 = $Rm
/*160828*/          OPC_CheckChild0Type, MVT::v4i32,
/*160830*/          OPC_RecordChild1, // #2 = $idx
/*160831*/          OPC_MoveChild1,
/*160832*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*160835*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*160837*/          OPC_CheckType, MVT::i64,
/*160839*/          OPC_MoveParent,
/*160840*/          OPC_MoveParent,
/*160841*/          OPC_CheckChild1Integer, 2, 
/*160843*/          OPC_CheckChild1Type, MVT::i64,
/*160845*/          OPC_CheckType, MVT::v2i32,
/*160847*/          OPC_MoveParent,
/*160848*/          OPC_MoveParent,
/*160849*/          OPC_RecordChild1, // #3 = $Rd
/*160850*/          OPC_CheckType, MVT::v2i64,
/*160852*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160854*/          OPC_EmitConvertToTarget, 2,
/*160856*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i32_indexed), 0,
                        MVT::v2i64, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] })), V128:{ *:[v2i64] }:$Rd) - Complexity = 34
                    // Dst: (UMLALv4i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*160866*/        0, // EndSwitchType
/*160867*/      0, /*End of Scope*/
/*160868*/    /*Scope*/ 121|128,1/*249*/, /*->161119*/
/*160870*/      OPC_RecordChild0, // #0 = $Rd
/*160871*/      OPC_MoveChild1,
/*160872*/      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*160875*/      OPC_MoveChild0,
/*160876*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*160879*/      OPC_Scope, 118, /*->160999*/ // 2 children in Scope
/*160881*/        OPC_CheckChild0Integer, 114|128,2/*370*/, 
/*160884*/        OPC_MoveChild1,
/*160885*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160888*/        OPC_RecordChild0, // #1 = $Rn
/*160889*/        OPC_SwitchType /*3 cases */, 34, MVT::v8i8,// ->160926
/*160892*/          OPC_CheckChild1Integer, 8, 
/*160894*/          OPC_CheckChild1Type, MVT::i64,
/*160896*/          OPC_MoveParent,
/*160897*/          OPC_MoveChild2,
/*160898*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160901*/          OPC_RecordChild0, // #2 = $Rm
/*160902*/          OPC_CheckChild1Integer, 8, 
/*160904*/          OPC_CheckChild1Type, MVT::i64,
/*160906*/          OPC_CheckType, MVT::v8i8,
/*160908*/          OPC_MoveParent,
/*160909*/          OPC_CheckType, MVT::v8i8,
/*160911*/          OPC_MoveParent,
/*160912*/          OPC_MoveParent,
/*160913*/          OPC_CheckType, MVT::v8i16,
/*160915*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160917*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv16i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })))) - Complexity = 30
                    // Dst: (SABALv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*160926*/        /*SwitchType*/ 34, MVT::v4i16,// ->160962
/*160928*/          OPC_CheckChild1Integer, 4, 
/*160930*/          OPC_CheckChild1Type, MVT::i64,
/*160932*/          OPC_MoveParent,
/*160933*/          OPC_MoveChild2,
/*160934*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160937*/          OPC_RecordChild0, // #2 = $Rm
/*160938*/          OPC_CheckChild1Integer, 4, 
/*160940*/          OPC_CheckChild1Type, MVT::i64,
/*160942*/          OPC_CheckType, MVT::v4i16,
/*160944*/          OPC_MoveParent,
/*160945*/          OPC_CheckType, MVT::v4i16,
/*160947*/          OPC_MoveParent,
/*160948*/          OPC_MoveParent,
/*160949*/          OPC_CheckType, MVT::v4i32,
/*160951*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160953*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv8i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })))) - Complexity = 30
                    // Dst: (SABALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*160962*/        /*SwitchType*/ 34, MVT::v2i32,// ->160998
/*160964*/          OPC_CheckChild1Integer, 2, 
/*160966*/          OPC_CheckChild1Type, MVT::i64,
/*160968*/          OPC_MoveParent,
/*160969*/          OPC_MoveChild2,
/*160970*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*160973*/          OPC_RecordChild0, // #2 = $Rm
/*160974*/          OPC_CheckChild1Integer, 2, 
/*160976*/          OPC_CheckChild1Type, MVT::i64,
/*160978*/          OPC_CheckType, MVT::v2i32,
/*160980*/          OPC_MoveParent,
/*160981*/          OPC_CheckType, MVT::v2i32,
/*160983*/          OPC_MoveParent,
/*160984*/          OPC_MoveParent,
/*160985*/          OPC_CheckType, MVT::v2i64,
/*160987*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*160989*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv4i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })))) - Complexity = 30
                    // Dst: (SABALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*160998*/        0, // EndSwitchType
/*160999*/      /*Scope*/ 118, /*->161118*/
/*161000*/        OPC_CheckChild0Integer, 44|128,3/*428*/, 
/*161003*/        OPC_MoveChild1,
/*161004*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161007*/        OPC_RecordChild0, // #1 = $Rn
/*161008*/        OPC_SwitchType /*3 cases */, 34, MVT::v8i8,// ->161045
/*161011*/          OPC_CheckChild1Integer, 8, 
/*161013*/          OPC_CheckChild1Type, MVT::i64,
/*161015*/          OPC_MoveParent,
/*161016*/          OPC_MoveChild2,
/*161017*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161020*/          OPC_RecordChild0, // #2 = $Rm
/*161021*/          OPC_CheckChild1Integer, 8, 
/*161023*/          OPC_CheckChild1Type, MVT::i64,
/*161025*/          OPC_CheckType, MVT::v8i8,
/*161027*/          OPC_MoveParent,
/*161028*/          OPC_CheckType, MVT::v8i8,
/*161030*/          OPC_MoveParent,
/*161031*/          OPC_MoveParent,
/*161032*/          OPC_CheckType, MVT::v8i16,
/*161034*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161036*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv16i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })))) - Complexity = 30
                    // Dst: (UABALv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*161045*/        /*SwitchType*/ 34, MVT::v4i16,// ->161081
/*161047*/          OPC_CheckChild1Integer, 4, 
/*161049*/          OPC_CheckChild1Type, MVT::i64,
/*161051*/          OPC_MoveParent,
/*161052*/          OPC_MoveChild2,
/*161053*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161056*/          OPC_RecordChild0, // #2 = $Rm
/*161057*/          OPC_CheckChild1Integer, 4, 
/*161059*/          OPC_CheckChild1Type, MVT::i64,
/*161061*/          OPC_CheckType, MVT::v4i16,
/*161063*/          OPC_MoveParent,
/*161064*/          OPC_CheckType, MVT::v4i16,
/*161066*/          OPC_MoveParent,
/*161067*/          OPC_MoveParent,
/*161068*/          OPC_CheckType, MVT::v4i32,
/*161070*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161072*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv8i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })))) - Complexity = 30
                    // Dst: (UABALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*161081*/        /*SwitchType*/ 34, MVT::v2i32,// ->161117
/*161083*/          OPC_CheckChild1Integer, 2, 
/*161085*/          OPC_CheckChild1Type, MVT::i64,
/*161087*/          OPC_MoveParent,
/*161088*/          OPC_MoveChild2,
/*161089*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161092*/          OPC_RecordChild0, // #2 = $Rm
/*161093*/          OPC_CheckChild1Integer, 2, 
/*161095*/          OPC_CheckChild1Type, MVT::i64,
/*161097*/          OPC_CheckType, MVT::v2i32,
/*161099*/          OPC_MoveParent,
/*161100*/          OPC_CheckType, MVT::v2i32,
/*161102*/          OPC_MoveParent,
/*161103*/          OPC_MoveParent,
/*161104*/          OPC_CheckType, MVT::v2i64,
/*161106*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161108*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv4i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })))) - Complexity = 30
                    // Dst: (UABALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*161117*/        0, // EndSwitchType
/*161118*/      0, /*End of Scope*/
/*161119*/    /*Scope*/ 126|128,1/*254*/, /*->161375*/
/*161121*/      OPC_MoveChild0,
/*161122*/      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*161125*/      OPC_MoveChild0,
/*161126*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*161129*/      OPC_Scope, 121, /*->161252*/ // 2 children in Scope
/*161131*/        OPC_CheckChild0Integer, 114|128,2/*370*/, 
/*161134*/        OPC_MoveChild1,
/*161135*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161138*/        OPC_RecordChild0, // #0 = $Rn
/*161139*/        OPC_SwitchType /*3 cases */, 35, MVT::v8i8,// ->161177
/*161142*/          OPC_CheckChild1Integer, 8, 
/*161144*/          OPC_CheckChild1Type, MVT::i64,
/*161146*/          OPC_MoveParent,
/*161147*/          OPC_MoveChild2,
/*161148*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161151*/          OPC_RecordChild0, // #1 = $Rm
/*161152*/          OPC_CheckChild1Integer, 8, 
/*161154*/          OPC_CheckChild1Type, MVT::i64,
/*161156*/          OPC_CheckType, MVT::v8i8,
/*161158*/          OPC_MoveParent,
/*161159*/          OPC_CheckType, MVT::v8i8,
/*161161*/          OPC_MoveParent,
/*161162*/          OPC_MoveParent,
/*161163*/          OPC_RecordChild1, // #2 = $Rd
/*161164*/          OPC_CheckType, MVT::v8i16,
/*161166*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161168*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv16i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))), V128:{ *:[v8i16] }:$Rd) - Complexity = 30
                    // Dst: (SABALv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*161177*/        /*SwitchType*/ 35, MVT::v4i16,// ->161214
/*161179*/          OPC_CheckChild1Integer, 4, 
/*161181*/          OPC_CheckChild1Type, MVT::i64,
/*161183*/          OPC_MoveParent,
/*161184*/          OPC_MoveChild2,
/*161185*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161188*/          OPC_RecordChild0, // #1 = $Rm
/*161189*/          OPC_CheckChild1Integer, 4, 
/*161191*/          OPC_CheckChild1Type, MVT::i64,
/*161193*/          OPC_CheckType, MVT::v4i16,
/*161195*/          OPC_MoveParent,
/*161196*/          OPC_CheckType, MVT::v4i16,
/*161198*/          OPC_MoveParent,
/*161199*/          OPC_MoveParent,
/*161200*/          OPC_RecordChild1, // #2 = $Rd
/*161201*/          OPC_CheckType, MVT::v4i32,
/*161203*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161205*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv8i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))), V128:{ *:[v4i32] }:$Rd) - Complexity = 30
                    // Dst: (SABALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*161214*/        /*SwitchType*/ 35, MVT::v2i32,// ->161251
/*161216*/          OPC_CheckChild1Integer, 2, 
/*161218*/          OPC_CheckChild1Type, MVT::i64,
/*161220*/          OPC_MoveParent,
/*161221*/          OPC_MoveChild2,
/*161222*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161225*/          OPC_RecordChild0, // #1 = $Rm
/*161226*/          OPC_CheckChild1Integer, 2, 
/*161228*/          OPC_CheckChild1Type, MVT::i64,
/*161230*/          OPC_CheckType, MVT::v2i32,
/*161232*/          OPC_MoveParent,
/*161233*/          OPC_CheckType, MVT::v2i32,
/*161235*/          OPC_MoveParent,
/*161236*/          OPC_MoveParent,
/*161237*/          OPC_RecordChild1, // #2 = $Rd
/*161238*/          OPC_CheckType, MVT::v2i64,
/*161240*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161242*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv4i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))), V128:{ *:[v2i64] }:$Rd) - Complexity = 30
                    // Dst: (SABALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*161251*/        0, // EndSwitchType
/*161252*/      /*Scope*/ 121, /*->161374*/
/*161253*/        OPC_CheckChild0Integer, 44|128,3/*428*/, 
/*161256*/        OPC_MoveChild1,
/*161257*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161260*/        OPC_RecordChild0, // #0 = $Rn
/*161261*/        OPC_SwitchType /*3 cases */, 35, MVT::v8i8,// ->161299
/*161264*/          OPC_CheckChild1Integer, 8, 
/*161266*/          OPC_CheckChild1Type, MVT::i64,
/*161268*/          OPC_MoveParent,
/*161269*/          OPC_MoveChild2,
/*161270*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161273*/          OPC_RecordChild0, // #1 = $Rm
/*161274*/          OPC_CheckChild1Integer, 8, 
/*161276*/          OPC_CheckChild1Type, MVT::i64,
/*161278*/          OPC_CheckType, MVT::v8i8,
/*161280*/          OPC_MoveParent,
/*161281*/          OPC_CheckType, MVT::v8i8,
/*161283*/          OPC_MoveParent,
/*161284*/          OPC_MoveParent,
/*161285*/          OPC_RecordChild1, // #2 = $Rd
/*161286*/          OPC_CheckType, MVT::v8i16,
/*161288*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161290*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv16i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))), V128:{ *:[v8i16] }:$Rd) - Complexity = 30
                    // Dst: (UABALv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*161299*/        /*SwitchType*/ 35, MVT::v4i16,// ->161336
/*161301*/          OPC_CheckChild1Integer, 4, 
/*161303*/          OPC_CheckChild1Type, MVT::i64,
/*161305*/          OPC_MoveParent,
/*161306*/          OPC_MoveChild2,
/*161307*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161310*/          OPC_RecordChild0, // #1 = $Rm
/*161311*/          OPC_CheckChild1Integer, 4, 
/*161313*/          OPC_CheckChild1Type, MVT::i64,
/*161315*/          OPC_CheckType, MVT::v4i16,
/*161317*/          OPC_MoveParent,
/*161318*/          OPC_CheckType, MVT::v4i16,
/*161320*/          OPC_MoveParent,
/*161321*/          OPC_MoveParent,
/*161322*/          OPC_RecordChild1, // #2 = $Rd
/*161323*/          OPC_CheckType, MVT::v4i32,
/*161325*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161327*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv8i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))), V128:{ *:[v4i32] }:$Rd) - Complexity = 30
                    // Dst: (UABALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*161336*/        /*SwitchType*/ 35, MVT::v2i32,// ->161373
/*161338*/          OPC_CheckChild1Integer, 2, 
/*161340*/          OPC_CheckChild1Type, MVT::i64,
/*161342*/          OPC_MoveParent,
/*161343*/          OPC_MoveChild2,
/*161344*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161347*/          OPC_RecordChild0, // #1 = $Rm
/*161348*/          OPC_CheckChild1Integer, 2, 
/*161350*/          OPC_CheckChild1Type, MVT::i64,
/*161352*/          OPC_CheckType, MVT::v2i32,
/*161354*/          OPC_MoveParent,
/*161355*/          OPC_CheckType, MVT::v2i32,
/*161357*/          OPC_MoveParent,
/*161358*/          OPC_MoveParent,
/*161359*/          OPC_RecordChild1, // #2 = $Rd
/*161360*/          OPC_CheckType, MVT::v2i64,
/*161362*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161364*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv4i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))), V128:{ *:[v2i64] }:$Rd) - Complexity = 30
                    // Dst: (UABALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*161373*/        0, // EndSwitchType
/*161374*/      0, /*End of Scope*/
/*161375*/    /*Scope*/ 99|128,1/*227*/, /*->161604*/
/*161377*/      OPC_RecordChild0, // #0 = $Rd
/*161378*/      OPC_MoveChild1,
/*161379*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*161382*/      OPC_Scope, 109, /*->161493*/ // 2 children in Scope
/*161384*/        OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*161387*/        OPC_MoveChild1,
/*161388*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161391*/        OPC_RecordChild0, // #1 = $Rn
/*161392*/        OPC_SwitchType /*3 cases */, 31, MVT::v8i8,// ->161426
/*161395*/          OPC_CheckChild1Integer, 8, 
/*161397*/          OPC_CheckChild1Type, MVT::i64,
/*161399*/          OPC_MoveParent,
/*161400*/          OPC_MoveChild2,
/*161401*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161404*/          OPC_RecordChild0, // #2 = $Rm
/*161405*/          OPC_CheckChild1Integer, 8, 
/*161407*/          OPC_CheckChild1Type, MVT::i64,
/*161409*/          OPC_CheckType, MVT::v8i8,
/*161411*/          OPC_MoveParent,
/*161412*/          OPC_MoveParent,
/*161413*/          OPC_CheckType, MVT::v8i16,
/*161415*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161417*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv16i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 27
                    // Dst: (SMLALv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*161426*/        /*SwitchType*/ 31, MVT::v4i16,// ->161459
/*161428*/          OPC_CheckChild1Integer, 4, 
/*161430*/          OPC_CheckChild1Type, MVT::i64,
/*161432*/          OPC_MoveParent,
/*161433*/          OPC_MoveChild2,
/*161434*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161437*/          OPC_RecordChild0, // #2 = $Rm
/*161438*/          OPC_CheckChild1Integer, 4, 
/*161440*/          OPC_CheckChild1Type, MVT::i64,
/*161442*/          OPC_CheckType, MVT::v4i16,
/*161444*/          OPC_MoveParent,
/*161445*/          OPC_MoveParent,
/*161446*/          OPC_CheckType, MVT::v4i32,
/*161448*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161450*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv8i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 27
                    // Dst: (SMLALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*161459*/        /*SwitchType*/ 31, MVT::v2i32,// ->161492
/*161461*/          OPC_CheckChild1Integer, 2, 
/*161463*/          OPC_CheckChild1Type, MVT::i64,
/*161465*/          OPC_MoveParent,
/*161466*/          OPC_MoveChild2,
/*161467*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161470*/          OPC_RecordChild0, // #2 = $Rm
/*161471*/          OPC_CheckChild1Integer, 2, 
/*161473*/          OPC_CheckChild1Type, MVT::i64,
/*161475*/          OPC_CheckType, MVT::v2i32,
/*161477*/          OPC_MoveParent,
/*161478*/          OPC_MoveParent,
/*161479*/          OPC_CheckType, MVT::v2i64,
/*161481*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161483*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 27
                    // Dst: (SMLALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*161492*/        0, // EndSwitchType
/*161493*/      /*Scope*/ 109, /*->161603*/
/*161494*/        OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*161497*/        OPC_MoveChild1,
/*161498*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161501*/        OPC_RecordChild0, // #1 = $Rn
/*161502*/        OPC_SwitchType /*3 cases */, 31, MVT::v8i8,// ->161536
/*161505*/          OPC_CheckChild1Integer, 8, 
/*161507*/          OPC_CheckChild1Type, MVT::i64,
/*161509*/          OPC_MoveParent,
/*161510*/          OPC_MoveChild2,
/*161511*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161514*/          OPC_RecordChild0, // #2 = $Rm
/*161515*/          OPC_CheckChild1Integer, 8, 
/*161517*/          OPC_CheckChild1Type, MVT::i64,
/*161519*/          OPC_CheckType, MVT::v8i8,
/*161521*/          OPC_MoveParent,
/*161522*/          OPC_MoveParent,
/*161523*/          OPC_CheckType, MVT::v8i16,
/*161525*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161527*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv16i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 27
                    // Dst: (UMLALv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*161536*/        /*SwitchType*/ 31, MVT::v4i16,// ->161569
/*161538*/          OPC_CheckChild1Integer, 4, 
/*161540*/          OPC_CheckChild1Type, MVT::i64,
/*161542*/          OPC_MoveParent,
/*161543*/          OPC_MoveChild2,
/*161544*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161547*/          OPC_RecordChild0, // #2 = $Rm
/*161548*/          OPC_CheckChild1Integer, 4, 
/*161550*/          OPC_CheckChild1Type, MVT::i64,
/*161552*/          OPC_CheckType, MVT::v4i16,
/*161554*/          OPC_MoveParent,
/*161555*/          OPC_MoveParent,
/*161556*/          OPC_CheckType, MVT::v4i32,
/*161558*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161560*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv8i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 27
                    // Dst: (UMLALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*161569*/        /*SwitchType*/ 31, MVT::v2i32,// ->161602
/*161571*/          OPC_CheckChild1Integer, 2, 
/*161573*/          OPC_CheckChild1Type, MVT::i64,
/*161575*/          OPC_MoveParent,
/*161576*/          OPC_MoveChild2,
/*161577*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161580*/          OPC_RecordChild0, // #2 = $Rm
/*161581*/          OPC_CheckChild1Integer, 2, 
/*161583*/          OPC_CheckChild1Type, MVT::i64,
/*161585*/          OPC_CheckType, MVT::v2i32,
/*161587*/          OPC_MoveParent,
/*161588*/          OPC_MoveParent,
/*161589*/          OPC_CheckType, MVT::v2i64,
/*161591*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161593*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 27
                    // Dst: (UMLALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*161602*/        0, // EndSwitchType
/*161603*/      0, /*End of Scope*/
/*161604*/    /*Scope*/ 93|128,3/*477*/, /*->162083*/
/*161606*/      OPC_MoveChild0,
/*161607*/      OPC_SwitchOpcode /*3 cases */, 100|128,1/*228*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->161840
/*161612*/        OPC_Scope, 112, /*->161726*/ // 2 children in Scope
/*161614*/          OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*161617*/          OPC_MoveChild1,
/*161618*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161621*/          OPC_RecordChild0, // #0 = $Rn
/*161622*/          OPC_SwitchType /*3 cases */, 32, MVT::v8i8,// ->161657
/*161625*/            OPC_CheckChild1Integer, 8, 
/*161627*/            OPC_CheckChild1Type, MVT::i64,
/*161629*/            OPC_MoveParent,
/*161630*/            OPC_MoveChild2,
/*161631*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161634*/            OPC_RecordChild0, // #1 = $Rm
/*161635*/            OPC_CheckChild1Integer, 8, 
/*161637*/            OPC_CheckChild1Type, MVT::i64,
/*161639*/            OPC_CheckType, MVT::v8i8,
/*161641*/            OPC_MoveParent,
/*161642*/            OPC_MoveParent,
/*161643*/            OPC_RecordChild1, // #2 = $Rd
/*161644*/            OPC_CheckType, MVT::v8i16,
/*161646*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161648*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv16i8_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                      // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })), V128:{ *:[v8i16] }:$Rd) - Complexity = 27
                      // Dst: (SMLALv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*161657*/          /*SwitchType*/ 32, MVT::v4i16,// ->161691
/*161659*/            OPC_CheckChild1Integer, 4, 
/*161661*/            OPC_CheckChild1Type, MVT::i64,
/*161663*/            OPC_MoveParent,
/*161664*/            OPC_MoveChild2,
/*161665*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161668*/            OPC_RecordChild0, // #1 = $Rm
/*161669*/            OPC_CheckChild1Integer, 4, 
/*161671*/            OPC_CheckChild1Type, MVT::i64,
/*161673*/            OPC_CheckType, MVT::v4i16,
/*161675*/            OPC_MoveParent,
/*161676*/            OPC_MoveParent,
/*161677*/            OPC_RecordChild1, // #2 = $Rd
/*161678*/            OPC_CheckType, MVT::v4i32,
/*161680*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161682*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv8i16_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                      // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })), V128:{ *:[v4i32] }:$Rd) - Complexity = 27
                      // Dst: (SMLALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*161691*/          /*SwitchType*/ 32, MVT::v2i32,// ->161725
/*161693*/            OPC_CheckChild1Integer, 2, 
/*161695*/            OPC_CheckChild1Type, MVT::i64,
/*161697*/            OPC_MoveParent,
/*161698*/            OPC_MoveChild2,
/*161699*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161702*/            OPC_RecordChild0, // #1 = $Rm
/*161703*/            OPC_CheckChild1Integer, 2, 
/*161705*/            OPC_CheckChild1Type, MVT::i64,
/*161707*/            OPC_CheckType, MVT::v2i32,
/*161709*/            OPC_MoveParent,
/*161710*/            OPC_MoveParent,
/*161711*/            OPC_RecordChild1, // #2 = $Rd
/*161712*/            OPC_CheckType, MVT::v2i64,
/*161714*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161716*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i32_v2i64), 0,
                          MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                      // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })), V128:{ *:[v2i64] }:$Rd) - Complexity = 27
                      // Dst: (SMLALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*161725*/          0, // EndSwitchType
/*161726*/        /*Scope*/ 112, /*->161839*/
/*161727*/          OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*161730*/          OPC_MoveChild1,
/*161731*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161734*/          OPC_RecordChild0, // #0 = $Rn
/*161735*/          OPC_SwitchType /*3 cases */, 32, MVT::v8i8,// ->161770
/*161738*/            OPC_CheckChild1Integer, 8, 
/*161740*/            OPC_CheckChild1Type, MVT::i64,
/*161742*/            OPC_MoveParent,
/*161743*/            OPC_MoveChild2,
/*161744*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161747*/            OPC_RecordChild0, // #1 = $Rm
/*161748*/            OPC_CheckChild1Integer, 8, 
/*161750*/            OPC_CheckChild1Type, MVT::i64,
/*161752*/            OPC_CheckType, MVT::v8i8,
/*161754*/            OPC_MoveParent,
/*161755*/            OPC_MoveParent,
/*161756*/            OPC_RecordChild1, // #2 = $Rd
/*161757*/            OPC_CheckType, MVT::v8i16,
/*161759*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161761*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv16i8_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                      // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })), V128:{ *:[v8i16] }:$Rd) - Complexity = 27
                      // Dst: (UMLALv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*161770*/          /*SwitchType*/ 32, MVT::v4i16,// ->161804
/*161772*/            OPC_CheckChild1Integer, 4, 
/*161774*/            OPC_CheckChild1Type, MVT::i64,
/*161776*/            OPC_MoveParent,
/*161777*/            OPC_MoveChild2,
/*161778*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161781*/            OPC_RecordChild0, // #1 = $Rm
/*161782*/            OPC_CheckChild1Integer, 4, 
/*161784*/            OPC_CheckChild1Type, MVT::i64,
/*161786*/            OPC_CheckType, MVT::v4i16,
/*161788*/            OPC_MoveParent,
/*161789*/            OPC_MoveParent,
/*161790*/            OPC_RecordChild1, // #2 = $Rd
/*161791*/            OPC_CheckType, MVT::v4i32,
/*161793*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161795*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv8i16_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                      // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })), V128:{ *:[v4i32] }:$Rd) - Complexity = 27
                      // Dst: (UMLALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*161804*/          /*SwitchType*/ 32, MVT::v2i32,// ->161838
/*161806*/            OPC_CheckChild1Integer, 2, 
/*161808*/            OPC_CheckChild1Type, MVT::i64,
/*161810*/            OPC_MoveParent,
/*161811*/            OPC_MoveChild2,
/*161812*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161815*/            OPC_RecordChild0, // #1 = $Rm
/*161816*/            OPC_CheckChild1Integer, 2, 
/*161818*/            OPC_CheckChild1Type, MVT::i64,
/*161820*/            OPC_CheckType, MVT::v2i32,
/*161822*/            OPC_MoveParent,
/*161823*/            OPC_MoveParent,
/*161824*/            OPC_RecordChild1, // #2 = $Rd
/*161825*/            OPC_CheckType, MVT::v2i64,
/*161827*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161829*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i32_v2i64), 0,
                          MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                      // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })), V128:{ *:[v2i64] }:$Rd) - Complexity = 27
                      // Dst: (UMLALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*161838*/          0, // EndSwitchType
/*161839*/        0, /*End of Scope*/
/*161840*/      /*SwitchOpcode*/ 118, TARGET_VAL(ISD::SIGN_EXTEND),// ->161961
/*161843*/        OPC_MoveChild0,
/*161844*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161847*/        OPC_RecordChild0, // #0 = $Rn
/*161848*/        OPC_SwitchType /*3 cases */, 35, MVT::v8i8,// ->161886
/*161851*/          OPC_CheckChild1Integer, 8, 
/*161853*/          OPC_CheckChild1Type, MVT::i64,
/*161855*/          OPC_MoveParent,
/*161856*/          OPC_MoveParent,
/*161857*/          OPC_MoveChild1,
/*161858*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*161861*/          OPC_MoveChild0,
/*161862*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161865*/          OPC_RecordChild0, // #1 = $Rm
/*161866*/          OPC_CheckChild1Integer, 8, 
/*161868*/          OPC_CheckChild1Type, MVT::i64,
/*161870*/          OPC_CheckType, MVT::v8i8,
/*161872*/          OPC_MoveParent,
/*161873*/          OPC_MoveParent,
/*161874*/          OPC_CheckType, MVT::v8i16,
/*161876*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161878*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 25
                    // Dst: (SADDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*161886*/        /*SwitchType*/ 35, MVT::v4i16,// ->161923
/*161888*/          OPC_CheckChild1Integer, 4, 
/*161890*/          OPC_CheckChild1Type, MVT::i64,
/*161892*/          OPC_MoveParent,
/*161893*/          OPC_MoveParent,
/*161894*/          OPC_MoveChild1,
/*161895*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*161898*/          OPC_MoveChild0,
/*161899*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161902*/          OPC_RecordChild0, // #1 = $Rm
/*161903*/          OPC_CheckChild1Integer, 4, 
/*161905*/          OPC_CheckChild1Type, MVT::i64,
/*161907*/          OPC_CheckType, MVT::v4i16,
/*161909*/          OPC_MoveParent,
/*161910*/          OPC_MoveParent,
/*161911*/          OPC_CheckType, MVT::v4i32,
/*161913*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161915*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 25
                    // Dst: (SADDLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*161923*/        /*SwitchType*/ 35, MVT::v2i32,// ->161960
/*161925*/          OPC_CheckChild1Integer, 2, 
/*161927*/          OPC_CheckChild1Type, MVT::i64,
/*161929*/          OPC_MoveParent,
/*161930*/          OPC_MoveParent,
/*161931*/          OPC_MoveChild1,
/*161932*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*161935*/          OPC_MoveChild0,
/*161936*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161939*/          OPC_RecordChild0, // #1 = $Rm
/*161940*/          OPC_CheckChild1Integer, 2, 
/*161942*/          OPC_CheckChild1Type, MVT::i64,
/*161944*/          OPC_CheckType, MVT::v2i32,
/*161946*/          OPC_MoveParent,
/*161947*/          OPC_MoveParent,
/*161948*/          OPC_CheckType, MVT::v2i64,
/*161950*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161952*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 25
                    // Dst: (SADDLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*161960*/        0, // EndSwitchType
/*161961*/      /*SwitchOpcode*/ 118, TARGET_VAL(ISD::ZERO_EXTEND),// ->162082
/*161964*/        OPC_MoveChild0,
/*161965*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161968*/        OPC_RecordChild0, // #0 = $Rn
/*161969*/        OPC_SwitchType /*3 cases */, 35, MVT::v8i8,// ->162007
/*161972*/          OPC_CheckChild1Integer, 8, 
/*161974*/          OPC_CheckChild1Type, MVT::i64,
/*161976*/          OPC_MoveParent,
/*161977*/          OPC_MoveParent,
/*161978*/          OPC_MoveChild1,
/*161979*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*161982*/          OPC_MoveChild0,
/*161983*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*161986*/          OPC_RecordChild0, // #1 = $Rm
/*161987*/          OPC_CheckChild1Integer, 8, 
/*161989*/          OPC_CheckChild1Type, MVT::i64,
/*161991*/          OPC_CheckType, MVT::v8i8,
/*161993*/          OPC_MoveParent,
/*161994*/          OPC_MoveParent,
/*161995*/          OPC_CheckType, MVT::v8i16,
/*161997*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*161999*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 25
                    // Dst: (UADDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*162007*/        /*SwitchType*/ 35, MVT::v4i16,// ->162044
/*162009*/          OPC_CheckChild1Integer, 4, 
/*162011*/          OPC_CheckChild1Type, MVT::i64,
/*162013*/          OPC_MoveParent,
/*162014*/          OPC_MoveParent,
/*162015*/          OPC_MoveChild1,
/*162016*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*162019*/          OPC_MoveChild0,
/*162020*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*162023*/          OPC_RecordChild0, // #1 = $Rm
/*162024*/          OPC_CheckChild1Integer, 4, 
/*162026*/          OPC_CheckChild1Type, MVT::i64,
/*162028*/          OPC_CheckType, MVT::v4i16,
/*162030*/          OPC_MoveParent,
/*162031*/          OPC_MoveParent,
/*162032*/          OPC_CheckType, MVT::v4i32,
/*162034*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162036*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 25
                    // Dst: (UADDLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*162044*/        /*SwitchType*/ 35, MVT::v2i32,// ->162081
/*162046*/          OPC_CheckChild1Integer, 2, 
/*162048*/          OPC_CheckChild1Type, MVT::i64,
/*162050*/          OPC_MoveParent,
/*162051*/          OPC_MoveParent,
/*162052*/          OPC_MoveChild1,
/*162053*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*162056*/          OPC_MoveChild0,
/*162057*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*162060*/          OPC_RecordChild0, // #1 = $Rm
/*162061*/          OPC_CheckChild1Integer, 2, 
/*162063*/          OPC_CheckChild1Type, MVT::i64,
/*162065*/          OPC_CheckType, MVT::v2i32,
/*162067*/          OPC_MoveParent,
/*162068*/          OPC_MoveParent,
/*162069*/          OPC_CheckType, MVT::v2i64,
/*162071*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162073*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 25
                    // Dst: (UADDLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*162081*/        0, // EndSwitchType
/*162082*/      0, // EndSwitchOpcode
/*162083*/    /*Scope*/ 53|128,1/*181*/, /*->162266*/
/*162085*/      OPC_RecordChild0, // #0 = $Rd
/*162086*/      OPC_MoveChild1,
/*162087*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*162090*/      OPC_Scope, 86, /*->162178*/ // 2 children in Scope
/*162092*/        OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*162095*/        OPC_RecordChild1, // #1 = $Rn
/*162096*/        OPC_Scope, 39, /*->162137*/ // 2 children in Scope
/*162098*/          OPC_CheckChild1Type, MVT::v4i16,
/*162100*/          OPC_MoveChild2,
/*162101*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*162104*/          OPC_RecordChild0, // #2 = $Rm
/*162105*/          OPC_CheckChild0Type, MVT::v8i16,
/*162107*/          OPC_RecordChild1, // #3 = $idx
/*162108*/          OPC_MoveChild1,
/*162109*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*162112*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*162114*/          OPC_CheckType, MVT::i64,
/*162116*/          OPC_MoveParent,
/*162117*/          OPC_CheckType, MVT::v4i16,
/*162119*/          OPC_MoveParent,
/*162120*/          OPC_MoveParent,
/*162121*/          OPC_CheckType, MVT::v4i32,
/*162123*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162125*/          OPC_EmitConvertToTarget, 3,
/*162127*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i16_indexed), 0,
                        MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 18
                    // Dst: (SMLALv4i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*162137*/        /*Scope*/ 39, /*->162177*/
/*162138*/          OPC_CheckChild1Type, MVT::v2i32,
/*162140*/          OPC_MoveChild2,
/*162141*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*162144*/          OPC_RecordChild0, // #2 = $Rm
/*162145*/          OPC_CheckChild0Type, MVT::v4i32,
/*162147*/          OPC_RecordChild1, // #3 = $idx
/*162148*/          OPC_MoveChild1,
/*162149*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*162152*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*162154*/          OPC_CheckType, MVT::i64,
/*162156*/          OPC_MoveParent,
/*162157*/          OPC_CheckType, MVT::v2i32,
/*162159*/          OPC_MoveParent,
/*162160*/          OPC_MoveParent,
/*162161*/          OPC_CheckType, MVT::v2i64,
/*162163*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162165*/          OPC_EmitConvertToTarget, 3,
/*162167*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv2i32_indexed), 0,
                        MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 18
                    // Dst: (SMLALv2i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*162177*/        0, /*End of Scope*/
/*162178*/      /*Scope*/ 86, /*->162265*/
/*162179*/        OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*162182*/        OPC_RecordChild1, // #1 = $Rn
/*162183*/        OPC_Scope, 39, /*->162224*/ // 2 children in Scope
/*162185*/          OPC_CheckChild1Type, MVT::v4i16,
/*162187*/          OPC_MoveChild2,
/*162188*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*162191*/          OPC_RecordChild0, // #2 = $Rm
/*162192*/          OPC_CheckChild0Type, MVT::v8i16,
/*162194*/          OPC_RecordChild1, // #3 = $idx
/*162195*/          OPC_MoveChild1,
/*162196*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*162199*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*162201*/          OPC_CheckType, MVT::i64,
/*162203*/          OPC_MoveParent,
/*162204*/          OPC_CheckType, MVT::v4i16,
/*162206*/          OPC_MoveParent,
/*162207*/          OPC_MoveParent,
/*162208*/          OPC_CheckType, MVT::v4i32,
/*162210*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162212*/          OPC_EmitConvertToTarget, 3,
/*162214*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i16_indexed), 0,
                        MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 18
                    // Dst: (UMLALv4i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*162224*/        /*Scope*/ 39, /*->162264*/
/*162225*/          OPC_CheckChild1Type, MVT::v2i32,
/*162227*/          OPC_MoveChild2,
/*162228*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*162231*/          OPC_RecordChild0, // #2 = $Rm
/*162232*/          OPC_CheckChild0Type, MVT::v4i32,
/*162234*/          OPC_RecordChild1, // #3 = $idx
/*162235*/          OPC_MoveChild1,
/*162236*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*162239*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*162241*/          OPC_CheckType, MVT::i64,
/*162243*/          OPC_MoveParent,
/*162244*/          OPC_CheckType, MVT::v2i32,
/*162246*/          OPC_MoveParent,
/*162247*/          OPC_MoveParent,
/*162248*/          OPC_CheckType, MVT::v2i64,
/*162250*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162252*/          OPC_EmitConvertToTarget, 3,
/*162254*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv2i32_indexed), 0,
                        MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 18
                    // Dst: (UMLALv2i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*162264*/        0, /*End of Scope*/
/*162265*/      0, /*End of Scope*/
/*162266*/    /*Scope*/ 56|128,1/*184*/, /*->162452*/
/*162268*/      OPC_MoveChild0,
/*162269*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*162272*/      OPC_Scope, 88, /*->162362*/ // 2 children in Scope
/*162274*/        OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*162277*/        OPC_RecordChild1, // #0 = $Rn
/*162278*/        OPC_Scope, 40, /*->162320*/ // 2 children in Scope
/*162280*/          OPC_CheckChild1Type, MVT::v4i16,
/*162282*/          OPC_MoveChild2,
/*162283*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*162286*/          OPC_RecordChild0, // #1 = $Rm
/*162287*/          OPC_CheckChild0Type, MVT::v8i16,
/*162289*/          OPC_RecordChild1, // #2 = $idx
/*162290*/          OPC_MoveChild1,
/*162291*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*162294*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*162296*/          OPC_CheckType, MVT::i64,
/*162298*/          OPC_MoveParent,
/*162299*/          OPC_CheckType, MVT::v4i16,
/*162301*/          OPC_MoveParent,
/*162302*/          OPC_MoveParent,
/*162303*/          OPC_RecordChild1, // #3 = $Rd
/*162304*/          OPC_CheckType, MVT::v4i32,
/*162306*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162308*/          OPC_EmitConvertToTarget, 2,
/*162310*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i16_indexed), 0,
                        MVT::v4i32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)), V128:{ *:[v4i32] }:$Rd) - Complexity = 18
                    // Dst: (SMLALv4i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*162320*/        /*Scope*/ 40, /*->162361*/
/*162321*/          OPC_CheckChild1Type, MVT::v2i32,
/*162323*/          OPC_MoveChild2,
/*162324*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*162327*/          OPC_RecordChild0, // #1 = $Rm
/*162328*/          OPC_CheckChild0Type, MVT::v4i32,
/*162330*/          OPC_RecordChild1, // #2 = $idx
/*162331*/          OPC_MoveChild1,
/*162332*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*162335*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*162337*/          OPC_CheckType, MVT::i64,
/*162339*/          OPC_MoveParent,
/*162340*/          OPC_CheckType, MVT::v2i32,
/*162342*/          OPC_MoveParent,
/*162343*/          OPC_MoveParent,
/*162344*/          OPC_RecordChild1, // #3 = $Rd
/*162345*/          OPC_CheckType, MVT::v2i64,
/*162347*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162349*/          OPC_EmitConvertToTarget, 2,
/*162351*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv2i32_indexed), 0,
                        MVT::v2i64, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), V128:{ *:[v2i64] }:$Rd) - Complexity = 18
                    // Dst: (SMLALv2i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*162361*/        0, /*End of Scope*/
/*162362*/      /*Scope*/ 88, /*->162451*/
/*162363*/        OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*162366*/        OPC_RecordChild1, // #0 = $Rn
/*162367*/        OPC_Scope, 40, /*->162409*/ // 2 children in Scope
/*162369*/          OPC_CheckChild1Type, MVT::v4i16,
/*162371*/          OPC_MoveChild2,
/*162372*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*162375*/          OPC_RecordChild0, // #1 = $Rm
/*162376*/          OPC_CheckChild0Type, MVT::v8i16,
/*162378*/          OPC_RecordChild1, // #2 = $idx
/*162379*/          OPC_MoveChild1,
/*162380*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*162383*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*162385*/          OPC_CheckType, MVT::i64,
/*162387*/          OPC_MoveParent,
/*162388*/          OPC_CheckType, MVT::v4i16,
/*162390*/          OPC_MoveParent,
/*162391*/          OPC_MoveParent,
/*162392*/          OPC_RecordChild1, // #3 = $Rd
/*162393*/          OPC_CheckType, MVT::v4i32,
/*162395*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162397*/          OPC_EmitConvertToTarget, 2,
/*162399*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i16_indexed), 0,
                        MVT::v4i32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)), V128:{ *:[v4i32] }:$Rd) - Complexity = 18
                    // Dst: (UMLALv4i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*162409*/        /*Scope*/ 40, /*->162450*/
/*162410*/          OPC_CheckChild1Type, MVT::v2i32,
/*162412*/          OPC_MoveChild2,
/*162413*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*162416*/          OPC_RecordChild0, // #1 = $Rm
/*162417*/          OPC_CheckChild0Type, MVT::v4i32,
/*162419*/          OPC_RecordChild1, // #2 = $idx
/*162420*/          OPC_MoveChild1,
/*162421*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*162424*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*162426*/          OPC_CheckType, MVT::i64,
/*162428*/          OPC_MoveParent,
/*162429*/          OPC_CheckType, MVT::v2i32,
/*162431*/          OPC_MoveParent,
/*162432*/          OPC_MoveParent,
/*162433*/          OPC_RecordChild1, // #3 = $Rd
/*162434*/          OPC_CheckType, MVT::v2i64,
/*162436*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162438*/          OPC_EmitConvertToTarget, 2,
/*162440*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv2i32_indexed), 0,
                        MVT::v2i64, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), V128:{ *:[v2i64] }:$Rd) - Complexity = 18
                    // Dst: (UMLALv2i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*162450*/        0, /*End of Scope*/
/*162451*/      0, /*End of Scope*/
/*162452*/    /*Scope*/ 82, /*->162535*/
/*162453*/      OPC_RecordChild0, // #0 = $Op1
/*162454*/      OPC_MoveChild1,
/*162455*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*162458*/      OPC_RecordChild0, // #1 = $SVEAddSubImm8Pat:imm:shift
/*162459*/      OPC_Scope, 53, /*->162514*/ // 2 children in Scope
/*162461*/        OPC_CheckChild0Type, MVT::i32,
/*162463*/        OPC_MoveParent,
/*162464*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->162481
/*162467*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*162469*/          OPC_CheckComplexPat, /*CP*/8, /*#*/1, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*162472*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (add:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (ADD_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*162481*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->162497
/*162483*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*162485*/          OPC_CheckComplexPat, /*CP*/9, /*#*/1, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*162488*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (add:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (ADD_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*162497*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->162513
/*162499*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*162501*/          OPC_CheckComplexPat, /*CP*/10, /*#*/1, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*162504*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (add:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (ADD_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*162513*/        0, // EndSwitchType
/*162514*/      /*Scope*/ 19, /*->162534*/
/*162515*/        OPC_CheckChild0Type, MVT::i64,
/*162517*/        OPC_MoveParent,
/*162518*/        OPC_CheckType, MVT::nxv2i64,
/*162520*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*162522*/        OPC_CheckComplexPat, /*CP*/11, /*#*/1, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*162525*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (add:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                  // Dst: (ADD_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*162534*/      0, /*End of Scope*/
/*162535*/    /*Scope*/ 83, /*->162619*/
/*162536*/      OPC_MoveChild0,
/*162537*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*162540*/      OPC_RecordChild0, // #0 = $SVEAddSubImm8Pat:imm:shift
/*162541*/      OPC_Scope, 54, /*->162597*/ // 2 children in Scope
/*162543*/        OPC_CheckChild0Type, MVT::i32,
/*162545*/        OPC_MoveParent,
/*162546*/        OPC_RecordChild1, // #1 = $Op1
/*162547*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->162564
/*162550*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*162552*/          OPC_CheckComplexPat, /*CP*/8, /*#*/0, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*162555*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (add:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 15
                    // Dst: (ADD_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*162564*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->162580
/*162566*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*162568*/          OPC_CheckComplexPat, /*CP*/9, /*#*/0, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*162571*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (add:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 15
                    // Dst: (ADD_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*162580*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->162596
/*162582*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*162584*/          OPC_CheckComplexPat, /*CP*/10, /*#*/0, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*162587*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (add:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 15
                    // Dst: (ADD_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*162596*/        0, // EndSwitchType
/*162597*/      /*Scope*/ 20, /*->162618*/
/*162598*/        OPC_CheckChild0Type, MVT::i64,
/*162600*/        OPC_MoveParent,
/*162601*/        OPC_RecordChild1, // #1 = $Op1
/*162602*/        OPC_CheckType, MVT::nxv2i64,
/*162604*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*162606*/        OPC_CheckComplexPat, /*CP*/11, /*#*/0, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*162609*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (add:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 15
                  // Dst: (ADD_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*162618*/      0, /*End of Scope*/
/*162619*/    /*Scope*/ 43|128,2/*299*/, /*->162920*/
/*162621*/      OPC_RecordChild0, // #0 = $Rd
/*162622*/      OPC_MoveChild1,
/*162623*/      OPC_SwitchOpcode /*2 cases */, 93|128,1/*221*/, TARGET_VAL(ISD::ZERO_EXTEND),// ->162849
/*162628*/        OPC_MoveChild0,
/*162629*/        OPC_SwitchOpcode /*2 cases */, 20|128,1/*148*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->162782
/*162634*/          OPC_Scope, 72, /*->162708*/ // 2 children in Scope
/*162636*/            OPC_CheckChild0Integer, 114|128,2/*370*/, 
/*162639*/            OPC_RecordChild1, // #1 = $Rn
/*162640*/            OPC_SwitchType /*3 cases */, 20, MVT::v8i8,// ->162663
/*162643*/              OPC_CheckChild1Type, MVT::v8i8,
/*162645*/              OPC_RecordChild2, // #2 = $Rm
/*162646*/              OPC_CheckChild2Type, MVT::v8i8,
/*162648*/              OPC_MoveParent,
/*162649*/              OPC_MoveParent,
/*162650*/              OPC_CheckType, MVT::v8i16,
/*162652*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162654*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv8i8_v8i16), 0,
                            MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm))) - Complexity = 14
                        // Dst: (SABALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*162663*/            /*SwitchType*/ 20, MVT::v4i16,// ->162685
/*162665*/              OPC_CheckChild1Type, MVT::v4i16,
/*162667*/              OPC_RecordChild2, // #2 = $Rm
/*162668*/              OPC_CheckChild2Type, MVT::v4i16,
/*162670*/              OPC_MoveParent,
/*162671*/              OPC_MoveParent,
/*162672*/              OPC_CheckType, MVT::v4i32,
/*162674*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162676*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv4i16_v4i32), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm))) - Complexity = 14
                        // Dst: (SABALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*162685*/            /*SwitchType*/ 20, MVT::v2i32,// ->162707
/*162687*/              OPC_CheckChild1Type, MVT::v2i32,
/*162689*/              OPC_RecordChild2, // #2 = $Rm
/*162690*/              OPC_CheckChild2Type, MVT::v2i32,
/*162692*/              OPC_MoveParent,
/*162693*/              OPC_MoveParent,
/*162694*/              OPC_CheckType, MVT::v2i64,
/*162696*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162698*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv2i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm))) - Complexity = 14
                        // Dst: (SABALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*162707*/            0, // EndSwitchType
/*162708*/          /*Scope*/ 72, /*->162781*/
/*162709*/            OPC_CheckChild0Integer, 44|128,3/*428*/, 
/*162712*/            OPC_RecordChild1, // #1 = $Rn
/*162713*/            OPC_SwitchType /*3 cases */, 20, MVT::v8i8,// ->162736
/*162716*/              OPC_CheckChild1Type, MVT::v8i8,
/*162718*/              OPC_RecordChild2, // #2 = $Rm
/*162719*/              OPC_CheckChild2Type, MVT::v8i8,
/*162721*/              OPC_MoveParent,
/*162722*/              OPC_MoveParent,
/*162723*/              OPC_CheckType, MVT::v8i16,
/*162725*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162727*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv8i8_v8i16), 0,
                            MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm))) - Complexity = 14
                        // Dst: (UABALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*162736*/            /*SwitchType*/ 20, MVT::v4i16,// ->162758
/*162738*/              OPC_CheckChild1Type, MVT::v4i16,
/*162740*/              OPC_RecordChild2, // #2 = $Rm
/*162741*/              OPC_CheckChild2Type, MVT::v4i16,
/*162743*/              OPC_MoveParent,
/*162744*/              OPC_MoveParent,
/*162745*/              OPC_CheckType, MVT::v4i32,
/*162747*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162749*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv4i16_v4i32), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm))) - Complexity = 14
                        // Dst: (UABALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*162758*/            /*SwitchType*/ 20, MVT::v2i32,// ->162780
/*162760*/              OPC_CheckChild1Type, MVT::v2i32,
/*162762*/              OPC_RecordChild2, // #2 = $Rm
/*162763*/              OPC_CheckChild2Type, MVT::v2i32,
/*162765*/              OPC_MoveParent,
/*162766*/              OPC_MoveParent,
/*162767*/              OPC_CheckType, MVT::v2i64,
/*162769*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162771*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv2i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm))) - Complexity = 14
                        // Dst: (UABALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*162780*/            0, // EndSwitchType
/*162781*/          0, /*End of Scope*/
/*162782*/        /*SwitchOpcode*/ 63, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),// ->162848
/*162785*/          OPC_RecordChild0, // #1 = $Rm
/*162786*/          OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->162807
/*162789*/            OPC_CheckChild1Integer, 8, 
/*162791*/            OPC_CheckChild1Type, MVT::i64,
/*162793*/            OPC_MoveParent,
/*162794*/            OPC_MoveParent,
/*162795*/            OPC_CheckType, MVT::v8i16,
/*162797*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162799*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv16i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 0, 1, 
                      // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 14
                      // Dst: (UADDWv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*162807*/          /*SwitchType*/ 18, MVT::v4i16,// ->162827
/*162809*/            OPC_CheckChild1Integer, 4, 
/*162811*/            OPC_CheckChild1Type, MVT::i64,
/*162813*/            OPC_MoveParent,
/*162814*/            OPC_MoveParent,
/*162815*/            OPC_CheckType, MVT::v4i32,
/*162817*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162819*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv8i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 14
                      // Dst: (UADDWv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*162827*/          /*SwitchType*/ 18, MVT::v2i32,// ->162847
/*162829*/            OPC_CheckChild1Integer, 2, 
/*162831*/            OPC_CheckChild1Type, MVT::i64,
/*162833*/            OPC_MoveParent,
/*162834*/            OPC_MoveParent,
/*162835*/            OPC_CheckType, MVT::v2i64,
/*162837*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162839*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv4i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 14
                      // Dst: (UADDWv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*162847*/          0, // EndSwitchType
/*162848*/        0, // EndSwitchOpcode
/*162849*/      /*SwitchOpcode*/ 67, TARGET_VAL(ISD::SIGN_EXTEND),// ->162919
/*162852*/        OPC_MoveChild0,
/*162853*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*162856*/        OPC_RecordChild0, // #1 = $Rm
/*162857*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->162878
/*162860*/          OPC_CheckChild1Integer, 8, 
/*162862*/          OPC_CheckChild1Type, MVT::i64,
/*162864*/          OPC_MoveParent,
/*162865*/          OPC_MoveParent,
/*162866*/          OPC_CheckType, MVT::v8i16,
/*162868*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162870*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 14
                    // Dst: (SADDWv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*162878*/        /*SwitchType*/ 18, MVT::v4i16,// ->162898
/*162880*/          OPC_CheckChild1Integer, 4, 
/*162882*/          OPC_CheckChild1Type, MVT::i64,
/*162884*/          OPC_MoveParent,
/*162885*/          OPC_MoveParent,
/*162886*/          OPC_CheckType, MVT::v4i32,
/*162888*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162890*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 14
                    // Dst: (SADDWv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*162898*/        /*SwitchType*/ 18, MVT::v2i32,// ->162918
/*162900*/          OPC_CheckChild1Integer, 2, 
/*162902*/          OPC_CheckChild1Type, MVT::i64,
/*162904*/          OPC_MoveParent,
/*162905*/          OPC_MoveParent,
/*162906*/          OPC_CheckType, MVT::v2i64,
/*162908*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162910*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 14
                    // Dst: (SADDWv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*162918*/        0, // EndSwitchType
/*162919*/      0, // EndSwitchOpcode
/*162920*/    /*Scope*/ 54|128,2/*310*/, /*->163232*/
/*162922*/      OPC_MoveChild0,
/*162923*/      OPC_SwitchOpcode /*2 cases */, 102|128,1/*230*/, TARGET_VAL(ISD::ZERO_EXTEND),// ->163158
/*162928*/        OPC_MoveChild0,
/*162929*/        OPC_SwitchOpcode /*2 cases */, 26|128,1/*154*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->163088
/*162934*/          OPC_Scope, 75, /*->163011*/ // 2 children in Scope
/*162936*/            OPC_CheckChild0Integer, 114|128,2/*370*/, 
/*162939*/            OPC_RecordChild1, // #0 = $Rn
/*162940*/            OPC_SwitchType /*3 cases */, 21, MVT::v8i8,// ->162964
/*162943*/              OPC_CheckChild1Type, MVT::v8i8,
/*162945*/              OPC_RecordChild2, // #1 = $Rm
/*162946*/              OPC_CheckChild2Type, MVT::v8i8,
/*162948*/              OPC_MoveParent,
/*162949*/              OPC_MoveParent,
/*162950*/              OPC_RecordChild1, // #2 = $Rd
/*162951*/              OPC_CheckType, MVT::v8i16,
/*162953*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162955*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv8i8_v8i16), 0,
                            MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                        // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)), V128:{ *:[v8i16] }:$Rd) - Complexity = 14
                        // Dst: (SABALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*162964*/            /*SwitchType*/ 21, MVT::v4i16,// ->162987
/*162966*/              OPC_CheckChild1Type, MVT::v4i16,
/*162968*/              OPC_RecordChild2, // #1 = $Rm
/*162969*/              OPC_CheckChild2Type, MVT::v4i16,
/*162971*/              OPC_MoveParent,
/*162972*/              OPC_MoveParent,
/*162973*/              OPC_RecordChild1, // #2 = $Rd
/*162974*/              OPC_CheckType, MVT::v4i32,
/*162976*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*162978*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv4i16_v4i32), 0,
                            MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                        // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)), V128:{ *:[v4i32] }:$Rd) - Complexity = 14
                        // Dst: (SABALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*162987*/            /*SwitchType*/ 21, MVT::v2i32,// ->163010
/*162989*/              OPC_CheckChild1Type, MVT::v2i32,
/*162991*/              OPC_RecordChild2, // #1 = $Rm
/*162992*/              OPC_CheckChild2Type, MVT::v2i32,
/*162994*/              OPC_MoveParent,
/*162995*/              OPC_MoveParent,
/*162996*/              OPC_RecordChild1, // #2 = $Rd
/*162997*/              OPC_CheckType, MVT::v2i64,
/*162999*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163001*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABALv2i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                        // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)), V128:{ *:[v2i64] }:$Rd) - Complexity = 14
                        // Dst: (SABALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*163010*/            0, // EndSwitchType
/*163011*/          /*Scope*/ 75, /*->163087*/
/*163012*/            OPC_CheckChild0Integer, 44|128,3/*428*/, 
/*163015*/            OPC_RecordChild1, // #0 = $Rn
/*163016*/            OPC_SwitchType /*3 cases */, 21, MVT::v8i8,// ->163040
/*163019*/              OPC_CheckChild1Type, MVT::v8i8,
/*163021*/              OPC_RecordChild2, // #1 = $Rm
/*163022*/              OPC_CheckChild2Type, MVT::v8i8,
/*163024*/              OPC_MoveParent,
/*163025*/              OPC_MoveParent,
/*163026*/              OPC_RecordChild1, // #2 = $Rd
/*163027*/              OPC_CheckType, MVT::v8i16,
/*163029*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163031*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv8i8_v8i16), 0,
                            MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                        // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)), V128:{ *:[v8i16] }:$Rd) - Complexity = 14
                        // Dst: (UABALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*163040*/            /*SwitchType*/ 21, MVT::v4i16,// ->163063
/*163042*/              OPC_CheckChild1Type, MVT::v4i16,
/*163044*/              OPC_RecordChild2, // #1 = $Rm
/*163045*/              OPC_CheckChild2Type, MVT::v4i16,
/*163047*/              OPC_MoveParent,
/*163048*/              OPC_MoveParent,
/*163049*/              OPC_RecordChild1, // #2 = $Rd
/*163050*/              OPC_CheckType, MVT::v4i32,
/*163052*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163054*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv4i16_v4i32), 0,
                            MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                        // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)), V128:{ *:[v4i32] }:$Rd) - Complexity = 14
                        // Dst: (UABALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*163063*/            /*SwitchType*/ 21, MVT::v2i32,// ->163086
/*163065*/              OPC_CheckChild1Type, MVT::v2i32,
/*163067*/              OPC_RecordChild2, // #1 = $Rm
/*163068*/              OPC_CheckChild2Type, MVT::v2i32,
/*163070*/              OPC_MoveParent,
/*163071*/              OPC_MoveParent,
/*163072*/              OPC_RecordChild1, // #2 = $Rd
/*163073*/              OPC_CheckType, MVT::v2i64,
/*163075*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163077*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABALv2i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                        // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)), V128:{ *:[v2i64] }:$Rd) - Complexity = 14
                        // Dst: (UABALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*163086*/            0, // EndSwitchType
/*163087*/          0, /*End of Scope*/
/*163088*/        /*SwitchOpcode*/ 66, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),// ->163157
/*163091*/          OPC_RecordChild0, // #0 = $Rm
/*163092*/          OPC_SwitchType /*3 cases */, 19, MVT::v8i8,// ->163114
/*163095*/            OPC_CheckChild1Integer, 8, 
/*163097*/            OPC_CheckChild1Type, MVT::i64,
/*163099*/            OPC_MoveParent,
/*163100*/            OPC_MoveParent,
/*163101*/            OPC_RecordChild1, // #1 = $Rn
/*163102*/            OPC_CheckType, MVT::v8i16,
/*163104*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163106*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv16i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 1, 0, 
                      // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })), V128:{ *:[v8i16] }:$Rn) - Complexity = 14
                      // Dst: (UADDWv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*163114*/          /*SwitchType*/ 19, MVT::v4i16,// ->163135
/*163116*/            OPC_CheckChild1Integer, 4, 
/*163118*/            OPC_CheckChild1Type, MVT::i64,
/*163120*/            OPC_MoveParent,
/*163121*/            OPC_MoveParent,
/*163122*/            OPC_RecordChild1, // #1 = $Rn
/*163123*/            OPC_CheckType, MVT::v4i32,
/*163125*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163127*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv8i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 1, 0, 
                      // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })), V128:{ *:[v4i32] }:$Rn) - Complexity = 14
                      // Dst: (UADDWv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*163135*/          /*SwitchType*/ 19, MVT::v2i32,// ->163156
/*163137*/            OPC_CheckChild1Integer, 2, 
/*163139*/            OPC_CheckChild1Type, MVT::i64,
/*163141*/            OPC_MoveParent,
/*163142*/            OPC_MoveParent,
/*163143*/            OPC_RecordChild1, // #1 = $Rn
/*163144*/            OPC_CheckType, MVT::v2i64,
/*163146*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163148*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv4i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 1, 0, 
                      // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })), V128:{ *:[v2i64] }:$Rn) - Complexity = 14
                      // Dst: (UADDWv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*163156*/          0, // EndSwitchType
/*163157*/        0, // EndSwitchOpcode
/*163158*/      /*SwitchOpcode*/ 70, TARGET_VAL(ISD::SIGN_EXTEND),// ->163231
/*163161*/        OPC_MoveChild0,
/*163162*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*163165*/        OPC_RecordChild0, // #0 = $Rm
/*163166*/        OPC_SwitchType /*3 cases */, 19, MVT::v8i8,// ->163188
/*163169*/          OPC_CheckChild1Integer, 8, 
/*163171*/          OPC_CheckChild1Type, MVT::i64,
/*163173*/          OPC_MoveParent,
/*163174*/          OPC_MoveParent,
/*163175*/          OPC_RecordChild1, // #1 = $Rn
/*163176*/          OPC_CheckType, MVT::v8i16,
/*163178*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163180*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v8i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })), V128:{ *:[v8i16] }:$Rn) - Complexity = 14
                    // Dst: (SADDWv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*163188*/        /*SwitchType*/ 19, MVT::v4i16,// ->163209
/*163190*/          OPC_CheckChild1Integer, 4, 
/*163192*/          OPC_CheckChild1Type, MVT::i64,
/*163194*/          OPC_MoveParent,
/*163195*/          OPC_MoveParent,
/*163196*/          OPC_RecordChild1, // #1 = $Rn
/*163197*/          OPC_CheckType, MVT::v4i32,
/*163199*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163201*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v4i32] } (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })), V128:{ *:[v4i32] }:$Rn) - Complexity = 14
                    // Dst: (SADDWv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*163209*/        /*SwitchType*/ 19, MVT::v2i32,// ->163230
/*163211*/          OPC_CheckChild1Integer, 2, 
/*163213*/          OPC_CheckChild1Type, MVT::i64,
/*163215*/          OPC_MoveParent,
/*163216*/          OPC_MoveParent,
/*163217*/          OPC_RecordChild1, // #1 = $Rn
/*163218*/          OPC_CheckType, MVT::v2i64,
/*163220*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163222*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v2i64] } (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })), V128:{ *:[v2i64] }:$Rn) - Complexity = 14
                    // Dst: (SADDWv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*163230*/        0, // EndSwitchType
/*163231*/      0, // EndSwitchOpcode
/*163232*/    /*Scope*/ 89|128,4/*601*/, /*->163835*/
/*163234*/      OPC_RecordChild0, // #0 = $Rd
/*163235*/      OPC_MoveChild1,
/*163236*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*163239*/      OPC_Scope, 102, /*->163343*/ // 6 children in Scope
/*163241*/        OPC_CheckChild0Integer, 115|128,2/*371*/, 
/*163244*/        OPC_RecordChild1, // #1 = $Rn
/*163245*/        OPC_Scope, 15, /*->163262*/ // 6 children in Scope
/*163247*/          OPC_CheckChild1Type, MVT::v8i8,
/*163249*/          OPC_MoveParent,
/*163250*/          OPC_CheckType, MVT::v4i16,
/*163252*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163254*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv8i8_v4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 371:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn)) - Complexity = 11
                    // Dst: (SADALPv8i8_v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v8i8] }:$Rn)
/*163262*/        /*Scope*/ 15, /*->163278*/
/*163263*/          OPC_CheckChild1Type, MVT::v16i8,
/*163265*/          OPC_MoveParent,
/*163266*/          OPC_CheckType, MVT::v8i16,
/*163268*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163270*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 371:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn)) - Complexity = 11
                    // Dst: (SADALPv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn)
/*163278*/        /*Scope*/ 15, /*->163294*/
/*163279*/          OPC_CheckChild1Type, MVT::v4i16,
/*163281*/          OPC_MoveParent,
/*163282*/          OPC_CheckType, MVT::v2i32,
/*163284*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163286*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv4i16_v2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 371:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn)) - Complexity = 11
                    // Dst: (SADALPv4i16_v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v4i16] }:$Rn)
/*163294*/        /*Scope*/ 15, /*->163310*/
/*163295*/          OPC_CheckChild1Type, MVT::v8i16,
/*163297*/          OPC_MoveParent,
/*163298*/          OPC_CheckType, MVT::v4i32,
/*163300*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163302*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 371:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn)) - Complexity = 11
                    // Dst: (SADALPv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn)
/*163310*/        /*Scope*/ 15, /*->163326*/
/*163311*/          OPC_CheckChild1Type, MVT::v2i32,
/*163313*/          OPC_MoveParent,
/*163314*/          OPC_CheckType, MVT::v1i64,
/*163316*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163318*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv2i32_v1i64), 0,
                        MVT::v1i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rd, (intrinsic_wo_chain:{ *:[v1i64] } 371:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn)) - Complexity = 11
                    // Dst: (SADALPv2i32_v1i64:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rd, V64:{ *:[v2i32] }:$Rn)
/*163326*/        /*Scope*/ 15, /*->163342*/
/*163327*/          OPC_CheckChild1Type, MVT::v4i32,
/*163329*/          OPC_MoveParent,
/*163330*/          OPC_CheckType, MVT::v2i64,
/*163332*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163334*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 371:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn)) - Complexity = 11
                    // Dst: (SADALPv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn)
/*163342*/        0, /*End of Scope*/
/*163343*/      /*Scope*/ 102, /*->163446*/
/*163344*/        OPC_CheckChild0Integer, 45|128,3/*429*/, 
/*163347*/        OPC_RecordChild1, // #1 = $Rn
/*163348*/        OPC_Scope, 15, /*->163365*/ // 6 children in Scope
/*163350*/          OPC_CheckChild1Type, MVT::v8i8,
/*163352*/          OPC_MoveParent,
/*163353*/          OPC_CheckType, MVT::v4i16,
/*163355*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163357*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv8i8_v4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 429:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn)) - Complexity = 11
                    // Dst: (UADALPv8i8_v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v8i8] }:$Rn)
/*163365*/        /*Scope*/ 15, /*->163381*/
/*163366*/          OPC_CheckChild1Type, MVT::v16i8,
/*163368*/          OPC_MoveParent,
/*163369*/          OPC_CheckType, MVT::v8i16,
/*163371*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163373*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 429:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn)) - Complexity = 11
                    // Dst: (UADALPv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn)
/*163381*/        /*Scope*/ 15, /*->163397*/
/*163382*/          OPC_CheckChild1Type, MVT::v4i16,
/*163384*/          OPC_MoveParent,
/*163385*/          OPC_CheckType, MVT::v2i32,
/*163387*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163389*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv4i16_v2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 429:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn)) - Complexity = 11
                    // Dst: (UADALPv4i16_v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v4i16] }:$Rn)
/*163397*/        /*Scope*/ 15, /*->163413*/
/*163398*/          OPC_CheckChild1Type, MVT::v8i16,
/*163400*/          OPC_MoveParent,
/*163401*/          OPC_CheckType, MVT::v4i32,
/*163403*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163405*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 429:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn)) - Complexity = 11
                    // Dst: (UADALPv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn)
/*163413*/        /*Scope*/ 15, /*->163429*/
/*163414*/          OPC_CheckChild1Type, MVT::v2i32,
/*163416*/          OPC_MoveParent,
/*163417*/          OPC_CheckType, MVT::v1i64,
/*163419*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163421*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv2i32_v1i64), 0,
                        MVT::v1i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rd, (intrinsic_wo_chain:{ *:[v1i64] } 429:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn)) - Complexity = 11
                    // Dst: (UADALPv2i32_v1i64:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rd, V64:{ *:[v2i32] }:$Rn)
/*163429*/        /*Scope*/ 15, /*->163445*/
/*163430*/          OPC_CheckChild1Type, MVT::v4i32,
/*163432*/          OPC_MoveParent,
/*163433*/          OPC_CheckType, MVT::v2i64,
/*163435*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163437*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 429:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn)) - Complexity = 11
                    // Dst: (UADALPv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn)
/*163445*/        0, /*End of Scope*/
/*163446*/      /*Scope*/ 126, /*->163573*/
/*163447*/        OPC_CheckChild0Integer, 114|128,2/*370*/, 
/*163450*/        OPC_RecordChild1, // #1 = $Rn
/*163451*/        OPC_Scope, 19, /*->163472*/ // 6 children in Scope
/*163453*/          OPC_CheckChild1Type, MVT::v8i8,
/*163455*/          OPC_RecordChild2, // #2 = $Rm
/*163456*/          OPC_CheckChild2Type, MVT::v8i8,
/*163458*/          OPC_MoveParent,
/*163459*/          OPC_CheckType, MVT::v8i8,
/*163461*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163463*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv8i8), 0,
                        MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 11
                    // Dst: (SABAv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*163472*/        /*Scope*/ 19, /*->163492*/
/*163473*/          OPC_CheckChild1Type, MVT::v16i8,
/*163475*/          OPC_RecordChild2, // #2 = $Rm
/*163476*/          OPC_CheckChild2Type, MVT::v16i8,
/*163478*/          OPC_MoveParent,
/*163479*/          OPC_CheckType, MVT::v16i8,
/*163481*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163483*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv16i8), 0,
                        MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (intrinsic_wo_chain:{ *:[v16i8] } 370:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)) - Complexity = 11
                    // Dst: (SABAv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*163492*/        /*Scope*/ 19, /*->163512*/
/*163493*/          OPC_CheckChild1Type, MVT::v4i16,
/*163495*/          OPC_RecordChild2, // #2 = $Rm
/*163496*/          OPC_CheckChild2Type, MVT::v4i16,
/*163498*/          OPC_MoveParent,
/*163499*/          OPC_CheckType, MVT::v4i16,
/*163501*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163503*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv4i16), 0,
                        MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 11
                    // Dst: (SABAv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*163512*/        /*Scope*/ 19, /*->163532*/
/*163513*/          OPC_CheckChild1Type, MVT::v8i16,
/*163515*/          OPC_RecordChild2, // #2 = $Rm
/*163516*/          OPC_CheckChild2Type, MVT::v8i16,
/*163518*/          OPC_MoveParent,
/*163519*/          OPC_CheckType, MVT::v8i16,
/*163521*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163523*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 370:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)) - Complexity = 11
                    // Dst: (SABAv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*163532*/        /*Scope*/ 19, /*->163552*/
/*163533*/          OPC_CheckChild1Type, MVT::v2i32,
/*163535*/          OPC_RecordChild2, // #2 = $Rm
/*163536*/          OPC_CheckChild2Type, MVT::v2i32,
/*163538*/          OPC_MoveParent,
/*163539*/          OPC_CheckType, MVT::v2i32,
/*163541*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163543*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv2i32), 0,
                        MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 11
                    // Dst: (SABAv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*163552*/        /*Scope*/ 19, /*->163572*/
/*163553*/          OPC_CheckChild1Type, MVT::v4i32,
/*163555*/          OPC_RecordChild2, // #2 = $Rm
/*163556*/          OPC_CheckChild2Type, MVT::v4i32,
/*163558*/          OPC_MoveParent,
/*163559*/          OPC_CheckType, MVT::v4i32,
/*163561*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163563*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 370:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)) - Complexity = 11
                    // Dst: (SABAv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*163572*/        0, /*End of Scope*/
/*163573*/      /*Scope*/ 126, /*->163700*/
/*163574*/        OPC_CheckChild0Integer, 44|128,3/*428*/, 
/*163577*/        OPC_RecordChild1, // #1 = $Rn
/*163578*/        OPC_Scope, 19, /*->163599*/ // 6 children in Scope
/*163580*/          OPC_CheckChild1Type, MVT::v8i8,
/*163582*/          OPC_RecordChild2, // #2 = $Rm
/*163583*/          OPC_CheckChild2Type, MVT::v8i8,
/*163585*/          OPC_MoveParent,
/*163586*/          OPC_CheckType, MVT::v8i8,
/*163588*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163590*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv8i8), 0,
                        MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 11
                    // Dst: (UABAv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*163599*/        /*Scope*/ 19, /*->163619*/
/*163600*/          OPC_CheckChild1Type, MVT::v16i8,
/*163602*/          OPC_RecordChild2, // #2 = $Rm
/*163603*/          OPC_CheckChild2Type, MVT::v16i8,
/*163605*/          OPC_MoveParent,
/*163606*/          OPC_CheckType, MVT::v16i8,
/*163608*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163610*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv16i8), 0,
                        MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (intrinsic_wo_chain:{ *:[v16i8] } 428:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)) - Complexity = 11
                    // Dst: (UABAv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*163619*/        /*Scope*/ 19, /*->163639*/
/*163620*/          OPC_CheckChild1Type, MVT::v4i16,
/*163622*/          OPC_RecordChild2, // #2 = $Rm
/*163623*/          OPC_CheckChild2Type, MVT::v4i16,
/*163625*/          OPC_MoveParent,
/*163626*/          OPC_CheckType, MVT::v4i16,
/*163628*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163630*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv4i16), 0,
                        MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 11
                    // Dst: (UABAv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*163639*/        /*Scope*/ 19, /*->163659*/
/*163640*/          OPC_CheckChild1Type, MVT::v8i16,
/*163642*/          OPC_RecordChild2, // #2 = $Rm
/*163643*/          OPC_CheckChild2Type, MVT::v8i16,
/*163645*/          OPC_MoveParent,
/*163646*/          OPC_CheckType, MVT::v8i16,
/*163648*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163650*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 428:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)) - Complexity = 11
                    // Dst: (UABAv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*163659*/        /*Scope*/ 19, /*->163679*/
/*163660*/          OPC_CheckChild1Type, MVT::v2i32,
/*163662*/          OPC_RecordChild2, // #2 = $Rm
/*163663*/          OPC_CheckChild2Type, MVT::v2i32,
/*163665*/          OPC_MoveParent,
/*163666*/          OPC_CheckType, MVT::v2i32,
/*163668*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163670*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv2i32), 0,
                        MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 11
                    // Dst: (UABAv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*163679*/        /*Scope*/ 19, /*->163699*/
/*163680*/          OPC_CheckChild1Type, MVT::v4i32,
/*163682*/          OPC_RecordChild2, // #2 = $Rm
/*163683*/          OPC_CheckChild2Type, MVT::v4i32,
/*163685*/          OPC_MoveParent,
/*163686*/          OPC_CheckType, MVT::v4i32,
/*163688*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163690*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 428:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)) - Complexity = 11
                    // Dst: (UABAv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*163699*/        0, /*End of Scope*/
/*163700*/      /*Scope*/ 66, /*->163767*/
/*163701*/        OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*163704*/        OPC_RecordChild1, // #1 = $Rn
/*163705*/        OPC_Scope, 19, /*->163726*/ // 3 children in Scope
/*163707*/          OPC_CheckChild1Type, MVT::v8i8,
/*163709*/          OPC_RecordChild2, // #2 = $Rm
/*163710*/          OPC_CheckChild2Type, MVT::v8i8,
/*163712*/          OPC_MoveParent,
/*163713*/          OPC_CheckType, MVT::v8i16,
/*163715*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163717*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv8i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 387:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 11
                    // Dst: (SMLALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*163726*/        /*Scope*/ 19, /*->163746*/
/*163727*/          OPC_CheckChild1Type, MVT::v4i16,
/*163729*/          OPC_RecordChild2, // #2 = $Rm
/*163730*/          OPC_CheckChild2Type, MVT::v4i16,
/*163732*/          OPC_MoveParent,
/*163733*/          OPC_CheckType, MVT::v4i32,
/*163735*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163737*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 11
                    // Dst: (SMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*163746*/        /*Scope*/ 19, /*->163766*/
/*163747*/          OPC_CheckChild1Type, MVT::v2i32,
/*163749*/          OPC_RecordChild2, // #2 = $Rm
/*163750*/          OPC_CheckChild2Type, MVT::v2i32,
/*163752*/          OPC_MoveParent,
/*163753*/          OPC_CheckType, MVT::v2i64,
/*163755*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163757*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv2i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 11
                    // Dst: (SMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*163766*/        0, /*End of Scope*/
/*163767*/      /*Scope*/ 66, /*->163834*/
/*163768*/        OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*163771*/        OPC_RecordChild1, // #1 = $Rn
/*163772*/        OPC_Scope, 19, /*->163793*/ // 3 children in Scope
/*163774*/          OPC_CheckChild1Type, MVT::v8i8,
/*163776*/          OPC_RecordChild2, // #2 = $Rm
/*163777*/          OPC_CheckChild2Type, MVT::v8i8,
/*163779*/          OPC_MoveParent,
/*163780*/          OPC_CheckType, MVT::v8i16,
/*163782*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163784*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv8i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 441:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 11
                    // Dst: (UMLALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*163793*/        /*Scope*/ 19, /*->163813*/
/*163794*/          OPC_CheckChild1Type, MVT::v4i16,
/*163796*/          OPC_RecordChild2, // #2 = $Rm
/*163797*/          OPC_CheckChild2Type, MVT::v4i16,
/*163799*/          OPC_MoveParent,
/*163800*/          OPC_CheckType, MVT::v4i32,
/*163802*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163804*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 11
                    // Dst: (UMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*163813*/        /*Scope*/ 19, /*->163833*/
/*163814*/          OPC_CheckChild1Type, MVT::v2i32,
/*163816*/          OPC_RecordChild2, // #2 = $Rm
/*163817*/          OPC_CheckChild2Type, MVT::v2i32,
/*163819*/          OPC_MoveParent,
/*163820*/          OPC_CheckType, MVT::v2i64,
/*163822*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163824*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv2i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 11
                    // Dst: (UMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*163833*/        0, /*End of Scope*/
/*163834*/      0, /*End of Scope*/
/*163835*/    /*Scope*/ 120|128,4/*632*/, /*->164469*/
/*163837*/      OPC_MoveChild0,
/*163838*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*163841*/      OPC_Scope, 108, /*->163951*/ // 6 children in Scope
/*163843*/        OPC_CheckChild0Integer, 115|128,2/*371*/, 
/*163846*/        OPC_RecordChild1, // #0 = $Rn
/*163847*/        OPC_Scope, 16, /*->163865*/ // 6 children in Scope
/*163849*/          OPC_CheckChild1Type, MVT::v8i8,
/*163851*/          OPC_MoveParent,
/*163852*/          OPC_RecordChild1, // #1 = $Rd
/*163853*/          OPC_CheckType, MVT::v4i16,
/*163855*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163857*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv8i8_v4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v4i16] } (intrinsic_wo_chain:{ *:[v4i16] } 371:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn), V64:{ *:[v4i16] }:$Rd) - Complexity = 11
                    // Dst: (SADALPv8i8_v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v8i8] }:$Rn)
/*163865*/        /*Scope*/ 16, /*->163882*/
/*163866*/          OPC_CheckChild1Type, MVT::v16i8,
/*163868*/          OPC_MoveParent,
/*163869*/          OPC_RecordChild1, // #1 = $Rd
/*163870*/          OPC_CheckType, MVT::v8i16,
/*163872*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163874*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 371:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn), V128:{ *:[v8i16] }:$Rd) - Complexity = 11
                    // Dst: (SADALPv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn)
/*163882*/        /*Scope*/ 16, /*->163899*/
/*163883*/          OPC_CheckChild1Type, MVT::v4i16,
/*163885*/          OPC_MoveParent,
/*163886*/          OPC_RecordChild1, // #1 = $Rd
/*163887*/          OPC_CheckType, MVT::v2i32,
/*163889*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163891*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv4i16_v2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v2i32] } (intrinsic_wo_chain:{ *:[v2i32] } 371:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn), V64:{ *:[v2i32] }:$Rd) - Complexity = 11
                    // Dst: (SADALPv4i16_v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v4i16] }:$Rn)
/*163899*/        /*Scope*/ 16, /*->163916*/
/*163900*/          OPC_CheckChild1Type, MVT::v8i16,
/*163902*/          OPC_MoveParent,
/*163903*/          OPC_RecordChild1, // #1 = $Rd
/*163904*/          OPC_CheckType, MVT::v4i32,
/*163906*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163908*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 371:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn), V128:{ *:[v4i32] }:$Rd) - Complexity = 11
                    // Dst: (SADALPv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn)
/*163916*/        /*Scope*/ 16, /*->163933*/
/*163917*/          OPC_CheckChild1Type, MVT::v2i32,
/*163919*/          OPC_MoveParent,
/*163920*/          OPC_RecordChild1, // #1 = $Rd
/*163921*/          OPC_CheckType, MVT::v1i64,
/*163923*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163925*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv2i32_v1i64), 0,
                        MVT::v1i64, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v1i64] } (intrinsic_wo_chain:{ *:[v1i64] } 371:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn), V64:{ *:[v1i64] }:$Rd) - Complexity = 11
                    // Dst: (SADALPv2i32_v1i64:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rd, V64:{ *:[v2i32] }:$Rn)
/*163933*/        /*Scope*/ 16, /*->163950*/
/*163934*/          OPC_CheckChild1Type, MVT::v4i32,
/*163936*/          OPC_MoveParent,
/*163937*/          OPC_RecordChild1, // #1 = $Rd
/*163938*/          OPC_CheckType, MVT::v2i64,
/*163940*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163942*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADALPv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 371:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn), V128:{ *:[v2i64] }:$Rd) - Complexity = 11
                    // Dst: (SADALPv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn)
/*163950*/        0, /*End of Scope*/
/*163951*/      /*Scope*/ 108, /*->164060*/
/*163952*/        OPC_CheckChild0Integer, 45|128,3/*429*/, 
/*163955*/        OPC_RecordChild1, // #0 = $Rn
/*163956*/        OPC_Scope, 16, /*->163974*/ // 6 children in Scope
/*163958*/          OPC_CheckChild1Type, MVT::v8i8,
/*163960*/          OPC_MoveParent,
/*163961*/          OPC_RecordChild1, // #1 = $Rd
/*163962*/          OPC_CheckType, MVT::v4i16,
/*163964*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163966*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv8i8_v4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v4i16] } (intrinsic_wo_chain:{ *:[v4i16] } 429:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn), V64:{ *:[v4i16] }:$Rd) - Complexity = 11
                    // Dst: (UADALPv8i8_v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v8i8] }:$Rn)
/*163974*/        /*Scope*/ 16, /*->163991*/
/*163975*/          OPC_CheckChild1Type, MVT::v16i8,
/*163977*/          OPC_MoveParent,
/*163978*/          OPC_RecordChild1, // #1 = $Rd
/*163979*/          OPC_CheckType, MVT::v8i16,
/*163981*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*163983*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 429:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn), V128:{ *:[v8i16] }:$Rd) - Complexity = 11
                    // Dst: (UADALPv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn)
/*163991*/        /*Scope*/ 16, /*->164008*/
/*163992*/          OPC_CheckChild1Type, MVT::v4i16,
/*163994*/          OPC_MoveParent,
/*163995*/          OPC_RecordChild1, // #1 = $Rd
/*163996*/          OPC_CheckType, MVT::v2i32,
/*163998*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164000*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv4i16_v2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v2i32] } (intrinsic_wo_chain:{ *:[v2i32] } 429:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn), V64:{ *:[v2i32] }:$Rd) - Complexity = 11
                    // Dst: (UADALPv4i16_v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v4i16] }:$Rn)
/*164008*/        /*Scope*/ 16, /*->164025*/
/*164009*/          OPC_CheckChild1Type, MVT::v8i16,
/*164011*/          OPC_MoveParent,
/*164012*/          OPC_RecordChild1, // #1 = $Rd
/*164013*/          OPC_CheckType, MVT::v4i32,
/*164015*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164017*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 429:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn), V128:{ *:[v4i32] }:$Rd) - Complexity = 11
                    // Dst: (UADALPv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn)
/*164025*/        /*Scope*/ 16, /*->164042*/
/*164026*/          OPC_CheckChild1Type, MVT::v2i32,
/*164028*/          OPC_MoveParent,
/*164029*/          OPC_RecordChild1, // #1 = $Rd
/*164030*/          OPC_CheckType, MVT::v1i64,
/*164032*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164034*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv2i32_v1i64), 0,
                        MVT::v1i64, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v1i64] } (intrinsic_wo_chain:{ *:[v1i64] } 429:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn), V64:{ *:[v1i64] }:$Rd) - Complexity = 11
                    // Dst: (UADALPv2i32_v1i64:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rd, V64:{ *:[v2i32] }:$Rn)
/*164042*/        /*Scope*/ 16, /*->164059*/
/*164043*/          OPC_CheckChild1Type, MVT::v4i32,
/*164045*/          OPC_MoveParent,
/*164046*/          OPC_RecordChild1, // #1 = $Rd
/*164047*/          OPC_CheckType, MVT::v2i64,
/*164049*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164051*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADALPv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 429:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn), V128:{ *:[v2i64] }:$Rd) - Complexity = 11
                    // Dst: (UADALPv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn)
/*164059*/        0, /*End of Scope*/
/*164060*/      /*Scope*/ 4|128,1/*132*/, /*->164194*/
/*164062*/        OPC_CheckChild0Integer, 114|128,2/*370*/, 
/*164065*/        OPC_RecordChild1, // #0 = $Rn
/*164066*/        OPC_Scope, 20, /*->164088*/ // 6 children in Scope
/*164068*/          OPC_CheckChild1Type, MVT::v8i8,
/*164070*/          OPC_RecordChild2, // #1 = $Rm
/*164071*/          OPC_CheckChild2Type, MVT::v8i8,
/*164073*/          OPC_MoveParent,
/*164074*/          OPC_RecordChild1, // #2 = $Rd
/*164075*/          OPC_CheckType, MVT::v8i8,
/*164077*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164079*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv8i8), 0,
                        MVT::v8i8, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i8] } (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm), V64:{ *:[v8i8] }:$Rd) - Complexity = 11
                    // Dst: (SABAv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*164088*/        /*Scope*/ 20, /*->164109*/
/*164089*/          OPC_CheckChild1Type, MVT::v16i8,
/*164091*/          OPC_RecordChild2, // #1 = $Rm
/*164092*/          OPC_CheckChild2Type, MVT::v16i8,
/*164094*/          OPC_MoveParent,
/*164095*/          OPC_RecordChild1, // #2 = $Rd
/*164096*/          OPC_CheckType, MVT::v16i8,
/*164098*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164100*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv16i8), 0,
                        MVT::v16i8, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v16i8] } (intrinsic_wo_chain:{ *:[v16i8] } 370:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm), V128:{ *:[v16i8] }:$Rd) - Complexity = 11
                    // Dst: (SABAv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*164109*/        /*Scope*/ 20, /*->164130*/
/*164110*/          OPC_CheckChild1Type, MVT::v4i16,
/*164112*/          OPC_RecordChild2, // #1 = $Rm
/*164113*/          OPC_CheckChild2Type, MVT::v4i16,
/*164115*/          OPC_MoveParent,
/*164116*/          OPC_RecordChild1, // #2 = $Rd
/*164117*/          OPC_CheckType, MVT::v4i16,
/*164119*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164121*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv4i16), 0,
                        MVT::v4i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i16] } (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm), V64:{ *:[v4i16] }:$Rd) - Complexity = 11
                    // Dst: (SABAv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*164130*/        /*Scope*/ 20, /*->164151*/
/*164131*/          OPC_CheckChild1Type, MVT::v8i16,
/*164133*/          OPC_RecordChild2, // #1 = $Rm
/*164134*/          OPC_CheckChild2Type, MVT::v8i16,
/*164136*/          OPC_MoveParent,
/*164137*/          OPC_RecordChild1, // #2 = $Rd
/*164138*/          OPC_CheckType, MVT::v8i16,
/*164140*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164142*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 370:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm), V128:{ *:[v8i16] }:$Rd) - Complexity = 11
                    // Dst: (SABAv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*164151*/        /*Scope*/ 20, /*->164172*/
/*164152*/          OPC_CheckChild1Type, MVT::v2i32,
/*164154*/          OPC_RecordChild2, // #1 = $Rm
/*164155*/          OPC_CheckChild2Type, MVT::v2i32,
/*164157*/          OPC_MoveParent,
/*164158*/          OPC_RecordChild1, // #2 = $Rd
/*164159*/          OPC_CheckType, MVT::v2i32,
/*164161*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164163*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv2i32), 0,
                        MVT::v2i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v2i32] } (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm), V64:{ *:[v2i32] }:$Rd) - Complexity = 11
                    // Dst: (SABAv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*164172*/        /*Scope*/ 20, /*->164193*/
/*164173*/          OPC_CheckChild1Type, MVT::v4i32,
/*164175*/          OPC_RecordChild2, // #1 = $Rm
/*164176*/          OPC_CheckChild2Type, MVT::v4i32,
/*164178*/          OPC_MoveParent,
/*164179*/          OPC_RecordChild1, // #2 = $Rd
/*164180*/          OPC_CheckType, MVT::v4i32,
/*164182*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164184*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABAv4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 370:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm), V128:{ *:[v4i32] }:$Rd) - Complexity = 11
                    // Dst: (SABAv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*164193*/        0, /*End of Scope*/
/*164194*/      /*Scope*/ 4|128,1/*132*/, /*->164328*/
/*164196*/        OPC_CheckChild0Integer, 44|128,3/*428*/, 
/*164199*/        OPC_RecordChild1, // #0 = $Rn
/*164200*/        OPC_Scope, 20, /*->164222*/ // 6 children in Scope
/*164202*/          OPC_CheckChild1Type, MVT::v8i8,
/*164204*/          OPC_RecordChild2, // #1 = $Rm
/*164205*/          OPC_CheckChild2Type, MVT::v8i8,
/*164207*/          OPC_MoveParent,
/*164208*/          OPC_RecordChild1, // #2 = $Rd
/*164209*/          OPC_CheckType, MVT::v8i8,
/*164211*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164213*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv8i8), 0,
                        MVT::v8i8, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i8] } (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm), V64:{ *:[v8i8] }:$Rd) - Complexity = 11
                    // Dst: (UABAv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*164222*/        /*Scope*/ 20, /*->164243*/
/*164223*/          OPC_CheckChild1Type, MVT::v16i8,
/*164225*/          OPC_RecordChild2, // #1 = $Rm
/*164226*/          OPC_CheckChild2Type, MVT::v16i8,
/*164228*/          OPC_MoveParent,
/*164229*/          OPC_RecordChild1, // #2 = $Rd
/*164230*/          OPC_CheckType, MVT::v16i8,
/*164232*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164234*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv16i8), 0,
                        MVT::v16i8, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v16i8] } (intrinsic_wo_chain:{ *:[v16i8] } 428:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm), V128:{ *:[v16i8] }:$Rd) - Complexity = 11
                    // Dst: (UABAv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*164243*/        /*Scope*/ 20, /*->164264*/
/*164244*/          OPC_CheckChild1Type, MVT::v4i16,
/*164246*/          OPC_RecordChild2, // #1 = $Rm
/*164247*/          OPC_CheckChild2Type, MVT::v4i16,
/*164249*/          OPC_MoveParent,
/*164250*/          OPC_RecordChild1, // #2 = $Rd
/*164251*/          OPC_CheckType, MVT::v4i16,
/*164253*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164255*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv4i16), 0,
                        MVT::v4i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i16] } (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm), V64:{ *:[v4i16] }:$Rd) - Complexity = 11
                    // Dst: (UABAv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*164264*/        /*Scope*/ 20, /*->164285*/
/*164265*/          OPC_CheckChild1Type, MVT::v8i16,
/*164267*/          OPC_RecordChild2, // #1 = $Rm
/*164268*/          OPC_CheckChild2Type, MVT::v8i16,
/*164270*/          OPC_MoveParent,
/*164271*/          OPC_RecordChild1, // #2 = $Rd
/*164272*/          OPC_CheckType, MVT::v8i16,
/*164274*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164276*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 428:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm), V128:{ *:[v8i16] }:$Rd) - Complexity = 11
                    // Dst: (UABAv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*164285*/        /*Scope*/ 20, /*->164306*/
/*164286*/          OPC_CheckChild1Type, MVT::v2i32,
/*164288*/          OPC_RecordChild2, // #1 = $Rm
/*164289*/          OPC_CheckChild2Type, MVT::v2i32,
/*164291*/          OPC_MoveParent,
/*164292*/          OPC_RecordChild1, // #2 = $Rd
/*164293*/          OPC_CheckType, MVT::v2i32,
/*164295*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164297*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv2i32), 0,
                        MVT::v2i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v2i32] } (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm), V64:{ *:[v2i32] }:$Rd) - Complexity = 11
                    // Dst: (UABAv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*164306*/        /*Scope*/ 20, /*->164327*/
/*164307*/          OPC_CheckChild1Type, MVT::v4i32,
/*164309*/          OPC_RecordChild2, // #1 = $Rm
/*164310*/          OPC_CheckChild2Type, MVT::v4i32,
/*164312*/          OPC_MoveParent,
/*164313*/          OPC_RecordChild1, // #2 = $Rd
/*164314*/          OPC_CheckType, MVT::v4i32,
/*164316*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164318*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABAv4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 428:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm), V128:{ *:[v4i32] }:$Rd) - Complexity = 11
                    // Dst: (UABAv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*164327*/        0, /*End of Scope*/
/*164328*/      /*Scope*/ 69, /*->164398*/
/*164329*/        OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*164332*/        OPC_RecordChild1, // #0 = $Rn
/*164333*/        OPC_Scope, 20, /*->164355*/ // 3 children in Scope
/*164335*/          OPC_CheckChild1Type, MVT::v8i8,
/*164337*/          OPC_RecordChild2, // #1 = $Rm
/*164338*/          OPC_CheckChild2Type, MVT::v8i8,
/*164340*/          OPC_MoveParent,
/*164341*/          OPC_RecordChild1, // #2 = $Rd
/*164342*/          OPC_CheckType, MVT::v8i16,
/*164344*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164346*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv8i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 387:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm), V128:{ *:[v8i16] }:$Rd) - Complexity = 11
                    // Dst: (SMLALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*164355*/        /*Scope*/ 20, /*->164376*/
/*164356*/          OPC_CheckChild1Type, MVT::v4i16,
/*164358*/          OPC_RecordChild2, // #1 = $Rm
/*164359*/          OPC_CheckChild2Type, MVT::v4i16,
/*164361*/          OPC_MoveParent,
/*164362*/          OPC_RecordChild1, // #2 = $Rd
/*164363*/          OPC_CheckType, MVT::v4i32,
/*164365*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164367*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm), V128:{ *:[v4i32] }:$Rd) - Complexity = 11
                    // Dst: (SMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*164376*/        /*Scope*/ 20, /*->164397*/
/*164377*/          OPC_CheckChild1Type, MVT::v2i32,
/*164379*/          OPC_RecordChild2, // #1 = $Rm
/*164380*/          OPC_CheckChild2Type, MVT::v2i32,
/*164382*/          OPC_MoveParent,
/*164383*/          OPC_RecordChild1, // #2 = $Rd
/*164384*/          OPC_CheckType, MVT::v2i64,
/*164386*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164388*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv2i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm), V128:{ *:[v2i64] }:$Rd) - Complexity = 11
                    // Dst: (SMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*164397*/        0, /*End of Scope*/
/*164398*/      /*Scope*/ 69, /*->164468*/
/*164399*/        OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*164402*/        OPC_RecordChild1, // #0 = $Rn
/*164403*/        OPC_Scope, 20, /*->164425*/ // 3 children in Scope
/*164405*/          OPC_CheckChild1Type, MVT::v8i8,
/*164407*/          OPC_RecordChild2, // #1 = $Rm
/*164408*/          OPC_CheckChild2Type, MVT::v8i8,
/*164410*/          OPC_MoveParent,
/*164411*/          OPC_RecordChild1, // #2 = $Rd
/*164412*/          OPC_CheckType, MVT::v8i16,
/*164414*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164416*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv8i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i16] } 441:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm), V128:{ *:[v8i16] }:$Rd) - Complexity = 11
                    // Dst: (UMLALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*164425*/        /*Scope*/ 20, /*->164446*/
/*164426*/          OPC_CheckChild1Type, MVT::v4i16,
/*164428*/          OPC_RecordChild2, // #1 = $Rm
/*164429*/          OPC_CheckChild2Type, MVT::v4i16,
/*164431*/          OPC_MoveParent,
/*164432*/          OPC_RecordChild1, // #2 = $Rd
/*164433*/          OPC_CheckType, MVT::v4i32,
/*164435*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164437*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm), V128:{ *:[v4i32] }:$Rd) - Complexity = 11
                    // Dst: (UMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*164446*/        /*Scope*/ 20, /*->164467*/
/*164447*/          OPC_CheckChild1Type, MVT::v2i32,
/*164449*/          OPC_RecordChild2, // #1 = $Rm
/*164450*/          OPC_CheckChild2Type, MVT::v2i32,
/*164452*/          OPC_MoveParent,
/*164453*/          OPC_RecordChild1, // #2 = $Rd
/*164454*/          OPC_CheckType, MVT::v2i64,
/*164456*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164458*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv2i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm), V128:{ *:[v2i64] }:$Rd) - Complexity = 11
                    // Dst: (UMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*164467*/        0, /*End of Scope*/
/*164468*/      0, /*End of Scope*/
/*164469*/    /*Scope*/ 24|128,5/*664*/, /*->165135*/
/*164471*/      OPC_RecordChild0, // #0 = $Rd
/*164472*/      OPC_MoveChild1,
/*164473*/      OPC_SwitchOpcode /*4 cases */, 33|128,1/*161*/, TARGET_VAL(AArch64ISD::SRSHR_I),// ->164639
/*164478*/        OPC_RecordChild0, // #1 = $Rn
/*164479*/        OPC_RecordChild1, // #2 = $imm
/*164480*/        OPC_MoveChild1,
/*164481*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*164484*/        OPC_CheckType, MVT::i32,
/*164486*/        OPC_Scope, 19, /*->164507*/ // 5 children in Scope
/*164488*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*164490*/          OPC_MoveParent,
/*164491*/          OPC_MoveParent,
/*164492*/          OPC_CheckType, MVT::v1i64,
/*164494*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164496*/          OPC_EmitConvertToTarget, 2,
/*164498*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAd), 0,
                        MVT::v1i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, (AArch64srshri:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (SRSRAd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*164507*/        /*Scope*/ 36, /*->164544*/
/*164508*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*164510*/          OPC_MoveParent,
/*164511*/          OPC_MoveParent,
/*164512*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->164528
/*164515*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164517*/            OPC_EmitConvertToTarget, 2,
/*164519*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv8i8_shift), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, (AArch64srshri:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm)) - Complexity = 10
                      // Dst: (SRSRAv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164528*/          /*SwitchType*/ 13, MVT::v16i8,// ->164543
/*164530*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164532*/            OPC_EmitConvertToTarget, 2,
/*164534*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (AArch64srshri:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm)) - Complexity = 10
                      // Dst: (SRSRAv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164543*/          0, // EndSwitchType
/*164544*/        /*Scope*/ 36, /*->164581*/
/*164545*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*164547*/          OPC_MoveParent,
/*164548*/          OPC_MoveParent,
/*164549*/          OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->164565
/*164552*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164554*/            OPC_EmitConvertToTarget, 2,
/*164556*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv4i16_shift), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (AArch64srshri:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)) - Complexity = 10
                      // Dst: (SRSRAv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164565*/          /*SwitchType*/ 13, MVT::v8i16,// ->164580
/*164567*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164569*/            OPC_EmitConvertToTarget, 2,
/*164571*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (AArch64srshri:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)) - Complexity = 10
                      // Dst: (SRSRAv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164580*/          0, // EndSwitchType
/*164581*/        /*Scope*/ 36, /*->164618*/
/*164582*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*164584*/          OPC_MoveParent,
/*164585*/          OPC_MoveParent,
/*164586*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->164602
/*164589*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164591*/            OPC_EmitConvertToTarget, 2,
/*164593*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv2i32_shift), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (AArch64srshri:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)) - Complexity = 10
                      // Dst: (SRSRAv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164602*/          /*SwitchType*/ 13, MVT::v4i32,// ->164617
/*164604*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164606*/            OPC_EmitConvertToTarget, 2,
/*164608*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (AArch64srshri:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)) - Complexity = 10
                      // Dst: (SRSRAv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164617*/          0, // EndSwitchType
/*164618*/        /*Scope*/ 19, /*->164638*/
/*164619*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*164621*/          OPC_MoveParent,
/*164622*/          OPC_MoveParent,
/*164623*/          OPC_CheckType, MVT::v2i64,
/*164625*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164627*/          OPC_EmitConvertToTarget, 2,
/*164629*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv2i64_shift), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (AArch64srshri:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (SRSRAv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164638*/        0, /*End of Scope*/
/*164639*/      /*SwitchOpcode*/ 33|128,1/*161*/, TARGET_VAL(AArch64ISD::VASHR),// ->164804
/*164643*/        OPC_RecordChild0, // #1 = $Rn
/*164644*/        OPC_RecordChild1, // #2 = $imm
/*164645*/        OPC_MoveChild1,
/*164646*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*164649*/        OPC_CheckType, MVT::i32,
/*164651*/        OPC_Scope, 19, /*->164672*/ // 5 children in Scope
/*164653*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*164655*/          OPC_MoveParent,
/*164656*/          OPC_MoveParent,
/*164657*/          OPC_CheckType, MVT::v1i64,
/*164659*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164661*/          OPC_EmitConvertToTarget, 2,
/*164663*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAd), 0,
                        MVT::v1i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, (AArch64vashr:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (SSRAd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*164672*/        /*Scope*/ 36, /*->164709*/
/*164673*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*164675*/          OPC_MoveParent,
/*164676*/          OPC_MoveParent,
/*164677*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->164693
/*164680*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164682*/            OPC_EmitConvertToTarget, 2,
/*164684*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv8i8_shift), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, (AArch64vashr:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm)) - Complexity = 10
                      // Dst: (SSRAv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164693*/          /*SwitchType*/ 13, MVT::v16i8,// ->164708
/*164695*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164697*/            OPC_EmitConvertToTarget, 2,
/*164699*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (AArch64vashr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm)) - Complexity = 10
                      // Dst: (SSRAv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164708*/          0, // EndSwitchType
/*164709*/        /*Scope*/ 36, /*->164746*/
/*164710*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*164712*/          OPC_MoveParent,
/*164713*/          OPC_MoveParent,
/*164714*/          OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->164730
/*164717*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164719*/            OPC_EmitConvertToTarget, 2,
/*164721*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv4i16_shift), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (AArch64vashr:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)) - Complexity = 10
                      // Dst: (SSRAv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164730*/          /*SwitchType*/ 13, MVT::v8i16,// ->164745
/*164732*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164734*/            OPC_EmitConvertToTarget, 2,
/*164736*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (AArch64vashr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)) - Complexity = 10
                      // Dst: (SSRAv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164745*/          0, // EndSwitchType
/*164746*/        /*Scope*/ 36, /*->164783*/
/*164747*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*164749*/          OPC_MoveParent,
/*164750*/          OPC_MoveParent,
/*164751*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->164767
/*164754*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164756*/            OPC_EmitConvertToTarget, 2,
/*164758*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv2i32_shift), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (AArch64vashr:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)) - Complexity = 10
                      // Dst: (SSRAv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164767*/          /*SwitchType*/ 13, MVT::v4i32,// ->164782
/*164769*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164771*/            OPC_EmitConvertToTarget, 2,
/*164773*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (AArch64vashr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)) - Complexity = 10
                      // Dst: (SSRAv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164782*/          0, // EndSwitchType
/*164783*/        /*Scope*/ 19, /*->164803*/
/*164784*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*164786*/          OPC_MoveParent,
/*164787*/          OPC_MoveParent,
/*164788*/          OPC_CheckType, MVT::v2i64,
/*164790*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164792*/          OPC_EmitConvertToTarget, 2,
/*164794*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv2i64_shift), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (AArch64vashr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (SSRAv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164803*/        0, /*End of Scope*/
/*164804*/      /*SwitchOpcode*/ 33|128,1/*161*/, TARGET_VAL(AArch64ISD::URSHR_I),// ->164969
/*164808*/        OPC_RecordChild0, // #1 = $Rn
/*164809*/        OPC_RecordChild1, // #2 = $imm
/*164810*/        OPC_MoveChild1,
/*164811*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*164814*/        OPC_CheckType, MVT::i32,
/*164816*/        OPC_Scope, 19, /*->164837*/ // 5 children in Scope
/*164818*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*164820*/          OPC_MoveParent,
/*164821*/          OPC_MoveParent,
/*164822*/          OPC_CheckType, MVT::v1i64,
/*164824*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164826*/          OPC_EmitConvertToTarget, 2,
/*164828*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAd), 0,
                        MVT::v1i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, (AArch64urshri:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (URSRAd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*164837*/        /*Scope*/ 36, /*->164874*/
/*164838*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*164840*/          OPC_MoveParent,
/*164841*/          OPC_MoveParent,
/*164842*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->164858
/*164845*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164847*/            OPC_EmitConvertToTarget, 2,
/*164849*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv8i8_shift), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, (AArch64urshri:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm)) - Complexity = 10
                      // Dst: (URSRAv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164858*/          /*SwitchType*/ 13, MVT::v16i8,// ->164873
/*164860*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164862*/            OPC_EmitConvertToTarget, 2,
/*164864*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (AArch64urshri:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm)) - Complexity = 10
                      // Dst: (URSRAv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164873*/          0, // EndSwitchType
/*164874*/        /*Scope*/ 36, /*->164911*/
/*164875*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*164877*/          OPC_MoveParent,
/*164878*/          OPC_MoveParent,
/*164879*/          OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->164895
/*164882*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164884*/            OPC_EmitConvertToTarget, 2,
/*164886*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv4i16_shift), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (AArch64urshri:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)) - Complexity = 10
                      // Dst: (URSRAv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164895*/          /*SwitchType*/ 13, MVT::v8i16,// ->164910
/*164897*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164899*/            OPC_EmitConvertToTarget, 2,
/*164901*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (AArch64urshri:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)) - Complexity = 10
                      // Dst: (URSRAv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164910*/          0, // EndSwitchType
/*164911*/        /*Scope*/ 36, /*->164948*/
/*164912*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*164914*/          OPC_MoveParent,
/*164915*/          OPC_MoveParent,
/*164916*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->164932
/*164919*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164921*/            OPC_EmitConvertToTarget, 2,
/*164923*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv2i32_shift), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (AArch64urshri:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)) - Complexity = 10
                      // Dst: (URSRAv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164932*/          /*SwitchType*/ 13, MVT::v4i32,// ->164947
/*164934*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164936*/            OPC_EmitConvertToTarget, 2,
/*164938*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (AArch64urshri:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)) - Complexity = 10
                      // Dst: (URSRAv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164947*/          0, // EndSwitchType
/*164948*/        /*Scope*/ 19, /*->164968*/
/*164949*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*164951*/          OPC_MoveParent,
/*164952*/          OPC_MoveParent,
/*164953*/          OPC_CheckType, MVT::v2i64,
/*164955*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164957*/          OPC_EmitConvertToTarget, 2,
/*164959*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv2i64_shift), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (AArch64urshri:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (URSRAv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*164968*/        0, /*End of Scope*/
/*164969*/      /*SwitchOpcode*/ 33|128,1/*161*/, TARGET_VAL(AArch64ISD::VLSHR),// ->165134
/*164973*/        OPC_RecordChild0, // #1 = $Rn
/*164974*/        OPC_RecordChild1, // #2 = $imm
/*164975*/        OPC_MoveChild1,
/*164976*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*164979*/        OPC_CheckType, MVT::i32,
/*164981*/        OPC_Scope, 19, /*->165002*/ // 5 children in Scope
/*164983*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*164985*/          OPC_MoveParent,
/*164986*/          OPC_MoveParent,
/*164987*/          OPC_CheckType, MVT::v1i64,
/*164989*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*164991*/          OPC_EmitConvertToTarget, 2,
/*164993*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAd), 0,
                        MVT::v1i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, (AArch64vlshr:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (USRAd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*165002*/        /*Scope*/ 36, /*->165039*/
/*165003*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*165005*/          OPC_MoveParent,
/*165006*/          OPC_MoveParent,
/*165007*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->165023
/*165010*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165012*/            OPC_EmitConvertToTarget, 2,
/*165014*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv8i8_shift), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, (AArch64vlshr:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm)) - Complexity = 10
                      // Dst: (USRAv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165023*/          /*SwitchType*/ 13, MVT::v16i8,// ->165038
/*165025*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165027*/            OPC_EmitConvertToTarget, 2,
/*165029*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (AArch64vlshr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm)) - Complexity = 10
                      // Dst: (USRAv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165038*/          0, // EndSwitchType
/*165039*/        /*Scope*/ 36, /*->165076*/
/*165040*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*165042*/          OPC_MoveParent,
/*165043*/          OPC_MoveParent,
/*165044*/          OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->165060
/*165047*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165049*/            OPC_EmitConvertToTarget, 2,
/*165051*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv4i16_shift), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (AArch64vlshr:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)) - Complexity = 10
                      // Dst: (USRAv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165060*/          /*SwitchType*/ 13, MVT::v8i16,// ->165075
/*165062*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165064*/            OPC_EmitConvertToTarget, 2,
/*165066*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (AArch64vlshr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)) - Complexity = 10
                      // Dst: (USRAv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165075*/          0, // EndSwitchType
/*165076*/        /*Scope*/ 36, /*->165113*/
/*165077*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*165079*/          OPC_MoveParent,
/*165080*/          OPC_MoveParent,
/*165081*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->165097
/*165084*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165086*/            OPC_EmitConvertToTarget, 2,
/*165088*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv2i32_shift), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (AArch64vlshr:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)) - Complexity = 10
                      // Dst: (USRAv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165097*/          /*SwitchType*/ 13, MVT::v4i32,// ->165112
/*165099*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165101*/            OPC_EmitConvertToTarget, 2,
/*165103*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (AArch64vlshr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)) - Complexity = 10
                      // Dst: (USRAv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165112*/          0, // EndSwitchType
/*165113*/        /*Scope*/ 19, /*->165133*/
/*165114*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*165116*/          OPC_MoveParent,
/*165117*/          OPC_MoveParent,
/*165118*/          OPC_CheckType, MVT::v2i64,
/*165120*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165122*/          OPC_EmitConvertToTarget, 2,
/*165124*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv2i64_shift), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (AArch64vlshr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)) - Complexity = 10
                    // Dst: (USRAv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165133*/        0, /*End of Scope*/
/*165134*/      0, // EndSwitchOpcode
/*165135*/    /*Scope*/ 55|128,6/*823*/, /*->165960*/
/*165137*/      OPC_MoveChild0,
/*165138*/      OPC_SwitchOpcode /*6 cases */, 34|128,1/*162*/, TARGET_VAL(AArch64ISD::SRSHR_I),// ->165305
/*165143*/        OPC_RecordChild0, // #0 = $Rn
/*165144*/        OPC_RecordChild1, // #1 = $imm
/*165145*/        OPC_MoveChild1,
/*165146*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*165149*/        OPC_CheckType, MVT::i32,
/*165151*/        OPC_Scope, 37, /*->165190*/ // 4 children in Scope
/*165153*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*165155*/          OPC_MoveParent,
/*165156*/          OPC_MoveParent,
/*165157*/          OPC_RecordChild1, // #2 = $Rd
/*165158*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->165174
/*165161*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165163*/            OPC_EmitConvertToTarget, 1,
/*165165*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv8i8_shift), 0,
                          MVT::v8i8, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v8i8] } (AArch64srshri:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm), V64:{ *:[v8i8] }:$Rd) - Complexity = 10
                      // Dst: (SRSRAv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165174*/          /*SwitchType*/ 13, MVT::v16i8,// ->165189
/*165176*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165178*/            OPC_EmitConvertToTarget, 1,
/*165180*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v16i8] } (AArch64srshri:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm), V128:{ *:[v16i8] }:$Rd) - Complexity = 10
                      // Dst: (SRSRAv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165189*/          0, // EndSwitchType
/*165190*/        /*Scope*/ 37, /*->165228*/
/*165191*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*165193*/          OPC_MoveParent,
/*165194*/          OPC_MoveParent,
/*165195*/          OPC_RecordChild1, // #2 = $Rd
/*165196*/          OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->165212
/*165199*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165201*/            OPC_EmitConvertToTarget, 1,
/*165203*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv4i16_shift), 0,
                          MVT::v4i16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v4i16] } (AArch64srshri:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm), V64:{ *:[v4i16] }:$Rd) - Complexity = 10
                      // Dst: (SRSRAv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165212*/          /*SwitchType*/ 13, MVT::v8i16,// ->165227
/*165214*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165216*/            OPC_EmitConvertToTarget, 1,
/*165218*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v8i16] } (AArch64srshri:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm), V128:{ *:[v8i16] }:$Rd) - Complexity = 10
                      // Dst: (SRSRAv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165227*/          0, // EndSwitchType
/*165228*/        /*Scope*/ 37, /*->165266*/
/*165229*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*165231*/          OPC_MoveParent,
/*165232*/          OPC_MoveParent,
/*165233*/          OPC_RecordChild1, // #2 = $Rd
/*165234*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->165250
/*165237*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165239*/            OPC_EmitConvertToTarget, 1,
/*165241*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv2i32_shift), 0,
                          MVT::v2i32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v2i32] } (AArch64srshri:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), V64:{ *:[v2i32] }:$Rd) - Complexity = 10
                      // Dst: (SRSRAv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165250*/          /*SwitchType*/ 13, MVT::v4i32,// ->165265
/*165252*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165254*/            OPC_EmitConvertToTarget, 1,
/*165256*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v4i32] } (AArch64srshri:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), V128:{ *:[v4i32] }:$Rd) - Complexity = 10
                      // Dst: (SRSRAv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165265*/          0, // EndSwitchType
/*165266*/        /*Scope*/ 37, /*->165304*/
/*165267*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*165269*/          OPC_MoveParent,
/*165270*/          OPC_MoveParent,
/*165271*/          OPC_RecordChild1, // #2 = $Rd
/*165272*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i64,// ->165288
/*165275*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165277*/            OPC_EmitConvertToTarget, 1,
/*165279*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAv2i64_shift), 0,
                          MVT::v2i64, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v2i64] } (AArch64srshri:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), V128:{ *:[v2i64] }:$Rd) - Complexity = 10
                      // Dst: (SRSRAv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165288*/          /*SwitchType*/ 13, MVT::v1i64,// ->165303
/*165290*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165292*/            OPC_EmitConvertToTarget, 1,
/*165294*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSRAd), 0,
                          MVT::v1i64, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v1i64] } (AArch64srshri:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), FPR64:{ *:[v1i64] }:$Rd) - Complexity = 10
                      // Dst: (SRSRAd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*165303*/          0, // EndSwitchType
/*165304*/        0, /*End of Scope*/
/*165305*/      /*SwitchOpcode*/ 34|128,1/*162*/, TARGET_VAL(AArch64ISD::VASHR),// ->165471
/*165309*/        OPC_RecordChild0, // #0 = $Rn
/*165310*/        OPC_RecordChild1, // #1 = $imm
/*165311*/        OPC_MoveChild1,
/*165312*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*165315*/        OPC_CheckType, MVT::i32,
/*165317*/        OPC_Scope, 37, /*->165356*/ // 4 children in Scope
/*165319*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*165321*/          OPC_MoveParent,
/*165322*/          OPC_MoveParent,
/*165323*/          OPC_RecordChild1, // #2 = $Rd
/*165324*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->165340
/*165327*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165329*/            OPC_EmitConvertToTarget, 1,
/*165331*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv8i8_shift), 0,
                          MVT::v8i8, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v8i8] } (AArch64vashr:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm), V64:{ *:[v8i8] }:$Rd) - Complexity = 10
                      // Dst: (SSRAv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165340*/          /*SwitchType*/ 13, MVT::v16i8,// ->165355
/*165342*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165344*/            OPC_EmitConvertToTarget, 1,
/*165346*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v16i8] } (AArch64vashr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm), V128:{ *:[v16i8] }:$Rd) - Complexity = 10
                      // Dst: (SSRAv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165355*/          0, // EndSwitchType
/*165356*/        /*Scope*/ 37, /*->165394*/
/*165357*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*165359*/          OPC_MoveParent,
/*165360*/          OPC_MoveParent,
/*165361*/          OPC_RecordChild1, // #2 = $Rd
/*165362*/          OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->165378
/*165365*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165367*/            OPC_EmitConvertToTarget, 1,
/*165369*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv4i16_shift), 0,
                          MVT::v4i16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v4i16] } (AArch64vashr:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm), V64:{ *:[v4i16] }:$Rd) - Complexity = 10
                      // Dst: (SSRAv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165378*/          /*SwitchType*/ 13, MVT::v8i16,// ->165393
/*165380*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165382*/            OPC_EmitConvertToTarget, 1,
/*165384*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm), V128:{ *:[v8i16] }:$Rd) - Complexity = 10
                      // Dst: (SSRAv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165393*/          0, // EndSwitchType
/*165394*/        /*Scope*/ 37, /*->165432*/
/*165395*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*165397*/          OPC_MoveParent,
/*165398*/          OPC_MoveParent,
/*165399*/          OPC_RecordChild1, // #2 = $Rd
/*165400*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->165416
/*165403*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165405*/            OPC_EmitConvertToTarget, 1,
/*165407*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv2i32_shift), 0,
                          MVT::v2i32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v2i32] } (AArch64vashr:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), V64:{ *:[v2i32] }:$Rd) - Complexity = 10
                      // Dst: (SSRAv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165416*/          /*SwitchType*/ 13, MVT::v4i32,// ->165431
/*165418*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165420*/            OPC_EmitConvertToTarget, 1,
/*165422*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v4i32] } (AArch64vashr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), V128:{ *:[v4i32] }:$Rd) - Complexity = 10
                      // Dst: (SSRAv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165431*/          0, // EndSwitchType
/*165432*/        /*Scope*/ 37, /*->165470*/
/*165433*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*165435*/          OPC_MoveParent,
/*165436*/          OPC_MoveParent,
/*165437*/          OPC_RecordChild1, // #2 = $Rd
/*165438*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i64,// ->165454
/*165441*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165443*/            OPC_EmitConvertToTarget, 1,
/*165445*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAv2i64_shift), 0,
                          MVT::v2i64, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v2i64] } (AArch64vashr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), V128:{ *:[v2i64] }:$Rd) - Complexity = 10
                      // Dst: (SSRAv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165454*/          /*SwitchType*/ 13, MVT::v1i64,// ->165469
/*165456*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165458*/            OPC_EmitConvertToTarget, 1,
/*165460*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSRAd), 0,
                          MVT::v1i64, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v1i64] } (AArch64vashr:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), FPR64:{ *:[v1i64] }:$Rd) - Complexity = 10
                      // Dst: (SSRAd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*165469*/          0, // EndSwitchType
/*165470*/        0, /*End of Scope*/
/*165471*/      /*SwitchOpcode*/ 34|128,1/*162*/, TARGET_VAL(AArch64ISD::URSHR_I),// ->165637
/*165475*/        OPC_RecordChild0, // #0 = $Rn
/*165476*/        OPC_RecordChild1, // #1 = $imm
/*165477*/        OPC_MoveChild1,
/*165478*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*165481*/        OPC_CheckType, MVT::i32,
/*165483*/        OPC_Scope, 37, /*->165522*/ // 4 children in Scope
/*165485*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*165487*/          OPC_MoveParent,
/*165488*/          OPC_MoveParent,
/*165489*/          OPC_RecordChild1, // #2 = $Rd
/*165490*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->165506
/*165493*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165495*/            OPC_EmitConvertToTarget, 1,
/*165497*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv8i8_shift), 0,
                          MVT::v8i8, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v8i8] } (AArch64urshri:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm), V64:{ *:[v8i8] }:$Rd) - Complexity = 10
                      // Dst: (URSRAv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165506*/          /*SwitchType*/ 13, MVT::v16i8,// ->165521
/*165508*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165510*/            OPC_EmitConvertToTarget, 1,
/*165512*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v16i8] } (AArch64urshri:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm), V128:{ *:[v16i8] }:$Rd) - Complexity = 10
                      // Dst: (URSRAv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165521*/          0, // EndSwitchType
/*165522*/        /*Scope*/ 37, /*->165560*/
/*165523*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*165525*/          OPC_MoveParent,
/*165526*/          OPC_MoveParent,
/*165527*/          OPC_RecordChild1, // #2 = $Rd
/*165528*/          OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->165544
/*165531*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165533*/            OPC_EmitConvertToTarget, 1,
/*165535*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv4i16_shift), 0,
                          MVT::v4i16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v4i16] } (AArch64urshri:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm), V64:{ *:[v4i16] }:$Rd) - Complexity = 10
                      // Dst: (URSRAv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165544*/          /*SwitchType*/ 13, MVT::v8i16,// ->165559
/*165546*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165548*/            OPC_EmitConvertToTarget, 1,
/*165550*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v8i16] } (AArch64urshri:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm), V128:{ *:[v8i16] }:$Rd) - Complexity = 10
                      // Dst: (URSRAv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165559*/          0, // EndSwitchType
/*165560*/        /*Scope*/ 37, /*->165598*/
/*165561*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*165563*/          OPC_MoveParent,
/*165564*/          OPC_MoveParent,
/*165565*/          OPC_RecordChild1, // #2 = $Rd
/*165566*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->165582
/*165569*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165571*/            OPC_EmitConvertToTarget, 1,
/*165573*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv2i32_shift), 0,
                          MVT::v2i32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v2i32] } (AArch64urshri:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), V64:{ *:[v2i32] }:$Rd) - Complexity = 10
                      // Dst: (URSRAv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165582*/          /*SwitchType*/ 13, MVT::v4i32,// ->165597
/*165584*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165586*/            OPC_EmitConvertToTarget, 1,
/*165588*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v4i32] } (AArch64urshri:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), V128:{ *:[v4i32] }:$Rd) - Complexity = 10
                      // Dst: (URSRAv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165597*/          0, // EndSwitchType
/*165598*/        /*Scope*/ 37, /*->165636*/
/*165599*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*165601*/          OPC_MoveParent,
/*165602*/          OPC_MoveParent,
/*165603*/          OPC_RecordChild1, // #2 = $Rd
/*165604*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i64,// ->165620
/*165607*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165609*/            OPC_EmitConvertToTarget, 1,
/*165611*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAv2i64_shift), 0,
                          MVT::v2i64, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v2i64] } (AArch64urshri:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), V128:{ *:[v2i64] }:$Rd) - Complexity = 10
                      // Dst: (URSRAv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165620*/          /*SwitchType*/ 13, MVT::v1i64,// ->165635
/*165622*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165624*/            OPC_EmitConvertToTarget, 1,
/*165626*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSRAd), 0,
                          MVT::v1i64, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v1i64] } (AArch64urshri:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), FPR64:{ *:[v1i64] }:$Rd) - Complexity = 10
                      // Dst: (URSRAd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*165635*/          0, // EndSwitchType
/*165636*/        0, /*End of Scope*/
/*165637*/      /*SwitchOpcode*/ 34|128,1/*162*/, TARGET_VAL(AArch64ISD::VLSHR),// ->165803
/*165641*/        OPC_RecordChild0, // #0 = $Rn
/*165642*/        OPC_RecordChild1, // #1 = $imm
/*165643*/        OPC_MoveChild1,
/*165644*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*165647*/        OPC_CheckType, MVT::i32,
/*165649*/        OPC_Scope, 37, /*->165688*/ // 4 children in Scope
/*165651*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*165653*/          OPC_MoveParent,
/*165654*/          OPC_MoveParent,
/*165655*/          OPC_RecordChild1, // #2 = $Rd
/*165656*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->165672
/*165659*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165661*/            OPC_EmitConvertToTarget, 1,
/*165663*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv8i8_shift), 0,
                          MVT::v8i8, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v8i8] } (AArch64vlshr:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm), V64:{ *:[v8i8] }:$Rd) - Complexity = 10
                      // Dst: (USRAv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165672*/          /*SwitchType*/ 13, MVT::v16i8,// ->165687
/*165674*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165676*/            OPC_EmitConvertToTarget, 1,
/*165678*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v16i8] } (AArch64vlshr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm), V128:{ *:[v16i8] }:$Rd) - Complexity = 10
                      // Dst: (USRAv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165687*/          0, // EndSwitchType
/*165688*/        /*Scope*/ 37, /*->165726*/
/*165689*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*165691*/          OPC_MoveParent,
/*165692*/          OPC_MoveParent,
/*165693*/          OPC_RecordChild1, // #2 = $Rd
/*165694*/          OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->165710
/*165697*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165699*/            OPC_EmitConvertToTarget, 1,
/*165701*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv4i16_shift), 0,
                          MVT::v4i16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v4i16] } (AArch64vlshr:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm), V64:{ *:[v4i16] }:$Rd) - Complexity = 10
                      // Dst: (USRAv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165710*/          /*SwitchType*/ 13, MVT::v8i16,// ->165725
/*165712*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165714*/            OPC_EmitConvertToTarget, 1,
/*165716*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v8i16] } (AArch64vlshr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm), V128:{ *:[v8i16] }:$Rd) - Complexity = 10
                      // Dst: (USRAv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165725*/          0, // EndSwitchType
/*165726*/        /*Scope*/ 37, /*->165764*/
/*165727*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*165729*/          OPC_MoveParent,
/*165730*/          OPC_MoveParent,
/*165731*/          OPC_RecordChild1, // #2 = $Rd
/*165732*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->165748
/*165735*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165737*/            OPC_EmitConvertToTarget, 1,
/*165739*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv2i32_shift), 0,
                          MVT::v2i32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v2i32] } (AArch64vlshr:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), V64:{ *:[v2i32] }:$Rd) - Complexity = 10
                      // Dst: (USRAv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165748*/          /*SwitchType*/ 13, MVT::v4i32,// ->165763
/*165750*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165752*/            OPC_EmitConvertToTarget, 1,
/*165754*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v4i32] } (AArch64vlshr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), V128:{ *:[v4i32] }:$Rd) - Complexity = 10
                      // Dst: (USRAv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165763*/          0, // EndSwitchType
/*165764*/        /*Scope*/ 37, /*->165802*/
/*165765*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*165767*/          OPC_MoveParent,
/*165768*/          OPC_MoveParent,
/*165769*/          OPC_RecordChild1, // #2 = $Rd
/*165770*/          OPC_SwitchType /*2 cases */, 13, MVT::v2i64,// ->165786
/*165773*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165775*/            OPC_EmitConvertToTarget, 1,
/*165777*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAv2i64_shift), 0,
                          MVT::v2i64, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v2i64] } (AArch64vlshr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), V128:{ *:[v2i64] }:$Rd) - Complexity = 10
                      // Dst: (USRAv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*165786*/          /*SwitchType*/ 13, MVT::v1i64,// ->165801
/*165788*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165790*/            OPC_EmitConvertToTarget, 1,
/*165792*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USRAd), 0,
                          MVT::v1i64, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (add:{ *:[v1i64] } (AArch64vlshr:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), FPR64:{ *:[v1i64] }:$Rd) - Complexity = 10
                      // Dst: (USRAd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*165801*/          0, // EndSwitchType
/*165802*/        0, /*End of Scope*/
/*165803*/      /*SwitchOpcode*/ 75, TARGET_VAL(ISD::SIGN_EXTEND),// ->165881
/*165806*/        OPC_RecordChild0, // #0 = $Rn
/*165807*/        OPC_Scope, 23, /*->165832*/ // 3 children in Scope
/*165809*/          OPC_CheckChild0Type, MVT::v8i8,
/*165811*/          OPC_MoveParent,
/*165812*/          OPC_MoveChild1,
/*165813*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*165816*/          OPC_RecordChild0, // #1 = $Rm
/*165817*/          OPC_CheckChild0Type, MVT::v8i8,
/*165819*/          OPC_MoveParent,
/*165820*/          OPC_CheckType, MVT::v8i16,
/*165822*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165824*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm)) - Complexity = 9
                    // Dst: (SADDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*165832*/        /*Scope*/ 23, /*->165856*/
/*165833*/          OPC_CheckChild0Type, MVT::v4i16,
/*165835*/          OPC_MoveParent,
/*165836*/          OPC_MoveChild1,
/*165837*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*165840*/          OPC_RecordChild0, // #1 = $Rm
/*165841*/          OPC_CheckChild0Type, MVT::v4i16,
/*165843*/          OPC_MoveParent,
/*165844*/          OPC_CheckType, MVT::v4i32,
/*165846*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165848*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm)) - Complexity = 9
                    // Dst: (SADDLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*165856*/        /*Scope*/ 23, /*->165880*/
/*165857*/          OPC_CheckChild0Type, MVT::v2i32,
/*165859*/          OPC_MoveParent,
/*165860*/          OPC_MoveChild1,
/*165861*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*165864*/          OPC_RecordChild0, // #1 = $Rm
/*165865*/          OPC_CheckChild0Type, MVT::v2i32,
/*165867*/          OPC_MoveParent,
/*165868*/          OPC_CheckType, MVT::v2i64,
/*165870*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165872*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm)) - Complexity = 9
                    // Dst: (SADDLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*165880*/        0, /*End of Scope*/
/*165881*/      /*SwitchOpcode*/ 75, TARGET_VAL(ISD::ZERO_EXTEND),// ->165959
/*165884*/        OPC_RecordChild0, // #0 = $Rn
/*165885*/        OPC_Scope, 23, /*->165910*/ // 3 children in Scope
/*165887*/          OPC_CheckChild0Type, MVT::v8i8,
/*165889*/          OPC_MoveParent,
/*165890*/          OPC_MoveChild1,
/*165891*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*165894*/          OPC_RecordChild0, // #1 = $Rm
/*165895*/          OPC_CheckChild0Type, MVT::v8i8,
/*165897*/          OPC_MoveParent,
/*165898*/          OPC_CheckType, MVT::v8i16,
/*165900*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165902*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm)) - Complexity = 9
                    // Dst: (UADDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*165910*/        /*Scope*/ 23, /*->165934*/
/*165911*/          OPC_CheckChild0Type, MVT::v4i16,
/*165913*/          OPC_MoveParent,
/*165914*/          OPC_MoveChild1,
/*165915*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*165918*/          OPC_RecordChild0, // #1 = $Rm
/*165919*/          OPC_CheckChild0Type, MVT::v4i16,
/*165921*/          OPC_MoveParent,
/*165922*/          OPC_CheckType, MVT::v4i32,
/*165924*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165926*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm)) - Complexity = 9
                    // Dst: (UADDLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*165934*/        /*Scope*/ 23, /*->165958*/
/*165935*/          OPC_CheckChild0Type, MVT::v2i32,
/*165937*/          OPC_MoveParent,
/*165938*/          OPC_MoveChild1,
/*165939*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*165942*/          OPC_RecordChild0, // #1 = $Rm
/*165943*/          OPC_CheckChild0Type, MVT::v2i32,
/*165945*/          OPC_MoveParent,
/*165946*/          OPC_CheckType, MVT::v2i64,
/*165948*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165950*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm)) - Complexity = 9
                    // Dst: (UADDLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*165958*/        0, /*End of Scope*/
/*165959*/      0, // EndSwitchOpcode
/*165960*/    /*Scope*/ 92|128,1/*220*/, /*->166182*/
/*165962*/      OPC_RecordChild0, // #0 = $Rn
/*165963*/      OPC_MoveChild1,
/*165964*/      OPC_SwitchOpcode /*4 cases */, 51, TARGET_VAL(ISD::SIGN_EXTEND),// ->166019
/*165968*/        OPC_RecordChild0, // #1 = $Rm
/*165969*/        OPC_Scope, 15, /*->165986*/ // 3 children in Scope
/*165971*/          OPC_CheckChild0Type, MVT::v8i8,
/*165973*/          OPC_MoveParent,
/*165974*/          OPC_CheckType, MVT::v8i16,
/*165976*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165978*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm)) - Complexity = 6
                    // Dst: (SADDWv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*165986*/        /*Scope*/ 15, /*->166002*/
/*165987*/          OPC_CheckChild0Type, MVT::v4i16,
/*165989*/          OPC_MoveParent,
/*165990*/          OPC_CheckType, MVT::v4i32,
/*165992*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*165994*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm)) - Complexity = 6
                    // Dst: (SADDWv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166002*/        /*Scope*/ 15, /*->166018*/
/*166003*/          OPC_CheckChild0Type, MVT::v2i32,
/*166005*/          OPC_MoveParent,
/*166006*/          OPC_CheckType, MVT::v2i64,
/*166008*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166010*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm)) - Complexity = 6
                    // Dst: (SADDWv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166018*/        0, /*End of Scope*/
/*166019*/      /*SwitchOpcode*/ 51, TARGET_VAL(ISD::ZERO_EXTEND),// ->166073
/*166022*/        OPC_RecordChild0, // #1 = $Rm
/*166023*/        OPC_Scope, 15, /*->166040*/ // 3 children in Scope
/*166025*/          OPC_CheckChild0Type, MVT::v8i8,
/*166027*/          OPC_MoveParent,
/*166028*/          OPC_CheckType, MVT::v8i16,
/*166030*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166032*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm)) - Complexity = 6
                    // Dst: (UADDWv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*166040*/        /*Scope*/ 15, /*->166056*/
/*166041*/          OPC_CheckChild0Type, MVT::v4i16,
/*166043*/          OPC_MoveParent,
/*166044*/          OPC_CheckType, MVT::v4i32,
/*166046*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166048*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm)) - Complexity = 6
                    // Dst: (UADDWv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166056*/        /*Scope*/ 15, /*->166072*/
/*166057*/          OPC_CheckChild0Type, MVT::v2i32,
/*166059*/          OPC_MoveParent,
/*166060*/          OPC_CheckType, MVT::v2i64,
/*166062*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166064*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm)) - Complexity = 6
                    // Dst: (UADDWv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166072*/        0, /*End of Scope*/
/*166073*/      /*SwitchOpcode*/ 51, TARGET_VAL(AArch64ISD::SMULL),// ->166127
/*166076*/        OPC_RecordChild0, // #1 = $Rn
/*166077*/        OPC_Scope, 15, /*->166094*/ // 3 children in Scope
/*166079*/          OPC_CheckChild0Type, MVT::v8i8,
/*166081*/          OPC_RecordChild1, // #2 = $Rm
/*166082*/          OPC_MoveParent,
/*166083*/          OPC_CheckType, MVT::v8i16,
/*166085*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv8i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (AArch64smull:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 6
                    // Dst: (SMLALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*166094*/        /*Scope*/ 15, /*->166110*/
/*166095*/          OPC_CheckChild0Type, MVT::v4i16,
/*166097*/          OPC_RecordChild1, // #2 = $Rm
/*166098*/          OPC_MoveParent,
/*166099*/          OPC_CheckType, MVT::v4i32,
/*166101*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (AArch64smull:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 6
                    // Dst: (SMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166110*/        /*Scope*/ 15, /*->166126*/
/*166111*/          OPC_CheckChild0Type, MVT::v2i32,
/*166113*/          OPC_RecordChild1, // #2 = $Rm
/*166114*/          OPC_MoveParent,
/*166115*/          OPC_CheckType, MVT::v2i64,
/*166117*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv2i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (AArch64smull:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 6
                    // Dst: (SMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166126*/        0, /*End of Scope*/
/*166127*/      /*SwitchOpcode*/ 51, TARGET_VAL(AArch64ISD::UMULL),// ->166181
/*166130*/        OPC_RecordChild0, // #1 = $Rn
/*166131*/        OPC_Scope, 15, /*->166148*/ // 3 children in Scope
/*166133*/          OPC_CheckChild0Type, MVT::v8i8,
/*166135*/          OPC_RecordChild1, // #2 = $Rm
/*166136*/          OPC_MoveParent,
/*166137*/          OPC_CheckType, MVT::v8i16,
/*166139*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv8i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (AArch64umull:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 6
                    // Dst: (UMLALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*166148*/        /*Scope*/ 15, /*->166164*/
/*166149*/          OPC_CheckChild0Type, MVT::v4i16,
/*166151*/          OPC_RecordChild1, // #2 = $Rm
/*166152*/          OPC_MoveParent,
/*166153*/          OPC_CheckType, MVT::v4i32,
/*166155*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (AArch64umull:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 6
                    // Dst: (UMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166164*/        /*Scope*/ 15, /*->166180*/
/*166165*/          OPC_CheckChild0Type, MVT::v2i32,
/*166167*/          OPC_RecordChild1, // #2 = $Rm
/*166168*/          OPC_MoveParent,
/*166169*/          OPC_CheckType, MVT::v2i64,
/*166171*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv2i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (AArch64umull:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 6
                    // Dst: (UMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166180*/        0, /*End of Scope*/
/*166181*/      0, // EndSwitchOpcode
/*166182*/    /*Scope*/ 103|128,1/*231*/, /*->166415*/
/*166184*/      OPC_MoveChild0,
/*166185*/      OPC_SwitchOpcode /*4 cases */, 54, TARGET_VAL(ISD::SIGN_EXTEND),// ->166243
/*166189*/        OPC_RecordChild0, // #0 = $Rm
/*166190*/        OPC_Scope, 16, /*->166208*/ // 3 children in Scope
/*166192*/          OPC_CheckChild0Type, MVT::v8i8,
/*166194*/          OPC_MoveParent,
/*166195*/          OPC_RecordChild1, // #1 = $Rn
/*166196*/          OPC_CheckType, MVT::v8i16,
/*166198*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166200*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v8i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm), V128:{ *:[v8i16] }:$Rn) - Complexity = 6
                    // Dst: (SADDWv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*166208*/        /*Scope*/ 16, /*->166225*/
/*166209*/          OPC_CheckChild0Type, MVT::v4i16,
/*166211*/          OPC_MoveParent,
/*166212*/          OPC_RecordChild1, // #1 = $Rn
/*166213*/          OPC_CheckType, MVT::v4i32,
/*166215*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166217*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v4i32] } (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm), V128:{ *:[v4i32] }:$Rn) - Complexity = 6
                    // Dst: (SADDWv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166225*/        /*Scope*/ 16, /*->166242*/
/*166226*/          OPC_CheckChild0Type, MVT::v2i32,
/*166228*/          OPC_MoveParent,
/*166229*/          OPC_RecordChild1, // #1 = $Rn
/*166230*/          OPC_CheckType, MVT::v2i64,
/*166232*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166234*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDWv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v2i64] } (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm), V128:{ *:[v2i64] }:$Rn) - Complexity = 6
                    // Dst: (SADDWv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166242*/        0, /*End of Scope*/
/*166243*/      /*SwitchOpcode*/ 54, TARGET_VAL(ISD::ZERO_EXTEND),// ->166300
/*166246*/        OPC_RecordChild0, // #0 = $Rm
/*166247*/        OPC_Scope, 16, /*->166265*/ // 3 children in Scope
/*166249*/          OPC_CheckChild0Type, MVT::v8i8,
/*166251*/          OPC_MoveParent,
/*166252*/          OPC_RecordChild1, // #1 = $Rn
/*166253*/          OPC_CheckType, MVT::v8i16,
/*166255*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166257*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm), V128:{ *:[v8i16] }:$Rn) - Complexity = 6
                    // Dst: (UADDWv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*166265*/        /*Scope*/ 16, /*->166282*/
/*166266*/          OPC_CheckChild0Type, MVT::v4i16,
/*166268*/          OPC_MoveParent,
/*166269*/          OPC_RecordChild1, // #1 = $Rn
/*166270*/          OPC_CheckType, MVT::v4i32,
/*166272*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166274*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v4i32] } (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm), V128:{ *:[v4i32] }:$Rn) - Complexity = 6
                    // Dst: (UADDWv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166282*/        /*Scope*/ 16, /*->166299*/
/*166283*/          OPC_CheckChild0Type, MVT::v2i32,
/*166285*/          OPC_MoveParent,
/*166286*/          OPC_RecordChild1, // #1 = $Rn
/*166287*/          OPC_CheckType, MVT::v2i64,
/*166289*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166291*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDWv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 1, 0, 
                    // Src: (add:{ *:[v2i64] } (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm), V128:{ *:[v2i64] }:$Rn) - Complexity = 6
                    // Dst: (UADDWv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166299*/        0, /*End of Scope*/
/*166300*/      /*SwitchOpcode*/ 54, TARGET_VAL(AArch64ISD::SMULL),// ->166357
/*166303*/        OPC_RecordChild0, // #0 = $Rn
/*166304*/        OPC_Scope, 16, /*->166322*/ // 3 children in Scope
/*166306*/          OPC_CheckChild0Type, MVT::v8i8,
/*166308*/          OPC_RecordChild1, // #1 = $Rm
/*166309*/          OPC_MoveParent,
/*166310*/          OPC_RecordChild1, // #2 = $Rd
/*166311*/          OPC_CheckType, MVT::v8i16,
/*166313*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv8i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (AArch64smull:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm), V128:{ *:[v8i16] }:$Rd) - Complexity = 6
                    // Dst: (SMLALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*166322*/        /*Scope*/ 16, /*->166339*/
/*166323*/          OPC_CheckChild0Type, MVT::v4i16,
/*166325*/          OPC_RecordChild1, // #1 = $Rm
/*166326*/          OPC_MoveParent,
/*166327*/          OPC_RecordChild1, // #2 = $Rd
/*166328*/          OPC_CheckType, MVT::v4i32,
/*166330*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv4i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (AArch64smull:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm), V128:{ *:[v4i32] }:$Rd) - Complexity = 6
                    // Dst: (SMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166339*/        /*Scope*/ 16, /*->166356*/
/*166340*/          OPC_CheckChild0Type, MVT::v2i32,
/*166342*/          OPC_RecordChild1, // #1 = $Rm
/*166343*/          OPC_MoveParent,
/*166344*/          OPC_RecordChild1, // #2 = $Rd
/*166345*/          OPC_CheckType, MVT::v2i64,
/*166347*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLALv2i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (AArch64smull:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm), V128:{ *:[v2i64] }:$Rd) - Complexity = 6
                    // Dst: (SMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166356*/        0, /*End of Scope*/
/*166357*/      /*SwitchOpcode*/ 54, TARGET_VAL(AArch64ISD::UMULL),// ->166414
/*166360*/        OPC_RecordChild0, // #0 = $Rn
/*166361*/        OPC_Scope, 16, /*->166379*/ // 3 children in Scope
/*166363*/          OPC_CheckChild0Type, MVT::v8i8,
/*166365*/          OPC_RecordChild1, // #1 = $Rm
/*166366*/          OPC_MoveParent,
/*166367*/          OPC_RecordChild1, // #2 = $Rd
/*166368*/          OPC_CheckType, MVT::v8i16,
/*166370*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv8i8_v8i16), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v8i16] } (AArch64umull:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm), V128:{ *:[v8i16] }:$Rd) - Complexity = 6
                    // Dst: (UMLALv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*166379*/        /*Scope*/ 16, /*->166396*/
/*166380*/          OPC_CheckChild0Type, MVT::v4i16,
/*166382*/          OPC_RecordChild1, // #1 = $Rm
/*166383*/          OPC_MoveParent,
/*166384*/          OPC_RecordChild1, // #2 = $Rd
/*166385*/          OPC_CheckType, MVT::v4i32,
/*166387*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv4i16_v4i32), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v4i32] } (AArch64umull:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm), V128:{ *:[v4i32] }:$Rd) - Complexity = 6
                    // Dst: (UMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166396*/        /*Scope*/ 16, /*->166413*/
/*166397*/          OPC_CheckChild0Type, MVT::v2i32,
/*166399*/          OPC_RecordChild1, // #1 = $Rm
/*166400*/          OPC_MoveParent,
/*166401*/          OPC_RecordChild1, // #2 = $Rd
/*166402*/          OPC_CheckType, MVT::v2i64,
/*166404*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLALv2i32_v2i64), 0,
                        MVT::v2i64, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (add:{ *:[v2i64] } (AArch64umull:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm), V128:{ *:[v2i64] }:$Rd) - Complexity = 6
                    // Dst: (UMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166413*/        0, /*End of Scope*/
/*166414*/      0, // EndSwitchOpcode
/*166415*/    /*Scope*/ 20|128,1/*148*/, /*->166565*/
/*166417*/      OPC_RecordChild0, // #0 = $Rn
/*166418*/      OPC_RecordChild1, // #1 = $Rm
/*166419*/      OPC_SwitchType /*12 cases */, 10, MVT::v8i8,// ->166432
/*166422*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166424*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (ADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*166432*/      /*SwitchType*/ 10, MVT::v16i8,// ->166444
/*166434*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166436*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (ADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*166444*/      /*SwitchType*/ 10, MVT::v4i16,// ->166456
/*166446*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166448*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                  // Dst: (ADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*166456*/      /*SwitchType*/ 10, MVT::v8i16,// ->166468
/*166458*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166460*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                  // Dst: (ADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*166468*/      /*SwitchType*/ 10, MVT::v2i32,// ->166480
/*166470*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166472*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                  // Dst: (ADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*166480*/      /*SwitchType*/ 10, MVT::v4i32,// ->166492
/*166482*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166484*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                  // Dst: (ADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*166492*/      /*SwitchType*/ 10, MVT::v2i64,// ->166504
/*166494*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166496*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                  // Dst: (ADDv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*166504*/      /*SwitchType*/ 10, MVT::v1i64,// ->166516
/*166506*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*166508*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 3
                  // Dst: (ADDv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*166516*/      /*SwitchType*/ 10, MVT::nxv16i8,// ->166528
/*166518*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*166520*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                  // Dst: (ADD_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*166528*/      /*SwitchType*/ 10, MVT::nxv8i16,// ->166540
/*166530*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*166532*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (ADD_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*166540*/      /*SwitchType*/ 10, MVT::nxv4i32,// ->166552
/*166542*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*166544*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (ADD_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*166552*/      /*SwitchType*/ 10, MVT::nxv2i64,// ->166564
/*166554*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*166556*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZZZ_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (add:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (ADD_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*166564*/      0, // EndSwitchType
/*166565*/    0, /*End of Scope*/
/*166566*/  /*SwitchOpcode*/ 43|128,51/*6571*/, TARGET_VAL(ISD::STORE),// ->173141
/*166570*/    OPC_RecordMemRef,
/*166571*/    OPC_RecordNode, // #0 = 'st' chained node
/*166572*/    OPC_Scope, 50|128,9/*1202*/, /*->167777*/ // 6 children in Scope
/*166575*/      OPC_MoveChild1,
/*166576*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*166579*/      OPC_RecordChild0, // #1 = $Vt
/*166580*/      OPC_Scope, 25|128,1/*153*/, /*->166736*/ // 12 children in Scope
/*166583*/        OPC_CheckChild0Type, MVT::v8i16,
/*166585*/        OPC_Scope, 114, /*->166701*/ // 2 children in Scope
/*166587*/          OPC_CheckChild1Integer, 0, 
/*166589*/          OPC_CheckType, MVT::i32,
/*166591*/          OPC_MoveParent,
/*166592*/          OPC_RecordChild2, // #2 = $ro_Windexed16:Rn:Rm:extend
/*166593*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*166595*/          OPC_CheckPredicate, 15, // Predicate_truncstore
/*166597*/          OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*166599*/          OPC_Scope, 25, /*->166626*/ // 4 children in Scope
/*166601*/            OPC_CheckComplexPat, /*CP*/12, /*#*/2, // SelectAddrModeWRO<16>:$ #3 #4 #5 #6
/*166604*/            OPC_EmitMergeInputChains1_0,
/*166605*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*166608*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 1, 7,  // Results = #8
/*166616*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v8i16] }:$Vt, 0:{ *:[iPTR] }), (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 46
                      // Dst: (STRHroW (EXTRACT_SUBREG:{ *:[f16] } VecListOne128:{ *:[v8i16] }:$Vt, hsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*166626*/          /*Scope*/ 25, /*->166652*/
/*166627*/            OPC_CheckComplexPat, /*CP*/13, /*#*/2, // SelectAddrModeXRO<16>:$ #3 #4 #5 #6
/*166630*/            OPC_EmitMergeInputChains1_0,
/*166631*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*166634*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 1, 7,  // Results = #8
/*166642*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v8i16] }:$Vt, 0:{ *:[iPTR] }), (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 46
                      // Dst: (STRHroX (EXTRACT_SUBREG:{ *:[f16] } VecListOne128:{ *:[v8i16] }:$Vt, hsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*166652*/          /*Scope*/ 23, /*->166676*/
/*166653*/            OPC_CheckComplexPat, /*CP*/14, /*#*/2, // SelectAddrModeIndexed16:$ #3 #4
/*166656*/            OPC_EmitMergeInputChains1_0,
/*166657*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*166660*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 1, 5,  // Results = #6
/*166668*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v8i16] }:$Vt, 0:{ *:[iPTR] }), (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 40
                      // Dst: (STRHui (EXTRACT_SUBREG:{ *:[f16] } VecListOne128:{ *:[v8i16] }:$Vt, hsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*166676*/          /*Scope*/ 23, /*->166700*/
/*166677*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*166680*/            OPC_EmitMergeInputChains1_0,
/*166681*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*166684*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 1, 5,  // Results = #6
/*166692*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v8i16] }:$Vt, 0:{ *:[iPTR] }), (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 40
                      // Dst: (STURHi (EXTRACT_SUBREG:{ *:[f16] } VecListOne128:{ *:[v8i16] }:$Vt, hsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*166700*/          0, /*End of Scope*/
/*166701*/        /*Scope*/ 33, /*->166735*/
/*166702*/          OPC_RecordChild1, // #2 = $idx
/*166703*/          OPC_MoveChild1,
/*166704*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*166707*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*166709*/          OPC_CheckType, MVT::i64,
/*166711*/          OPC_MoveParent,
/*166712*/          OPC_CheckType, MVT::i32,
/*166714*/          OPC_MoveParent,
/*166715*/          OPC_RecordChild2, // #3 = $Rn
/*166716*/          OPC_CheckChild2Type, MVT::i64,
/*166718*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*166720*/          OPC_CheckPredicate, 15, // Predicate_truncstore
/*166722*/          OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*166724*/          OPC_EmitMergeInputChains1_0,
/*166725*/          OPC_EmitConvertToTarget, 2,
/*166727*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 4, 3, 
                    // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v8i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 30
                    // Dst: (ST1i16 VecListOne128:{ *:[v8i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*166735*/        0, /*End of Scope*/
/*166736*/      /*Scope*/ 21|128,1/*149*/, /*->166887*/
/*166738*/        OPC_CheckChild0Type, MVT::v8f16,
/*166740*/        OPC_Scope, 112, /*->166854*/ // 2 children in Scope
/*166742*/          OPC_CheckChild1Integer, 0, 
/*166744*/          OPC_CheckType, MVT::f16,
/*166746*/          OPC_MoveParent,
/*166747*/          OPC_RecordChild2, // #2 = $ro_Windexed16:Rn:Rm:extend
/*166748*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*166750*/          OPC_CheckPredicate, 17, // Predicate_store
/*166752*/          OPC_Scope, 25, /*->166779*/ // 4 children in Scope
/*166754*/            OPC_CheckComplexPat, /*CP*/12, /*#*/2, // SelectAddrModeWRO<16>:$ #3 #4 #5 #6
/*166757*/            OPC_EmitMergeInputChains1_0,
/*166758*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*166761*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 1, 7,  // Results = #8
/*166769*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, 0:{ *:[iPTR] }), (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRHroW (EXTRACT_SUBREG:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, hsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*166779*/          /*Scope*/ 25, /*->166805*/
/*166780*/            OPC_CheckComplexPat, /*CP*/13, /*#*/2, // SelectAddrModeXRO<16>:$ #3 #4 #5 #6
/*166783*/            OPC_EmitMergeInputChains1_0,
/*166784*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*166787*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 1, 7,  // Results = #8
/*166795*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, 0:{ *:[iPTR] }), (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRHroX (EXTRACT_SUBREG:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, hsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*166805*/          /*Scope*/ 23, /*->166829*/
/*166806*/            OPC_CheckComplexPat, /*CP*/14, /*#*/2, // SelectAddrModeIndexed16:$ #3 #4
/*166809*/            OPC_EmitMergeInputChains1_0,
/*166810*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*166813*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 1, 5,  // Results = #6
/*166821*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, 0:{ *:[iPTR] }), (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STRHui (EXTRACT_SUBREG:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, hsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*166829*/          /*Scope*/ 23, /*->166853*/
/*166830*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*166833*/            OPC_EmitMergeInputChains1_0,
/*166834*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*166837*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 1, 5,  // Results = #6
/*166845*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, 0:{ *:[iPTR] }), (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STURHi (EXTRACT_SUBREG:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, hsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*166853*/          0, /*End of Scope*/
/*166854*/        /*Scope*/ 31, /*->166886*/
/*166855*/          OPC_RecordChild1, // #2 = $idx
/*166856*/          OPC_MoveChild1,
/*166857*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*166860*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*166862*/          OPC_CheckType, MVT::i64,
/*166864*/          OPC_MoveParent,
/*166865*/          OPC_CheckType, MVT::f16,
/*166867*/          OPC_MoveParent,
/*166868*/          OPC_RecordChild2, // #3 = $Rn
/*166869*/          OPC_CheckChild2Type, MVT::i64,
/*166871*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*166873*/          OPC_CheckPredicate, 17, // Predicate_store
/*166875*/          OPC_EmitMergeInputChains1_0,
/*166876*/          OPC_EmitConvertToTarget, 2,
/*166878*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 4, 3, 
                    // Src: (st (vector_extract:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
                    // Dst: (ST1i16 VecListOne128:{ *:[v8f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*166886*/        0, /*End of Scope*/
/*166887*/      /*Scope*/ 21|128,1/*149*/, /*->167038*/
/*166889*/        OPC_CheckChild0Type, MVT::v4i32,
/*166891*/        OPC_Scope, 112, /*->167005*/ // 2 children in Scope
/*166893*/          OPC_CheckChild1Integer, 0, 
/*166895*/          OPC_CheckType, MVT::i32,
/*166897*/          OPC_MoveParent,
/*166898*/          OPC_RecordChild2, // #2 = $ro_Windexed32:Rn:Rm:extend
/*166899*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*166901*/          OPC_CheckPredicate, 17, // Predicate_store
/*166903*/          OPC_Scope, 25, /*->166930*/ // 4 children in Scope
/*166905*/            OPC_CheckComplexPat, /*CP*/16, /*#*/2, // SelectAddrModeWRO<32>:$ #3 #4 #5 #6
/*166908*/            OPC_EmitMergeInputChains1_0,
/*166909*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*166912*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*166920*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, 0:{ *:[iPTR] }), (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRSroW (EXTRACT_SUBREG:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, ssub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*166930*/          /*Scope*/ 25, /*->166956*/
/*166931*/            OPC_CheckComplexPat, /*CP*/17, /*#*/2, // SelectAddrModeXRO<32>:$ #3 #4 #5 #6
/*166934*/            OPC_EmitMergeInputChains1_0,
/*166935*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*166938*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*166946*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, 0:{ *:[iPTR] }), (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRSroX (EXTRACT_SUBREG:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, ssub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*166956*/          /*Scope*/ 23, /*->166980*/
/*166957*/            OPC_CheckComplexPat, /*CP*/18, /*#*/2, // SelectAddrModeIndexed32:$ #3 #4
/*166960*/            OPC_EmitMergeInputChains1_0,
/*166961*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*166964*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*166972*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, 0:{ *:[iPTR] }), (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STRSui (EXTRACT_SUBREG:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, ssub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*166980*/          /*Scope*/ 23, /*->167004*/
/*166981*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*166984*/            OPC_EmitMergeInputChains1_0,
/*166985*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*166988*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*166996*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURSi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, 0:{ *:[iPTR] }), (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STURSi (EXTRACT_SUBREG:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, ssub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*167004*/          0, /*End of Scope*/
/*167005*/        /*Scope*/ 31, /*->167037*/
/*167006*/          OPC_RecordChild1, // #2 = $idx
/*167007*/          OPC_MoveChild1,
/*167008*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167011*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*167013*/          OPC_CheckType, MVT::i64,
/*167015*/          OPC_MoveParent,
/*167016*/          OPC_CheckType, MVT::i32,
/*167018*/          OPC_MoveParent,
/*167019*/          OPC_RecordChild2, // #3 = $Rn
/*167020*/          OPC_CheckChild2Type, MVT::i64,
/*167022*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167024*/          OPC_CheckPredicate, 17, // Predicate_store
/*167026*/          OPC_EmitMergeInputChains1_0,
/*167027*/          OPC_EmitConvertToTarget, 2,
/*167029*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i32), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 4, 3, 
                    // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
                    // Dst: (ST1i32 VecListOne128:{ *:[v4i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167037*/        0, /*End of Scope*/
/*167038*/      /*Scope*/ 21|128,1/*149*/, /*->167189*/
/*167040*/        OPC_CheckChild0Type, MVT::v4f32,
/*167042*/        OPC_Scope, 112, /*->167156*/ // 2 children in Scope
/*167044*/          OPC_CheckChild1Integer, 0, 
/*167046*/          OPC_CheckType, MVT::f32,
/*167048*/          OPC_MoveParent,
/*167049*/          OPC_RecordChild2, // #2 = $ro_Windexed32:Rn:Rm:extend
/*167050*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167052*/          OPC_CheckPredicate, 17, // Predicate_store
/*167054*/          OPC_Scope, 25, /*->167081*/ // 4 children in Scope
/*167056*/            OPC_CheckComplexPat, /*CP*/16, /*#*/2, // SelectAddrModeWRO<32>:$ #3 #4 #5 #6
/*167059*/            OPC_EmitMergeInputChains1_0,
/*167060*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*167063*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*167071*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[f32] } VecListOne128:{ *:[v4f32] }:$Vt, 0:{ *:[iPTR] }), (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRSroW (EXTRACT_SUBREG:{ *:[i32] } VecListOne128:{ *:[v4f32] }:$Vt, ssub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*167081*/          /*Scope*/ 25, /*->167107*/
/*167082*/            OPC_CheckComplexPat, /*CP*/17, /*#*/2, // SelectAddrModeXRO<32>:$ #3 #4 #5 #6
/*167085*/            OPC_EmitMergeInputChains1_0,
/*167086*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*167089*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*167097*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[f32] } VecListOne128:{ *:[v4f32] }:$Vt, 0:{ *:[iPTR] }), (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRSroX (EXTRACT_SUBREG:{ *:[i32] } VecListOne128:{ *:[v4f32] }:$Vt, ssub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*167107*/          /*Scope*/ 23, /*->167131*/
/*167108*/            OPC_CheckComplexPat, /*CP*/18, /*#*/2, // SelectAddrModeIndexed32:$ #3 #4
/*167111*/            OPC_EmitMergeInputChains1_0,
/*167112*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*167115*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*167123*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[f32] } VecListOne128:{ *:[v4f32] }:$Vt, 0:{ *:[iPTR] }), (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STRSui (EXTRACT_SUBREG:{ *:[i32] } VecListOne128:{ *:[v4f32] }:$Vt, ssub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*167131*/          /*Scope*/ 23, /*->167155*/
/*167132*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*167135*/            OPC_EmitMergeInputChains1_0,
/*167136*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*167139*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*167147*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURSi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[f32] } VecListOne128:{ *:[v4f32] }:$Vt, 0:{ *:[iPTR] }), (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STURSi (EXTRACT_SUBREG:{ *:[i32] } VecListOne128:{ *:[v4f32] }:$Vt, ssub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*167155*/          0, /*End of Scope*/
/*167156*/        /*Scope*/ 31, /*->167188*/
/*167157*/          OPC_RecordChild1, // #2 = $idx
/*167158*/          OPC_MoveChild1,
/*167159*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167162*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*167164*/          OPC_CheckType, MVT::i64,
/*167166*/          OPC_MoveParent,
/*167167*/          OPC_CheckType, MVT::f32,
/*167169*/          OPC_MoveParent,
/*167170*/          OPC_RecordChild2, // #3 = $Rn
/*167171*/          OPC_CheckChild2Type, MVT::i64,
/*167173*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167175*/          OPC_CheckPredicate, 17, // Predicate_store
/*167177*/          OPC_EmitMergeInputChains1_0,
/*167178*/          OPC_EmitConvertToTarget, 2,
/*167180*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i32), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 4, 3, 
                    // Src: (st (vector_extract:{ *:[f32] } VecListOne128:{ *:[v4f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
                    // Dst: (ST1i32 VecListOne128:{ *:[v4f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167188*/        0, /*End of Scope*/
/*167189*/      /*Scope*/ 21|128,1/*149*/, /*->167340*/
/*167191*/        OPC_CheckChild0Type, MVT::v2i64,
/*167193*/        OPC_Scope, 112, /*->167307*/ // 2 children in Scope
/*167195*/          OPC_CheckChild1Integer, 0, 
/*167197*/          OPC_CheckType, MVT::i64,
/*167199*/          OPC_MoveParent,
/*167200*/          OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*167201*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167203*/          OPC_CheckPredicate, 17, // Predicate_store
/*167205*/          OPC_Scope, 25, /*->167232*/ // 4 children in Scope
/*167207*/            OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*167210*/            OPC_EmitMergeInputChains1_0,
/*167211*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167214*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i64, 2/*#Ops*/, 1, 7,  // Results = #8
/*167222*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, 0:{ *:[iPTR] }), (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRDroW (EXTRACT_SUBREG:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, dsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*167232*/          /*Scope*/ 25, /*->167258*/
/*167233*/            OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*167236*/            OPC_EmitMergeInputChains1_0,
/*167237*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167240*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i64, 2/*#Ops*/, 1, 7,  // Results = #8
/*167248*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, 0:{ *:[iPTR] }), (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRDroX (EXTRACT_SUBREG:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, dsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*167258*/          /*Scope*/ 23, /*->167282*/
/*167259*/            OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*167262*/            OPC_EmitMergeInputChains1_0,
/*167263*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167266*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i64, 2/*#Ops*/, 1, 5,  // Results = #6
/*167274*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, 0:{ *:[iPTR] }), (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STRDui (EXTRACT_SUBREG:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, dsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*167282*/          /*Scope*/ 23, /*->167306*/
/*167283*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*167286*/            OPC_EmitMergeInputChains1_0,
/*167287*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167290*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i64, 2/*#Ops*/, 1, 5,  // Results = #6
/*167298*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, 0:{ *:[iPTR] }), (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STURDi (EXTRACT_SUBREG:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, dsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*167306*/          0, /*End of Scope*/
/*167307*/        /*Scope*/ 31, /*->167339*/
/*167308*/          OPC_RecordChild1, // #2 = $idx
/*167309*/          OPC_MoveChild1,
/*167310*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167313*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*167315*/          OPC_CheckType, MVT::i64,
/*167317*/          OPC_MoveParent,
/*167318*/          OPC_CheckType, MVT::i64,
/*167320*/          OPC_MoveParent,
/*167321*/          OPC_RecordChild2, // #3 = $Rn
/*167322*/          OPC_CheckChild2Type, MVT::i64,
/*167324*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167326*/          OPC_CheckPredicate, 17, // Predicate_store
/*167328*/          OPC_EmitMergeInputChains1_0,
/*167329*/          OPC_EmitConvertToTarget, 2,
/*167331*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i64), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 4, 3, 
                    // Src: (st (vector_extract:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
                    // Dst: (ST1i64 VecListOne128:{ *:[v2i64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167339*/        0, /*End of Scope*/
/*167340*/      /*Scope*/ 21|128,1/*149*/, /*->167491*/
/*167342*/        OPC_CheckChild0Type, MVT::v2f64,
/*167344*/        OPC_Scope, 112, /*->167458*/ // 2 children in Scope
/*167346*/          OPC_CheckChild1Integer, 0, 
/*167348*/          OPC_CheckType, MVT::f64,
/*167350*/          OPC_MoveParent,
/*167351*/          OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*167352*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167354*/          OPC_CheckPredicate, 17, // Predicate_store
/*167356*/          OPC_Scope, 25, /*->167383*/ // 4 children in Scope
/*167358*/            OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*167361*/            OPC_EmitMergeInputChains1_0,
/*167362*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167365*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i64, 2/*#Ops*/, 1, 7,  // Results = #8
/*167373*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[f64] } VecListOne128:{ *:[v2f64] }:$Vt, 0:{ *:[iPTR] }), (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRDroW (EXTRACT_SUBREG:{ *:[i64] } VecListOne128:{ *:[v2f64] }:$Vt, dsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*167383*/          /*Scope*/ 25, /*->167409*/
/*167384*/            OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*167387*/            OPC_EmitMergeInputChains1_0,
/*167388*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167391*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i64, 2/*#Ops*/, 1, 7,  // Results = #8
/*167399*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 8, 3, 4, 5, 6, 
                      // Src: (st (vector_extract:{ *:[f64] } VecListOne128:{ *:[v2f64] }:$Vt, 0:{ *:[iPTR] }), (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 46
                      // Dst: (STRDroX (EXTRACT_SUBREG:{ *:[i64] } VecListOne128:{ *:[v2f64] }:$Vt, dsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*167409*/          /*Scope*/ 23, /*->167433*/
/*167410*/            OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*167413*/            OPC_EmitMergeInputChains1_0,
/*167414*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167417*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i64, 2/*#Ops*/, 1, 5,  // Results = #6
/*167425*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[f64] } VecListOne128:{ *:[v2f64] }:$Vt, 0:{ *:[iPTR] }), (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STRDui (EXTRACT_SUBREG:{ *:[i64] } VecListOne128:{ *:[v2f64] }:$Vt, dsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*167433*/          /*Scope*/ 23, /*->167457*/
/*167434*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*167437*/            OPC_EmitMergeInputChains1_0,
/*167438*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167441*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i64, 2/*#Ops*/, 1, 5,  // Results = #6
/*167449*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st (vector_extract:{ *:[f64] } VecListOne128:{ *:[v2f64] }:$Vt, 0:{ *:[iPTR] }), (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 40
                      // Dst: (STURDi (EXTRACT_SUBREG:{ *:[i64] } VecListOne128:{ *:[v2f64] }:$Vt, dsub:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*167457*/          0, /*End of Scope*/
/*167458*/        /*Scope*/ 31, /*->167490*/
/*167459*/          OPC_RecordChild1, // #2 = $idx
/*167460*/          OPC_MoveChild1,
/*167461*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167464*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*167466*/          OPC_CheckType, MVT::i64,
/*167468*/          OPC_MoveParent,
/*167469*/          OPC_CheckType, MVT::f64,
/*167471*/          OPC_MoveParent,
/*167472*/          OPC_RecordChild2, // #3 = $Rn
/*167473*/          OPC_CheckChild2Type, MVT::i64,
/*167475*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167477*/          OPC_CheckPredicate, 17, // Predicate_store
/*167479*/          OPC_EmitMergeInputChains1_0,
/*167480*/          OPC_EmitConvertToTarget, 2,
/*167482*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i64), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 4, 3, 
                    // Src: (st (vector_extract:{ *:[f64] } VecListOne128:{ *:[v2f64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
                    // Dst: (ST1i64 VecListOne128:{ *:[v2f64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167490*/        0, /*End of Scope*/
/*167491*/      /*Scope*/ 35, /*->167527*/
/*167492*/        OPC_CheckChild0Type, MVT::v16i8,
/*167494*/        OPC_RecordChild1, // #2 = $idx
/*167495*/        OPC_MoveChild1,
/*167496*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167499*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*167501*/        OPC_CheckType, MVT::i64,
/*167503*/        OPC_MoveParent,
/*167504*/        OPC_CheckType, MVT::i32,
/*167506*/        OPC_MoveParent,
/*167507*/        OPC_RecordChild2, // #3 = $Rn
/*167508*/        OPC_CheckChild2Type, MVT::i64,
/*167510*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167512*/        OPC_CheckPredicate, 15, // Predicate_truncstore
/*167514*/        OPC_CheckPredicate, 6, // Predicate_truncstorei8
/*167516*/        OPC_EmitMergeInputChains1_0,
/*167517*/        OPC_EmitConvertToTarget, 2,
/*167519*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i8), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 1, 4, 3, 
                  // Src: (st (vector_extract:{ *:[i32] } VecListOne128:{ *:[v16i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 30
                  // Dst: (ST1i8 VecListOne128:{ *:[v16i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167527*/      /*Scope*/ 50, /*->167578*/
/*167528*/        OPC_CheckChild0Type, MVT::v8i8,
/*167530*/        OPC_RecordChild1, // #2 = $idx
/*167531*/        OPC_MoveChild1,
/*167532*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167535*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*167537*/        OPC_CheckType, MVT::i64,
/*167539*/        OPC_MoveParent,
/*167540*/        OPC_CheckType, MVT::i32,
/*167542*/        OPC_MoveParent,
/*167543*/        OPC_RecordChild2, // #3 = $Rn
/*167544*/        OPC_CheckChild2Type, MVT::i64,
/*167546*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167548*/        OPC_CheckPredicate, 15, // Predicate_truncstore
/*167550*/        OPC_CheckPredicate, 6, // Predicate_truncstorei8
/*167552*/        OPC_EmitMergeInputChains1_0,
/*167553*/        OPC_EmitInteger, MVT::i32, 0, 
/*167556*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167559*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*167568*/        OPC_EmitConvertToTarget, 2,
/*167570*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i8), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 6, 7, 3, 
                  // Src: (st (vector_extract:{ *:[i32] } VecListOne64:{ *:[v8i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 30
                  // Dst: (ST1i8 (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v8i8] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167578*/      /*Scope*/ 50, /*->167629*/
/*167579*/        OPC_CheckChild0Type, MVT::v4i16,
/*167581*/        OPC_RecordChild1, // #2 = $idx
/*167582*/        OPC_MoveChild1,
/*167583*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167586*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*167588*/        OPC_CheckType, MVT::i64,
/*167590*/        OPC_MoveParent,
/*167591*/        OPC_CheckType, MVT::i32,
/*167593*/        OPC_MoveParent,
/*167594*/        OPC_RecordChild2, // #3 = $Rn
/*167595*/        OPC_CheckChild2Type, MVT::i64,
/*167597*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167599*/        OPC_CheckPredicate, 15, // Predicate_truncstore
/*167601*/        OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*167603*/        OPC_EmitMergeInputChains1_0,
/*167604*/        OPC_EmitInteger, MVT::i32, 0, 
/*167607*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167610*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*167619*/        OPC_EmitConvertToTarget, 2,
/*167621*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 6, 7, 3, 
                  // Src: (st (vector_extract:{ *:[i32] } VecListOne64:{ *:[v4i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 30
                  // Dst: (ST1i16 (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v4i16] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167629*/      /*Scope*/ 48, /*->167678*/
/*167630*/        OPC_CheckChild0Type, MVT::v2i32,
/*167632*/        OPC_RecordChild1, // #2 = $idx
/*167633*/        OPC_MoveChild1,
/*167634*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167637*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*167639*/        OPC_CheckType, MVT::i64,
/*167641*/        OPC_MoveParent,
/*167642*/        OPC_CheckType, MVT::i32,
/*167644*/        OPC_MoveParent,
/*167645*/        OPC_RecordChild2, // #3 = $Rn
/*167646*/        OPC_CheckChild2Type, MVT::i64,
/*167648*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167650*/        OPC_CheckPredicate, 17, // Predicate_store
/*167652*/        OPC_EmitMergeInputChains1_0,
/*167653*/        OPC_EmitInteger, MVT::i32, 0, 
/*167656*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167659*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*167668*/        OPC_EmitConvertToTarget, 2,
/*167670*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i32), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 6, 7, 3, 
                  // Src: (st (vector_extract:{ *:[i32] } VecListOne64:{ *:[v2i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
                  // Dst: (ST1i32 (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v2i32] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167678*/      /*Scope*/ 48, /*->167727*/
/*167679*/        OPC_CheckChild0Type, MVT::v2f32,
/*167681*/        OPC_RecordChild1, // #2 = $idx
/*167682*/        OPC_MoveChild1,
/*167683*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167686*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*167688*/        OPC_CheckType, MVT::i64,
/*167690*/        OPC_MoveParent,
/*167691*/        OPC_CheckType, MVT::f32,
/*167693*/        OPC_MoveParent,
/*167694*/        OPC_RecordChild2, // #3 = $Rn
/*167695*/        OPC_CheckChild2Type, MVT::i64,
/*167697*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167699*/        OPC_CheckPredicate, 17, // Predicate_store
/*167701*/        OPC_EmitMergeInputChains1_0,
/*167702*/        OPC_EmitInteger, MVT::i32, 0, 
/*167705*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167708*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*167717*/        OPC_EmitConvertToTarget, 2,
/*167719*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i32), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 6, 7, 3, 
                  // Src: (st (vector_extract:{ *:[f32] } VecListOne64:{ *:[v2f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
                  // Dst: (ST1i32 (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v2f32] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167727*/      /*Scope*/ 48, /*->167776*/
/*167728*/        OPC_CheckChild0Type, MVT::v4f16,
/*167730*/        OPC_RecordChild1, // #2 = $idx
/*167731*/        OPC_MoveChild1,
/*167732*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*167735*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*167737*/        OPC_CheckType, MVT::i64,
/*167739*/        OPC_MoveParent,
/*167740*/        OPC_CheckType, MVT::f16,
/*167742*/        OPC_MoveParent,
/*167743*/        OPC_RecordChild2, // #3 = $Rn
/*167744*/        OPC_CheckChild2Type, MVT::i64,
/*167746*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167748*/        OPC_CheckPredicate, 17, // Predicate_store
/*167750*/        OPC_EmitMergeInputChains1_0,
/*167751*/        OPC_EmitInteger, MVT::i32, 0, 
/*167754*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*167757*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*167766*/        OPC_EmitConvertToTarget, 2,
/*167768*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1i16), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 6, 7, 3, 
                  // Src: (st (vector_extract:{ *:[f16] } VecListOne64:{ *:[v4f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 30
                  // Dst: (ST1i16 (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v4f16] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*167776*/      0, /*End of Scope*/
/*167777*/    /*Scope*/ 61|128,17/*2237*/, /*->170016*/
/*167779*/      OPC_RecordChild1, // #1 = $Rt
/*167780*/      OPC_Scope, 37|128,1/*165*/, /*->167948*/ // 21 children in Scope
/*167783*/        OPC_CheckChild1Type, MVT::i32,
/*167785*/        OPC_RecordChild2, // #2 = $ro_Windexed8:Rn:Rm:extend
/*167786*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167788*/        OPC_Scope, 74, /*->167864*/ // 3 children in Scope
/*167790*/          OPC_CheckPredicate, 15, // Predicate_truncstore
/*167792*/          OPC_Scope, 34, /*->167828*/ // 2 children in Scope
/*167794*/            OPC_CheckPredicate, 6, // Predicate_truncstorei8
/*167796*/            OPC_Scope, 14, /*->167812*/ // 2 children in Scope
/*167798*/              OPC_CheckComplexPat, /*CP*/22, /*#*/2, // SelectAddrModeWRO<8>:$ #3 #4 #5 #6
/*167801*/              OPC_EmitMergeInputChains1_0,
/*167802*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 1, 3, 4, 5, 6, 
                        // Src: (st GPR32:{ *:[i32] }:$Rt, (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 29
                        // Dst: (STRBBroW GPR32:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*167812*/            /*Scope*/ 14, /*->167827*/
/*167813*/              OPC_CheckComplexPat, /*CP*/23, /*#*/2, // SelectAddrModeXRO<8>:$ #3 #4 #5 #6
/*167816*/              OPC_EmitMergeInputChains1_0,
/*167817*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 1, 3, 4, 5, 6, 
                        // Src: (st GPR32:{ *:[i32] }:$Rt, (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 29
                        // Dst: (STRBBroX GPR32:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*167827*/            0, /*End of Scope*/
/*167828*/          /*Scope*/ 34, /*->167863*/
/*167829*/            OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*167831*/            OPC_Scope, 14, /*->167847*/ // 2 children in Scope
/*167833*/              OPC_CheckComplexPat, /*CP*/12, /*#*/2, // SelectAddrModeWRO<16>:$ #3 #4 #5 #6
/*167836*/              OPC_EmitMergeInputChains1_0,
/*167837*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 1, 3, 4, 5, 6, 
                        // Src: (st GPR32:{ *:[i32] }:$Rt, (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 29
                        // Dst: (STRHHroW GPR32:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*167847*/            /*Scope*/ 14, /*->167862*/
/*167848*/              OPC_CheckComplexPat, /*CP*/13, /*#*/2, // SelectAddrModeXRO<16>:$ #3 #4 #5 #6
/*167851*/              OPC_EmitMergeInputChains1_0,
/*167852*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 1, 3, 4, 5, 6, 
                        // Src: (st GPR32:{ *:[i32] }:$Rt, (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 29
                        // Dst: (STRHHroX GPR32:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*167862*/            0, /*End of Scope*/
/*167863*/          0, /*End of Scope*/
/*167864*/        /*Scope*/ 47, /*->167912*/
/*167865*/          OPC_CheckPredicate, 17, // Predicate_store
/*167867*/          OPC_Scope, 14, /*->167883*/ // 3 children in Scope
/*167869*/            OPC_CheckComplexPat, /*CP*/16, /*#*/2, // SelectAddrModeWRO<32>:$ #3 #4 #5 #6
/*167872*/            OPC_EmitMergeInputChains1_0,
/*167873*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st GPR32:{ *:[i32] }:$Rt, (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRWroW GPR32:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*167883*/          /*Scope*/ 14, /*->167898*/
/*167884*/            OPC_CheckComplexPat, /*CP*/17, /*#*/2, // SelectAddrModeXRO<32>:$ #3 #4 #5 #6
/*167887*/            OPC_EmitMergeInputChains1_0,
/*167888*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st GPR32:{ *:[i32] }:$Rt, (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRWroX GPR32:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*167898*/          /*Scope*/ 12, /*->167911*/
/*167899*/            OPC_CheckComplexPat, /*CP*/18, /*#*/2, // SelectAddrModeIndexed32:$ #3 #4
/*167902*/            OPC_EmitMergeInputChains1_0,
/*167903*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st GPR32z:{ *:[i32] }:$Rt, (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRWui GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*167911*/          0, /*End of Scope*/
/*167912*/        /*Scope*/ 34, /*->167947*/
/*167913*/          OPC_CheckPredicate, 15, // Predicate_truncstore
/*167915*/          OPC_Scope, 14, /*->167931*/ // 2 children in Scope
/*167917*/            OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*167919*/            OPC_CheckComplexPat, /*CP*/14, /*#*/2, // SelectAddrModeIndexed16:$ #3 #4
/*167922*/            OPC_EmitMergeInputChains1_0,
/*167923*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st GPR32z:{ *:[i32] }:$Rt, (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 23
                      // Dst: (STRHHui GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*167931*/          /*Scope*/ 14, /*->167946*/
/*167932*/            OPC_CheckPredicate, 6, // Predicate_truncstorei8
/*167934*/            OPC_CheckComplexPat, /*CP*/24, /*#*/2, // SelectAddrModeIndexed8:$ #3 #4
/*167937*/            OPC_EmitMergeInputChains1_0,
/*167938*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st GPR32z:{ *:[i32] }:$Rt, (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 23
                      // Dst: (STRBBui GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*167946*/          0, /*End of Scope*/
/*167947*/        0, /*End of Scope*/
/*167948*/      /*Scope*/ 119|128,2/*375*/, /*->168325*/
/*167950*/        OPC_CheckChild1Type, MVT::i64,
/*167952*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*167953*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*167955*/        OPC_Scope, 34, /*->167991*/ // 4 children in Scope
/*167957*/          OPC_CheckPredicate, 17, // Predicate_store
/*167959*/          OPC_Scope, 14, /*->167975*/ // 2 children in Scope
/*167961*/            OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*167964*/            OPC_EmitMergeInputChains1_0,
/*167965*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRXroW GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*167975*/          /*Scope*/ 14, /*->167990*/
/*167976*/            OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*167979*/            OPC_EmitMergeInputChains1_0,
/*167980*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRXroX GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*167990*/          0, /*End of Scope*/
/*167991*/        /*Scope*/ 47|128,1/*175*/, /*->168168*/
/*167993*/          OPC_CheckPredicate, 15, // Predicate_truncstore
/*167995*/          OPC_Scope, 56, /*->168053*/ // 3 children in Scope
/*167997*/            OPC_CheckPredicate, 6, // Predicate_truncstorei8
/*167999*/            OPC_Scope, 25, /*->168026*/ // 2 children in Scope
/*168001*/              OPC_CheckComplexPat, /*CP*/22, /*#*/2, // SelectAddrModeWRO<8>:$ #3 #4 #5 #6
/*168004*/              OPC_EmitMergeInputChains1_0,
/*168005*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168008*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*168016*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 8, 3, 4, 5, 6, 
                        // Src: (st GPR64:{ *:[i64] }:$Rt, (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 29
                        // Dst: (STRBBroW (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*168026*/            /*Scope*/ 25, /*->168052*/
/*168027*/              OPC_CheckComplexPat, /*CP*/23, /*#*/2, // SelectAddrModeXRO<8>:$ #3 #4 #5 #6
/*168030*/              OPC_EmitMergeInputChains1_0,
/*168031*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168034*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*168042*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 8, 3, 4, 5, 6, 
                        // Src: (st GPR64:{ *:[i64] }:$Rt, (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 29
                        // Dst: (STRBBroX (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*168052*/            0, /*End of Scope*/
/*168053*/          /*Scope*/ 56, /*->168110*/
/*168054*/            OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*168056*/            OPC_Scope, 25, /*->168083*/ // 2 children in Scope
/*168058*/              OPC_CheckComplexPat, /*CP*/12, /*#*/2, // SelectAddrModeWRO<16>:$ #3 #4 #5 #6
/*168061*/              OPC_EmitMergeInputChains1_0,
/*168062*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168065*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*168073*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 8, 3, 4, 5, 6, 
                        // Src: (st GPR64:{ *:[i64] }:$Rt, (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 29
                        // Dst: (STRHHroW (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*168083*/            /*Scope*/ 25, /*->168109*/
/*168084*/              OPC_CheckComplexPat, /*CP*/13, /*#*/2, // SelectAddrModeXRO<16>:$ #3 #4 #5 #6
/*168087*/              OPC_EmitMergeInputChains1_0,
/*168088*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168091*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*168099*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 8, 3, 4, 5, 6, 
                        // Src: (st GPR64:{ *:[i64] }:$Rt, (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 29
                        // Dst: (STRHHroX (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*168109*/            0, /*End of Scope*/
/*168110*/          /*Scope*/ 56, /*->168167*/
/*168111*/            OPC_CheckPredicate, 18, // Predicate_truncstorei32
/*168113*/            OPC_Scope, 25, /*->168140*/ // 2 children in Scope
/*168115*/              OPC_CheckComplexPat, /*CP*/16, /*#*/2, // SelectAddrModeWRO<32>:$ #3 #4 #5 #6
/*168118*/              OPC_EmitMergeInputChains1_0,
/*168119*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168122*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*168130*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 8, 3, 4, 5, 6, 
                        // Src: (st GPR64:{ *:[i64] }:$Rt, (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 29
                        // Dst: (STRWroW (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*168140*/            /*Scope*/ 25, /*->168166*/
/*168141*/              OPC_CheckComplexPat, /*CP*/17, /*#*/2, // SelectAddrModeXRO<32>:$ #3 #4 #5 #6
/*168144*/              OPC_EmitMergeInputChains1_0,
/*168145*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168148*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 7,  // Results = #8
/*168156*/              OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                            5/*#Ops*/, 8, 3, 4, 5, 6, 
                        // Src: (st GPR64:{ *:[i64] }:$Rt, (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 29
                        // Dst: (STRWroX (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*168166*/            0, /*End of Scope*/
/*168167*/          0, /*End of Scope*/
/*168168*/        /*Scope*/ 72, /*->168241*/
/*168169*/          OPC_CheckPredicate, 17, // Predicate_store
/*168171*/          OPC_Scope, 54, /*->168227*/ // 2 children in Scope
/*168173*/            OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*168175*/            OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*168177*/            OPC_CheckComplexPat, /*CP*/25, /*#*/2, // SelectAddrModeIndexed7S32:$ #3 #4
/*168180*/            OPC_EmitMergeInputChains1_0,
/*168181*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168184*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*168192*/            OPC_EmitInteger, MVT::i64, 32, 
/*168195*/            OPC_EmitInteger, MVT::i64, 63, 
/*168198*/            OPC_EmitNode1, TARGET_VAL(AArch64::UBFMXri), 0,
                          MVT::i64, 3/*#Ops*/, 1, 7, 8,  // Results = #9
/*168207*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168210*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 9, 10,  // Results = #11
/*168218*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPWi), 0|OPFL_Chain|OPFL_MemRefs,
                          4/*#Ops*/, 6, 11, 3, 4, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (am_indexed7s32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                      // Dst: (STNPWi (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), (EXTRACT_SUBREG:{ *:[i32] } (UBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rt, 32:{ *:[i64] }, 63:{ *:[i64] }), sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset)
/*168227*/          /*Scope*/ 12, /*->168240*/
/*168228*/            OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*168231*/            OPC_EmitMergeInputChains1_0,
/*168232*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st GPR64z:{ *:[i64] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRXui GPR64z:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*168240*/          0, /*End of Scope*/
/*168241*/        /*Scope*/ 82, /*->168324*/
/*168242*/          OPC_CheckPredicate, 15, // Predicate_truncstore
/*168244*/          OPC_Scope, 25, /*->168271*/ // 3 children in Scope
/*168246*/            OPC_CheckPredicate, 18, // Predicate_truncstorei32
/*168248*/            OPC_CheckComplexPat, /*CP*/18, /*#*/2, // SelectAddrModeIndexed32:$ #3 #4
/*168251*/            OPC_EmitMergeInputChains1_0,
/*168252*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168255*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*168263*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 23
                      // Dst: (STRWui (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*168271*/          /*Scope*/ 25, /*->168297*/
/*168272*/            OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*168274*/            OPC_CheckComplexPat, /*CP*/14, /*#*/2, // SelectAddrModeIndexed16:$ #3 #4
/*168277*/            OPC_EmitMergeInputChains1_0,
/*168278*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168281*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*168289*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 23
                      // Dst: (STRHHui (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*168297*/          /*Scope*/ 25, /*->168323*/
/*168298*/            OPC_CheckPredicate, 6, // Predicate_truncstorei8
/*168300*/            OPC_CheckComplexPat, /*CP*/24, /*#*/2, // SelectAddrModeIndexed8:$ #3 #4
/*168303*/            OPC_EmitMergeInputChains1_0,
/*168304*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*168307*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*168315*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 23
                      // Dst: (STRBBui (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*168323*/          0, /*End of Scope*/
/*168324*/        0, /*End of Scope*/
/*168325*/      /*Scope*/ 52, /*->168378*/
/*168326*/        OPC_CheckChild1Type, MVT::Untyped,
/*168328*/        OPC_RecordChild2, // #2 = $ro_Windexed8:Rn:Rm:extend
/*168329*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168331*/        OPC_CheckPredicate, 17, // Predicate_store
/*168333*/        OPC_Scope, 14, /*->168349*/ // 3 children in Scope
/*168335*/          OPC_CheckComplexPat, /*CP*/22, /*#*/2, // SelectAddrModeWRO<8>:$ #3 #4 #5 #6
/*168338*/          OPC_EmitMergeInputChains1_0,
/*168339*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR8Op:{ *:[Untyped] }:$Rt, (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRBroW FPR8Op:{ *:[Untyped] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*168349*/        /*Scope*/ 14, /*->168364*/
/*168350*/          OPC_CheckComplexPat, /*CP*/23, /*#*/2, // SelectAddrModeXRO<8>:$ #3 #4 #5 #6
/*168353*/          OPC_EmitMergeInputChains1_0,
/*168354*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR8Op:{ *:[Untyped] }:$Rt, (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRBroX FPR8Op:{ *:[Untyped] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*168364*/        /*Scope*/ 12, /*->168377*/
/*168365*/          OPC_CheckComplexPat, /*CP*/24, /*#*/2, // SelectAddrModeIndexed8:$ #3 #4
/*168368*/          OPC_EmitMergeInputChains1_0,
/*168369*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR8Op:{ *:[Untyped] }:$Rt, (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRBui FPR8Op:{ *:[Untyped] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*168377*/        0, /*End of Scope*/
/*168378*/      /*Scope*/ 52, /*->168431*/
/*168379*/        OPC_CheckChild1Type, MVT::f16,
/*168381*/        OPC_RecordChild2, // #2 = $ro_Windexed16:Rn:Rm:extend
/*168382*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168384*/        OPC_CheckPredicate, 17, // Predicate_store
/*168386*/        OPC_Scope, 14, /*->168402*/ // 3 children in Scope
/*168388*/          OPC_CheckComplexPat, /*CP*/12, /*#*/2, // SelectAddrModeWRO<16>:$ #3 #4 #5 #6
/*168391*/          OPC_EmitMergeInputChains1_0,
/*168392*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR16Op:{ *:[f16] }:$Rt, (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRHroW FPR16Op:{ *:[f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*168402*/        /*Scope*/ 14, /*->168417*/
/*168403*/          OPC_CheckComplexPat, /*CP*/13, /*#*/2, // SelectAddrModeXRO<16>:$ #3 #4 #5 #6
/*168406*/          OPC_EmitMergeInputChains1_0,
/*168407*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR16Op:{ *:[f16] }:$Rt, (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRHroX FPR16Op:{ *:[f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*168417*/        /*Scope*/ 12, /*->168430*/
/*168418*/          OPC_CheckComplexPat, /*CP*/14, /*#*/2, // SelectAddrModeIndexed16:$ #3 #4
/*168421*/          OPC_EmitMergeInputChains1_0,
/*168422*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR16Op:{ *:[f16] }:$Rt, (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRHui FPR16Op:{ *:[f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*168430*/        0, /*End of Scope*/
/*168431*/      /*Scope*/ 52, /*->168484*/
/*168432*/        OPC_CheckChild1Type, MVT::f32,
/*168434*/        OPC_RecordChild2, // #2 = $ro_Windexed32:Rn:Rm:extend
/*168435*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168437*/        OPC_CheckPredicate, 17, // Predicate_store
/*168439*/        OPC_Scope, 14, /*->168455*/ // 3 children in Scope
/*168441*/          OPC_CheckComplexPat, /*CP*/16, /*#*/2, // SelectAddrModeWRO<32>:$ #3 #4 #5 #6
/*168444*/          OPC_EmitMergeInputChains1_0,
/*168445*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR32Op:{ *:[f32] }:$Rt, (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRSroW FPR32Op:{ *:[f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*168455*/        /*Scope*/ 14, /*->168470*/
/*168456*/          OPC_CheckComplexPat, /*CP*/17, /*#*/2, // SelectAddrModeXRO<32>:$ #3 #4 #5 #6
/*168459*/          OPC_EmitMergeInputChains1_0,
/*168460*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR32Op:{ *:[f32] }:$Rt, (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRSroX FPR32Op:{ *:[f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*168470*/        /*Scope*/ 12, /*->168483*/
/*168471*/          OPC_CheckComplexPat, /*CP*/18, /*#*/2, // SelectAddrModeIndexed32:$ #3 #4
/*168474*/          OPC_EmitMergeInputChains1_0,
/*168475*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR32Op:{ *:[f32] }:$Rt, (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRSui FPR32Op:{ *:[f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*168483*/        0, /*End of Scope*/
/*168484*/      /*Scope*/ 52, /*->168537*/
/*168485*/        OPC_CheckChild1Type, MVT::f64,
/*168487*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*168488*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168490*/        OPC_CheckPredicate, 17, // Predicate_store
/*168492*/        OPC_Scope, 14, /*->168508*/ // 3 children in Scope
/*168494*/          OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*168497*/          OPC_EmitMergeInputChains1_0,
/*168498*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64Op:{ *:[f64] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroW FPR64Op:{ *:[f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*168508*/        /*Scope*/ 14, /*->168523*/
/*168509*/          OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*168512*/          OPC_EmitMergeInputChains1_0,
/*168513*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64Op:{ *:[f64] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroX FPR64Op:{ *:[f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*168523*/        /*Scope*/ 12, /*->168536*/
/*168524*/          OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*168527*/          OPC_EmitMergeInputChains1_0,
/*168528*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64Op:{ *:[f64] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRDui FPR64Op:{ *:[f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*168536*/        0, /*End of Scope*/
/*168537*/      /*Scope*/ 70, /*->168608*/
/*168538*/        OPC_CheckChild1Type, MVT::f128,
/*168540*/        OPC_RecordChild2, // #2 = $ro_Windexed128:Rn:Rm:extend
/*168541*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168543*/        OPC_CheckPredicate, 17, // Predicate_store
/*168545*/        OPC_Scope, 34, /*->168581*/ // 3 children in Scope
/*168547*/          OPC_CheckPatternPredicate, 4, // (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF))
/*168549*/          OPC_Scope, 14, /*->168565*/ // 2 children in Scope
/*168551*/            OPC_CheckComplexPat, /*CP*/26, /*#*/2, // SelectAddrModeWRO<128>:$ #3 #4 #5 #6
/*168554*/            OPC_EmitMergeInputChains1_0,
/*168555*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[f128] }:$Rt, (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroW FPR128:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*168565*/          /*Scope*/ 14, /*->168580*/
/*168566*/            OPC_CheckComplexPat, /*CP*/27, /*#*/2, // SelectAddrModeXRO<128>:$ #3 #4 #5 #6
/*168569*/            OPC_EmitMergeInputChains1_0,
/*168570*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[f128] }:$Rt, (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroX FPR128:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*168580*/          0, /*End of Scope*/
/*168581*/        /*Scope*/ 12, /*->168594*/
/*168582*/          OPC_CheckComplexPat, /*CP*/28, /*#*/2, // SelectAddrModeIndexed128:$ #3 #4
/*168585*/          OPC_EmitMergeInputChains1_0,
/*168586*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR128:{ *:[f128] }:$Rt, (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRQui FPR128:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*168594*/        /*Scope*/ 12, /*->168607*/
/*168595*/          OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*168598*/          OPC_EmitMergeInputChains1_0,
/*168599*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR128:{ *:[f128] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STURQi FPR128:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*168607*/        0, /*End of Scope*/
/*168608*/      /*Scope*/ 120, /*->168729*/
/*168609*/        OPC_CheckChild1Type, MVT::v2i32,
/*168611*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*168612*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168614*/        OPC_CheckPredicate, 17, // Predicate_store
/*168616*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*168618*/        OPC_Scope, 14, /*->168634*/ // 5 children in Scope
/*168620*/          OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*168623*/          OPC_EmitMergeInputChains1_0,
/*168624*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v2i32] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroW FPR64:{ *:[v2i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*168634*/        /*Scope*/ 14, /*->168649*/
/*168635*/          OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*168638*/          OPC_EmitMergeInputChains1_0,
/*168639*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v2i32] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroX FPR64:{ *:[v2i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*168649*/        /*Scope*/ 52, /*->168702*/
/*168650*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*168652*/          OPC_CheckComplexPat, /*CP*/25, /*#*/2, // SelectAddrModeIndexed7S32:$ #3 #4
/*168655*/          OPC_EmitMergeInputChains1_0,
/*168656*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*168659*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*168667*/          OPC_EmitInteger, MVT::i64, 0, 
/*168670*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*168673*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*168682*/          OPC_EmitInteger, MVT::i64, 1, 
/*168685*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi32), 0,
                        MVT::i32, 2/*#Ops*/, 9, 10,  // Results = #11
/*168693*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 11, 3, 4, 
                    // Src: (st FPR64:{ *:[v2i32] }:$Rt, (am_indexed7s32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPSi (EXTRACT_SUBREG:{ *:[i32] } FPR64:{ *:[v2i32] }:$Rt, ssub:{ *:[i32] }), (CPYi32:{ *:[i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, FPR64:{ *:[v2i32] }:$Rt, dsub:{ *:[i32] }), 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset)
/*168702*/        /*Scope*/ 12, /*->168715*/
/*168703*/          OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*168706*/          OPC_EmitMergeInputChains1_0,
/*168707*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v2i32] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRDui FPR64:{ *:[v2i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*168715*/        /*Scope*/ 12, /*->168728*/
/*168716*/          OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*168719*/          OPC_EmitMergeInputChains1_0,
/*168720*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v2i32] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STURDi FPR64:{ *:[v2i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*168728*/        0, /*End of Scope*/
/*168729*/      /*Scope*/ 67, /*->168797*/
/*168730*/        OPC_CheckChild1Type, MVT::v2f32,
/*168732*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*168733*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168735*/        OPC_CheckPredicate, 17, // Predicate_store
/*168737*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*168739*/        OPC_Scope, 14, /*->168755*/ // 4 children in Scope
/*168741*/          OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*168744*/          OPC_EmitMergeInputChains1_0,
/*168745*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v2f32] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroW FPR64:{ *:[v2f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*168755*/        /*Scope*/ 14, /*->168770*/
/*168756*/          OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*168759*/          OPC_EmitMergeInputChains1_0,
/*168760*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v2f32] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroX FPR64:{ *:[v2f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*168770*/        /*Scope*/ 12, /*->168783*/
/*168771*/          OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*168774*/          OPC_EmitMergeInputChains1_0,
/*168775*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v2f32] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRDui FPR64:{ *:[v2f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*168783*/        /*Scope*/ 12, /*->168796*/
/*168784*/          OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*168787*/          OPC_EmitMergeInputChains1_0,
/*168788*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v2f32] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STURDi FPR64:{ *:[v2f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*168796*/        0, /*End of Scope*/
/*168797*/      /*Scope*/ 120, /*->168918*/
/*168798*/        OPC_CheckChild1Type, MVT::v4i16,
/*168800*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*168801*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168803*/        OPC_CheckPredicate, 17, // Predicate_store
/*168805*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*168807*/        OPC_Scope, 14, /*->168823*/ // 5 children in Scope
/*168809*/          OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*168812*/          OPC_EmitMergeInputChains1_0,
/*168813*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v4i16] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroW FPR64:{ *:[v4i16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*168823*/        /*Scope*/ 14, /*->168838*/
/*168824*/          OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*168827*/          OPC_EmitMergeInputChains1_0,
/*168828*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v4i16] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroX FPR64:{ *:[v4i16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*168838*/        /*Scope*/ 52, /*->168891*/
/*168839*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*168841*/          OPC_CheckComplexPat, /*CP*/25, /*#*/2, // SelectAddrModeIndexed7S32:$ #3 #4
/*168844*/          OPC_EmitMergeInputChains1_0,
/*168845*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*168848*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*168856*/          OPC_EmitInteger, MVT::i64, 0, 
/*168859*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*168862*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*168871*/          OPC_EmitInteger, MVT::i64, 1, 
/*168874*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi32), 0,
                        MVT::i32, 2/*#Ops*/, 9, 10,  // Results = #11
/*168882*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 11, 3, 4, 
                    // Src: (st FPR64:{ *:[v4i16] }:$Rt, (am_indexed7s32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPSi (EXTRACT_SUBREG:{ *:[i32] } FPR64:{ *:[v4i16] }:$Rt, ssub:{ *:[i32] }), (CPYi32:{ *:[i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, FPR64:{ *:[v4i16] }:$Rt, dsub:{ *:[i32] }), 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset)
/*168891*/        /*Scope*/ 12, /*->168904*/
/*168892*/          OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*168895*/          OPC_EmitMergeInputChains1_0,
/*168896*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v4i16] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRDui FPR64:{ *:[v4i16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*168904*/        /*Scope*/ 12, /*->168917*/
/*168905*/          OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*168908*/          OPC_EmitMergeInputChains1_0,
/*168909*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v4i16] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STURDi FPR64:{ *:[v4i16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*168917*/        0, /*End of Scope*/
/*168918*/      /*Scope*/ 120, /*->169039*/
/*168919*/        OPC_CheckChild1Type, MVT::v8i8,
/*168921*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*168922*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*168924*/        OPC_CheckPredicate, 17, // Predicate_store
/*168926*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*168928*/        OPC_Scope, 14, /*->168944*/ // 5 children in Scope
/*168930*/          OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*168933*/          OPC_EmitMergeInputChains1_0,
/*168934*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v8i8] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroW FPR64:{ *:[v8i8] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*168944*/        /*Scope*/ 14, /*->168959*/
/*168945*/          OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*168948*/          OPC_EmitMergeInputChains1_0,
/*168949*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v8i8] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroX FPR64:{ *:[v8i8] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*168959*/        /*Scope*/ 52, /*->169012*/
/*168960*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*168962*/          OPC_CheckComplexPat, /*CP*/25, /*#*/2, // SelectAddrModeIndexed7S32:$ #3 #4
/*168965*/          OPC_EmitMergeInputChains1_0,
/*168966*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*168969*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*168977*/          OPC_EmitInteger, MVT::i64, 0, 
/*168980*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*168983*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*168992*/          OPC_EmitInteger, MVT::i64, 1, 
/*168995*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi32), 0,
                        MVT::i32, 2/*#Ops*/, 9, 10,  // Results = #11
/*169003*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 11, 3, 4, 
                    // Src: (st FPR64:{ *:[v8i8] }:$Rt, (am_indexed7s32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPSi (EXTRACT_SUBREG:{ *:[i32] } FPR64:{ *:[v8i8] }:$Rt, ssub:{ *:[i32] }), (CPYi32:{ *:[i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, FPR64:{ *:[v8i8] }:$Rt, dsub:{ *:[i32] }), 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset)
/*169012*/        /*Scope*/ 12, /*->169025*/
/*169013*/          OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*169016*/          OPC_EmitMergeInputChains1_0,
/*169017*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v8i8] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRDui FPR64:{ *:[v8i8] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*169025*/        /*Scope*/ 12, /*->169038*/
/*169026*/          OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*169029*/          OPC_EmitMergeInputChains1_0,
/*169030*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v8i8] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STURDi FPR64:{ *:[v8i8] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*169038*/        0, /*End of Scope*/
/*169039*/      /*Scope*/ 67, /*->169107*/
/*169040*/        OPC_CheckChild1Type, MVT::v4f16,
/*169042*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*169043*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169045*/        OPC_CheckPredicate, 17, // Predicate_store
/*169047*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169049*/        OPC_Scope, 14, /*->169065*/ // 4 children in Scope
/*169051*/          OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*169054*/          OPC_EmitMergeInputChains1_0,
/*169055*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v4f16] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroW FPR64:{ *:[v4f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*169065*/        /*Scope*/ 14, /*->169080*/
/*169066*/          OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*169069*/          OPC_EmitMergeInputChains1_0,
/*169070*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v4f16] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroX FPR64:{ *:[v4f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*169080*/        /*Scope*/ 12, /*->169093*/
/*169081*/          OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*169084*/          OPC_EmitMergeInputChains1_0,
/*169085*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v4f16] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRDui FPR64:{ *:[v4f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*169093*/        /*Scope*/ 12, /*->169106*/
/*169094*/          OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*169097*/          OPC_EmitMergeInputChains1_0,
/*169098*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v4f16] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STURDi FPR64:{ *:[v4f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*169106*/        0, /*End of Scope*/
/*169107*/      /*Scope*/ 107, /*->169215*/
/*169108*/        OPC_CheckChild1Type, MVT::v1i64,
/*169110*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*169111*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169113*/        OPC_CheckPredicate, 17, // Predicate_store
/*169115*/        OPC_Scope, 14, /*->169131*/ // 4 children in Scope
/*169117*/          OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*169120*/          OPC_EmitMergeInputChains1_0,
/*169121*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v1i64] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroW FPR64:{ *:[v1i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*169131*/        /*Scope*/ 14, /*->169146*/
/*169132*/          OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*169135*/          OPC_EmitMergeInputChains1_0,
/*169136*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v1i64] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroX FPR64:{ *:[v1i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*169146*/        /*Scope*/ 54, /*->169201*/
/*169147*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*169149*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169151*/          OPC_CheckComplexPat, /*CP*/25, /*#*/2, // SelectAddrModeIndexed7S32:$ #3 #4
/*169154*/          OPC_EmitMergeInputChains1_0,
/*169155*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*169158*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*169166*/          OPC_EmitInteger, MVT::i64, 0, 
/*169169*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*169172*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*169181*/          OPC_EmitInteger, MVT::i64, 1, 
/*169184*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi32), 0,
                        MVT::i32, 2/*#Ops*/, 9, 10,  // Results = #11
/*169192*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 11, 3, 4, 
                    // Src: (st FPR64:{ *:[v1i64] }:$Rt, (am_indexed7s32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPSi (EXTRACT_SUBREG:{ *:[i32] } FPR64:{ *:[v1i64] }:$Rt, ssub:{ *:[i32] }), (CPYi32:{ *:[i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, FPR64:{ *:[v1i64] }:$Rt, dsub:{ *:[i32] }), 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset)
/*169201*/        /*Scope*/ 12, /*->169214*/
/*169202*/          OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*169205*/          OPC_EmitMergeInputChains1_0,
/*169206*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v1i64] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRDui FPR64:{ *:[v1i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*169214*/        0, /*End of Scope*/
/*169215*/      /*Scope*/ 107, /*->169323*/
/*169216*/        OPC_CheckChild1Type, MVT::v1f64,
/*169218*/        OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*169219*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169221*/        OPC_CheckPredicate, 17, // Predicate_store
/*169223*/        OPC_Scope, 14, /*->169239*/ // 4 children in Scope
/*169225*/          OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*169228*/          OPC_EmitMergeInputChains1_0,
/*169229*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v1f64] }:$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroW FPR64:{ *:[v1f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*169239*/        /*Scope*/ 14, /*->169254*/
/*169240*/          OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*169243*/          OPC_EmitMergeInputChains1_0,
/*169244*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 1, 3, 4, 5, 6, 
                    // Src: (st FPR64:{ *:[v1f64] }:$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                    // Dst: (STRDroX FPR64:{ *:[v1f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*169254*/        /*Scope*/ 54, /*->169309*/
/*169255*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*169257*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169259*/          OPC_CheckComplexPat, /*CP*/25, /*#*/2, // SelectAddrModeIndexed7S32:$ #3 #4
/*169262*/          OPC_EmitMergeInputChains1_0,
/*169263*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*169266*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*169274*/          OPC_EmitInteger, MVT::i64, 0, 
/*169277*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*169280*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*169289*/          OPC_EmitInteger, MVT::i64, 1, 
/*169292*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi32), 0,
                        MVT::i32, 2/*#Ops*/, 9, 10,  // Results = #11
/*169300*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPSi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 11, 3, 4, 
                    // Src: (st FPR64:{ *:[v1f64] }:$Rt, (am_indexed7s32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPSi (EXTRACT_SUBREG:{ *:[i32] } FPR64:{ *:[v1f64] }:$Rt, ssub:{ *:[i32] }), (CPYi32:{ *:[i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, FPR64:{ *:[v1f64] }:$Rt, dsub:{ *:[i32] }), 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s4:{ *:[i32] }:$offset)
/*169309*/        /*Scope*/ 12, /*->169322*/
/*169310*/          OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*169313*/          OPC_EmitMergeInputChains1_0,
/*169314*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st FPR64:{ *:[v1f64] }:$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                    // Dst: (STRDui FPR64:{ *:[v1f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*169322*/        0, /*End of Scope*/
/*169323*/      /*Scope*/ 115, /*->169439*/
/*169324*/        OPC_CheckChild1Type, MVT::v2i64,
/*169326*/        OPC_RecordChild2, // #2 = $ro_Windexed128:Rn:Rm:extend
/*169327*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169329*/        OPC_CheckPredicate, 17, // Predicate_store
/*169331*/        OPC_Scope, 34, /*->169367*/ // 3 children in Scope
/*169333*/          OPC_CheckPatternPredicate, 5, // (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF))
/*169335*/          OPC_Scope, 14, /*->169351*/ // 2 children in Scope
/*169337*/            OPC_CheckComplexPat, /*CP*/26, /*#*/2, // SelectAddrModeWRO<128>:$ #3 #4 #5 #6
/*169340*/            OPC_EmitMergeInputChains1_0,
/*169341*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v2i64] }:$Rt, (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroW FPR128:{ *:[v2i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*169351*/          /*Scope*/ 14, /*->169366*/
/*169352*/            OPC_CheckComplexPat, /*CP*/27, /*#*/2, // SelectAddrModeXRO<128>:$ #3 #4 #5 #6
/*169355*/            OPC_EmitMergeInputChains1_0,
/*169356*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v2i64] }:$Rt, (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroX FPR128:{ *:[v2i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*169366*/          0, /*End of Scope*/
/*169367*/        /*Scope*/ 39, /*->169407*/
/*169368*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*169370*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169372*/          OPC_CheckComplexPat, /*CP*/30, /*#*/2, // SelectAddrModeIndexed7S64:$ #3 #4
/*169375*/          OPC_EmitMergeInputChains1_0,
/*169376*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*169379*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 1, 5,  // Results = #6
/*169387*/          OPC_EmitInteger, MVT::i64, 1, 
/*169390*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi64), 0,
                        MVT::i64, 2/*#Ops*/, 1, 7,  // Results = #8
/*169398*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPDi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 8, 3, 4, 
                    // Src: (st FPR128:{ *:[v2i64] }:$Rt, (am_indexed7s64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPDi (EXTRACT_SUBREG:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rt, dsub:{ *:[i32] }), (CPYi64:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rt, 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset)
/*169407*/        /*Scope*/ 30, /*->169438*/
/*169408*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169410*/          OPC_Scope, 12, /*->169424*/ // 2 children in Scope
/*169412*/            OPC_CheckComplexPat, /*CP*/28, /*#*/2, // SelectAddrModeIndexed128:$ #3 #4
/*169415*/            OPC_EmitMergeInputChains1_0,
/*169416*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v2i64] }:$Rt, (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRQui FPR128:{ *:[v2i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*169424*/          /*Scope*/ 12, /*->169437*/
/*169425*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*169428*/            OPC_EmitMergeInputChains1_0,
/*169429*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v2i64] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STURQi FPR128:{ *:[v2i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*169437*/          0, /*End of Scope*/
/*169438*/        0, /*End of Scope*/
/*169439*/      /*Scope*/ 75, /*->169515*/
/*169440*/        OPC_CheckChild1Type, MVT::v2f64,
/*169442*/        OPC_RecordChild2, // #2 = $ro_Windexed128:Rn:Rm:extend
/*169443*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169445*/        OPC_CheckPredicate, 17, // Predicate_store
/*169447*/        OPC_Scope, 34, /*->169483*/ // 2 children in Scope
/*169449*/          OPC_CheckPatternPredicate, 5, // (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF))
/*169451*/          OPC_Scope, 14, /*->169467*/ // 2 children in Scope
/*169453*/            OPC_CheckComplexPat, /*CP*/26, /*#*/2, // SelectAddrModeWRO<128>:$ #3 #4 #5 #6
/*169456*/            OPC_EmitMergeInputChains1_0,
/*169457*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v2f64] }:$Rt, (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroW FPR128:{ *:[v2f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*169467*/          /*Scope*/ 14, /*->169482*/
/*169468*/            OPC_CheckComplexPat, /*CP*/27, /*#*/2, // SelectAddrModeXRO<128>:$ #3 #4 #5 #6
/*169471*/            OPC_EmitMergeInputChains1_0,
/*169472*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v2f64] }:$Rt, (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroX FPR128:{ *:[v2f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*169482*/          0, /*End of Scope*/
/*169483*/        /*Scope*/ 30, /*->169514*/
/*169484*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169486*/          OPC_Scope, 12, /*->169500*/ // 2 children in Scope
/*169488*/            OPC_CheckComplexPat, /*CP*/28, /*#*/2, // SelectAddrModeIndexed128:$ #3 #4
/*169491*/            OPC_EmitMergeInputChains1_0,
/*169492*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v2f64] }:$Rt, (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRQui FPR128:{ *:[v2f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*169500*/          /*Scope*/ 12, /*->169513*/
/*169501*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*169504*/            OPC_EmitMergeInputChains1_0,
/*169505*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v2f64] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STURQi FPR128:{ *:[v2f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*169513*/          0, /*End of Scope*/
/*169514*/        0, /*End of Scope*/
/*169515*/      /*Scope*/ 115, /*->169631*/
/*169516*/        OPC_CheckChild1Type, MVT::v4i32,
/*169518*/        OPC_RecordChild2, // #2 = $ro_Windexed128:Rn:Rm:extend
/*169519*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169521*/        OPC_CheckPredicate, 17, // Predicate_store
/*169523*/        OPC_Scope, 34, /*->169559*/ // 3 children in Scope
/*169525*/          OPC_CheckPatternPredicate, 5, // (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF))
/*169527*/          OPC_Scope, 14, /*->169543*/ // 2 children in Scope
/*169529*/            OPC_CheckComplexPat, /*CP*/26, /*#*/2, // SelectAddrModeWRO<128>:$ #3 #4 #5 #6
/*169532*/            OPC_EmitMergeInputChains1_0,
/*169533*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v4i32] }:$Rt, (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroW FPR128:{ *:[v4i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*169543*/          /*Scope*/ 14, /*->169558*/
/*169544*/            OPC_CheckComplexPat, /*CP*/27, /*#*/2, // SelectAddrModeXRO<128>:$ #3 #4 #5 #6
/*169547*/            OPC_EmitMergeInputChains1_0,
/*169548*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v4i32] }:$Rt, (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroX FPR128:{ *:[v4i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*169558*/          0, /*End of Scope*/
/*169559*/        /*Scope*/ 39, /*->169599*/
/*169560*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*169562*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169564*/          OPC_CheckComplexPat, /*CP*/30, /*#*/2, // SelectAddrModeIndexed7S64:$ #3 #4
/*169567*/          OPC_EmitMergeInputChains1_0,
/*169568*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*169571*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 1, 5,  // Results = #6
/*169579*/          OPC_EmitInteger, MVT::i64, 1, 
/*169582*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi64), 0,
                        MVT::i64, 2/*#Ops*/, 1, 7,  // Results = #8
/*169590*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPDi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 8, 3, 4, 
                    // Src: (st FPR128:{ *:[v4i32] }:$Rt, (am_indexed7s64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPDi (EXTRACT_SUBREG:{ *:[i64] } FPR128:{ *:[v4i32] }:$Rt, dsub:{ *:[i32] }), (CPYi64:{ *:[i64] } FPR128:{ *:[v4i32] }:$Rt, 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset)
/*169599*/        /*Scope*/ 30, /*->169630*/
/*169600*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169602*/          OPC_Scope, 12, /*->169616*/ // 2 children in Scope
/*169604*/            OPC_CheckComplexPat, /*CP*/28, /*#*/2, // SelectAddrModeIndexed128:$ #3 #4
/*169607*/            OPC_EmitMergeInputChains1_0,
/*169608*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v4i32] }:$Rt, (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRQui FPR128:{ *:[v4i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*169616*/          /*Scope*/ 12, /*->169629*/
/*169617*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*169620*/            OPC_EmitMergeInputChains1_0,
/*169621*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v4i32] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STURQi FPR128:{ *:[v4i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*169629*/          0, /*End of Scope*/
/*169630*/        0, /*End of Scope*/
/*169631*/      /*Scope*/ 75, /*->169707*/
/*169632*/        OPC_CheckChild1Type, MVT::v4f32,
/*169634*/        OPC_RecordChild2, // #2 = $ro_Windexed128:Rn:Rm:extend
/*169635*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169637*/        OPC_CheckPredicate, 17, // Predicate_store
/*169639*/        OPC_Scope, 34, /*->169675*/ // 2 children in Scope
/*169641*/          OPC_CheckPatternPredicate, 5, // (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF))
/*169643*/          OPC_Scope, 14, /*->169659*/ // 2 children in Scope
/*169645*/            OPC_CheckComplexPat, /*CP*/26, /*#*/2, // SelectAddrModeWRO<128>:$ #3 #4 #5 #6
/*169648*/            OPC_EmitMergeInputChains1_0,
/*169649*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v4f32] }:$Rt, (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroW FPR128:{ *:[v4f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*169659*/          /*Scope*/ 14, /*->169674*/
/*169660*/            OPC_CheckComplexPat, /*CP*/27, /*#*/2, // SelectAddrModeXRO<128>:$ #3 #4 #5 #6
/*169663*/            OPC_EmitMergeInputChains1_0,
/*169664*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v4f32] }:$Rt, (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroX FPR128:{ *:[v4f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*169674*/          0, /*End of Scope*/
/*169675*/        /*Scope*/ 30, /*->169706*/
/*169676*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169678*/          OPC_Scope, 12, /*->169692*/ // 2 children in Scope
/*169680*/            OPC_CheckComplexPat, /*CP*/28, /*#*/2, // SelectAddrModeIndexed128:$ #3 #4
/*169683*/            OPC_EmitMergeInputChains1_0,
/*169684*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v4f32] }:$Rt, (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRQui FPR128:{ *:[v4f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*169692*/          /*Scope*/ 12, /*->169705*/
/*169693*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*169696*/            OPC_EmitMergeInputChains1_0,
/*169697*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v4f32] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STURQi FPR128:{ *:[v4f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*169705*/          0, /*End of Scope*/
/*169706*/        0, /*End of Scope*/
/*169707*/      /*Scope*/ 115, /*->169823*/
/*169708*/        OPC_CheckChild1Type, MVT::v8i16,
/*169710*/        OPC_RecordChild2, // #2 = $ro_Windexed128:Rn:Rm:extend
/*169711*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169713*/        OPC_CheckPredicate, 17, // Predicate_store
/*169715*/        OPC_Scope, 34, /*->169751*/ // 3 children in Scope
/*169717*/          OPC_CheckPatternPredicate, 5, // (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF))
/*169719*/          OPC_Scope, 14, /*->169735*/ // 2 children in Scope
/*169721*/            OPC_CheckComplexPat, /*CP*/26, /*#*/2, // SelectAddrModeWRO<128>:$ #3 #4 #5 #6
/*169724*/            OPC_EmitMergeInputChains1_0,
/*169725*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v8i16] }:$Rt, (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroW FPR128:{ *:[v8i16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*169735*/          /*Scope*/ 14, /*->169750*/
/*169736*/            OPC_CheckComplexPat, /*CP*/27, /*#*/2, // SelectAddrModeXRO<128>:$ #3 #4 #5 #6
/*169739*/            OPC_EmitMergeInputChains1_0,
/*169740*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v8i16] }:$Rt, (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroX FPR128:{ *:[v8i16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*169750*/          0, /*End of Scope*/
/*169751*/        /*Scope*/ 39, /*->169791*/
/*169752*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*169754*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169756*/          OPC_CheckComplexPat, /*CP*/30, /*#*/2, // SelectAddrModeIndexed7S64:$ #3 #4
/*169759*/          OPC_EmitMergeInputChains1_0,
/*169760*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*169763*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 1, 5,  // Results = #6
/*169771*/          OPC_EmitInteger, MVT::i64, 1, 
/*169774*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi64), 0,
                        MVT::i64, 2/*#Ops*/, 1, 7,  // Results = #8
/*169782*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPDi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 8, 3, 4, 
                    // Src: (st FPR128:{ *:[v8i16] }:$Rt, (am_indexed7s64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPDi (EXTRACT_SUBREG:{ *:[i64] } FPR128:{ *:[v8i16] }:$Rt, dsub:{ *:[i32] }), (CPYi64:{ *:[i64] } FPR128:{ *:[v8i16] }:$Rt, 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset)
/*169791*/        /*Scope*/ 30, /*->169822*/
/*169792*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169794*/          OPC_Scope, 12, /*->169808*/ // 2 children in Scope
/*169796*/            OPC_CheckComplexPat, /*CP*/28, /*#*/2, // SelectAddrModeIndexed128:$ #3 #4
/*169799*/            OPC_EmitMergeInputChains1_0,
/*169800*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v8i16] }:$Rt, (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRQui FPR128:{ *:[v8i16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*169808*/          /*Scope*/ 12, /*->169821*/
/*169809*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*169812*/            OPC_EmitMergeInputChains1_0,
/*169813*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v8i16] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STURQi FPR128:{ *:[v8i16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*169821*/          0, /*End of Scope*/
/*169822*/        0, /*End of Scope*/
/*169823*/      /*Scope*/ 115, /*->169939*/
/*169824*/        OPC_CheckChild1Type, MVT::v16i8,
/*169826*/        OPC_RecordChild2, // #2 = $ro_Windexed128:Rn:Rm:extend
/*169827*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169829*/        OPC_CheckPredicate, 17, // Predicate_store
/*169831*/        OPC_Scope, 34, /*->169867*/ // 3 children in Scope
/*169833*/          OPC_CheckPatternPredicate, 5, // (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF))
/*169835*/          OPC_Scope, 14, /*->169851*/ // 2 children in Scope
/*169837*/            OPC_CheckComplexPat, /*CP*/26, /*#*/2, // SelectAddrModeWRO<128>:$ #3 #4 #5 #6
/*169840*/            OPC_EmitMergeInputChains1_0,
/*169841*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v16i8] }:$Rt, (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroW FPR128:{ *:[v16i8] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*169851*/          /*Scope*/ 14, /*->169866*/
/*169852*/            OPC_CheckComplexPat, /*CP*/27, /*#*/2, // SelectAddrModeXRO<128>:$ #3 #4 #5 #6
/*169855*/            OPC_EmitMergeInputChains1_0,
/*169856*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v16i8] }:$Rt, (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroX FPR128:{ *:[v16i8] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*169866*/          0, /*End of Scope*/
/*169867*/        /*Scope*/ 39, /*->169907*/
/*169868*/          OPC_CheckPredicate, 19, // Predicate_nontemporalstore
/*169870*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169872*/          OPC_CheckComplexPat, /*CP*/30, /*#*/2, // SelectAddrModeIndexed7S64:$ #3 #4
/*169875*/          OPC_EmitMergeInputChains1_0,
/*169876*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*169879*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 1, 5,  // Results = #6
/*169887*/          OPC_EmitInteger, MVT::i64, 1, 
/*169890*/          OPC_EmitNode1, TARGET_VAL(AArch64::CPYi64), 0,
                        MVT::i64, 2/*#Ops*/, 1, 7,  // Results = #8
/*169898*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNPDi), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 6, 8, 3, 4, 
                    // Src: (st FPR128:{ *:[v16i8] }:$Rt, (am_indexed7s64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>><<P:Predicate_nontemporalstore>> - Complexity = 28
                    // Dst: (STNPDi (EXTRACT_SUBREG:{ *:[i64] } FPR128:{ *:[v16i8] }:$Rt, dsub:{ *:[i32] }), (CPYi64:{ *:[i64] } FPR128:{ *:[v16i8] }:$Rt, 1:{ *:[i64] }), GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset)
/*169907*/        /*Scope*/ 30, /*->169938*/
/*169908*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169910*/          OPC_Scope, 12, /*->169924*/ // 2 children in Scope
/*169912*/            OPC_CheckComplexPat, /*CP*/28, /*#*/2, // SelectAddrModeIndexed128:$ #3 #4
/*169915*/            OPC_EmitMergeInputChains1_0,
/*169916*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v16i8] }:$Rt, (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRQui FPR128:{ *:[v16i8] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*169924*/          /*Scope*/ 12, /*->169937*/
/*169925*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*169928*/            OPC_EmitMergeInputChains1_0,
/*169929*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v16i8] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STURQi FPR128:{ *:[v16i8] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*169937*/          0, /*End of Scope*/
/*169938*/        0, /*End of Scope*/
/*169939*/      /*Scope*/ 75, /*->170015*/
/*169940*/        OPC_CheckChild1Type, MVT::v8f16,
/*169942*/        OPC_RecordChild2, // #2 = $ro_Windexed128:Rn:Rm:extend
/*169943*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*169945*/        OPC_CheckPredicate, 17, // Predicate_store
/*169947*/        OPC_Scope, 34, /*->169983*/ // 2 children in Scope
/*169949*/          OPC_CheckPatternPredicate, 5, // (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF))
/*169951*/          OPC_Scope, 14, /*->169967*/ // 2 children in Scope
/*169953*/            OPC_CheckComplexPat, /*CP*/26, /*#*/2, // SelectAddrModeWRO<128>:$ #3 #4 #5 #6
/*169956*/            OPC_EmitMergeInputChains1_0,
/*169957*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v8f16] }:$Rt, (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroW FPR128:{ *:[v8f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*169967*/          /*Scope*/ 14, /*->169982*/
/*169968*/            OPC_CheckComplexPat, /*CP*/27, /*#*/2, // SelectAddrModeXRO<128>:$ #3 #4 #5 #6
/*169971*/            OPC_EmitMergeInputChains1_0,
/*169972*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 1, 3, 4, 5, 6, 
                      // Src: (st FPR128:{ *:[v8f16] }:$Rt, (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 29
                      // Dst: (STRQroX FPR128:{ *:[v8f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*169982*/          0, /*End of Scope*/
/*169983*/        /*Scope*/ 30, /*->170014*/
/*169984*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*169986*/          OPC_Scope, 12, /*->170000*/ // 2 children in Scope
/*169988*/            OPC_CheckComplexPat, /*CP*/28, /*#*/2, // SelectAddrModeIndexed128:$ #3 #4
/*169991*/            OPC_EmitMergeInputChains1_0,
/*169992*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v8f16] }:$Rt, (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STRQui FPR128:{ *:[v8f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*170000*/          /*Scope*/ 12, /*->170013*/
/*170001*/            OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*170004*/            OPC_EmitMergeInputChains1_0,
/*170005*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st FPR128:{ *:[v8f16] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 23
                      // Dst: (STURQi FPR128:{ *:[v8f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*170013*/          0, /*End of Scope*/
/*170014*/        0, /*End of Scope*/
/*170015*/      0, /*End of Scope*/
/*170016*/    /*Scope*/ 54|128,5/*694*/, /*->170712*/
/*170018*/      OPC_MoveChild1,
/*170019*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*170022*/      OPC_RecordChild0, // #1 = $Vt
/*170023*/      OPC_Scope, 42, /*->170067*/ // 14 children in Scope
/*170025*/        OPC_CheckChild0Type, MVT::v16i8,
/*170027*/        OPC_RecordChild1, // #2 = $idx
/*170028*/        OPC_MoveChild1,
/*170029*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170032*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*170034*/        OPC_CheckType, MVT::i64,
/*170036*/        OPC_MoveParent,
/*170037*/        OPC_CheckType, MVT::i32,
/*170039*/        OPC_MoveParent,
/*170040*/        OPC_RecordChild2, // #3 = $Rn
/*170041*/        OPC_CheckChild3Integer, 1, 
/*170043*/        OPC_CheckPredicate, 15, // Predicate_itruncstore
/*170045*/        OPC_CheckPredicate, 20, // Predicate_post_truncst
/*170047*/        OPC_CheckPredicate, 6, // Predicate_post_truncsti8
/*170049*/        OPC_CheckType, MVT::i64,
/*170051*/        OPC_EmitMergeInputChains1_0,
/*170052*/        OPC_EmitConvertToTarget, 2,
/*170054*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170057*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i8_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 4, 3, 5, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne128:{ *:[v16i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[iPTR] })<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti8>> - Complexity = 16
                  // Dst: (ST1i8_POST:{ *:[i64] } VecListOne128:{ *:[v16i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170067*/      /*Scope*/ 42, /*->170110*/
/*170068*/        OPC_CheckChild0Type, MVT::v8i16,
/*170070*/        OPC_RecordChild1, // #2 = $idx
/*170071*/        OPC_MoveChild1,
/*170072*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170075*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*170077*/        OPC_CheckType, MVT::i64,
/*170079*/        OPC_MoveParent,
/*170080*/        OPC_CheckType, MVT::i32,
/*170082*/        OPC_MoveParent,
/*170083*/        OPC_RecordChild2, // #3 = $Rn
/*170084*/        OPC_CheckChild3Integer, 2, 
/*170086*/        OPC_CheckPredicate, 15, // Predicate_itruncstore
/*170088*/        OPC_CheckPredicate, 20, // Predicate_post_truncst
/*170090*/        OPC_CheckPredicate, 16, // Predicate_post_truncsti16
/*170092*/        OPC_CheckType, MVT::i64,
/*170094*/        OPC_EmitMergeInputChains1_0,
/*170095*/        OPC_EmitConvertToTarget, 2,
/*170097*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170100*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 4, 3, 5, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne128:{ *:[v8i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[iPTR] })<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti16>> - Complexity = 16
                  // Dst: (ST1i16_POST:{ *:[i64] } VecListOne128:{ *:[v8i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170110*/      /*Scope*/ 40, /*->170151*/
/*170111*/        OPC_CheckChild0Type, MVT::v4i32,
/*170113*/        OPC_RecordChild1, // #2 = $idx
/*170114*/        OPC_MoveChild1,
/*170115*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170118*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*170120*/        OPC_CheckType, MVT::i64,
/*170122*/        OPC_MoveParent,
/*170123*/        OPC_CheckType, MVT::i32,
/*170125*/        OPC_MoveParent,
/*170126*/        OPC_RecordChild2, // #3 = $Rn
/*170127*/        OPC_CheckChild3Integer, 4, 
/*170129*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170131*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170133*/        OPC_CheckType, MVT::i64,
/*170135*/        OPC_EmitMergeInputChains1_0,
/*170136*/        OPC_EmitConvertToTarget, 2,
/*170138*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170141*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 4, 3, 5, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 4:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i32_POST:{ *:[i64] } VecListOne128:{ *:[v4i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170151*/      /*Scope*/ 40, /*->170192*/
/*170152*/        OPC_CheckChild0Type, MVT::v4f32,
/*170154*/        OPC_RecordChild1, // #2 = $idx
/*170155*/        OPC_MoveChild1,
/*170156*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170159*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*170161*/        OPC_CheckType, MVT::i64,
/*170163*/        OPC_MoveParent,
/*170164*/        OPC_CheckType, MVT::f32,
/*170166*/        OPC_MoveParent,
/*170167*/        OPC_RecordChild2, // #3 = $Rn
/*170168*/        OPC_CheckChild3Integer, 4, 
/*170170*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170172*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170174*/        OPC_CheckType, MVT::i64,
/*170176*/        OPC_EmitMergeInputChains1_0,
/*170177*/        OPC_EmitConvertToTarget, 2,
/*170179*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170182*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 4, 3, 5, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f32] } VecListOne128:{ *:[v4f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 4:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i32_POST:{ *:[i64] } VecListOne128:{ *:[v4f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170192*/      /*Scope*/ 40, /*->170233*/
/*170193*/        OPC_CheckChild0Type, MVT::v2i64,
/*170195*/        OPC_RecordChild1, // #2 = $idx
/*170196*/        OPC_MoveChild1,
/*170197*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170200*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*170202*/        OPC_CheckType, MVT::i64,
/*170204*/        OPC_MoveParent,
/*170205*/        OPC_CheckType, MVT::i64,
/*170207*/        OPC_MoveParent,
/*170208*/        OPC_RecordChild2, // #3 = $Rn
/*170209*/        OPC_CheckChild3Integer, 8, 
/*170211*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170213*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170215*/        OPC_CheckType, MVT::i64,
/*170217*/        OPC_EmitMergeInputChains1_0,
/*170218*/        OPC_EmitConvertToTarget, 2,
/*170220*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170223*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 4, 3, 5, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 8:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i64_POST:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170233*/      /*Scope*/ 40, /*->170274*/
/*170234*/        OPC_CheckChild0Type, MVT::v2f64,
/*170236*/        OPC_RecordChild1, // #2 = $idx
/*170237*/        OPC_MoveChild1,
/*170238*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170241*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*170243*/        OPC_CheckType, MVT::i64,
/*170245*/        OPC_MoveParent,
/*170246*/        OPC_CheckType, MVT::f64,
/*170248*/        OPC_MoveParent,
/*170249*/        OPC_RecordChild2, // #3 = $Rn
/*170250*/        OPC_CheckChild3Integer, 8, 
/*170252*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170254*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170256*/        OPC_CheckType, MVT::i64,
/*170258*/        OPC_EmitMergeInputChains1_0,
/*170259*/        OPC_EmitConvertToTarget, 2,
/*170261*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170264*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 4, 3, 5, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f64] } VecListOne128:{ *:[v2f64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 8:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i64_POST:{ *:[i64] } VecListOne128:{ *:[v2f64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170274*/      /*Scope*/ 40, /*->170315*/
/*170275*/        OPC_CheckChild0Type, MVT::v8f16,
/*170277*/        OPC_RecordChild1, // #2 = $idx
/*170278*/        OPC_MoveChild1,
/*170279*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170282*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*170284*/        OPC_CheckType, MVT::i64,
/*170286*/        OPC_MoveParent,
/*170287*/        OPC_CheckType, MVT::f16,
/*170289*/        OPC_MoveParent,
/*170290*/        OPC_RecordChild2, // #3 = $Rn
/*170291*/        OPC_CheckChild3Integer, 2, 
/*170293*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170295*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170297*/        OPC_CheckType, MVT::i64,
/*170299*/        OPC_EmitMergeInputChains1_0,
/*170300*/        OPC_EmitConvertToTarget, 2,
/*170302*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170305*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 4, 3, 5, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i16_POST:{ *:[i64] } VecListOne128:{ *:[v8f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170315*/      /*Scope*/ 57, /*->170373*/
/*170316*/        OPC_CheckChild0Type, MVT::v8i8,
/*170318*/        OPC_RecordChild1, // #2 = $idx
/*170319*/        OPC_MoveChild1,
/*170320*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170323*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*170325*/        OPC_CheckType, MVT::i64,
/*170327*/        OPC_MoveParent,
/*170328*/        OPC_CheckType, MVT::i32,
/*170330*/        OPC_MoveParent,
/*170331*/        OPC_RecordChild2, // #3 = $Rn
/*170332*/        OPC_CheckChild3Integer, 1, 
/*170334*/        OPC_CheckPredicate, 15, // Predicate_itruncstore
/*170336*/        OPC_CheckPredicate, 20, // Predicate_post_truncst
/*170338*/        OPC_CheckPredicate, 6, // Predicate_post_truncsti8
/*170340*/        OPC_CheckType, MVT::i64,
/*170342*/        OPC_EmitMergeInputChains1_0,
/*170343*/        OPC_EmitInteger, MVT::i32, 0, 
/*170346*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*170349*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*170358*/        OPC_EmitConvertToTarget, 2,
/*170360*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170363*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i8_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 6, 7, 3, 8, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne64:{ *:[v8i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 1:{ *:[iPTR] })<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti8>> - Complexity = 16
                  // Dst: (ST1i8_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v8i8] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170373*/      /*Scope*/ 57, /*->170431*/
/*170374*/        OPC_CheckChild0Type, MVT::v4i16,
/*170376*/        OPC_RecordChild1, // #2 = $idx
/*170377*/        OPC_MoveChild1,
/*170378*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170381*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*170383*/        OPC_CheckType, MVT::i64,
/*170385*/        OPC_MoveParent,
/*170386*/        OPC_CheckType, MVT::i32,
/*170388*/        OPC_MoveParent,
/*170389*/        OPC_RecordChild2, // #3 = $Rn
/*170390*/        OPC_CheckChild3Integer, 2, 
/*170392*/        OPC_CheckPredicate, 15, // Predicate_itruncstore
/*170394*/        OPC_CheckPredicate, 20, // Predicate_post_truncst
/*170396*/        OPC_CheckPredicate, 16, // Predicate_post_truncsti16
/*170398*/        OPC_CheckType, MVT::i64,
/*170400*/        OPC_EmitMergeInputChains1_0,
/*170401*/        OPC_EmitInteger, MVT::i32, 0, 
/*170404*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*170407*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*170416*/        OPC_EmitConvertToTarget, 2,
/*170418*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170421*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 6, 7, 3, 8, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne64:{ *:[v4i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[iPTR] })<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti16>> - Complexity = 16
                  // Dst: (ST1i16_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v4i16] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170431*/      /*Scope*/ 55, /*->170487*/
/*170432*/        OPC_CheckChild0Type, MVT::v2i32,
/*170434*/        OPC_RecordChild1, // #2 = $idx
/*170435*/        OPC_MoveChild1,
/*170436*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170439*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*170441*/        OPC_CheckType, MVT::i64,
/*170443*/        OPC_MoveParent,
/*170444*/        OPC_CheckType, MVT::i32,
/*170446*/        OPC_MoveParent,
/*170447*/        OPC_RecordChild2, // #3 = $Rn
/*170448*/        OPC_CheckChild3Integer, 4, 
/*170450*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170452*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170454*/        OPC_CheckType, MVT::i64,
/*170456*/        OPC_EmitMergeInputChains1_0,
/*170457*/        OPC_EmitInteger, MVT::i32, 0, 
/*170460*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*170463*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*170472*/        OPC_EmitConvertToTarget, 2,
/*170474*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170477*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 6, 7, 3, 8, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne64:{ *:[v2i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 4:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i32_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v2i32] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170487*/      /*Scope*/ 55, /*->170543*/
/*170488*/        OPC_CheckChild0Type, MVT::v2f32,
/*170490*/        OPC_RecordChild1, // #2 = $idx
/*170491*/        OPC_MoveChild1,
/*170492*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170495*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*170497*/        OPC_CheckType, MVT::i64,
/*170499*/        OPC_MoveParent,
/*170500*/        OPC_CheckType, MVT::f32,
/*170502*/        OPC_MoveParent,
/*170503*/        OPC_RecordChild2, // #3 = $Rn
/*170504*/        OPC_CheckChild3Integer, 4, 
/*170506*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170508*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170510*/        OPC_CheckType, MVT::i64,
/*170512*/        OPC_EmitMergeInputChains1_0,
/*170513*/        OPC_EmitInteger, MVT::i32, 0, 
/*170516*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*170519*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*170528*/        OPC_EmitConvertToTarget, 2,
/*170530*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170533*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 6, 7, 3, 8, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f32] } VecListOne64:{ *:[v2f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 4:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i32_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v2f32] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170543*/      /*Scope*/ 55, /*->170599*/
/*170544*/        OPC_CheckChild0Type, MVT::v1i64,
/*170546*/        OPC_RecordChild1, // #2 = $idx
/*170547*/        OPC_MoveChild1,
/*170548*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170551*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*170553*/        OPC_CheckType, MVT::i64,
/*170555*/        OPC_MoveParent,
/*170556*/        OPC_CheckType, MVT::i64,
/*170558*/        OPC_MoveParent,
/*170559*/        OPC_RecordChild2, // #3 = $Rn
/*170560*/        OPC_CheckChild3Integer, 8, 
/*170562*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170564*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170566*/        OPC_CheckType, MVT::i64,
/*170568*/        OPC_EmitMergeInputChains1_0,
/*170569*/        OPC_EmitInteger, MVT::i32, 0, 
/*170572*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*170575*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*170584*/        OPC_EmitConvertToTarget, 2,
/*170586*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170589*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 6, 7, 3, 8, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i64] } VecListOne64:{ *:[v1i64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 8:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i64_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v1i64] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170599*/      /*Scope*/ 55, /*->170655*/
/*170600*/        OPC_CheckChild0Type, MVT::v1f64,
/*170602*/        OPC_RecordChild1, // #2 = $idx
/*170603*/        OPC_MoveChild1,
/*170604*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170607*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*170609*/        OPC_CheckType, MVT::i64,
/*170611*/        OPC_MoveParent,
/*170612*/        OPC_CheckType, MVT::f64,
/*170614*/        OPC_MoveParent,
/*170615*/        OPC_RecordChild2, // #3 = $Rn
/*170616*/        OPC_CheckChild3Integer, 8, 
/*170618*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170620*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170622*/        OPC_CheckType, MVT::i64,
/*170624*/        OPC_EmitMergeInputChains1_0,
/*170625*/        OPC_EmitInteger, MVT::i32, 0, 
/*170628*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*170631*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*170640*/        OPC_EmitConvertToTarget, 2,
/*170642*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170645*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 6, 7, 3, 8, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f64] } VecListOne64:{ *:[v1f64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 8:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i64_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v1f64] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170655*/      /*Scope*/ 55, /*->170711*/
/*170656*/        OPC_CheckChild0Type, MVT::v4f16,
/*170658*/        OPC_RecordChild1, // #2 = $idx
/*170659*/        OPC_MoveChild1,
/*170660*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*170663*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*170665*/        OPC_CheckType, MVT::i64,
/*170667*/        OPC_MoveParent,
/*170668*/        OPC_CheckType, MVT::f16,
/*170670*/        OPC_MoveParent,
/*170671*/        OPC_RecordChild2, // #3 = $Rn
/*170672*/        OPC_CheckChild3Integer, 2, 
/*170674*/        OPC_CheckPredicate, 17, // Predicate_istore
/*170676*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*170678*/        OPC_CheckType, MVT::i64,
/*170680*/        OPC_EmitMergeInputChains1_0,
/*170681*/        OPC_EmitInteger, MVT::i32, 0, 
/*170684*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*170687*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*170696*/        OPC_EmitConvertToTarget, 2,
/*170698*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*170701*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 6, 7, 3, 8, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f16] } VecListOne64:{ *:[v4f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn, 2:{ *:[iPTR] })<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 16
                  // Dst: (ST1i16_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v4f16] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn, XZR:{ *:[i64] })
/*170711*/      0, /*End of Scope*/
/*170712*/    /*Scope*/ 51|128,2/*307*/, /*->171021*/
/*170714*/      OPC_RecordChild1, // #1 = $Rt
/*170715*/      OPC_Scope, 105, /*->170822*/ // 9 children in Scope
/*170717*/        OPC_CheckChild1Type, MVT::i64,
/*170719*/        OPC_RecordChild2, // #2 = $am_unscaled64:Rn:offset
/*170720*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*170722*/        OPC_Scope, 14, /*->170738*/ // 2 children in Scope
/*170724*/          OPC_CheckPredicate, 17, // Predicate_store
/*170726*/          OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*170729*/          OPC_EmitMergeInputChains1_0,
/*170730*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURXi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st GPR64z:{ *:[i64] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
                    // Dst: (STURXi GPR64z:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170738*/        /*Scope*/ 82, /*->170821*/
/*170739*/          OPC_CheckPredicate, 15, // Predicate_truncstore
/*170741*/          OPC_Scope, 25, /*->170768*/ // 3 children in Scope
/*170743*/            OPC_CheckPredicate, 18, // Predicate_truncstorei32
/*170745*/            OPC_CheckComplexPat, /*CP*/31, /*#*/2, // SelectAddrModeUnscaled32:$ #3 #4
/*170748*/            OPC_EmitMergeInputChains1_0,
/*170749*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*170752*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*170760*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURWi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei32>> - Complexity = 13
                      // Dst: (STURWi (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*170768*/          /*Scope*/ 25, /*->170794*/
/*170769*/            OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*170771*/            OPC_CheckComplexPat, /*CP*/32, /*#*/2, // SelectAddrModeUnscaled16:$ #3 #4
/*170774*/            OPC_EmitMergeInputChains1_0,
/*170775*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*170778*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*170786*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 13
                      // Dst: (STURHHi (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*170794*/          /*Scope*/ 25, /*->170820*/
/*170795*/            OPC_CheckPredicate, 6, // Predicate_truncstorei8
/*170797*/            OPC_CheckComplexPat, /*CP*/33, /*#*/2, // SelectAddrModeUnscaled8:$ #3 #4
/*170800*/            OPC_EmitMergeInputChains1_0,
/*170801*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*170804*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 1, 5,  // Results = #6
/*170812*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 6, 3, 4, 
                      // Src: (st GPR64:{ *:[i64] }:$Rt, (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 13
                      // Dst: (STURBBi (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*170820*/          0, /*End of Scope*/
/*170821*/        0, /*End of Scope*/
/*170822*/      /*Scope*/ 57, /*->170880*/
/*170823*/        OPC_CheckChild1Type, MVT::i32,
/*170825*/        OPC_RecordChild2, // #2 = $am_unscaled32:Rn:offset
/*170826*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*170828*/        OPC_Scope, 14, /*->170844*/ // 2 children in Scope
/*170830*/          OPC_CheckPredicate, 17, // Predicate_store
/*170832*/          OPC_CheckComplexPat, /*CP*/31, /*#*/2, // SelectAddrModeUnscaled32:$ #3 #4
/*170835*/          OPC_EmitMergeInputChains1_0,
/*170836*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURWi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 1, 3, 4, 
                    // Src: (st GPR32z:{ *:[i32] }:$Rt, (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
                    // Dst: (STURWi GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170844*/        /*Scope*/ 34, /*->170879*/
/*170845*/          OPC_CheckPredicate, 15, // Predicate_truncstore
/*170847*/          OPC_Scope, 14, /*->170863*/ // 2 children in Scope
/*170849*/            OPC_CheckPredicate, 16, // Predicate_truncstorei16
/*170851*/            OPC_CheckComplexPat, /*CP*/32, /*#*/2, // SelectAddrModeUnscaled16:$ #3 #4
/*170854*/            OPC_EmitMergeInputChains1_0,
/*170855*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st GPR32z:{ *:[i32] }:$Rt, (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei16>> - Complexity = 14
                      // Dst: (STURHHi GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170863*/          /*Scope*/ 14, /*->170878*/
/*170864*/            OPC_CheckPredicate, 6, // Predicate_truncstorei8
/*170866*/            OPC_CheckComplexPat, /*CP*/33, /*#*/2, // SelectAddrModeUnscaled8:$ #3 #4
/*170869*/            OPC_EmitMergeInputChains1_0,
/*170870*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 1, 3, 4, 
                      // Src: (st GPR32z:{ *:[i32] }:$Rt, (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_truncstore>><<P:Predicate_truncstorei8>> - Complexity = 14
                      // Dst: (STURBBi GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170878*/          0, /*End of Scope*/
/*170879*/        0, /*End of Scope*/
/*170880*/      /*Scope*/ 19, /*->170900*/
/*170881*/        OPC_CheckChild1Type, MVT::Untyped,
/*170883*/        OPC_RecordChild2, // #2 = $am_unscaled8:Rn:offset
/*170884*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*170886*/        OPC_CheckPredicate, 17, // Predicate_store
/*170888*/        OPC_CheckComplexPat, /*CP*/33, /*#*/2, // SelectAddrModeUnscaled8:$ #3 #4
/*170891*/        OPC_EmitMergeInputChains1_0,
/*170892*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBi), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 1, 3, 4, 
                  // Src: (st FPR8Op:{ *:[Untyped] }:$Rt, (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
                  // Dst: (STURBi FPR8Op:{ *:[Untyped] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170900*/      /*Scope*/ 19, /*->170920*/
/*170901*/        OPC_CheckChild1Type, MVT::f16,
/*170903*/        OPC_RecordChild2, // #2 = $am_unscaled16:Rn:offset
/*170904*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*170906*/        OPC_CheckPredicate, 17, // Predicate_store
/*170908*/        OPC_CheckComplexPat, /*CP*/32, /*#*/2, // SelectAddrModeUnscaled16:$ #3 #4
/*170911*/        OPC_EmitMergeInputChains1_0,
/*170912*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHi), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 1, 3, 4, 
                  // Src: (st FPR16Op:{ *:[f16] }:$Rt, (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
                  // Dst: (STURHi FPR16Op:{ *:[f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170920*/      /*Scope*/ 19, /*->170940*/
/*170921*/        OPC_CheckChild1Type, MVT::f32,
/*170923*/        OPC_RecordChild2, // #2 = $am_unscaled32:Rn:offset
/*170924*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*170926*/        OPC_CheckPredicate, 17, // Predicate_store
/*170928*/        OPC_CheckComplexPat, /*CP*/31, /*#*/2, // SelectAddrModeUnscaled32:$ #3 #4
/*170931*/        OPC_EmitMergeInputChains1_0,
/*170932*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURSi), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 1, 3, 4, 
                  // Src: (st FPR32Op:{ *:[f32] }:$Rt, (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
                  // Dst: (STURSi FPR32Op:{ *:[f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170940*/      /*Scope*/ 19, /*->170960*/
/*170941*/        OPC_CheckChild1Type, MVT::f64,
/*170943*/        OPC_RecordChild2, // #2 = $am_unscaled64:Rn:offset
/*170944*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*170946*/        OPC_CheckPredicate, 17, // Predicate_store
/*170948*/        OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*170951*/        OPC_EmitMergeInputChains1_0,
/*170952*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 1, 3, 4, 
                  // Src: (st FPR64Op:{ *:[f64] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
                  // Dst: (STURDi FPR64Op:{ *:[f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170960*/      /*Scope*/ 19, /*->170980*/
/*170961*/        OPC_CheckChild1Type, MVT::f128,
/*170963*/        OPC_RecordChild2, // #2 = $am_unscaled128:Rn:offset
/*170964*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*170966*/        OPC_CheckPredicate, 17, // Predicate_store
/*170968*/        OPC_CheckComplexPat, /*CP*/15, /*#*/2, // SelectAddrModeUnscaled128:$ #3 #4
/*170971*/        OPC_EmitMergeInputChains1_0,
/*170972*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURQi), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 1, 3, 4, 
                  // Src: (st FPR128Op:{ *:[f128] }:$Rt, (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 14
                  // Dst: (STURQi FPR128Op:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*170980*/      /*Scope*/ 19, /*->171000*/
/*170981*/        OPC_CheckChild1Type, MVT::v1f64,
/*170983*/        OPC_RecordChild2, // #2 = $am_unscaled64:Rn:offset
/*170984*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*170986*/        OPC_CheckPredicate, 17, // Predicate_store
/*170988*/        OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*170991*/        OPC_EmitMergeInputChains1_0,
/*170992*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 1, 3, 4, 
                  // Src: (st FPR64:{ *:[v1f64] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
                  // Dst: (STURDi FPR64:{ *:[v1f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*171000*/      /*Scope*/ 19, /*->171020*/
/*171001*/        OPC_CheckChild1Type, MVT::v1i64,
/*171003*/        OPC_RecordChild2, // #2 = $am_unscaled64:Rn:offset
/*171004*/        OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*171006*/        OPC_CheckPredicate, 17, // Predicate_store
/*171008*/        OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*171011*/        OPC_EmitMergeInputChains1_0,
/*171012*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURDi), 0|OPFL_Chain|OPFL_MemRefs,
                      3/*#Ops*/, 1, 3, 4, 
                  // Src: (st FPR64:{ *:[v1i64] }:$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 13
                  // Dst: (STURDi FPR64:{ *:[v1i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*171020*/      0, /*End of Scope*/
/*171021*/    /*Scope*/ 26|128,5/*666*/, /*->171689*/
/*171023*/      OPC_MoveChild1,
/*171024*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*171027*/      OPC_RecordChild0, // #1 = $Vt
/*171028*/      OPC_Scope, 40, /*->171070*/ // 14 children in Scope
/*171030*/        OPC_CheckChild0Type, MVT::v16i8,
/*171032*/        OPC_RecordChild1, // #2 = $idx
/*171033*/        OPC_MoveChild1,
/*171034*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171037*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*171039*/        OPC_CheckType, MVT::i64,
/*171041*/        OPC_MoveParent,
/*171042*/        OPC_CheckType, MVT::i32,
/*171044*/        OPC_MoveParent,
/*171045*/        OPC_RecordChild2, // #3 = $Rn
/*171046*/        OPC_RecordChild3, // #4 = $Rm
/*171047*/        OPC_CheckChild3Type, MVT::i64,
/*171049*/        OPC_CheckPredicate, 15, // Predicate_itruncstore
/*171051*/        OPC_CheckPredicate, 20, // Predicate_post_truncst
/*171053*/        OPC_CheckPredicate, 6, // Predicate_post_truncsti8
/*171055*/        OPC_CheckType, MVT::i64,
/*171057*/        OPC_EmitMergeInputChains1_0,
/*171058*/        OPC_EmitConvertToTarget, 2,
/*171060*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i8_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 5, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne128:{ *:[v16i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti8>> - Complexity = 11
                  // Dst: (ST1i8_POST:{ *:[i64] } VecListOne128:{ *:[v16i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171070*/      /*Scope*/ 40, /*->171111*/
/*171071*/        OPC_CheckChild0Type, MVT::v8i16,
/*171073*/        OPC_RecordChild1, // #2 = $idx
/*171074*/        OPC_MoveChild1,
/*171075*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171078*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*171080*/        OPC_CheckType, MVT::i64,
/*171082*/        OPC_MoveParent,
/*171083*/        OPC_CheckType, MVT::i32,
/*171085*/        OPC_MoveParent,
/*171086*/        OPC_RecordChild2, // #3 = $Rn
/*171087*/        OPC_RecordChild3, // #4 = $Rm
/*171088*/        OPC_CheckChild3Type, MVT::i64,
/*171090*/        OPC_CheckPredicate, 15, // Predicate_itruncstore
/*171092*/        OPC_CheckPredicate, 20, // Predicate_post_truncst
/*171094*/        OPC_CheckPredicate, 16, // Predicate_post_truncsti16
/*171096*/        OPC_CheckType, MVT::i64,
/*171098*/        OPC_EmitMergeInputChains1_0,
/*171099*/        OPC_EmitConvertToTarget, 2,
/*171101*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 5, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne128:{ *:[v8i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti16>> - Complexity = 11
                  // Dst: (ST1i16_POST:{ *:[i64] } VecListOne128:{ *:[v8i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171111*/      /*Scope*/ 38, /*->171150*/
/*171112*/        OPC_CheckChild0Type, MVT::v4i32,
/*171114*/        OPC_RecordChild1, // #2 = $idx
/*171115*/        OPC_MoveChild1,
/*171116*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171119*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*171121*/        OPC_CheckType, MVT::i64,
/*171123*/        OPC_MoveParent,
/*171124*/        OPC_CheckType, MVT::i32,
/*171126*/        OPC_MoveParent,
/*171127*/        OPC_RecordChild2, // #3 = $Rn
/*171128*/        OPC_RecordChild3, // #4 = $Rm
/*171129*/        OPC_CheckChild3Type, MVT::i64,
/*171131*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171133*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171135*/        OPC_CheckType, MVT::i64,
/*171137*/        OPC_EmitMergeInputChains1_0,
/*171138*/        OPC_EmitConvertToTarget, 2,
/*171140*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 5, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne128:{ *:[v4i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i32_POST:{ *:[i64] } VecListOne128:{ *:[v4i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171150*/      /*Scope*/ 38, /*->171189*/
/*171151*/        OPC_CheckChild0Type, MVT::v4f32,
/*171153*/        OPC_RecordChild1, // #2 = $idx
/*171154*/        OPC_MoveChild1,
/*171155*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171158*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*171160*/        OPC_CheckType, MVT::i64,
/*171162*/        OPC_MoveParent,
/*171163*/        OPC_CheckType, MVT::f32,
/*171165*/        OPC_MoveParent,
/*171166*/        OPC_RecordChild2, // #3 = $Rn
/*171167*/        OPC_RecordChild3, // #4 = $Rm
/*171168*/        OPC_CheckChild3Type, MVT::i64,
/*171170*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171172*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171174*/        OPC_CheckType, MVT::i64,
/*171176*/        OPC_EmitMergeInputChains1_0,
/*171177*/        OPC_EmitConvertToTarget, 2,
/*171179*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 5, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f32] } VecListOne128:{ *:[v4f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i32_POST:{ *:[i64] } VecListOne128:{ *:[v4f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171189*/      /*Scope*/ 38, /*->171228*/
/*171190*/        OPC_CheckChild0Type, MVT::v2i64,
/*171192*/        OPC_RecordChild1, // #2 = $idx
/*171193*/        OPC_MoveChild1,
/*171194*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171197*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*171199*/        OPC_CheckType, MVT::i64,
/*171201*/        OPC_MoveParent,
/*171202*/        OPC_CheckType, MVT::i64,
/*171204*/        OPC_MoveParent,
/*171205*/        OPC_RecordChild2, // #3 = $Rn
/*171206*/        OPC_RecordChild3, // #4 = $Rm
/*171207*/        OPC_CheckChild3Type, MVT::i64,
/*171209*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171211*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171213*/        OPC_CheckType, MVT::i64,
/*171215*/        OPC_EmitMergeInputChains1_0,
/*171216*/        OPC_EmitConvertToTarget, 2,
/*171218*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 5, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i64_POST:{ *:[i64] } VecListOne128:{ *:[v2i64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171228*/      /*Scope*/ 38, /*->171267*/
/*171229*/        OPC_CheckChild0Type, MVT::v2f64,
/*171231*/        OPC_RecordChild1, // #2 = $idx
/*171232*/        OPC_MoveChild1,
/*171233*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171236*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*171238*/        OPC_CheckType, MVT::i64,
/*171240*/        OPC_MoveParent,
/*171241*/        OPC_CheckType, MVT::f64,
/*171243*/        OPC_MoveParent,
/*171244*/        OPC_RecordChild2, // #3 = $Rn
/*171245*/        OPC_RecordChild3, // #4 = $Rm
/*171246*/        OPC_CheckChild3Type, MVT::i64,
/*171248*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171250*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171252*/        OPC_CheckType, MVT::i64,
/*171254*/        OPC_EmitMergeInputChains1_0,
/*171255*/        OPC_EmitConvertToTarget, 2,
/*171257*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 5, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f64] } VecListOne128:{ *:[v2f64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i64_POST:{ *:[i64] } VecListOne128:{ *:[v2f64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171267*/      /*Scope*/ 38, /*->171306*/
/*171268*/        OPC_CheckChild0Type, MVT::v8f16,
/*171270*/        OPC_RecordChild1, // #2 = $idx
/*171271*/        OPC_MoveChild1,
/*171272*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171275*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*171277*/        OPC_CheckType, MVT::i64,
/*171279*/        OPC_MoveParent,
/*171280*/        OPC_CheckType, MVT::f16,
/*171282*/        OPC_MoveParent,
/*171283*/        OPC_RecordChild2, // #3 = $Rn
/*171284*/        OPC_RecordChild3, // #4 = $Rm
/*171285*/        OPC_CheckChild3Type, MVT::i64,
/*171287*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171289*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171291*/        OPC_CheckType, MVT::i64,
/*171293*/        OPC_EmitMergeInputChains1_0,
/*171294*/        OPC_EmitConvertToTarget, 2,
/*171296*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 1, 5, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f16] } VecListOne128:{ *:[v8f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i16_POST:{ *:[i64] } VecListOne128:{ *:[v8f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171306*/      /*Scope*/ 55, /*->171362*/
/*171307*/        OPC_CheckChild0Type, MVT::v8i8,
/*171309*/        OPC_RecordChild1, // #2 = $idx
/*171310*/        OPC_MoveChild1,
/*171311*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171314*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*171316*/        OPC_CheckType, MVT::i64,
/*171318*/        OPC_MoveParent,
/*171319*/        OPC_CheckType, MVT::i32,
/*171321*/        OPC_MoveParent,
/*171322*/        OPC_RecordChild2, // #3 = $Rn
/*171323*/        OPC_RecordChild3, // #4 = $Rm
/*171324*/        OPC_CheckChild3Type, MVT::i64,
/*171326*/        OPC_CheckPredicate, 15, // Predicate_itruncstore
/*171328*/        OPC_CheckPredicate, 20, // Predicate_post_truncst
/*171330*/        OPC_CheckPredicate, 6, // Predicate_post_truncsti8
/*171332*/        OPC_CheckType, MVT::i64,
/*171334*/        OPC_EmitMergeInputChains1_0,
/*171335*/        OPC_EmitInteger, MVT::i32, 0, 
/*171338*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*171341*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*171350*/        OPC_EmitConvertToTarget, 2,
/*171352*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i8_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 7, 8, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne64:{ *:[v8i8] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti8>> - Complexity = 11
                  // Dst: (ST1i8_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v8i8] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171362*/      /*Scope*/ 55, /*->171418*/
/*171363*/        OPC_CheckChild0Type, MVT::v4i16,
/*171365*/        OPC_RecordChild1, // #2 = $idx
/*171366*/        OPC_MoveChild1,
/*171367*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171370*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*171372*/        OPC_CheckType, MVT::i64,
/*171374*/        OPC_MoveParent,
/*171375*/        OPC_CheckType, MVT::i32,
/*171377*/        OPC_MoveParent,
/*171378*/        OPC_RecordChild2, // #3 = $Rn
/*171379*/        OPC_RecordChild3, // #4 = $Rm
/*171380*/        OPC_CheckChild3Type, MVT::i64,
/*171382*/        OPC_CheckPredicate, 15, // Predicate_itruncstore
/*171384*/        OPC_CheckPredicate, 20, // Predicate_post_truncst
/*171386*/        OPC_CheckPredicate, 16, // Predicate_post_truncsti16
/*171388*/        OPC_CheckType, MVT::i64,
/*171390*/        OPC_EmitMergeInputChains1_0,
/*171391*/        OPC_EmitInteger, MVT::i32, 0, 
/*171394*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*171397*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*171406*/        OPC_EmitConvertToTarget, 2,
/*171408*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 7, 8, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne64:{ *:[v4i16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti16>> - Complexity = 11
                  // Dst: (ST1i16_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v4i16] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171418*/      /*Scope*/ 53, /*->171472*/
/*171419*/        OPC_CheckChild0Type, MVT::v2i32,
/*171421*/        OPC_RecordChild1, // #2 = $idx
/*171422*/        OPC_MoveChild1,
/*171423*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171426*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*171428*/        OPC_CheckType, MVT::i64,
/*171430*/        OPC_MoveParent,
/*171431*/        OPC_CheckType, MVT::i32,
/*171433*/        OPC_MoveParent,
/*171434*/        OPC_RecordChild2, // #3 = $Rn
/*171435*/        OPC_RecordChild3, // #4 = $Rm
/*171436*/        OPC_CheckChild3Type, MVT::i64,
/*171438*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171440*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171442*/        OPC_CheckType, MVT::i64,
/*171444*/        OPC_EmitMergeInputChains1_0,
/*171445*/        OPC_EmitInteger, MVT::i32, 0, 
/*171448*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*171451*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*171460*/        OPC_EmitConvertToTarget, 2,
/*171462*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 7, 8, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i32] } VecListOne64:{ *:[v2i32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i32_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v2i32] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171472*/      /*Scope*/ 53, /*->171526*/
/*171473*/        OPC_CheckChild0Type, MVT::v2f32,
/*171475*/        OPC_RecordChild1, // #2 = $idx
/*171476*/        OPC_MoveChild1,
/*171477*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171480*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*171482*/        OPC_CheckType, MVT::i64,
/*171484*/        OPC_MoveParent,
/*171485*/        OPC_CheckType, MVT::f32,
/*171487*/        OPC_MoveParent,
/*171488*/        OPC_RecordChild2, // #3 = $Rn
/*171489*/        OPC_RecordChild3, // #4 = $Rm
/*171490*/        OPC_CheckChild3Type, MVT::i64,
/*171492*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171494*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171496*/        OPC_CheckType, MVT::i64,
/*171498*/        OPC_EmitMergeInputChains1_0,
/*171499*/        OPC_EmitInteger, MVT::i32, 0, 
/*171502*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*171505*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*171514*/        OPC_EmitConvertToTarget, 2,
/*171516*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i32_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 7, 8, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f32] } VecListOne64:{ *:[v2f32] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i32_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v2f32] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171526*/      /*Scope*/ 53, /*->171580*/
/*171527*/        OPC_CheckChild0Type, MVT::v1i64,
/*171529*/        OPC_RecordChild1, // #2 = $idx
/*171530*/        OPC_MoveChild1,
/*171531*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171534*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*171536*/        OPC_CheckType, MVT::i64,
/*171538*/        OPC_MoveParent,
/*171539*/        OPC_CheckType, MVT::i64,
/*171541*/        OPC_MoveParent,
/*171542*/        OPC_RecordChild2, // #3 = $Rn
/*171543*/        OPC_RecordChild3, // #4 = $Rm
/*171544*/        OPC_CheckChild3Type, MVT::i64,
/*171546*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171548*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171550*/        OPC_CheckType, MVT::i64,
/*171552*/        OPC_EmitMergeInputChains1_0,
/*171553*/        OPC_EmitInteger, MVT::i32, 0, 
/*171556*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*171559*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*171568*/        OPC_EmitConvertToTarget, 2,
/*171570*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 7, 8, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[i64] } VecListOne64:{ *:[v1i64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i64_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v1i64] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171580*/      /*Scope*/ 53, /*->171634*/
/*171581*/        OPC_CheckChild0Type, MVT::v1f64,
/*171583*/        OPC_RecordChild1, // #2 = $idx
/*171584*/        OPC_MoveChild1,
/*171585*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171588*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*171590*/        OPC_CheckType, MVT::i64,
/*171592*/        OPC_MoveParent,
/*171593*/        OPC_CheckType, MVT::f64,
/*171595*/        OPC_MoveParent,
/*171596*/        OPC_RecordChild2, // #3 = $Rn
/*171597*/        OPC_RecordChild3, // #4 = $Rm
/*171598*/        OPC_CheckChild3Type, MVT::i64,
/*171600*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171602*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171604*/        OPC_CheckType, MVT::i64,
/*171606*/        OPC_EmitMergeInputChains1_0,
/*171607*/        OPC_EmitInteger, MVT::i32, 0, 
/*171610*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*171613*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*171622*/        OPC_EmitConvertToTarget, 2,
/*171624*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i64_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 7, 8, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f64] } VecListOne64:{ *:[v1f64] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i64_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v1f64] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171634*/      /*Scope*/ 53, /*->171688*/
/*171635*/        OPC_CheckChild0Type, MVT::v4f16,
/*171637*/        OPC_RecordChild1, // #2 = $idx
/*171638*/        OPC_MoveChild1,
/*171639*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171642*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*171644*/        OPC_CheckType, MVT::i64,
/*171646*/        OPC_MoveParent,
/*171647*/        OPC_CheckType, MVT::f16,
/*171649*/        OPC_MoveParent,
/*171650*/        OPC_RecordChild2, // #3 = $Rn
/*171651*/        OPC_RecordChild3, // #4 = $Rm
/*171652*/        OPC_CheckChild3Type, MVT::i64,
/*171654*/        OPC_CheckPredicate, 17, // Predicate_istore
/*171656*/        OPC_CheckPredicate, 20, // Predicate_post_store
/*171658*/        OPC_CheckType, MVT::i64,
/*171660*/        OPC_EmitMergeInputChains1_0,
/*171661*/        OPC_EmitInteger, MVT::i32, 0, 
/*171664*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*171667*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*171676*/        OPC_EmitConvertToTarget, 2,
/*171678*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ST1i16_POST), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 7, 8, 3, 4, 
                  // Src: (ist:{ *:[i64] } (vector_extract:{ *:[f16] } VecListOne64:{ *:[v4f16] }:$Vt, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 11
                  // Dst: (ST1i16_POST:{ *:[i64] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v4f16] }:$Vt, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm)
/*171688*/      0, /*End of Scope*/
/*171689*/    /*Scope*/ 41|128,11/*1449*/, /*->173140*/
/*171691*/      OPC_RecordChild1, // #1 = $Rt
/*171692*/      OPC_Scope, 125, /*->171819*/ // 21 children in Scope
/*171694*/        OPC_CheckChild1Type, MVT::i32,
/*171696*/        OPC_RecordChild2, // #2 = $Rn
/*171697*/        OPC_RecordChild3, // #3 = $offset
/*171698*/        OPC_MoveChild3,
/*171699*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171702*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*171704*/        OPC_CheckType, MVT::i64,
/*171706*/        OPC_MoveParent,
/*171707*/        OPC_CheckType, MVT::i64,
/*171709*/        OPC_Scope, 16, /*->171727*/ // 4 children in Scope
/*171711*/          OPC_CheckPredicate, 17, // Predicate_istore
/*171713*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*171715*/          OPC_EmitMergeInputChains1_0,
/*171716*/          OPC_EmitConvertToTarget, 3,
/*171718*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRWpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRWpre:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*171727*/        /*Scope*/ 36, /*->171764*/
/*171728*/          OPC_CheckPredicate, 15, // Predicate_itruncstore
/*171730*/          OPC_CheckPredicate, 22, // Predicate_pre_truncst
/*171732*/          OPC_Scope, 14, /*->171748*/ // 2 children in Scope
/*171734*/            OPC_CheckPredicate, 6, // Predicate_pre_truncsti8
/*171736*/            OPC_EmitMergeInputChains1_0,
/*171737*/            OPC_EmitConvertToTarget, 3,
/*171739*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBBpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_itruncstore>><<P:Predicate_pre_truncst>><<P:Predicate_pre_truncsti8>> - Complexity = 8
                      // Dst: (STRBBpre:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*171748*/          /*Scope*/ 14, /*->171763*/
/*171749*/            OPC_CheckPredicate, 16, // Predicate_pre_truncsti16
/*171751*/            OPC_EmitMergeInputChains1_0,
/*171752*/            OPC_EmitConvertToTarget, 3,
/*171754*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHHpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_itruncstore>><<P:Predicate_pre_truncst>><<P:Predicate_pre_truncsti16>> - Complexity = 8
                      // Dst: (STRHHpre:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*171763*/          0, /*End of Scope*/
/*171764*/        /*Scope*/ 16, /*->171781*/
/*171765*/          OPC_CheckPredicate, 17, // Predicate_istore
/*171767*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*171769*/          OPC_EmitMergeInputChains1_0,
/*171770*/          OPC_EmitConvertToTarget, 3,
/*171772*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRWpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRWpost:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*171781*/        /*Scope*/ 36, /*->171818*/
/*171782*/          OPC_CheckPredicate, 15, // Predicate_itruncstore
/*171784*/          OPC_CheckPredicate, 20, // Predicate_post_truncst
/*171786*/          OPC_Scope, 14, /*->171802*/ // 2 children in Scope
/*171788*/            OPC_CheckPredicate, 6, // Predicate_post_truncsti8
/*171790*/            OPC_EmitMergeInputChains1_0,
/*171791*/            OPC_EmitConvertToTarget, 3,
/*171793*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBBpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti8>> - Complexity = 8
                      // Dst: (STRBBpost:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*171802*/          /*Scope*/ 14, /*->171817*/
/*171803*/            OPC_CheckPredicate, 16, // Predicate_post_truncsti16
/*171805*/            OPC_EmitMergeInputChains1_0,
/*171806*/            OPC_EmitConvertToTarget, 3,
/*171808*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHHpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti16>> - Complexity = 8
                      // Dst: (STRHHpost:{ *:[i64] } GPR32z:{ *:[i32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*171817*/          0, /*End of Scope*/
/*171818*/        0, /*End of Scope*/
/*171819*/      /*Scope*/ 96|128,1/*224*/, /*->172045*/
/*171821*/        OPC_CheckChild1Type, MVT::i64,
/*171823*/        OPC_RecordChild2, // #2 = $Rn
/*171824*/        OPC_RecordChild3, // #3 = $offset
/*171825*/        OPC_MoveChild3,
/*171826*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*171829*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*171831*/        OPC_CheckType, MVT::i64,
/*171833*/        OPC_MoveParent,
/*171834*/        OPC_CheckType, MVT::i64,
/*171836*/        OPC_Scope, 34, /*->171872*/ // 2 children in Scope
/*171838*/          OPC_CheckPredicate, 17, // Predicate_istore
/*171840*/          OPC_Scope, 14, /*->171856*/ // 2 children in Scope
/*171842*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*171844*/            OPC_EmitMergeInputChains1_0,
/*171845*/            OPC_EmitConvertToTarget, 3,
/*171847*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRXpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } GPR64z:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRXpre:{ *:[i64] } GPR64z:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*171856*/          /*Scope*/ 14, /*->171871*/
/*171857*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*171859*/            OPC_EmitMergeInputChains1_0,
/*171860*/            OPC_EmitConvertToTarget, 3,
/*171862*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRXpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } GPR64z:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRXpost:{ *:[i64] } GPR64z:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*171871*/          0, /*End of Scope*/
/*171872*/        /*Scope*/ 42|128,1/*170*/, /*->172044*/
/*171874*/          OPC_CheckPredicate, 15, // Predicate_itruncstore
/*171876*/          OPC_Scope, 82, /*->171960*/ // 2 children in Scope
/*171878*/            OPC_CheckPredicate, 22, // Predicate_pre_truncst
/*171880*/            OPC_Scope, 25, /*->171907*/ // 3 children in Scope
/*171882*/              OPC_CheckPredicate, 18, // Predicate_pre_truncsti32
/*171884*/              OPC_EmitMergeInputChains1_0,
/*171885*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*171888*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 4,  // Results = #5
/*171896*/              OPC_EmitConvertToTarget, 3,
/*171898*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRWpre), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 3/*#Ops*/, 5, 2, 6, 
                        // Src: (ist:{ *:[i64] } GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_itruncstore>><<P:Predicate_pre_truncst>><<P:Predicate_pre_truncsti32>> - Complexity = 8
                        // Dst: (STRWpre:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*171907*/            /*Scope*/ 25, /*->171933*/
/*171908*/              OPC_CheckPredicate, 16, // Predicate_pre_truncsti16
/*171910*/              OPC_EmitMergeInputChains1_0,
/*171911*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*171914*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 4,  // Results = #5
/*171922*/              OPC_EmitConvertToTarget, 3,
/*171924*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHHpre), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 3/*#Ops*/, 5, 2, 6, 
                        // Src: (ist:{ *:[i64] } GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_itruncstore>><<P:Predicate_pre_truncst>><<P:Predicate_pre_truncsti16>> - Complexity = 8
                        // Dst: (STRHHpre:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*171933*/            /*Scope*/ 25, /*->171959*/
/*171934*/              OPC_CheckPredicate, 6, // Predicate_pre_truncsti8
/*171936*/              OPC_EmitMergeInputChains1_0,
/*171937*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*171940*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 4,  // Results = #5
/*171948*/              OPC_EmitConvertToTarget, 3,
/*171950*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBBpre), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 3/*#Ops*/, 5, 2, 6, 
                        // Src: (ist:{ *:[i64] } GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_itruncstore>><<P:Predicate_pre_truncst>><<P:Predicate_pre_truncsti8>> - Complexity = 8
                        // Dst: (STRBBpre:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*171959*/            0, /*End of Scope*/
/*171960*/          /*Scope*/ 82, /*->172043*/
/*171961*/            OPC_CheckPredicate, 20, // Predicate_post_truncst
/*171963*/            OPC_Scope, 25, /*->171990*/ // 3 children in Scope
/*171965*/              OPC_CheckPredicate, 18, // Predicate_post_truncsti32
/*171967*/              OPC_EmitMergeInputChains1_0,
/*171968*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*171971*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 4,  // Results = #5
/*171979*/              OPC_EmitConvertToTarget, 3,
/*171981*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRWpost), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 3/*#Ops*/, 5, 2, 6, 
                        // Src: (ist:{ *:[i64] } GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti32>> - Complexity = 8
                        // Dst: (STRWpost:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*171990*/            /*Scope*/ 25, /*->172016*/
/*171991*/              OPC_CheckPredicate, 16, // Predicate_post_truncsti16
/*171993*/              OPC_EmitMergeInputChains1_0,
/*171994*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*171997*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 4,  // Results = #5
/*172005*/              OPC_EmitConvertToTarget, 3,
/*172007*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHHpost), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 3/*#Ops*/, 5, 2, 6, 
                        // Src: (ist:{ *:[i64] } GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti16>> - Complexity = 8
                        // Dst: (STRHHpost:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172016*/            /*Scope*/ 25, /*->172042*/
/*172017*/              OPC_CheckPredicate, 6, // Predicate_post_truncsti8
/*172019*/              OPC_EmitMergeInputChains1_0,
/*172020*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*172023*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 1, 4,  // Results = #5
/*172031*/              OPC_EmitConvertToTarget, 3,
/*172033*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBBpost), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 3/*#Ops*/, 5, 2, 6, 
                        // Src: (ist:{ *:[i64] } GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_itruncstore>><<P:Predicate_post_truncst>><<P:Predicate_post_truncsti8>> - Complexity = 8
                        // Dst: (STRBBpost:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rt, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172042*/            0, /*End of Scope*/
/*172043*/          0, /*End of Scope*/
/*172044*/        0, /*End of Scope*/
/*172045*/      /*Scope*/ 49, /*->172095*/
/*172046*/        OPC_CheckChild1Type, MVT::Untyped,
/*172048*/        OPC_RecordChild2, // #2 = $Rn
/*172049*/        OPC_RecordChild3, // #3 = $offset
/*172050*/        OPC_MoveChild3,
/*172051*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172054*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172056*/        OPC_CheckType, MVT::i64,
/*172058*/        OPC_MoveParent,
/*172059*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172061*/        OPC_CheckType, MVT::i64,
/*172063*/        OPC_Scope, 14, /*->172079*/ // 2 children in Scope
/*172065*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172067*/          OPC_EmitMergeInputChains1_0,
/*172068*/          OPC_EmitConvertToTarget, 3,
/*172070*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR8Op:{ *:[Untyped] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRBpre:{ *:[i64] } FPR8Op:{ *:[Untyped] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172079*/        /*Scope*/ 14, /*->172094*/
/*172080*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172082*/          OPC_EmitMergeInputChains1_0,
/*172083*/          OPC_EmitConvertToTarget, 3,
/*172085*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRBpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR8Op:{ *:[Untyped] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRBpost:{ *:[i64] } FPR8Op:{ *:[Untyped] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172094*/        0, /*End of Scope*/
/*172095*/      /*Scope*/ 49, /*->172145*/
/*172096*/        OPC_CheckChild1Type, MVT::f16,
/*172098*/        OPC_RecordChild2, // #2 = $Rn
/*172099*/        OPC_RecordChild3, // #3 = $offset
/*172100*/        OPC_MoveChild3,
/*172101*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172104*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172106*/        OPC_CheckType, MVT::i64,
/*172108*/        OPC_MoveParent,
/*172109*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172111*/        OPC_CheckType, MVT::i64,
/*172113*/        OPC_Scope, 14, /*->172129*/ // 2 children in Scope
/*172115*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172117*/          OPC_EmitMergeInputChains1_0,
/*172118*/          OPC_EmitConvertToTarget, 3,
/*172120*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR16Op:{ *:[f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRHpre:{ *:[i64] } FPR16Op:{ *:[f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172129*/        /*Scope*/ 14, /*->172144*/
/*172130*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172132*/          OPC_EmitMergeInputChains1_0,
/*172133*/          OPC_EmitConvertToTarget, 3,
/*172135*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRHpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR16Op:{ *:[f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRHpost:{ *:[i64] } FPR16Op:{ *:[f16] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172144*/        0, /*End of Scope*/
/*172145*/      /*Scope*/ 49, /*->172195*/
/*172146*/        OPC_CheckChild1Type, MVT::f32,
/*172148*/        OPC_RecordChild2, // #2 = $Rn
/*172149*/        OPC_RecordChild3, // #3 = $offset
/*172150*/        OPC_MoveChild3,
/*172151*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172154*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172156*/        OPC_CheckType, MVT::i64,
/*172158*/        OPC_MoveParent,
/*172159*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172161*/        OPC_CheckType, MVT::i64,
/*172163*/        OPC_Scope, 14, /*->172179*/ // 2 children in Scope
/*172165*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172167*/          OPC_EmitMergeInputChains1_0,
/*172168*/          OPC_EmitConvertToTarget, 3,
/*172170*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRSpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR32Op:{ *:[f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRSpre:{ *:[i64] } FPR32Op:{ *:[f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172179*/        /*Scope*/ 14, /*->172194*/
/*172180*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172182*/          OPC_EmitMergeInputChains1_0,
/*172183*/          OPC_EmitConvertToTarget, 3,
/*172185*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRSpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR32Op:{ *:[f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRSpost:{ *:[i64] } FPR32Op:{ *:[f32] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172194*/        0, /*End of Scope*/
/*172195*/      /*Scope*/ 49, /*->172245*/
/*172196*/        OPC_CheckChild1Type, MVT::f64,
/*172198*/        OPC_RecordChild2, // #2 = $Rn
/*172199*/        OPC_RecordChild3, // #3 = $offset
/*172200*/        OPC_MoveChild3,
/*172201*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172204*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172206*/        OPC_CheckType, MVT::i64,
/*172208*/        OPC_MoveParent,
/*172209*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172211*/        OPC_CheckType, MVT::i64,
/*172213*/        OPC_Scope, 14, /*->172229*/ // 2 children in Scope
/*172215*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172217*/          OPC_EmitMergeInputChains1_0,
/*172218*/          OPC_EmitConvertToTarget, 3,
/*172220*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR64Op:{ *:[f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRDpre:{ *:[i64] } FPR64Op:{ *:[f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172229*/        /*Scope*/ 14, /*->172244*/
/*172230*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172232*/          OPC_EmitMergeInputChains1_0,
/*172233*/          OPC_EmitConvertToTarget, 3,
/*172235*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR64Op:{ *:[f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRDpost:{ *:[i64] } FPR64Op:{ *:[f64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172244*/        0, /*End of Scope*/
/*172245*/      /*Scope*/ 49, /*->172295*/
/*172246*/        OPC_CheckChild1Type, MVT::f128,
/*172248*/        OPC_RecordChild2, // #2 = $Rn
/*172249*/        OPC_RecordChild3, // #3 = $offset
/*172250*/        OPC_MoveChild3,
/*172251*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172254*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172256*/        OPC_CheckType, MVT::i64,
/*172258*/        OPC_MoveParent,
/*172259*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172261*/        OPC_CheckType, MVT::i64,
/*172263*/        OPC_Scope, 14, /*->172279*/ // 2 children in Scope
/*172265*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172267*/          OPC_EmitMergeInputChains1_0,
/*172268*/          OPC_EmitConvertToTarget, 3,
/*172270*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR128Op:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRQpre:{ *:[i64] } FPR128Op:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172279*/        /*Scope*/ 14, /*->172294*/
/*172280*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172282*/          OPC_EmitMergeInputChains1_0,
/*172283*/          OPC_EmitConvertToTarget, 3,
/*172285*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR128Op:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRQpost:{ *:[i64] } FPR128Op:{ *:[f128] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*172294*/        0, /*End of Scope*/
/*172295*/      /*Scope*/ 67, /*->172363*/
/*172296*/        OPC_CheckChild1Type, MVT::v8i8,
/*172298*/        OPC_RecordChild2, // #2 = $addr
/*172299*/        OPC_Scope, 46, /*->172347*/ // 2 children in Scope
/*172301*/          OPC_RecordChild3, // #3 = $off
/*172302*/          OPC_MoveChild3,
/*172303*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172306*/          OPC_CheckPredicate, 21, // Predicate_simm9
/*172308*/          OPC_CheckType, MVT::i64,
/*172310*/          OPC_MoveParent,
/*172311*/          OPC_CheckPredicate, 17, // Predicate_istore
/*172313*/          OPC_CheckType, MVT::i64,
/*172315*/          OPC_Scope, 14, /*->172331*/ // 2 children in Scope
/*172317*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*172319*/            OPC_EmitMergeInputChains1_0,
/*172320*/            OPC_EmitConvertToTarget, 3,
/*172322*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR64:{ *:[v8i8] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRDpre:{ *:[i64] } FPR64:{ *:[v8i8] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172331*/          /*Scope*/ 14, /*->172346*/
/*172332*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*172334*/            OPC_EmitMergeInputChains1_0,
/*172335*/            OPC_EmitConvertToTarget, 3,
/*172337*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR64:{ *:[v8i8] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRDpost:{ *:[i64] } FPR64:{ *:[v8i8] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172346*/          0, /*End of Scope*/
/*172347*/        /*Scope*/ 14, /*->172362*/
/*172348*/          OPC_CheckChild2Type, MVT::i64,
/*172350*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*172352*/          OPC_CheckPredicate, 17, // Predicate_store
/*172354*/          OPC_EmitMergeInputChains1_0,
/*172355*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev8b), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 1, 2, 
                    // Src: (st v8i8:{ *:[v8i8] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
                    // Dst: (ST1Onev8b v8i8:{ *:[v8i8] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)
/*172362*/        0, /*End of Scope*/
/*172363*/      /*Scope*/ 67, /*->172431*/
/*172364*/        OPC_CheckChild1Type, MVT::v4i16,
/*172366*/        OPC_RecordChild2, // #2 = $addr
/*172367*/        OPC_Scope, 46, /*->172415*/ // 2 children in Scope
/*172369*/          OPC_RecordChild3, // #3 = $off
/*172370*/          OPC_MoveChild3,
/*172371*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172374*/          OPC_CheckPredicate, 21, // Predicate_simm9
/*172376*/          OPC_CheckType, MVT::i64,
/*172378*/          OPC_MoveParent,
/*172379*/          OPC_CheckPredicate, 17, // Predicate_istore
/*172381*/          OPC_CheckType, MVT::i64,
/*172383*/          OPC_Scope, 14, /*->172399*/ // 2 children in Scope
/*172385*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*172387*/            OPC_EmitMergeInputChains1_0,
/*172388*/            OPC_EmitConvertToTarget, 3,
/*172390*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR64:{ *:[v4i16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRDpre:{ *:[i64] } FPR64:{ *:[v4i16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172399*/          /*Scope*/ 14, /*->172414*/
/*172400*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*172402*/            OPC_EmitMergeInputChains1_0,
/*172403*/            OPC_EmitConvertToTarget, 3,
/*172405*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR64:{ *:[v4i16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRDpost:{ *:[i64] } FPR64:{ *:[v4i16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172414*/          0, /*End of Scope*/
/*172415*/        /*Scope*/ 14, /*->172430*/
/*172416*/          OPC_CheckChild2Type, MVT::i64,
/*172418*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*172420*/          OPC_CheckPredicate, 17, // Predicate_store
/*172422*/          OPC_EmitMergeInputChains1_0,
/*172423*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev4h), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 1, 2, 
                    // Src: (st v4i16:{ *:[v4i16] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
                    // Dst: (ST1Onev4h v4i16:{ *:[v4i16] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)
/*172430*/        0, /*End of Scope*/
/*172431*/      /*Scope*/ 67, /*->172499*/
/*172432*/        OPC_CheckChild1Type, MVT::v2i32,
/*172434*/        OPC_RecordChild2, // #2 = $addr
/*172435*/        OPC_Scope, 46, /*->172483*/ // 2 children in Scope
/*172437*/          OPC_RecordChild3, // #3 = $off
/*172438*/          OPC_MoveChild3,
/*172439*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172442*/          OPC_CheckPredicate, 21, // Predicate_simm9
/*172444*/          OPC_CheckType, MVT::i64,
/*172446*/          OPC_MoveParent,
/*172447*/          OPC_CheckPredicate, 17, // Predicate_istore
/*172449*/          OPC_CheckType, MVT::i64,
/*172451*/          OPC_Scope, 14, /*->172467*/ // 2 children in Scope
/*172453*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*172455*/            OPC_EmitMergeInputChains1_0,
/*172456*/            OPC_EmitConvertToTarget, 3,
/*172458*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR64:{ *:[v2i32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRDpre:{ *:[i64] } FPR64:{ *:[v2i32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172467*/          /*Scope*/ 14, /*->172482*/
/*172468*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*172470*/            OPC_EmitMergeInputChains1_0,
/*172471*/            OPC_EmitConvertToTarget, 3,
/*172473*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR64:{ *:[v2i32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRDpost:{ *:[i64] } FPR64:{ *:[v2i32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172482*/          0, /*End of Scope*/
/*172483*/        /*Scope*/ 14, /*->172498*/
/*172484*/          OPC_CheckChild2Type, MVT::i64,
/*172486*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*172488*/          OPC_CheckPredicate, 17, // Predicate_store
/*172490*/          OPC_EmitMergeInputChains1_0,
/*172491*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev2s), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 1, 2, 
                    // Src: (st v2i32:{ *:[v2i32] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
                    // Dst: (ST1Onev2s v2i32:{ *:[v2i32] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)
/*172498*/        0, /*End of Scope*/
/*172499*/      /*Scope*/ 49, /*->172549*/
/*172500*/        OPC_CheckChild1Type, MVT::v2f32,
/*172502*/        OPC_RecordChild2, // #2 = $addr
/*172503*/        OPC_RecordChild3, // #3 = $off
/*172504*/        OPC_MoveChild3,
/*172505*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172508*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172510*/        OPC_CheckType, MVT::i64,
/*172512*/        OPC_MoveParent,
/*172513*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172515*/        OPC_CheckType, MVT::i64,
/*172517*/        OPC_Scope, 14, /*->172533*/ // 2 children in Scope
/*172519*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172521*/          OPC_EmitMergeInputChains1_0,
/*172522*/          OPC_EmitConvertToTarget, 3,
/*172524*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR64:{ *:[v2f32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRDpre:{ *:[i64] } FPR64:{ *:[v2f32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172533*/        /*Scope*/ 14, /*->172548*/
/*172534*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172536*/          OPC_EmitMergeInputChains1_0,
/*172537*/          OPC_EmitConvertToTarget, 3,
/*172539*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR64:{ *:[v2f32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRDpost:{ *:[i64] } FPR64:{ *:[v2f32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172548*/        0, /*End of Scope*/
/*172549*/      /*Scope*/ 67, /*->172617*/
/*172550*/        OPC_CheckChild1Type, MVT::v1i64,
/*172552*/        OPC_RecordChild2, // #2 = $addr
/*172553*/        OPC_Scope, 46, /*->172601*/ // 2 children in Scope
/*172555*/          OPC_RecordChild3, // #3 = $off
/*172556*/          OPC_MoveChild3,
/*172557*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172560*/          OPC_CheckPredicate, 21, // Predicate_simm9
/*172562*/          OPC_CheckType, MVT::i64,
/*172564*/          OPC_MoveParent,
/*172565*/          OPC_CheckPredicate, 17, // Predicate_istore
/*172567*/          OPC_CheckType, MVT::i64,
/*172569*/          OPC_Scope, 14, /*->172585*/ // 2 children in Scope
/*172571*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*172573*/            OPC_EmitMergeInputChains1_0,
/*172574*/            OPC_EmitConvertToTarget, 3,
/*172576*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR64:{ *:[v1i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRDpre:{ *:[i64] } FPR64:{ *:[v1i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172585*/          /*Scope*/ 14, /*->172600*/
/*172586*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*172588*/            OPC_EmitMergeInputChains1_0,
/*172589*/            OPC_EmitConvertToTarget, 3,
/*172591*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR64:{ *:[v1i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRDpost:{ *:[i64] } FPR64:{ *:[v1i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172600*/          0, /*End of Scope*/
/*172601*/        /*Scope*/ 14, /*->172616*/
/*172602*/          OPC_CheckChild2Type, MVT::i64,
/*172604*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*172606*/          OPC_CheckPredicate, 17, // Predicate_store
/*172608*/          OPC_EmitMergeInputChains1_0,
/*172609*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev1d), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 1, 2, 
                    // Src: (st v1i64:{ *:[v1i64] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
                    // Dst: (ST1Onev1d v1i64:{ *:[v1i64] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)
/*172616*/        0, /*End of Scope*/
/*172617*/      /*Scope*/ 49, /*->172667*/
/*172618*/        OPC_CheckChild1Type, MVT::v1f64,
/*172620*/        OPC_RecordChild2, // #2 = $addr
/*172621*/        OPC_RecordChild3, // #3 = $off
/*172622*/        OPC_MoveChild3,
/*172623*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172626*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172628*/        OPC_CheckType, MVT::i64,
/*172630*/        OPC_MoveParent,
/*172631*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172633*/        OPC_CheckType, MVT::i64,
/*172635*/        OPC_Scope, 14, /*->172651*/ // 2 children in Scope
/*172637*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172639*/          OPC_EmitMergeInputChains1_0,
/*172640*/          OPC_EmitConvertToTarget, 3,
/*172642*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR64:{ *:[v1f64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRDpre:{ *:[i64] } FPR64:{ *:[v1f64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172651*/        /*Scope*/ 14, /*->172666*/
/*172652*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172654*/          OPC_EmitMergeInputChains1_0,
/*172655*/          OPC_EmitConvertToTarget, 3,
/*172657*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR64:{ *:[v1f64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRDpost:{ *:[i64] } FPR64:{ *:[v1f64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172666*/        0, /*End of Scope*/
/*172667*/      /*Scope*/ 49, /*->172717*/
/*172668*/        OPC_CheckChild1Type, MVT::v4f16,
/*172670*/        OPC_RecordChild2, // #2 = $addr
/*172671*/        OPC_RecordChild3, // #3 = $off
/*172672*/        OPC_MoveChild3,
/*172673*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172676*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172678*/        OPC_CheckType, MVT::i64,
/*172680*/        OPC_MoveParent,
/*172681*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172683*/        OPC_CheckType, MVT::i64,
/*172685*/        OPC_Scope, 14, /*->172701*/ // 2 children in Scope
/*172687*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172689*/          OPC_EmitMergeInputChains1_0,
/*172690*/          OPC_EmitConvertToTarget, 3,
/*172692*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR64:{ *:[v4f16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRDpre:{ *:[i64] } FPR64:{ *:[v4f16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172701*/        /*Scope*/ 14, /*->172716*/
/*172702*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172704*/          OPC_EmitMergeInputChains1_0,
/*172705*/          OPC_EmitConvertToTarget, 3,
/*172707*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRDpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR64:{ *:[v4f16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRDpost:{ *:[i64] } FPR64:{ *:[v4f16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172716*/        0, /*End of Scope*/
/*172717*/      /*Scope*/ 67, /*->172785*/
/*172718*/        OPC_CheckChild1Type, MVT::v16i8,
/*172720*/        OPC_RecordChild2, // #2 = $addr
/*172721*/        OPC_Scope, 46, /*->172769*/ // 2 children in Scope
/*172723*/          OPC_RecordChild3, // #3 = $off
/*172724*/          OPC_MoveChild3,
/*172725*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172728*/          OPC_CheckPredicate, 21, // Predicate_simm9
/*172730*/          OPC_CheckType, MVT::i64,
/*172732*/          OPC_MoveParent,
/*172733*/          OPC_CheckPredicate, 17, // Predicate_istore
/*172735*/          OPC_CheckType, MVT::i64,
/*172737*/          OPC_Scope, 14, /*->172753*/ // 2 children in Scope
/*172739*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*172741*/            OPC_EmitMergeInputChains1_0,
/*172742*/            OPC_EmitConvertToTarget, 3,
/*172744*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR128:{ *:[v16i8] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRQpre:{ *:[i64] } FPR128:{ *:[v16i8] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172753*/          /*Scope*/ 14, /*->172768*/
/*172754*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*172756*/            OPC_EmitMergeInputChains1_0,
/*172757*/            OPC_EmitConvertToTarget, 3,
/*172759*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR128:{ *:[v16i8] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRQpost:{ *:[i64] } FPR128:{ *:[v16i8] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172768*/          0, /*End of Scope*/
/*172769*/        /*Scope*/ 14, /*->172784*/
/*172770*/          OPC_CheckChild2Type, MVT::i64,
/*172772*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*172774*/          OPC_CheckPredicate, 17, // Predicate_store
/*172776*/          OPC_EmitMergeInputChains1_0,
/*172777*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev16b), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 1, 2, 
                    // Src: (st v16i8:{ *:[v16i8] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
                    // Dst: (ST1Onev16b v16i8:{ *:[v16i8] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)
/*172784*/        0, /*End of Scope*/
/*172785*/      /*Scope*/ 67, /*->172853*/
/*172786*/        OPC_CheckChild1Type, MVT::v8i16,
/*172788*/        OPC_RecordChild2, // #2 = $addr
/*172789*/        OPC_Scope, 46, /*->172837*/ // 2 children in Scope
/*172791*/          OPC_RecordChild3, // #3 = $off
/*172792*/          OPC_MoveChild3,
/*172793*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172796*/          OPC_CheckPredicate, 21, // Predicate_simm9
/*172798*/          OPC_CheckType, MVT::i64,
/*172800*/          OPC_MoveParent,
/*172801*/          OPC_CheckPredicate, 17, // Predicate_istore
/*172803*/          OPC_CheckType, MVT::i64,
/*172805*/          OPC_Scope, 14, /*->172821*/ // 2 children in Scope
/*172807*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*172809*/            OPC_EmitMergeInputChains1_0,
/*172810*/            OPC_EmitConvertToTarget, 3,
/*172812*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR128:{ *:[v8i16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRQpre:{ *:[i64] } FPR128:{ *:[v8i16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172821*/          /*Scope*/ 14, /*->172836*/
/*172822*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*172824*/            OPC_EmitMergeInputChains1_0,
/*172825*/            OPC_EmitConvertToTarget, 3,
/*172827*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR128:{ *:[v8i16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRQpost:{ *:[i64] } FPR128:{ *:[v8i16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172836*/          0, /*End of Scope*/
/*172837*/        /*Scope*/ 14, /*->172852*/
/*172838*/          OPC_CheckChild2Type, MVT::i64,
/*172840*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*172842*/          OPC_CheckPredicate, 17, // Predicate_store
/*172844*/          OPC_EmitMergeInputChains1_0,
/*172845*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev8h), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 1, 2, 
                    // Src: (st v8i16:{ *:[v8i16] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
                    // Dst: (ST1Onev8h v8i16:{ *:[v8i16] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)
/*172852*/        0, /*End of Scope*/
/*172853*/      /*Scope*/ 67, /*->172921*/
/*172854*/        OPC_CheckChild1Type, MVT::v4i32,
/*172856*/        OPC_RecordChild2, // #2 = $addr
/*172857*/        OPC_Scope, 46, /*->172905*/ // 2 children in Scope
/*172859*/          OPC_RecordChild3, // #3 = $off
/*172860*/          OPC_MoveChild3,
/*172861*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172864*/          OPC_CheckPredicate, 21, // Predicate_simm9
/*172866*/          OPC_CheckType, MVT::i64,
/*172868*/          OPC_MoveParent,
/*172869*/          OPC_CheckPredicate, 17, // Predicate_istore
/*172871*/          OPC_CheckType, MVT::i64,
/*172873*/          OPC_Scope, 14, /*->172889*/ // 2 children in Scope
/*172875*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*172877*/            OPC_EmitMergeInputChains1_0,
/*172878*/            OPC_EmitConvertToTarget, 3,
/*172880*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR128:{ *:[v4i32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRQpre:{ *:[i64] } FPR128:{ *:[v4i32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172889*/          /*Scope*/ 14, /*->172904*/
/*172890*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*172892*/            OPC_EmitMergeInputChains1_0,
/*172893*/            OPC_EmitConvertToTarget, 3,
/*172895*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR128:{ *:[v4i32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRQpost:{ *:[i64] } FPR128:{ *:[v4i32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172904*/          0, /*End of Scope*/
/*172905*/        /*Scope*/ 14, /*->172920*/
/*172906*/          OPC_CheckChild2Type, MVT::i64,
/*172908*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*172910*/          OPC_CheckPredicate, 17, // Predicate_store
/*172912*/          OPC_EmitMergeInputChains1_0,
/*172913*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev4s), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 1, 2, 
                    // Src: (st v4i32:{ *:[v4i32] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
                    // Dst: (ST1Onev4s v4i32:{ *:[v4i32] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)
/*172920*/        0, /*End of Scope*/
/*172921*/      /*Scope*/ 49, /*->172971*/
/*172922*/        OPC_CheckChild1Type, MVT::v4f32,
/*172924*/        OPC_RecordChild2, // #2 = $addr
/*172925*/        OPC_RecordChild3, // #3 = $off
/*172926*/        OPC_MoveChild3,
/*172927*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172930*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*172932*/        OPC_CheckType, MVT::i64,
/*172934*/        OPC_MoveParent,
/*172935*/        OPC_CheckPredicate, 17, // Predicate_istore
/*172937*/        OPC_CheckType, MVT::i64,
/*172939*/        OPC_Scope, 14, /*->172955*/ // 2 children in Scope
/*172941*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*172943*/          OPC_EmitMergeInputChains1_0,
/*172944*/          OPC_EmitConvertToTarget, 3,
/*172946*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR128:{ *:[v4f32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRQpre:{ *:[i64] } FPR128:{ *:[v4f32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172955*/        /*Scope*/ 14, /*->172970*/
/*172956*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*172958*/          OPC_EmitMergeInputChains1_0,
/*172959*/          OPC_EmitConvertToTarget, 3,
/*172961*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR128:{ *:[v4f32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRQpost:{ *:[i64] } FPR128:{ *:[v4f32] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*172970*/        0, /*End of Scope*/
/*172971*/      /*Scope*/ 67, /*->173039*/
/*172972*/        OPC_CheckChild1Type, MVT::v2i64,
/*172974*/        OPC_RecordChild2, // #2 = $addr
/*172975*/        OPC_Scope, 46, /*->173023*/ // 2 children in Scope
/*172977*/          OPC_RecordChild3, // #3 = $off
/*172978*/          OPC_MoveChild3,
/*172979*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*172982*/          OPC_CheckPredicate, 21, // Predicate_simm9
/*172984*/          OPC_CheckType, MVT::i64,
/*172986*/          OPC_MoveParent,
/*172987*/          OPC_CheckPredicate, 17, // Predicate_istore
/*172989*/          OPC_CheckType, MVT::i64,
/*172991*/          OPC_Scope, 14, /*->173007*/ // 2 children in Scope
/*172993*/            OPC_CheckPredicate, 22, // Predicate_pre_store
/*172995*/            OPC_EmitMergeInputChains1_0,
/*172996*/            OPC_EmitConvertToTarget, 3,
/*172998*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                      // Dst: (STRQpre:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*173007*/          /*Scope*/ 14, /*->173022*/
/*173008*/            OPC_CheckPredicate, 20, // Predicate_post_store
/*173010*/            OPC_EmitMergeInputChains1_0,
/*173011*/            OPC_EmitConvertToTarget, 3,
/*173013*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                      // Src: (ist:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                      // Dst: (STRQpost:{ *:[i64] } FPR128:{ *:[v2i64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*173022*/          0, /*End of Scope*/
/*173023*/        /*Scope*/ 14, /*->173038*/
/*173024*/          OPC_CheckChild2Type, MVT::i64,
/*173026*/          OPC_CheckPredicate, 14, // Predicate_unindexedstore
/*173028*/          OPC_CheckPredicate, 17, // Predicate_store
/*173030*/          OPC_EmitMergeInputChains1_0,
/*173031*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1Onev2d), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 1, 2, 
                    // Src: (st v2i64:{ *:[v2i64] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedstore>><<P:Predicate_store>> - Complexity = 4
                    // Dst: (ST1Onev2d v2i64:{ *:[v2i64] }:$Vt, GPR64sp:{ *:[i64] }:$Rn)
/*173038*/        0, /*End of Scope*/
/*173039*/      /*Scope*/ 49, /*->173089*/
/*173040*/        OPC_CheckChild1Type, MVT::v2f64,
/*173042*/        OPC_RecordChild2, // #2 = $addr
/*173043*/        OPC_RecordChild3, // #3 = $off
/*173044*/        OPC_MoveChild3,
/*173045*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173048*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*173050*/        OPC_CheckType, MVT::i64,
/*173052*/        OPC_MoveParent,
/*173053*/        OPC_CheckPredicate, 17, // Predicate_istore
/*173055*/        OPC_CheckType, MVT::i64,
/*173057*/        OPC_Scope, 14, /*->173073*/ // 2 children in Scope
/*173059*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*173061*/          OPC_EmitMergeInputChains1_0,
/*173062*/          OPC_EmitConvertToTarget, 3,
/*173064*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR128:{ *:[v2f64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRQpre:{ *:[i64] } FPR128:{ *:[v2f64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*173073*/        /*Scope*/ 14, /*->173088*/
/*173074*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*173076*/          OPC_EmitMergeInputChains1_0,
/*173077*/          OPC_EmitConvertToTarget, 3,
/*173079*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR128:{ *:[v2f64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRQpost:{ *:[i64] } FPR128:{ *:[v2f64] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*173088*/        0, /*End of Scope*/
/*173089*/      /*Scope*/ 49, /*->173139*/
/*173090*/        OPC_CheckChild1Type, MVT::v8f16,
/*173092*/        OPC_RecordChild2, // #2 = $addr
/*173093*/        OPC_RecordChild3, // #3 = $off
/*173094*/        OPC_MoveChild3,
/*173095*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173098*/        OPC_CheckPredicate, 21, // Predicate_simm9
/*173100*/        OPC_CheckType, MVT::i64,
/*173102*/        OPC_MoveParent,
/*173103*/        OPC_CheckPredicate, 17, // Predicate_istore
/*173105*/        OPC_CheckType, MVT::i64,
/*173107*/        OPC_Scope, 14, /*->173123*/ // 2 children in Scope
/*173109*/          OPC_CheckPredicate, 22, // Predicate_pre_store
/*173111*/          OPC_EmitMergeInputChains1_0,
/*173112*/          OPC_EmitConvertToTarget, 3,
/*173114*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpre), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR128:{ *:[v8f16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_pre_store>> - Complexity = 8
                    // Dst: (STRQpre:{ *:[i64] } FPR128:{ *:[v8f16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*173123*/        /*Scope*/ 14, /*->173138*/
/*173124*/          OPC_CheckPredicate, 20, // Predicate_post_store
/*173126*/          OPC_EmitMergeInputChains1_0,
/*173127*/          OPC_EmitConvertToTarget, 3,
/*173129*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STRQpost), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 3/*#Ops*/, 1, 2, 4, 
                    // Src: (ist:{ *:[i64] } FPR128:{ *:[v8f16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)<<P:Predicate_istore>><<P:Predicate_post_store>> - Complexity = 8
                    // Dst: (STRQpost:{ *:[i64] } FPR128:{ *:[v8f16] }:$Rt, GPR64sp:{ *:[i64] }:$addr, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$off)
/*173138*/        0, /*End of Scope*/
/*173139*/      0, /*End of Scope*/
/*173140*/    0, /*End of Scope*/
/*173141*/  /*SwitchOpcode*/ 33|128,47|128,2/*38817*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->211963
/*173146*/    OPC_Scope, 91|128,9/*1243*/, /*->174392*/ // 435 children in Scope
/*173149*/      OPC_CheckChild0Integer, 5|128,3/*389*/, 
/*173152*/      OPC_RecordChild1, // #0 = $Rd
/*173153*/      OPC_Scope, 112|128,2/*368*/, /*->173524*/ // 10 children in Scope
/*173156*/        OPC_CheckChild1Type, MVT::i32,
/*173158*/        OPC_Scope, 90|128,2/*346*/, /*->173507*/ // 2 children in Scope
/*173161*/          OPC_MoveChild2,
/*173162*/          OPC_SwitchOpcode /*2 cases */, 12|128,2/*268*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->173435
/*173167*/            OPC_MoveChild0,
/*173168*/            OPC_SwitchOpcode /*2 cases */, 95, TARGET_VAL(ISD::INSERT_SUBVECTOR),// ->173267
/*173172*/              OPC_MoveChild0,
/*173173*/              OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*173176*/              OPC_MoveParent,
/*173177*/              OPC_MoveChild1,
/*173178*/              OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*173181*/              OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*173184*/              OPC_RecordChild1, // #1 = $Rn
/*173185*/              OPC_CheckChild1Type, MVT::v2i32,
/*173187*/              OPC_MoveChild2,
/*173188*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*173191*/              OPC_RecordChild0, // #2 = $Rm
/*173192*/              OPC_CheckChild0Type, MVT::v4i32,
/*173194*/              OPC_RecordChild1, // #3 = $idx
/*173195*/              OPC_MoveChild1,
/*173196*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173199*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*173201*/              OPC_CheckType, MVT::i64,
/*173203*/              OPC_MoveParent,
/*173204*/              OPC_CheckType, MVT::v2i32,
/*173206*/              OPC_MoveParent,
/*173207*/              OPC_MoveParent,
/*173208*/              OPC_CheckChild2Integer, 0, 
/*173210*/              OPC_CheckChild2Type, MVT::i32,
/*173212*/              OPC_CheckType, MVT::v4i32,
/*173214*/              OPC_MoveParent,
/*173215*/              OPC_CheckChild1Integer, 0, 
/*173217*/              OPC_CheckChild1Type, MVT::i64,
/*173219*/              OPC_CheckType, MVT::i32,
/*173221*/              OPC_MoveParent,
/*173222*/              OPC_CheckType, MVT::i32,
/*173224*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*173226*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v2i32, 0/*#Ops*/,  // Results = #4
/*173232*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*173235*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::v2i32, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*173244*/              OPC_EmitConvertToTarget, 3,
/*173246*/              OPC_EmitNode1, TARGET_VAL(AArch64::SQRDMLAHv2i32_indexed), 0,
                            MVT::v2i32, 4/*#Ops*/, 6, 1, 2, 7,  // Results = #8
/*173256*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*173259*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 8, 9, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 389:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rd, (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v4i32] } (undef:{ *:[v4i32] }), (intrinsic_wo_chain:{ *:[v2i32] } 394:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), 0:{ *:[i32] }), 0:{ *:[i64] })) - Complexity = 42
                        // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQRDMLAHv2i32_indexed:{ *:[v2i32] } (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), FPR32Op:{ *:[i32] }:$Rd, ssub:{ *:[i32] }), V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), ssub:{ *:[i32] })
/*173267*/            /*SwitchOpcode*/ 35|128,1/*163*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->173434
/*173271*/              OPC_Scope, 78, /*->173351*/ // 2 children in Scope
/*173273*/                OPC_CheckChild0Integer, 7|128,3/*391*/, 
/*173276*/                OPC_RecordChild1, // #1 = $Rn
/*173277*/                OPC_CheckChild1Type, MVT::v4i16,
/*173279*/                OPC_MoveChild2,
/*173280*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*173283*/                OPC_RecordChild0, // #2 = $Rm
/*173284*/                OPC_CheckChild0Type, MVT::v8i16,
/*173286*/                OPC_RecordChild1, // #3 = $idx
/*173287*/                OPC_MoveChild1,
/*173288*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173291*/                OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*173293*/                OPC_CheckType, MVT::i64,
/*173295*/                OPC_MoveParent,
/*173296*/                OPC_CheckType, MVT::v4i16,
/*173298*/                OPC_MoveParent,
/*173299*/                OPC_CheckType, MVT::v4i32,
/*173301*/                OPC_MoveParent,
/*173302*/                OPC_CheckChild1Integer, 0, 
/*173304*/                OPC_CheckChild1Type, MVT::i64,
/*173306*/                OPC_CheckType, MVT::i32,
/*173308*/                OPC_MoveParent,
/*173309*/                OPC_CheckType, MVT::i32,
/*173311*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173313*/                OPC_EmitInteger, MVT::i32, 0, 
/*173316*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*173319*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                              MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*173328*/                OPC_EmitConvertToTarget, 3,
/*173330*/                OPC_EmitNode1, TARGET_VAL(AArch64::SQDMLALv4i16_indexed), 0,
                              MVT::f128, 4/*#Ops*/, 6, 1, 2, 7,  // Results = #8
/*173340*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*173343*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                              MVT::i32, 2/*#Ops*/, 8, 9, 
                          // Src: (intrinsic_wo_chain:{ *:[i32] } 389:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rd, (vector_extract:{ *:[i32] } (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)), 0:{ *:[i64] })) - Complexity = 31
                          // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDMLALv4i16_indexed:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[i32] }:$Rd, ssub:{ *:[i32] }), V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), ssub:{ *:[i32] })
/*173351*/              /*Scope*/ 81, /*->173433*/
/*173352*/                OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*173355*/                OPC_RecordChild1, // #1 = $Rn
/*173356*/                OPC_CheckChild1Type, MVT::v4i32,
/*173358*/                OPC_MoveChild2,
/*173359*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*173362*/                OPC_RecordChild0, // #2 = $Rm
/*173363*/                OPC_CheckChild0Type, MVT::v4i32,
/*173365*/                OPC_RecordChild1, // #3 = $idx
/*173366*/                OPC_MoveChild1,
/*173367*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173370*/                OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*173372*/                OPC_CheckType, MVT::i64,
/*173374*/                OPC_MoveParent,
/*173375*/                OPC_CheckType, MVT::v4i32,
/*173377*/                OPC_MoveParent,
/*173378*/                OPC_CheckType, MVT::v4i32,
/*173380*/                OPC_MoveParent,
/*173381*/                OPC_CheckChild1Integer, 0, 
/*173383*/                OPC_CheckChild1Type, MVT::i64,
/*173385*/                OPC_CheckType, MVT::i32,
/*173387*/                OPC_MoveParent,
/*173388*/                OPC_CheckType, MVT::i32,
/*173390*/                OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*173392*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v4i32, 0/*#Ops*/,  // Results = #4
/*173398*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*173401*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::v4i32, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*173410*/                OPC_EmitConvertToTarget, 3,
/*173412*/                OPC_EmitNode1, TARGET_VAL(AArch64::SQRDMLAHv4i32_indexed), 0,
                              MVT::v4i32, 4/*#Ops*/, 6, 1, 2, 7,  // Results = #8
/*173422*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*173425*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                              MVT::i32, 2/*#Ops*/, 8, 9, 
                          // Src: (intrinsic_wo_chain:{ *:[i32] } 389:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rd, (vector_extract:{ *:[i32] } (intrinsic_wo_chain:{ *:[v4i32] } 394:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), 0:{ *:[i64] })) - Complexity = 31
                          // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQRDMLAHv4i32_indexed:{ *:[v4i32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32Op:{ *:[i32] }:$Rd, ssub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), ssub:{ *:[i32] })
/*173433*/              0, /*End of Scope*/
/*173434*/            0, // EndSwitchOpcode
/*173435*/          /*SwitchOpcode*/ 68, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->173506
/*173438*/            OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*173441*/            OPC_RecordChild1, // #1 = $Rn
/*173442*/            OPC_CheckChild1Type, MVT::i32,
/*173444*/            OPC_Scope, 39, /*->173485*/ // 2 children in Scope
/*173446*/              OPC_MoveChild2,
/*173447*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*173450*/              OPC_RecordChild0, // #2 = $Rm
/*173451*/              OPC_CheckChild0Type, MVT::v4i32,
/*173453*/              OPC_RecordChild1, // #3 = $idx
/*173454*/              OPC_MoveChild1,
/*173455*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173458*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*173460*/              OPC_CheckType, MVT::i64,
/*173462*/              OPC_MoveParent,
/*173463*/              OPC_CheckType, MVT::i32,
/*173465*/              OPC_MoveParent,
/*173466*/              OPC_CheckType, MVT::i32,
/*173468*/              OPC_MoveParent,
/*173469*/              OPC_CheckType, MVT::i32,
/*173471*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*173473*/              OPC_EmitConvertToTarget, 3,
/*173475*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHi32_indexed), 0,
                            MVT::i32, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 389:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rd, (intrinsic_wo_chain:{ *:[i32] } 394:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rn, (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                        // Dst: (SQRDMLAHi32_indexed:{ *:[i32] } FPR32Op:{ *:[i32] }:$Rd, FPR32Op:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*173485*/            /*Scope*/ 19, /*->173505*/
/*173486*/              OPC_RecordChild2, // #2 = $Rm
/*173487*/              OPC_CheckChild2Type, MVT::i32,
/*173489*/              OPC_CheckType, MVT::i32,
/*173491*/              OPC_MoveParent,
/*173492*/              OPC_CheckType, MVT::i32,
/*173494*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasRDM())
/*173496*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv1i32), 0,
                            MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 389:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rd, (intrinsic_wo_chain:{ *:[i32] } 394:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)) - Complexity = 16
                        // Dst: (SQRDMLAHv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rd, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*173505*/            0, /*End of Scope*/
/*173506*/          0, // EndSwitchOpcode
/*173507*/        /*Scope*/ 15, /*->173523*/
/*173508*/          OPC_RecordChild2, // #1 = $Rm
/*173509*/          OPC_CheckChild2Type, MVT::i32,
/*173511*/          OPC_CheckType, MVT::i32,
/*173513*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173515*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv1i32), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 389:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                    // Dst: (SQADDv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*173523*/        0, /*End of Scope*/
/*173524*/      /*Scope*/ 81, /*->173606*/
/*173525*/        OPC_CheckChild1Type, MVT::i64,
/*173527*/        OPC_Scope, 60, /*->173589*/ // 2 children in Scope
/*173529*/          OPC_MoveChild2,
/*173530*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*173533*/          OPC_CheckChild0Integer, 8|128,3/*392*/, 
/*173536*/          OPC_RecordChild1, // #1 = $Rn
/*173537*/          OPC_Scope, 35, /*->173574*/ // 2 children in Scope
/*173539*/            OPC_MoveChild2,
/*173540*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*173543*/            OPC_RecordChild0, // #2 = $Rm
/*173544*/            OPC_CheckChild0Type, MVT::v4i32,
/*173546*/            OPC_RecordChild1, // #3 = $idx
/*173547*/            OPC_MoveChild1,
/*173548*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173551*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*173553*/            OPC_CheckType, MVT::i64,
/*173555*/            OPC_MoveParent,
/*173556*/            OPC_MoveParent,
/*173557*/            OPC_MoveParent,
/*173558*/            OPC_CheckType, MVT::i64,
/*173560*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173562*/            OPC_EmitConvertToTarget, 3,
/*173564*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv1i64_indexed), 0,
                          MVT::i64, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 389:{ *:[iPTR] }, FPR64Op:{ *:[i64] }:$Rd, (intrinsic_wo_chain:{ *:[i64] } 392:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rn, (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                      // Dst: (SQDMLALv1i64_indexed:{ *:[i64] } FPR64Op:{ *:[i64] }:$Rd, FPR32Op:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*173574*/          /*Scope*/ 13, /*->173588*/
/*173575*/            OPC_RecordChild2, // #2 = $Rm
/*173576*/            OPC_MoveParent,
/*173577*/            OPC_CheckType, MVT::i64,
/*173579*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALi32), 0,
                          MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 389:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rd, (intrinsic_wo_chain:{ *:[i64] } 392:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)) - Complexity = 16
                      // Dst: (SQDMLALi32:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*173588*/          0, /*End of Scope*/
/*173589*/        /*Scope*/ 15, /*->173605*/
/*173590*/          OPC_RecordChild2, // #1 = $Rm
/*173591*/          OPC_CheckChild2Type, MVT::i64,
/*173593*/          OPC_CheckType, MVT::i64,
/*173595*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173597*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv1i64), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 389:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                    // Dst: (SQADDv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*173605*/        0, /*End of Scope*/
/*173606*/      /*Scope*/ 3|128,2/*259*/, /*->173867*/
/*173608*/        OPC_CheckChild1Type, MVT::v4i32,
/*173610*/        OPC_Scope, 109|128,1/*237*/, /*->173850*/ // 2 children in Scope
/*173613*/          OPC_MoveChild2,
/*173614*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*173617*/          OPC_Scope, 32|128,1/*160*/, /*->173780*/ // 2 children in Scope
/*173620*/            OPC_CheckChild0Integer, 7|128,3/*391*/, 
/*173623*/            OPC_Scope, 88, /*->173713*/ // 2 children in Scope
/*173625*/              OPC_MoveChild1,
/*173626*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*173629*/              OPC_RecordChild0, // #1 = $Rn
/*173630*/              OPC_CheckChild1Integer, 4, 
/*173632*/              OPC_CheckChild1Type, MVT::i64,
/*173634*/              OPC_CheckType, MVT::v4i16,
/*173636*/              OPC_MoveParent,
/*173637*/              OPC_MoveChild2,
/*173638*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*173641*/              OPC_Scope, 44, /*->173687*/ // 2 children in Scope
/*173643*/                OPC_MoveChild0,
/*173644*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*173647*/                OPC_RecordChild0, // #2 = $Rm
/*173648*/                OPC_CheckChild0Type, MVT::v8i16,
/*173650*/                OPC_RecordChild1, // #3 = $idx
/*173651*/                OPC_MoveChild1,
/*173652*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173655*/                OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*173657*/                OPC_CheckType, MVT::i64,
/*173659*/                OPC_MoveParent,
/*173660*/                OPC_MoveParent,
/*173661*/                OPC_CheckChild1Integer, 4, 
/*173663*/                OPC_CheckChild1Type, MVT::i64,
/*173665*/                OPC_CheckType, MVT::v4i16,
/*173667*/                OPC_MoveParent,
/*173668*/                OPC_CheckType, MVT::v4i32,
/*173670*/                OPC_MoveParent,
/*173671*/                OPC_CheckType, MVT::v4i32,
/*173673*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173675*/                OPC_EmitConvertToTarget, 3,
/*173677*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv8i16_indexed), 0,
                              MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                          // Src: (intrinsic_wo_chain:{ *:[v4i32] } 389:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] }))) - Complexity = 39
                          // Dst: (SQDMLALv8i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*173687*/              /*Scope*/ 24, /*->173712*/
/*173688*/                OPC_RecordChild0, // #2 = $Rm
/*173689*/                OPC_CheckChild1Integer, 4, 
/*173691*/                OPC_CheckChild1Type, MVT::i64,
/*173693*/                OPC_CheckType, MVT::v4i16,
/*173695*/                OPC_MoveParent,
/*173696*/                OPC_CheckType, MVT::v4i32,
/*173698*/                OPC_MoveParent,
/*173699*/                OPC_CheckType, MVT::v4i32,
/*173701*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173703*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv8i16_v4i32), 0,
                              MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                          // Src: (intrinsic_wo_chain:{ *:[v4i32] } 389:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 32
                          // Dst: (SQDMLALv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*173712*/              0, /*End of Scope*/
/*173713*/            /*Scope*/ 65, /*->173779*/
/*173714*/              OPC_RecordChild1, // #1 = $Rn
/*173715*/              OPC_CheckChild1Type, MVT::v4i16,
/*173717*/              OPC_Scope, 39, /*->173758*/ // 2 children in Scope
/*173719*/                OPC_MoveChild2,
/*173720*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*173723*/                OPC_RecordChild0, // #2 = $Rm
/*173724*/                OPC_CheckChild0Type, MVT::v8i16,
/*173726*/                OPC_RecordChild1, // #3 = $idx
/*173727*/                OPC_MoveChild1,
/*173728*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173731*/                OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*173733*/                OPC_CheckType, MVT::i64,
/*173735*/                OPC_MoveParent,
/*173736*/                OPC_CheckType, MVT::v4i16,
/*173738*/                OPC_MoveParent,
/*173739*/                OPC_CheckType, MVT::v4i32,
/*173741*/                OPC_MoveParent,
/*173742*/                OPC_CheckType, MVT::v4i32,
/*173744*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173746*/                OPC_EmitConvertToTarget, 3,
/*173748*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv4i16_indexed), 0,
                              MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                          // Src: (intrinsic_wo_chain:{ *:[v4i32] } 389:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 23
                          // Dst: (SQDMLALv4i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*173758*/              /*Scope*/ 19, /*->173778*/
/*173759*/                OPC_RecordChild2, // #2 = $Rm
/*173760*/                OPC_CheckChild2Type, MVT::v4i16,
/*173762*/                OPC_CheckType, MVT::v4i32,
/*173764*/                OPC_MoveParent,
/*173765*/                OPC_CheckType, MVT::v4i32,
/*173767*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173769*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv4i16_v4i32), 0,
                              MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                          // Src: (intrinsic_wo_chain:{ *:[v4i32] } 389:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 16
                          // Dst: (SQDMLALv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*173778*/              0, /*End of Scope*/
/*173779*/            0, /*End of Scope*/
/*173780*/          /*Scope*/ 68, /*->173849*/
/*173781*/            OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*173784*/            OPC_RecordChild1, // #1 = $Rn
/*173785*/            OPC_CheckChild1Type, MVT::v4i32,
/*173787*/            OPC_Scope, 39, /*->173828*/ // 2 children in Scope
/*173789*/              OPC_MoveChild2,
/*173790*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*173793*/              OPC_RecordChild0, // #2 = $Rm
/*173794*/              OPC_CheckChild0Type, MVT::v4i32,
/*173796*/              OPC_RecordChild1, // #3 = $idx
/*173797*/              OPC_MoveChild1,
/*173798*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173801*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*173803*/              OPC_CheckType, MVT::i64,
/*173805*/              OPC_MoveParent,
/*173806*/              OPC_CheckType, MVT::v4i32,
/*173808*/              OPC_MoveParent,
/*173809*/              OPC_CheckType, MVT::v4i32,
/*173811*/              OPC_MoveParent,
/*173812*/              OPC_CheckType, MVT::v4i32,
/*173814*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*173816*/              OPC_EmitConvertToTarget, 3,
/*173818*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv4i32_indexed), 0,
                            MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (intrinsic_wo_chain:{ *:[v4i32] } 389:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 394:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                        // Dst: (SQRDMLAHv4i32_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*173828*/            /*Scope*/ 19, /*->173848*/
/*173829*/              OPC_RecordChild2, // #2 = $Rm
/*173830*/              OPC_CheckChild2Type, MVT::v4i32,
/*173832*/              OPC_CheckType, MVT::v4i32,
/*173834*/              OPC_MoveParent,
/*173835*/              OPC_CheckType, MVT::v4i32,
/*173837*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*173839*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv4i32), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[v4i32] } 389:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 394:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)) - Complexity = 16
                        // Dst: (SQRDMLAHv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*173848*/            0, /*End of Scope*/
/*173849*/          0, /*End of Scope*/
/*173850*/        /*Scope*/ 15, /*->173866*/
/*173851*/          OPC_RecordChild2, // #1 = $Rm
/*173852*/          OPC_CheckChild2Type, MVT::v4i32,
/*173854*/          OPC_CheckType, MVT::v4i32,
/*173856*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173858*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 389:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                    // Dst: (SQADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*173866*/        0, /*End of Scope*/
/*173867*/      /*Scope*/ 58|128,1/*186*/, /*->174055*/
/*173869*/        OPC_CheckChild1Type, MVT::v2i64,
/*173871*/        OPC_Scope, 36|128,1/*164*/, /*->174038*/ // 2 children in Scope
/*173874*/          OPC_MoveChild2,
/*173875*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*173878*/          OPC_CheckChild0Integer, 7|128,3/*391*/, 
/*173881*/          OPC_Scope, 88, /*->173971*/ // 2 children in Scope
/*173883*/            OPC_MoveChild1,
/*173884*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*173887*/            OPC_RecordChild0, // #1 = $Rn
/*173888*/            OPC_CheckChild1Integer, 2, 
/*173890*/            OPC_CheckChild1Type, MVT::i64,
/*173892*/            OPC_CheckType, MVT::v2i32,
/*173894*/            OPC_MoveParent,
/*173895*/            OPC_MoveChild2,
/*173896*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*173899*/            OPC_Scope, 44, /*->173945*/ // 2 children in Scope
/*173901*/              OPC_MoveChild0,
/*173902*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*173905*/              OPC_RecordChild0, // #2 = $Rm
/*173906*/              OPC_CheckChild0Type, MVT::v4i32,
/*173908*/              OPC_RecordChild1, // #3 = $idx
/*173909*/              OPC_MoveChild1,
/*173910*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173913*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*173915*/              OPC_CheckType, MVT::i64,
/*173917*/              OPC_MoveParent,
/*173918*/              OPC_MoveParent,
/*173919*/              OPC_CheckChild1Integer, 2, 
/*173921*/              OPC_CheckChild1Type, MVT::i64,
/*173923*/              OPC_CheckType, MVT::v2i32,
/*173925*/              OPC_MoveParent,
/*173926*/              OPC_CheckType, MVT::v2i64,
/*173928*/              OPC_MoveParent,
/*173929*/              OPC_CheckType, MVT::v2i64,
/*173931*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173933*/              OPC_EmitConvertToTarget, 3,
/*173935*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv4i32_indexed), 0,
                            MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (intrinsic_wo_chain:{ *:[v2i64] } 389:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] }))) - Complexity = 39
                        // Dst: (SQDMLALv4i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*173945*/            /*Scope*/ 24, /*->173970*/
/*173946*/              OPC_RecordChild0, // #2 = $Rm
/*173947*/              OPC_CheckChild1Integer, 2, 
/*173949*/              OPC_CheckChild1Type, MVT::i64,
/*173951*/              OPC_CheckType, MVT::v2i32,
/*173953*/              OPC_MoveParent,
/*173954*/              OPC_CheckType, MVT::v2i64,
/*173956*/              OPC_MoveParent,
/*173957*/              OPC_CheckType, MVT::v2i64,
/*173959*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*173961*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv4i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[v2i64] } 389:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 32
                        // Dst: (SQDMLALv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*173970*/            0, /*End of Scope*/
/*173971*/          /*Scope*/ 65, /*->174037*/
/*173972*/            OPC_RecordChild1, // #1 = $Rn
/*173973*/            OPC_CheckChild1Type, MVT::v2i32,
/*173975*/            OPC_Scope, 39, /*->174016*/ // 2 children in Scope
/*173977*/              OPC_MoveChild2,
/*173978*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*173981*/              OPC_RecordChild0, // #2 = $Rm
/*173982*/              OPC_CheckChild0Type, MVT::v4i32,
/*173984*/              OPC_RecordChild1, // #3 = $idx
/*173985*/              OPC_MoveChild1,
/*173986*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*173989*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*173991*/              OPC_CheckType, MVT::i64,
/*173993*/              OPC_MoveParent,
/*173994*/              OPC_CheckType, MVT::v2i32,
/*173996*/              OPC_MoveParent,
/*173997*/              OPC_CheckType, MVT::v2i64,
/*173999*/              OPC_MoveParent,
/*174000*/              OPC_CheckType, MVT::v2i64,
/*174002*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174004*/              OPC_EmitConvertToTarget, 3,
/*174006*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv2i32_indexed), 0,
                            MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (intrinsic_wo_chain:{ *:[v2i64] } 389:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                        // Dst: (SQDMLALv2i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*174016*/            /*Scope*/ 19, /*->174036*/
/*174017*/              OPC_RecordChild2, // #2 = $Rm
/*174018*/              OPC_CheckChild2Type, MVT::v2i32,
/*174020*/              OPC_CheckType, MVT::v2i64,
/*174022*/              OPC_MoveParent,
/*174023*/              OPC_CheckType, MVT::v2i64,
/*174025*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174027*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLALv2i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[v2i64] } 389:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 16
                        // Dst: (SQDMLALv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*174036*/            0, /*End of Scope*/
/*174037*/          0, /*End of Scope*/
/*174038*/        /*Scope*/ 15, /*->174054*/
/*174039*/          OPC_RecordChild2, // #1 = $Rm
/*174040*/          OPC_CheckChild2Type, MVT::v2i64,
/*174042*/          OPC_CheckType, MVT::v2i64,
/*174044*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174046*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i64] } 389:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                    // Dst: (SQADDv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*174054*/        0, /*End of Scope*/
/*174055*/      /*Scope*/ 93, /*->174149*/
/*174056*/        OPC_CheckChild1Type, MVT::v4i16,
/*174058*/        OPC_Scope, 72, /*->174132*/ // 2 children in Scope
/*174060*/          OPC_MoveChild2,
/*174061*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*174064*/          OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*174067*/          OPC_RecordChild1, // #1 = $Rn
/*174068*/          OPC_CheckChild1Type, MVT::v4i16,
/*174070*/          OPC_Scope, 39, /*->174111*/ // 2 children in Scope
/*174072*/            OPC_MoveChild2,
/*174073*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*174076*/            OPC_RecordChild0, // #2 = $Rm
/*174077*/            OPC_CheckChild0Type, MVT::v8i16,
/*174079*/            OPC_RecordChild1, // #3 = $idx
/*174080*/            OPC_MoveChild1,
/*174081*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174084*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*174086*/            OPC_CheckType, MVT::i64,
/*174088*/            OPC_MoveParent,
/*174089*/            OPC_CheckType, MVT::v4i16,
/*174091*/            OPC_MoveParent,
/*174092*/            OPC_CheckType, MVT::v4i16,
/*174094*/            OPC_MoveParent,
/*174095*/            OPC_CheckType, MVT::v4i16,
/*174097*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174099*/            OPC_EmitConvertToTarget, 3,
/*174101*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv4i16_indexed), 0,
                          MVT::v4i16, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i16] } 389:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 394:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 23
                      // Dst: (SQRDMLAHv4i16_indexed:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*174111*/          /*Scope*/ 19, /*->174131*/
/*174112*/            OPC_RecordChild2, // #2 = $Rm
/*174113*/            OPC_CheckChild2Type, MVT::v4i16,
/*174115*/            OPC_CheckType, MVT::v4i16,
/*174117*/            OPC_MoveParent,
/*174118*/            OPC_CheckType, MVT::v4i16,
/*174120*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174122*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv4i16), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i16] } 389:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 394:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 16
                      // Dst: (SQRDMLAHv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*174131*/          0, /*End of Scope*/
/*174132*/        /*Scope*/ 15, /*->174148*/
/*174133*/          OPC_RecordChild2, // #1 = $Rm
/*174134*/          OPC_CheckChild2Type, MVT::v4i16,
/*174136*/          OPC_CheckType, MVT::v4i16,
/*174138*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174140*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i16] } 389:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                    // Dst: (SQADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*174148*/        0, /*End of Scope*/
/*174149*/      /*Scope*/ 93, /*->174243*/
/*174150*/        OPC_CheckChild1Type, MVT::v8i16,
/*174152*/        OPC_Scope, 72, /*->174226*/ // 2 children in Scope
/*174154*/          OPC_MoveChild2,
/*174155*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*174158*/          OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*174161*/          OPC_RecordChild1, // #1 = $Rn
/*174162*/          OPC_CheckChild1Type, MVT::v8i16,
/*174164*/          OPC_Scope, 39, /*->174205*/ // 2 children in Scope
/*174166*/            OPC_MoveChild2,
/*174167*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*174170*/            OPC_RecordChild0, // #2 = $Rm
/*174171*/            OPC_CheckChild0Type, MVT::v8i16,
/*174173*/            OPC_RecordChild1, // #3 = $idx
/*174174*/            OPC_MoveChild1,
/*174175*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174178*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*174180*/            OPC_CheckType, MVT::i64,
/*174182*/            OPC_MoveParent,
/*174183*/            OPC_CheckType, MVT::v8i16,
/*174185*/            OPC_MoveParent,
/*174186*/            OPC_CheckType, MVT::v8i16,
/*174188*/            OPC_MoveParent,
/*174189*/            OPC_CheckType, MVT::v8i16,
/*174191*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174193*/            OPC_EmitConvertToTarget, 3,
/*174195*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv8i16_indexed), 0,
                          MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[v8i16] } 389:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 394:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 23
                      // Dst: (SQRDMLAHv8i16_indexed:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*174205*/          /*Scope*/ 19, /*->174225*/
/*174206*/            OPC_RecordChild2, // #2 = $Rm
/*174207*/            OPC_CheckChild2Type, MVT::v8i16,
/*174209*/            OPC_CheckType, MVT::v8i16,
/*174211*/            OPC_MoveParent,
/*174212*/            OPC_CheckType, MVT::v8i16,
/*174214*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174216*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[v8i16] } 389:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 394:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)) - Complexity = 16
                      // Dst: (SQRDMLAHv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*174225*/          0, /*End of Scope*/
/*174226*/        /*Scope*/ 15, /*->174242*/
/*174227*/          OPC_RecordChild2, // #1 = $Rm
/*174228*/          OPC_CheckChild2Type, MVT::v8i16,
/*174230*/          OPC_CheckType, MVT::v8i16,
/*174232*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174234*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 389:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                    // Dst: (SQADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*174242*/        0, /*End of Scope*/
/*174243*/      /*Scope*/ 93, /*->174337*/
/*174244*/        OPC_CheckChild1Type, MVT::v2i32,
/*174246*/        OPC_Scope, 72, /*->174320*/ // 2 children in Scope
/*174248*/          OPC_MoveChild2,
/*174249*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*174252*/          OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*174255*/          OPC_RecordChild1, // #1 = $Rn
/*174256*/          OPC_CheckChild1Type, MVT::v2i32,
/*174258*/          OPC_Scope, 39, /*->174299*/ // 2 children in Scope
/*174260*/            OPC_MoveChild2,
/*174261*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*174264*/            OPC_RecordChild0, // #2 = $Rm
/*174265*/            OPC_CheckChild0Type, MVT::v4i32,
/*174267*/            OPC_RecordChild1, // #3 = $idx
/*174268*/            OPC_MoveChild1,
/*174269*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174272*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*174274*/            OPC_CheckType, MVT::i64,
/*174276*/            OPC_MoveParent,
/*174277*/            OPC_CheckType, MVT::v2i32,
/*174279*/            OPC_MoveParent,
/*174280*/            OPC_CheckType, MVT::v2i32,
/*174282*/            OPC_MoveParent,
/*174283*/            OPC_CheckType, MVT::v2i32,
/*174285*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174287*/            OPC_EmitConvertToTarget, 3,
/*174289*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv2i32_indexed), 0,
                          MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i32] } 389:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 394:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                      // Dst: (SQRDMLAHv2i32_indexed:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*174299*/          /*Scope*/ 19, /*->174319*/
/*174300*/            OPC_RecordChild2, // #2 = $Rm
/*174301*/            OPC_CheckChild2Type, MVT::v2i32,
/*174303*/            OPC_CheckType, MVT::v2i32,
/*174305*/            OPC_MoveParent,
/*174306*/            OPC_CheckType, MVT::v2i32,
/*174308*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174310*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLAHv2i32), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i32] } 389:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 394:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 16
                      // Dst: (SQRDMLAHv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*174319*/          0, /*End of Scope*/
/*174320*/        /*Scope*/ 15, /*->174336*/
/*174321*/          OPC_RecordChild2, // #1 = $Rm
/*174322*/          OPC_CheckChild2Type, MVT::v2i32,
/*174324*/          OPC_CheckType, MVT::v2i32,
/*174326*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174328*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 389:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                    // Dst: (SQADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*174336*/        0, /*End of Scope*/
/*174337*/      /*Scope*/ 17, /*->174355*/
/*174338*/        OPC_CheckChild1Type, MVT::v8i8,
/*174340*/        OPC_RecordChild2, // #1 = $Rm
/*174341*/        OPC_CheckChild2Type, MVT::v8i8,
/*174343*/        OPC_CheckType, MVT::v8i8,
/*174345*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174347*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 389:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SQADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*174355*/      /*Scope*/ 17, /*->174373*/
/*174356*/        OPC_CheckChild1Type, MVT::v16i8,
/*174358*/        OPC_RecordChild2, // #1 = $Rm
/*174359*/        OPC_CheckChild2Type, MVT::v16i8,
/*174361*/        OPC_CheckType, MVT::v16i8,
/*174363*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174365*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 389:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SQADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*174373*/      /*Scope*/ 17, /*->174391*/
/*174374*/        OPC_CheckChild1Type, MVT::v1i64,
/*174376*/        OPC_RecordChild2, // #1 = $Rm
/*174377*/        OPC_CheckChild2Type, MVT::v1i64,
/*174379*/        OPC_CheckType, MVT::v1i64,
/*174381*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174383*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 389:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (SQADDv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*174391*/      0, /*End of Scope*/
/*174392*/    /*Scope*/ 91|128,9/*1243*/, /*->175637*/
/*174394*/      OPC_CheckChild0Integer, 18|128,3/*402*/, 
/*174397*/      OPC_RecordChild1, // #0 = $Rd
/*174398*/      OPC_Scope, 112|128,2/*368*/, /*->174769*/ // 10 children in Scope
/*174401*/        OPC_CheckChild1Type, MVT::i32,
/*174403*/        OPC_Scope, 90|128,2/*346*/, /*->174752*/ // 2 children in Scope
/*174406*/          OPC_MoveChild2,
/*174407*/          OPC_SwitchOpcode /*2 cases */, 12|128,2/*268*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->174680
/*174412*/            OPC_MoveChild0,
/*174413*/            OPC_SwitchOpcode /*2 cases */, 95, TARGET_VAL(ISD::INSERT_SUBVECTOR),// ->174512
/*174417*/              OPC_MoveChild0,
/*174418*/              OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*174421*/              OPC_MoveParent,
/*174422*/              OPC_MoveChild1,
/*174423*/              OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*174426*/              OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*174429*/              OPC_RecordChild1, // #1 = $Rn
/*174430*/              OPC_CheckChild1Type, MVT::v2i32,
/*174432*/              OPC_MoveChild2,
/*174433*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*174436*/              OPC_RecordChild0, // #2 = $Rm
/*174437*/              OPC_CheckChild0Type, MVT::v4i32,
/*174439*/              OPC_RecordChild1, // #3 = $idx
/*174440*/              OPC_MoveChild1,
/*174441*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174444*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*174446*/              OPC_CheckType, MVT::i64,
/*174448*/              OPC_MoveParent,
/*174449*/              OPC_CheckType, MVT::v2i32,
/*174451*/              OPC_MoveParent,
/*174452*/              OPC_MoveParent,
/*174453*/              OPC_CheckChild2Integer, 0, 
/*174455*/              OPC_CheckChild2Type, MVT::i32,
/*174457*/              OPC_CheckType, MVT::v4i32,
/*174459*/              OPC_MoveParent,
/*174460*/              OPC_CheckChild1Integer, 0, 
/*174462*/              OPC_CheckChild1Type, MVT::i64,
/*174464*/              OPC_CheckType, MVT::i32,
/*174466*/              OPC_MoveParent,
/*174467*/              OPC_CheckType, MVT::i32,
/*174469*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174471*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v2i32, 0/*#Ops*/,  // Results = #4
/*174477*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*174480*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::v2i32, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*174489*/              OPC_EmitConvertToTarget, 3,
/*174491*/              OPC_EmitNode1, TARGET_VAL(AArch64::SQRDMLSHv2i32_indexed), 0,
                            MVT::v2i32, 4/*#Ops*/, 6, 1, 2, 7,  // Results = #8
/*174501*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*174504*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::i32, 2/*#Ops*/, 8, 9, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 402:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rd, (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v4i32] } (undef:{ *:[v4i32] }), (intrinsic_wo_chain:{ *:[v2i32] } 394:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), 0:{ *:[i32] }), 0:{ *:[i64] })) - Complexity = 42
                        // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQRDMLSHv2i32_indexed:{ *:[v2i32] } (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), FPR32Op:{ *:[i32] }:$Rd, ssub:{ *:[i32] }), V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), ssub:{ *:[i32] })
/*174512*/            /*SwitchOpcode*/ 35|128,1/*163*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->174679
/*174516*/              OPC_Scope, 78, /*->174596*/ // 2 children in Scope
/*174518*/                OPC_CheckChild0Integer, 7|128,3/*391*/, 
/*174521*/                OPC_RecordChild1, // #1 = $Rn
/*174522*/                OPC_CheckChild1Type, MVT::v4i16,
/*174524*/                OPC_MoveChild2,
/*174525*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*174528*/                OPC_RecordChild0, // #2 = $Rm
/*174529*/                OPC_CheckChild0Type, MVT::v8i16,
/*174531*/                OPC_RecordChild1, // #3 = $idx
/*174532*/                OPC_MoveChild1,
/*174533*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174536*/                OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*174538*/                OPC_CheckType, MVT::i64,
/*174540*/                OPC_MoveParent,
/*174541*/                OPC_CheckType, MVT::v4i16,
/*174543*/                OPC_MoveParent,
/*174544*/                OPC_CheckType, MVT::v4i32,
/*174546*/                OPC_MoveParent,
/*174547*/                OPC_CheckChild1Integer, 0, 
/*174549*/                OPC_CheckChild1Type, MVT::i64,
/*174551*/                OPC_CheckType, MVT::i32,
/*174553*/                OPC_MoveParent,
/*174554*/                OPC_CheckType, MVT::i32,
/*174556*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174558*/                OPC_EmitInteger, MVT::i32, 0, 
/*174561*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*174564*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                              MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*174573*/                OPC_EmitConvertToTarget, 3,
/*174575*/                OPC_EmitNode1, TARGET_VAL(AArch64::SQDMLSLv4i16_indexed), 0,
                              MVT::f128, 4/*#Ops*/, 6, 1, 2, 7,  // Results = #8
/*174585*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*174588*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                              MVT::i32, 2/*#Ops*/, 8, 9, 
                          // Src: (intrinsic_wo_chain:{ *:[i32] } 402:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rd, (vector_extract:{ *:[i32] } (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)), 0:{ *:[i64] })) - Complexity = 31
                          // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDMLSLv4i16_indexed:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[i32] }:$Rd, ssub:{ *:[i32] }), V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), ssub:{ *:[i32] })
/*174596*/              /*Scope*/ 81, /*->174678*/
/*174597*/                OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*174600*/                OPC_RecordChild1, // #1 = $Rn
/*174601*/                OPC_CheckChild1Type, MVT::v4i32,
/*174603*/                OPC_MoveChild2,
/*174604*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*174607*/                OPC_RecordChild0, // #2 = $Rm
/*174608*/                OPC_CheckChild0Type, MVT::v4i32,
/*174610*/                OPC_RecordChild1, // #3 = $idx
/*174611*/                OPC_MoveChild1,
/*174612*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174615*/                OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*174617*/                OPC_CheckType, MVT::i64,
/*174619*/                OPC_MoveParent,
/*174620*/                OPC_CheckType, MVT::v4i32,
/*174622*/                OPC_MoveParent,
/*174623*/                OPC_CheckType, MVT::v4i32,
/*174625*/                OPC_MoveParent,
/*174626*/                OPC_CheckChild1Integer, 0, 
/*174628*/                OPC_CheckChild1Type, MVT::i64,
/*174630*/                OPC_CheckType, MVT::i32,
/*174632*/                OPC_MoveParent,
/*174633*/                OPC_CheckType, MVT::i32,
/*174635*/                OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174637*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v4i32, 0/*#Ops*/,  // Results = #4
/*174643*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*174646*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::v4i32, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*174655*/                OPC_EmitConvertToTarget, 3,
/*174657*/                OPC_EmitNode1, TARGET_VAL(AArch64::SQRDMLSHv4i32_indexed), 0,
                              MVT::v4i32, 4/*#Ops*/, 6, 1, 2, 7,  // Results = #8
/*174667*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*174670*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                              MVT::i32, 2/*#Ops*/, 8, 9, 
                          // Src: (intrinsic_wo_chain:{ *:[i32] } 402:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rd, (vector_extract:{ *:[i32] } (intrinsic_wo_chain:{ *:[v4i32] } 394:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), 0:{ *:[i64] })) - Complexity = 31
                          // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQRDMLSHv4i32_indexed:{ *:[v4i32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32Op:{ *:[i32] }:$Rd, ssub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), ssub:{ *:[i32] })
/*174678*/              0, /*End of Scope*/
/*174679*/            0, // EndSwitchOpcode
/*174680*/          /*SwitchOpcode*/ 68, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->174751
/*174683*/            OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*174686*/            OPC_RecordChild1, // #1 = $Rn
/*174687*/            OPC_CheckChild1Type, MVT::i32,
/*174689*/            OPC_Scope, 39, /*->174730*/ // 2 children in Scope
/*174691*/              OPC_MoveChild2,
/*174692*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*174695*/              OPC_RecordChild0, // #2 = $Rm
/*174696*/              OPC_CheckChild0Type, MVT::v4i32,
/*174698*/              OPC_RecordChild1, // #3 = $idx
/*174699*/              OPC_MoveChild1,
/*174700*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174703*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*174705*/              OPC_CheckType, MVT::i64,
/*174707*/              OPC_MoveParent,
/*174708*/              OPC_CheckType, MVT::i32,
/*174710*/              OPC_MoveParent,
/*174711*/              OPC_CheckType, MVT::i32,
/*174713*/              OPC_MoveParent,
/*174714*/              OPC_CheckType, MVT::i32,
/*174716*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*174718*/              OPC_EmitConvertToTarget, 3,
/*174720*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHi32_indexed), 0,
                            MVT::i32, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 402:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rd, (intrinsic_wo_chain:{ *:[i32] } 394:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rn, (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                        // Dst: (SQRDMLSHi32_indexed:{ *:[i32] } FPR32Op:{ *:[i32] }:$Rd, FPR32Op:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*174730*/            /*Scope*/ 19, /*->174750*/
/*174731*/              OPC_RecordChild2, // #2 = $Rm
/*174732*/              OPC_CheckChild2Type, MVT::i32,
/*174734*/              OPC_CheckType, MVT::i32,
/*174736*/              OPC_MoveParent,
/*174737*/              OPC_CheckType, MVT::i32,
/*174739*/              OPC_CheckPatternPredicate, 7, // (Subtarget->hasRDM())
/*174741*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv1i32), 0,
                            MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 402:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rd, (intrinsic_wo_chain:{ *:[i32] } 394:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)) - Complexity = 16
                        // Dst: (SQRDMLSHv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rd, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*174750*/            0, /*End of Scope*/
/*174751*/          0, // EndSwitchOpcode
/*174752*/        /*Scope*/ 15, /*->174768*/
/*174753*/          OPC_RecordChild2, // #1 = $Rm
/*174754*/          OPC_CheckChild2Type, MVT::i32,
/*174756*/          OPC_CheckType, MVT::i32,
/*174758*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174760*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv1i32), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 402:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                    // Dst: (SQSUBv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*174768*/        0, /*End of Scope*/
/*174769*/      /*Scope*/ 81, /*->174851*/
/*174770*/        OPC_CheckChild1Type, MVT::i64,
/*174772*/        OPC_Scope, 60, /*->174834*/ // 2 children in Scope
/*174774*/          OPC_MoveChild2,
/*174775*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*174778*/          OPC_CheckChild0Integer, 8|128,3/*392*/, 
/*174781*/          OPC_RecordChild1, // #1 = $Rn
/*174782*/          OPC_Scope, 35, /*->174819*/ // 2 children in Scope
/*174784*/            OPC_MoveChild2,
/*174785*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*174788*/            OPC_RecordChild0, // #2 = $Rm
/*174789*/            OPC_CheckChild0Type, MVT::v4i32,
/*174791*/            OPC_RecordChild1, // #3 = $idx
/*174792*/            OPC_MoveChild1,
/*174793*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174796*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*174798*/            OPC_CheckType, MVT::i64,
/*174800*/            OPC_MoveParent,
/*174801*/            OPC_MoveParent,
/*174802*/            OPC_MoveParent,
/*174803*/            OPC_CheckType, MVT::i64,
/*174805*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174807*/            OPC_EmitConvertToTarget, 3,
/*174809*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv1i64_indexed), 0,
                          MVT::i64, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 402:{ *:[iPTR] }, FPR64Op:{ *:[i64] }:$Rd, (intrinsic_wo_chain:{ *:[i64] } 392:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rn, (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                      // Dst: (SQDMLSLv1i64_indexed:{ *:[i64] } FPR64Op:{ *:[i64] }:$Rd, FPR32Op:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*174819*/          /*Scope*/ 13, /*->174833*/
/*174820*/            OPC_RecordChild2, // #2 = $Rm
/*174821*/            OPC_MoveParent,
/*174822*/            OPC_CheckType, MVT::i64,
/*174824*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLi32), 0,
                          MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 402:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rd, (intrinsic_wo_chain:{ *:[i64] } 392:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)) - Complexity = 16
                      // Dst: (SQDMLSLi32:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*174833*/          0, /*End of Scope*/
/*174834*/        /*Scope*/ 15, /*->174850*/
/*174835*/          OPC_RecordChild2, // #1 = $Rm
/*174836*/          OPC_CheckChild2Type, MVT::i64,
/*174838*/          OPC_CheckType, MVT::i64,
/*174840*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174842*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv1i64), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 402:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                    // Dst: (SQSUBv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*174850*/        0, /*End of Scope*/
/*174851*/      /*Scope*/ 3|128,2/*259*/, /*->175112*/
/*174853*/        OPC_CheckChild1Type, MVT::v4i32,
/*174855*/        OPC_Scope, 109|128,1/*237*/, /*->175095*/ // 2 children in Scope
/*174858*/          OPC_MoveChild2,
/*174859*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*174862*/          OPC_Scope, 32|128,1/*160*/, /*->175025*/ // 2 children in Scope
/*174865*/            OPC_CheckChild0Integer, 7|128,3/*391*/, 
/*174868*/            OPC_Scope, 88, /*->174958*/ // 2 children in Scope
/*174870*/              OPC_MoveChild1,
/*174871*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*174874*/              OPC_RecordChild0, // #1 = $Rn
/*174875*/              OPC_CheckChild1Integer, 4, 
/*174877*/              OPC_CheckChild1Type, MVT::i64,
/*174879*/              OPC_CheckType, MVT::v4i16,
/*174881*/              OPC_MoveParent,
/*174882*/              OPC_MoveChild2,
/*174883*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*174886*/              OPC_Scope, 44, /*->174932*/ // 2 children in Scope
/*174888*/                OPC_MoveChild0,
/*174889*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*174892*/                OPC_RecordChild0, // #2 = $Rm
/*174893*/                OPC_CheckChild0Type, MVT::v8i16,
/*174895*/                OPC_RecordChild1, // #3 = $idx
/*174896*/                OPC_MoveChild1,
/*174897*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174900*/                OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*174902*/                OPC_CheckType, MVT::i64,
/*174904*/                OPC_MoveParent,
/*174905*/                OPC_MoveParent,
/*174906*/                OPC_CheckChild1Integer, 4, 
/*174908*/                OPC_CheckChild1Type, MVT::i64,
/*174910*/                OPC_CheckType, MVT::v4i16,
/*174912*/                OPC_MoveParent,
/*174913*/                OPC_CheckType, MVT::v4i32,
/*174915*/                OPC_MoveParent,
/*174916*/                OPC_CheckType, MVT::v4i32,
/*174918*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174920*/                OPC_EmitConvertToTarget, 3,
/*174922*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv8i16_indexed), 0,
                              MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                          // Src: (intrinsic_wo_chain:{ *:[v4i32] } 402:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] }))) - Complexity = 39
                          // Dst: (SQDMLSLv8i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*174932*/              /*Scope*/ 24, /*->174957*/
/*174933*/                OPC_RecordChild0, // #2 = $Rm
/*174934*/                OPC_CheckChild1Integer, 4, 
/*174936*/                OPC_CheckChild1Type, MVT::i64,
/*174938*/                OPC_CheckType, MVT::v4i16,
/*174940*/                OPC_MoveParent,
/*174941*/                OPC_CheckType, MVT::v4i32,
/*174943*/                OPC_MoveParent,
/*174944*/                OPC_CheckType, MVT::v4i32,
/*174946*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174948*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv8i16_v4i32), 0,
                              MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                          // Src: (intrinsic_wo_chain:{ *:[v4i32] } 402:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 32
                          // Dst: (SQDMLSLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*174957*/              0, /*End of Scope*/
/*174958*/            /*Scope*/ 65, /*->175024*/
/*174959*/              OPC_RecordChild1, // #1 = $Rn
/*174960*/              OPC_CheckChild1Type, MVT::v4i16,
/*174962*/              OPC_Scope, 39, /*->175003*/ // 2 children in Scope
/*174964*/                OPC_MoveChild2,
/*174965*/                OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*174968*/                OPC_RecordChild0, // #2 = $Rm
/*174969*/                OPC_CheckChild0Type, MVT::v8i16,
/*174971*/                OPC_RecordChild1, // #3 = $idx
/*174972*/                OPC_MoveChild1,
/*174973*/                OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*174976*/                OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*174978*/                OPC_CheckType, MVT::i64,
/*174980*/                OPC_MoveParent,
/*174981*/                OPC_CheckType, MVT::v4i16,
/*174983*/                OPC_MoveParent,
/*174984*/                OPC_CheckType, MVT::v4i32,
/*174986*/                OPC_MoveParent,
/*174987*/                OPC_CheckType, MVT::v4i32,
/*174989*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*174991*/                OPC_EmitConvertToTarget, 3,
/*174993*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv4i16_indexed), 0,
                              MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                          // Src: (intrinsic_wo_chain:{ *:[v4i32] } 402:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 23
                          // Dst: (SQDMLSLv4i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*175003*/              /*Scope*/ 19, /*->175023*/
/*175004*/                OPC_RecordChild2, // #2 = $Rm
/*175005*/                OPC_CheckChild2Type, MVT::v4i16,
/*175007*/                OPC_CheckType, MVT::v4i32,
/*175009*/                OPC_MoveParent,
/*175010*/                OPC_CheckType, MVT::v4i32,
/*175012*/                OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175014*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv4i16_v4i32), 0,
                              MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                          // Src: (intrinsic_wo_chain:{ *:[v4i32] } 402:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 16
                          // Dst: (SQDMLSLv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*175023*/              0, /*End of Scope*/
/*175024*/            0, /*End of Scope*/
/*175025*/          /*Scope*/ 68, /*->175094*/
/*175026*/            OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*175029*/            OPC_RecordChild1, // #1 = $Rn
/*175030*/            OPC_CheckChild1Type, MVT::v4i32,
/*175032*/            OPC_Scope, 39, /*->175073*/ // 2 children in Scope
/*175034*/              OPC_MoveChild2,
/*175035*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*175038*/              OPC_RecordChild0, // #2 = $Rm
/*175039*/              OPC_CheckChild0Type, MVT::v4i32,
/*175041*/              OPC_RecordChild1, // #3 = $idx
/*175042*/              OPC_MoveChild1,
/*175043*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*175046*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*175048*/              OPC_CheckType, MVT::i64,
/*175050*/              OPC_MoveParent,
/*175051*/              OPC_CheckType, MVT::v4i32,
/*175053*/              OPC_MoveParent,
/*175054*/              OPC_CheckType, MVT::v4i32,
/*175056*/              OPC_MoveParent,
/*175057*/              OPC_CheckType, MVT::v4i32,
/*175059*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*175061*/              OPC_EmitConvertToTarget, 3,
/*175063*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv4i32_indexed), 0,
                            MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (intrinsic_wo_chain:{ *:[v4i32] } 402:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 394:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                        // Dst: (SQRDMLSHv4i32_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*175073*/            /*Scope*/ 19, /*->175093*/
/*175074*/              OPC_RecordChild2, // #2 = $Rm
/*175075*/              OPC_CheckChild2Type, MVT::v4i32,
/*175077*/              OPC_CheckType, MVT::v4i32,
/*175079*/              OPC_MoveParent,
/*175080*/              OPC_CheckType, MVT::v4i32,
/*175082*/              OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*175084*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv4i32), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[v4i32] } 402:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 394:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)) - Complexity = 16
                        // Dst: (SQRDMLSHv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*175093*/            0, /*End of Scope*/
/*175094*/          0, /*End of Scope*/
/*175095*/        /*Scope*/ 15, /*->175111*/
/*175096*/          OPC_RecordChild2, // #1 = $Rm
/*175097*/          OPC_CheckChild2Type, MVT::v4i32,
/*175099*/          OPC_CheckType, MVT::v4i32,
/*175101*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175103*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 402:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                    // Dst: (SQSUBv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*175111*/        0, /*End of Scope*/
/*175112*/      /*Scope*/ 58|128,1/*186*/, /*->175300*/
/*175114*/        OPC_CheckChild1Type, MVT::v2i64,
/*175116*/        OPC_Scope, 36|128,1/*164*/, /*->175283*/ // 2 children in Scope
/*175119*/          OPC_MoveChild2,
/*175120*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*175123*/          OPC_CheckChild0Integer, 7|128,3/*391*/, 
/*175126*/          OPC_Scope, 88, /*->175216*/ // 2 children in Scope
/*175128*/            OPC_MoveChild1,
/*175129*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*175132*/            OPC_RecordChild0, // #1 = $Rn
/*175133*/            OPC_CheckChild1Integer, 2, 
/*175135*/            OPC_CheckChild1Type, MVT::i64,
/*175137*/            OPC_CheckType, MVT::v2i32,
/*175139*/            OPC_MoveParent,
/*175140*/            OPC_MoveChild2,
/*175141*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*175144*/            OPC_Scope, 44, /*->175190*/ // 2 children in Scope
/*175146*/              OPC_MoveChild0,
/*175147*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*175150*/              OPC_RecordChild0, // #2 = $Rm
/*175151*/              OPC_CheckChild0Type, MVT::v4i32,
/*175153*/              OPC_RecordChild1, // #3 = $idx
/*175154*/              OPC_MoveChild1,
/*175155*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*175158*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*175160*/              OPC_CheckType, MVT::i64,
/*175162*/              OPC_MoveParent,
/*175163*/              OPC_MoveParent,
/*175164*/              OPC_CheckChild1Integer, 2, 
/*175166*/              OPC_CheckChild1Type, MVT::i64,
/*175168*/              OPC_CheckType, MVT::v2i32,
/*175170*/              OPC_MoveParent,
/*175171*/              OPC_CheckType, MVT::v2i64,
/*175173*/              OPC_MoveParent,
/*175174*/              OPC_CheckType, MVT::v2i64,
/*175176*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175178*/              OPC_EmitConvertToTarget, 3,
/*175180*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv4i32_indexed), 0,
                            MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (intrinsic_wo_chain:{ *:[v2i64] } 402:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] }))) - Complexity = 39
                        // Dst: (SQDMLSLv4i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*175190*/            /*Scope*/ 24, /*->175215*/
/*175191*/              OPC_RecordChild0, // #2 = $Rm
/*175192*/              OPC_CheckChild1Integer, 2, 
/*175194*/              OPC_CheckChild1Type, MVT::i64,
/*175196*/              OPC_CheckType, MVT::v2i32,
/*175198*/              OPC_MoveParent,
/*175199*/              OPC_CheckType, MVT::v2i64,
/*175201*/              OPC_MoveParent,
/*175202*/              OPC_CheckType, MVT::v2i64,
/*175204*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175206*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv4i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[v2i64] } 402:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 32
                        // Dst: (SQDMLSLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*175215*/            0, /*End of Scope*/
/*175216*/          /*Scope*/ 65, /*->175282*/
/*175217*/            OPC_RecordChild1, // #1 = $Rn
/*175218*/            OPC_CheckChild1Type, MVT::v2i32,
/*175220*/            OPC_Scope, 39, /*->175261*/ // 2 children in Scope
/*175222*/              OPC_MoveChild2,
/*175223*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*175226*/              OPC_RecordChild0, // #2 = $Rm
/*175227*/              OPC_CheckChild0Type, MVT::v4i32,
/*175229*/              OPC_RecordChild1, // #3 = $idx
/*175230*/              OPC_MoveChild1,
/*175231*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*175234*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*175236*/              OPC_CheckType, MVT::i64,
/*175238*/              OPC_MoveParent,
/*175239*/              OPC_CheckType, MVT::v2i32,
/*175241*/              OPC_MoveParent,
/*175242*/              OPC_CheckType, MVT::v2i64,
/*175244*/              OPC_MoveParent,
/*175245*/              OPC_CheckType, MVT::v2i64,
/*175247*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175249*/              OPC_EmitConvertToTarget, 3,
/*175251*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv2i32_indexed), 0,
                            MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (intrinsic_wo_chain:{ *:[v2i64] } 402:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                        // Dst: (SQDMLSLv2i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*175261*/            /*Scope*/ 19, /*->175281*/
/*175262*/              OPC_RecordChild2, // #2 = $Rm
/*175263*/              OPC_CheckChild2Type, MVT::v2i32,
/*175265*/              OPC_CheckType, MVT::v2i64,
/*175267*/              OPC_MoveParent,
/*175268*/              OPC_CheckType, MVT::v2i64,
/*175270*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175272*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMLSLv2i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[v2i64] } 402:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 16
                        // Dst: (SQDMLSLv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*175281*/            0, /*End of Scope*/
/*175282*/          0, /*End of Scope*/
/*175283*/        /*Scope*/ 15, /*->175299*/
/*175284*/          OPC_RecordChild2, // #1 = $Rm
/*175285*/          OPC_CheckChild2Type, MVT::v2i64,
/*175287*/          OPC_CheckType, MVT::v2i64,
/*175289*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175291*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i64] } 402:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                    // Dst: (SQSUBv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*175299*/        0, /*End of Scope*/
/*175300*/      /*Scope*/ 93, /*->175394*/
/*175301*/        OPC_CheckChild1Type, MVT::v4i16,
/*175303*/        OPC_Scope, 72, /*->175377*/ // 2 children in Scope
/*175305*/          OPC_MoveChild2,
/*175306*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*175309*/          OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*175312*/          OPC_RecordChild1, // #1 = $Rn
/*175313*/          OPC_CheckChild1Type, MVT::v4i16,
/*175315*/          OPC_Scope, 39, /*->175356*/ // 2 children in Scope
/*175317*/            OPC_MoveChild2,
/*175318*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*175321*/            OPC_RecordChild0, // #2 = $Rm
/*175322*/            OPC_CheckChild0Type, MVT::v8i16,
/*175324*/            OPC_RecordChild1, // #3 = $idx
/*175325*/            OPC_MoveChild1,
/*175326*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*175329*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*175331*/            OPC_CheckType, MVT::i64,
/*175333*/            OPC_MoveParent,
/*175334*/            OPC_CheckType, MVT::v4i16,
/*175336*/            OPC_MoveParent,
/*175337*/            OPC_CheckType, MVT::v4i16,
/*175339*/            OPC_MoveParent,
/*175340*/            OPC_CheckType, MVT::v4i16,
/*175342*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*175344*/            OPC_EmitConvertToTarget, 3,
/*175346*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv4i16_indexed), 0,
                          MVT::v4i16, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i16] } 402:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 394:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 23
                      // Dst: (SQRDMLSHv4i16_indexed:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*175356*/          /*Scope*/ 19, /*->175376*/
/*175357*/            OPC_RecordChild2, // #2 = $Rm
/*175358*/            OPC_CheckChild2Type, MVT::v4i16,
/*175360*/            OPC_CheckType, MVT::v4i16,
/*175362*/            OPC_MoveParent,
/*175363*/            OPC_CheckType, MVT::v4i16,
/*175365*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*175367*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv4i16), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i16] } 402:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 394:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 16
                      // Dst: (SQRDMLSHv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*175376*/          0, /*End of Scope*/
/*175377*/        /*Scope*/ 15, /*->175393*/
/*175378*/          OPC_RecordChild2, // #1 = $Rm
/*175379*/          OPC_CheckChild2Type, MVT::v4i16,
/*175381*/          OPC_CheckType, MVT::v4i16,
/*175383*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175385*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i16] } 402:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                    // Dst: (SQSUBv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*175393*/        0, /*End of Scope*/
/*175394*/      /*Scope*/ 93, /*->175488*/
/*175395*/        OPC_CheckChild1Type, MVT::v8i16,
/*175397*/        OPC_Scope, 72, /*->175471*/ // 2 children in Scope
/*175399*/          OPC_MoveChild2,
/*175400*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*175403*/          OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*175406*/          OPC_RecordChild1, // #1 = $Rn
/*175407*/          OPC_CheckChild1Type, MVT::v8i16,
/*175409*/          OPC_Scope, 39, /*->175450*/ // 2 children in Scope
/*175411*/            OPC_MoveChild2,
/*175412*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*175415*/            OPC_RecordChild0, // #2 = $Rm
/*175416*/            OPC_CheckChild0Type, MVT::v8i16,
/*175418*/            OPC_RecordChild1, // #3 = $idx
/*175419*/            OPC_MoveChild1,
/*175420*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*175423*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*175425*/            OPC_CheckType, MVT::i64,
/*175427*/            OPC_MoveParent,
/*175428*/            OPC_CheckType, MVT::v8i16,
/*175430*/            OPC_MoveParent,
/*175431*/            OPC_CheckType, MVT::v8i16,
/*175433*/            OPC_MoveParent,
/*175434*/            OPC_CheckType, MVT::v8i16,
/*175436*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*175438*/            OPC_EmitConvertToTarget, 3,
/*175440*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv8i16_indexed), 0,
                          MVT::v8i16, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[v8i16] } 402:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 394:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 23
                      // Dst: (SQRDMLSHv8i16_indexed:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*175450*/          /*Scope*/ 19, /*->175470*/
/*175451*/            OPC_RecordChild2, // #2 = $Rm
/*175452*/            OPC_CheckChild2Type, MVT::v8i16,
/*175454*/            OPC_CheckType, MVT::v8i16,
/*175456*/            OPC_MoveParent,
/*175457*/            OPC_CheckType, MVT::v8i16,
/*175459*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*175461*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[v8i16] } 402:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 394:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)) - Complexity = 16
                      // Dst: (SQRDMLSHv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*175470*/          0, /*End of Scope*/
/*175471*/        /*Scope*/ 15, /*->175487*/
/*175472*/          OPC_RecordChild2, // #1 = $Rm
/*175473*/          OPC_CheckChild2Type, MVT::v8i16,
/*175475*/          OPC_CheckType, MVT::v8i16,
/*175477*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175479*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 402:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                    // Dst: (SQSUBv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*175487*/        0, /*End of Scope*/
/*175488*/      /*Scope*/ 93, /*->175582*/
/*175489*/        OPC_CheckChild1Type, MVT::v2i32,
/*175491*/        OPC_Scope, 72, /*->175565*/ // 2 children in Scope
/*175493*/          OPC_MoveChild2,
/*175494*/          OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*175497*/          OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*175500*/          OPC_RecordChild1, // #1 = $Rn
/*175501*/          OPC_CheckChild1Type, MVT::v2i32,
/*175503*/          OPC_Scope, 39, /*->175544*/ // 2 children in Scope
/*175505*/            OPC_MoveChild2,
/*175506*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*175509*/            OPC_RecordChild0, // #2 = $Rm
/*175510*/            OPC_CheckChild0Type, MVT::v4i32,
/*175512*/            OPC_RecordChild1, // #3 = $idx
/*175513*/            OPC_MoveChild1,
/*175514*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*175517*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*175519*/            OPC_CheckType, MVT::i64,
/*175521*/            OPC_MoveParent,
/*175522*/            OPC_CheckType, MVT::v2i32,
/*175524*/            OPC_MoveParent,
/*175525*/            OPC_CheckType, MVT::v2i32,
/*175527*/            OPC_MoveParent,
/*175528*/            OPC_CheckType, MVT::v2i32,
/*175530*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*175532*/            OPC_EmitConvertToTarget, 3,
/*175534*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv2i32_indexed), 0,
                          MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i32] } 402:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 394:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 23
                      // Dst: (SQRDMLSHv2i32_indexed:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*175544*/          /*Scope*/ 19, /*->175564*/
/*175545*/            OPC_RecordChild2, // #2 = $Rm
/*175546*/            OPC_CheckChild2Type, MVT::v2i32,
/*175548*/            OPC_CheckType, MVT::v2i32,
/*175550*/            OPC_MoveParent,
/*175551*/            OPC_CheckType, MVT::v2i32,
/*175553*/            OPC_CheckPatternPredicate, 6, // (Subtarget->hasNEON()) && (Subtarget->hasRDM())
/*175555*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMLSHv2i32), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i32] } 402:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 394:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 16
                      // Dst: (SQRDMLSHv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*175564*/          0, /*End of Scope*/
/*175565*/        /*Scope*/ 15, /*->175581*/
/*175566*/          OPC_RecordChild2, // #1 = $Rm
/*175567*/          OPC_CheckChild2Type, MVT::v2i32,
/*175569*/          OPC_CheckType, MVT::v2i32,
/*175571*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175573*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 402:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                    // Dst: (SQSUBv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*175581*/        0, /*End of Scope*/
/*175582*/      /*Scope*/ 17, /*->175600*/
/*175583*/        OPC_CheckChild1Type, MVT::v8i8,
/*175585*/        OPC_RecordChild2, // #1 = $Rm
/*175586*/        OPC_CheckChild2Type, MVT::v8i8,
/*175588*/        OPC_CheckType, MVT::v8i8,
/*175590*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175592*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 402:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SQSUBv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*175600*/      /*Scope*/ 17, /*->175618*/
/*175601*/        OPC_CheckChild1Type, MVT::v16i8,
/*175603*/        OPC_RecordChild2, // #1 = $Rm
/*175604*/        OPC_CheckChild2Type, MVT::v16i8,
/*175606*/        OPC_CheckType, MVT::v16i8,
/*175608*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175610*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 402:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SQSUBv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*175618*/      /*Scope*/ 17, /*->175636*/
/*175619*/        OPC_CheckChild1Type, MVT::v1i64,
/*175621*/        OPC_RecordChild2, // #1 = $Rm
/*175622*/        OPC_CheckChild2Type, MVT::v1i64,
/*175624*/        OPC_CheckType, MVT::v1i64,
/*175626*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*175628*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 402:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (SQSUBv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*175636*/      0, /*End of Scope*/
/*175637*/    /*Scope*/ 30, /*->175668*/
/*175638*/      OPC_CheckChild0Integer, 12|128,2/*268*/, 
/*175641*/      OPC_RecordChild1, // #0 = $am_indexedu6s128:Rn:imm6
/*175642*/      OPC_RecordChild2, // #1 = $imm4
/*175643*/      OPC_MoveChild2,
/*175644*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*175647*/      OPC_CheckPredicate, 23, // Predicate_imm0_15
/*175649*/      OPC_MoveParent,
/*175650*/      OPC_CheckType, MVT::i64,
/*175652*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*175654*/      OPC_CheckComplexPat, /*CP*/34, /*#*/0, // SelectAddrModeIndexedU6S128:$ #2 #3
/*175657*/      OPC_EmitConvertToTarget, 1,
/*175659*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDG), 0,
                    MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 268:{ *:[iPTR] }, (am_indexedu6s128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_uimm6s16>>:$imm6), (imm:{ *:[i64] })<<P:Predicate_imm0_15>>:$imm4) - Complexity = 21
                // Dst: (ADDG:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm6, (imm:{ *:[i64] })<<P:Predicate_imm0_15>>:$imm4)
/*175668*/    /*Scope*/ 76|128,2/*332*/, /*->176002*/
/*175670*/      OPC_CheckChild0Integer, 70|128,2/*326*/, 
/*175673*/      OPC_Scope, 63|128,1/*191*/, /*->175867*/ // 2 children in Scope
/*175676*/        OPC_MoveChild1,
/*175677*/        OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
/*175680*/        OPC_RecordChild0, // #0 = $Rn
/*175681*/        OPC_RecordChild1, // #1 = $scale
/*175682*/        OPC_SwitchType /*3 cases */, 59, MVT::f16,// ->175744
/*175685*/          OPC_MoveParent,
/*175686*/          OPC_SwitchType /*2 cases */, 26, MVT::i32,// ->175715
/*175689*/            OPC_Scope, 11, /*->175702*/ // 2 children in Scope
/*175691*/              OPC_CheckComplexPat, /*CP*/35, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*175694*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWHri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, (fmul:{ *:[f16] } f16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZSSWHri:{ *:[i32] } ?:{ *:[f16] }:$Rn, ?:{ *:[f16] }:$scale)
/*175702*/            /*Scope*/ 11, /*->175714*/
/*175703*/              OPC_CheckComplexPat, /*CP*/35, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*175706*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWHri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, (fmul:{ *:[f16] } fixedpoint_f16_i32:{ *:[f16] }:$scale, f16:{ *:[f16] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZSSWHri:{ *:[i32] } ?:{ *:[f16] }:$Rn, ?:{ *:[f16] }:$scale)
/*175714*/            0, /*End of Scope*/
/*175715*/          /*SwitchType*/ 26, MVT::i64,// ->175743
/*175717*/            OPC_Scope, 11, /*->175730*/ // 2 children in Scope
/*175719*/              OPC_CheckComplexPat, /*CP*/36, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*175722*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXHri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, (fmul:{ *:[f16] } f16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZSSXHri:{ *:[i64] } ?:{ *:[f16] }:$Rn, ?:{ *:[f16] }:$scale)
/*175730*/            /*Scope*/ 11, /*->175742*/
/*175731*/              OPC_CheckComplexPat, /*CP*/36, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*175734*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXHri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, (fmul:{ *:[f16] } fixedpoint_f16_i64:{ *:[f16] }:$scale, f16:{ *:[f16] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZSSXHri:{ *:[i64] } ?:{ *:[f16] }:$Rn, ?:{ *:[f16] }:$scale)
/*175742*/            0, /*End of Scope*/
/*175743*/          0, // EndSwitchType
/*175744*/        /*SwitchType*/ 59, MVT::f32,// ->175805
/*175746*/          OPC_MoveParent,
/*175747*/          OPC_SwitchType /*2 cases */, 26, MVT::i32,// ->175776
/*175750*/            OPC_Scope, 11, /*->175763*/ // 2 children in Scope
/*175752*/              OPC_CheckComplexPat, /*CP*/37, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*175755*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWSri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, (fmul:{ *:[f32] } f32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZSSWSri:{ *:[i32] } ?:{ *:[f32] }:$Rn, ?:{ *:[f32] }:$scale)
/*175763*/            /*Scope*/ 11, /*->175775*/
/*175764*/              OPC_CheckComplexPat, /*CP*/37, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*175767*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWSri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, (fmul:{ *:[f32] } fixedpoint_f32_i32:{ *:[f32] }:$scale, f32:{ *:[f32] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZSSWSri:{ *:[i32] } ?:{ *:[f32] }:$Rn, ?:{ *:[f32] }:$scale)
/*175775*/            0, /*End of Scope*/
/*175776*/          /*SwitchType*/ 26, MVT::i64,// ->175804
/*175778*/            OPC_Scope, 11, /*->175791*/ // 2 children in Scope
/*175780*/              OPC_CheckComplexPat, /*CP*/38, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*175783*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXSri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, (fmul:{ *:[f32] } f32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZSSXSri:{ *:[i64] } ?:{ *:[f32] }:$Rn, ?:{ *:[f32] }:$scale)
/*175791*/            /*Scope*/ 11, /*->175803*/
/*175792*/              OPC_CheckComplexPat, /*CP*/38, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*175795*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXSri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, (fmul:{ *:[f32] } fixedpoint_f32_i64:{ *:[f32] }:$scale, f32:{ *:[f32] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZSSXSri:{ *:[i64] } ?:{ *:[f32] }:$Rn, ?:{ *:[f32] }:$scale)
/*175803*/            0, /*End of Scope*/
/*175804*/          0, // EndSwitchType
/*175805*/        /*SwitchType*/ 59, MVT::f64,// ->175866
/*175807*/          OPC_MoveParent,
/*175808*/          OPC_SwitchType /*2 cases */, 26, MVT::i32,// ->175837
/*175811*/            OPC_Scope, 11, /*->175824*/ // 2 children in Scope
/*175813*/              OPC_CheckComplexPat, /*CP*/39, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*175816*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWDri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, (fmul:{ *:[f64] } f64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZSSWDri:{ *:[i32] } ?:{ *:[f64] }:$Rn, ?:{ *:[f64] }:$scale)
/*175824*/            /*Scope*/ 11, /*->175836*/
/*175825*/              OPC_CheckComplexPat, /*CP*/39, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*175828*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWDri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, (fmul:{ *:[f64] } fixedpoint_f64_i32:{ *:[f64] }:$scale, f64:{ *:[f64] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZSSWDri:{ *:[i32] } ?:{ *:[f64] }:$Rn, ?:{ *:[f64] }:$scale)
/*175836*/            0, /*End of Scope*/
/*175837*/          /*SwitchType*/ 26, MVT::i64,// ->175865
/*175839*/            OPC_Scope, 11, /*->175852*/ // 2 children in Scope
/*175841*/              OPC_CheckComplexPat, /*CP*/40, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*175844*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXDri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, (fmul:{ *:[f64] } f64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZSSXDri:{ *:[i64] } ?:{ *:[f64] }:$Rn, ?:{ *:[f64] }:$scale)
/*175852*/            /*Scope*/ 11, /*->175864*/
/*175853*/              OPC_CheckComplexPat, /*CP*/40, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*175856*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXDri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, (fmul:{ *:[f64] } fixedpoint_f64_i64:{ *:[f64] }:$scale, f64:{ *:[f64] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZSSXDri:{ *:[i64] } ?:{ *:[f64] }:$Rn, ?:{ *:[f64] }:$scale)
/*175864*/            0, /*End of Scope*/
/*175865*/          0, // EndSwitchType
/*175866*/        0, // EndSwitchType
/*175867*/      /*Scope*/ 4|128,1/*132*/, /*->176001*/
/*175869*/        OPC_RecordChild1, // #0 = $Rn
/*175870*/        OPC_Scope, 22, /*->175894*/ // 8 children in Scope
/*175872*/          OPC_CheckChild1Type, MVT::f16,
/*175874*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->175884
/*175877*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWHr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, f16:{ *:[f16] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZSUWHr:{ *:[i32] } ?:{ *:[f16] }:$Rn)
/*175884*/          /*SwitchType*/ 7, MVT::i64,// ->175893
/*175886*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXHr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, f16:{ *:[f16] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZSUXHr:{ *:[i64] } ?:{ *:[f16] }:$Rn)
/*175893*/          0, // EndSwitchType
/*175894*/        /*Scope*/ 22, /*->175917*/
/*175895*/          OPC_CheckChild1Type, MVT::f32,
/*175897*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->175907
/*175900*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, f32:{ *:[f32] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZSUWSr:{ *:[i32] } ?:{ *:[f32] }:$Rn)
/*175907*/          /*SwitchType*/ 7, MVT::i64,// ->175916
/*175909*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, f32:{ *:[f32] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZSUXSr:{ *:[i64] } ?:{ *:[f32] }:$Rn)
/*175916*/          0, // EndSwitchType
/*175917*/        /*Scope*/ 22, /*->175940*/
/*175918*/          OPC_CheckChild1Type, MVT::f64,
/*175920*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->175930
/*175923*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i32] } 326:{ *:[iPTR] }, f64:{ *:[f64] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZSUWDr:{ *:[i32] } ?:{ *:[f64] }:$Rn)
/*175930*/          /*SwitchType*/ 7, MVT::i64,// ->175939
/*175932*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 326:{ *:[iPTR] }, f64:{ *:[f64] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZSUXDr:{ *:[i64] } ?:{ *:[f64] }:$Rn)
/*175939*/          0, // EndSwitchType
/*175940*/        /*Scope*/ 11, /*->175952*/
/*175941*/          OPC_CheckChild1Type, MVT::v4f16,
/*175943*/          OPC_CheckType, MVT::v4i16,
/*175945*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv4f16), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i16] } 326:{ *:[iPTR] }, v4f16:{ *:[v4f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZSv4f16:{ *:[v4i16] } ?:{ *:[v4f16] }:$Rn)
/*175952*/        /*Scope*/ 11, /*->175964*/
/*175953*/          OPC_CheckChild1Type, MVT::v8f16,
/*175955*/          OPC_CheckType, MVT::v8i16,
/*175957*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv8f16), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 326:{ *:[iPTR] }, v8f16:{ *:[v8f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZSv8f16:{ *:[v8i16] } ?:{ *:[v8f16] }:$Rn)
/*175964*/        /*Scope*/ 11, /*->175976*/
/*175965*/          OPC_CheckChild1Type, MVT::v2f32,
/*175967*/          OPC_CheckType, MVT::v2i32,
/*175969*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv2f32), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 326:{ *:[iPTR] }, v2f32:{ *:[v2f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZSv2f32:{ *:[v2i32] } ?:{ *:[v2f32] }:$Rn)
/*175976*/        /*Scope*/ 11, /*->175988*/
/*175977*/          OPC_CheckChild1Type, MVT::v4f32,
/*175979*/          OPC_CheckType, MVT::v4i32,
/*175981*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv4f32), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 326:{ *:[iPTR] }, v4f32:{ *:[v4f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZSv4f32:{ *:[v4i32] } ?:{ *:[v4f32] }:$Rn)
/*175988*/        /*Scope*/ 11, /*->176000*/
/*175989*/          OPC_CheckChild1Type, MVT::v2f64,
/*175991*/          OPC_CheckType, MVT::v2i64,
/*175993*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv2f64), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i64] } 326:{ *:[iPTR] }, v2f64:{ *:[v2f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZSv2f64:{ *:[v2i64] } ?:{ *:[v2f64] }:$Rn)
/*176000*/        0, /*End of Scope*/
/*176001*/      0, /*End of Scope*/
/*176002*/    /*Scope*/ 76|128,2/*332*/, /*->176336*/
/*176004*/      OPC_CheckChild0Integer, 71|128,2/*327*/, 
/*176007*/      OPC_Scope, 63|128,1/*191*/, /*->176201*/ // 2 children in Scope
/*176010*/        OPC_MoveChild1,
/*176011*/        OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
/*176014*/        OPC_RecordChild0, // #0 = $Rn
/*176015*/        OPC_RecordChild1, // #1 = $scale
/*176016*/        OPC_SwitchType /*3 cases */, 59, MVT::f16,// ->176078
/*176019*/          OPC_MoveParent,
/*176020*/          OPC_SwitchType /*2 cases */, 26, MVT::i32,// ->176049
/*176023*/            OPC_Scope, 11, /*->176036*/ // 2 children in Scope
/*176025*/              OPC_CheckComplexPat, /*CP*/35, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*176028*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWHri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, (fmul:{ *:[f16] } f16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZUSWHri:{ *:[i32] } ?:{ *:[f16] }:$Rn, ?:{ *:[f16] }:$scale)
/*176036*/            /*Scope*/ 11, /*->176048*/
/*176037*/              OPC_CheckComplexPat, /*CP*/35, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*176040*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWHri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, (fmul:{ *:[f16] } fixedpoint_f16_i32:{ *:[f16] }:$scale, f16:{ *:[f16] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZUSWHri:{ *:[i32] } ?:{ *:[f16] }:$Rn, ?:{ *:[f16] }:$scale)
/*176048*/            0, /*End of Scope*/
/*176049*/          /*SwitchType*/ 26, MVT::i64,// ->176077
/*176051*/            OPC_Scope, 11, /*->176064*/ // 2 children in Scope
/*176053*/              OPC_CheckComplexPat, /*CP*/36, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*176056*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXHri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, (fmul:{ *:[f16] } f16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZUSXHri:{ *:[i64] } ?:{ *:[f16] }:$Rn, ?:{ *:[f16] }:$scale)
/*176064*/            /*Scope*/ 11, /*->176076*/
/*176065*/              OPC_CheckComplexPat, /*CP*/36, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*176068*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXHri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, (fmul:{ *:[f16] } fixedpoint_f16_i64:{ *:[f16] }:$scale, f16:{ *:[f16] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZUSXHri:{ *:[i64] } ?:{ *:[f16] }:$Rn, ?:{ *:[f16] }:$scale)
/*176076*/            0, /*End of Scope*/
/*176077*/          0, // EndSwitchType
/*176078*/        /*SwitchType*/ 59, MVT::f32,// ->176139
/*176080*/          OPC_MoveParent,
/*176081*/          OPC_SwitchType /*2 cases */, 26, MVT::i32,// ->176110
/*176084*/            OPC_Scope, 11, /*->176097*/ // 2 children in Scope
/*176086*/              OPC_CheckComplexPat, /*CP*/37, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*176089*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWSri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, (fmul:{ *:[f32] } f32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZUSWSri:{ *:[i32] } ?:{ *:[f32] }:$Rn, ?:{ *:[f32] }:$scale)
/*176097*/            /*Scope*/ 11, /*->176109*/
/*176098*/              OPC_CheckComplexPat, /*CP*/37, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*176101*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWSri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, (fmul:{ *:[f32] } fixedpoint_f32_i32:{ *:[f32] }:$scale, f32:{ *:[f32] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZUSWSri:{ *:[i32] } ?:{ *:[f32] }:$Rn, ?:{ *:[f32] }:$scale)
/*176109*/            0, /*End of Scope*/
/*176110*/          /*SwitchType*/ 26, MVT::i64,// ->176138
/*176112*/            OPC_Scope, 11, /*->176125*/ // 2 children in Scope
/*176114*/              OPC_CheckComplexPat, /*CP*/38, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*176117*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXSri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, (fmul:{ *:[f32] } f32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZUSXSri:{ *:[i64] } ?:{ *:[f32] }:$Rn, ?:{ *:[f32] }:$scale)
/*176125*/            /*Scope*/ 11, /*->176137*/
/*176126*/              OPC_CheckComplexPat, /*CP*/38, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*176129*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXSri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, (fmul:{ *:[f32] } fixedpoint_f32_i64:{ *:[f32] }:$scale, f32:{ *:[f32] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZUSXSri:{ *:[i64] } ?:{ *:[f32] }:$Rn, ?:{ *:[f32] }:$scale)
/*176137*/            0, /*End of Scope*/
/*176138*/          0, // EndSwitchType
/*176139*/        /*SwitchType*/ 59, MVT::f64,// ->176200
/*176141*/          OPC_MoveParent,
/*176142*/          OPC_SwitchType /*2 cases */, 26, MVT::i32,// ->176171
/*176145*/            OPC_Scope, 11, /*->176158*/ // 2 children in Scope
/*176147*/              OPC_CheckComplexPat, /*CP*/39, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*176150*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWDri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, (fmul:{ *:[f64] } f64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZUSWDri:{ *:[i32] } ?:{ *:[f64] }:$Rn, ?:{ *:[f64] }:$scale)
/*176158*/            /*Scope*/ 11, /*->176170*/
/*176159*/              OPC_CheckComplexPat, /*CP*/39, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*176162*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWDri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, (fmul:{ *:[f64] } fixedpoint_f64_i32:{ *:[f64] }:$scale, f64:{ *:[f64] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZUSWDri:{ *:[i32] } ?:{ *:[f64] }:$Rn, ?:{ *:[f64] }:$scale)
/*176170*/            0, /*End of Scope*/
/*176171*/          /*SwitchType*/ 26, MVT::i64,// ->176199
/*176173*/            OPC_Scope, 11, /*->176186*/ // 2 children in Scope
/*176175*/              OPC_CheckComplexPat, /*CP*/40, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*176178*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXDri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, (fmul:{ *:[f64] } f64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)) - Complexity = 17
                        // Dst: (FCVTZUSXDri:{ *:[i64] } ?:{ *:[f64] }:$Rn, ?:{ *:[f64] }:$scale)
/*176186*/            /*Scope*/ 11, /*->176198*/
/*176187*/              OPC_CheckComplexPat, /*CP*/40, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*176190*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXDri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, (fmul:{ *:[f64] } fixedpoint_f64_i64:{ *:[f64] }:$scale, f64:{ *:[f64] }:$Rn)) - Complexity = 17
                        // Dst: (FCVTZUSXDri:{ *:[i64] } ?:{ *:[f64] }:$Rn, ?:{ *:[f64] }:$scale)
/*176198*/            0, /*End of Scope*/
/*176199*/          0, // EndSwitchType
/*176200*/        0, // EndSwitchType
/*176201*/      /*Scope*/ 4|128,1/*132*/, /*->176335*/
/*176203*/        OPC_RecordChild1, // #0 = $Rn
/*176204*/        OPC_Scope, 22, /*->176228*/ // 8 children in Scope
/*176206*/          OPC_CheckChild1Type, MVT::f16,
/*176208*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->176218
/*176211*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWHr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, f16:{ *:[f16] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZUUWHr:{ *:[i32] } ?:{ *:[f16] }:$Rn)
/*176218*/          /*SwitchType*/ 7, MVT::i64,// ->176227
/*176220*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXHr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, f16:{ *:[f16] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZUUXHr:{ *:[i64] } ?:{ *:[f16] }:$Rn)
/*176227*/          0, // EndSwitchType
/*176228*/        /*Scope*/ 22, /*->176251*/
/*176229*/          OPC_CheckChild1Type, MVT::f32,
/*176231*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->176241
/*176234*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, f32:{ *:[f32] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZUUWSr:{ *:[i32] } ?:{ *:[f32] }:$Rn)
/*176241*/          /*SwitchType*/ 7, MVT::i64,// ->176250
/*176243*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, f32:{ *:[f32] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZUUXSr:{ *:[i64] } ?:{ *:[f32] }:$Rn)
/*176250*/          0, // EndSwitchType
/*176251*/        /*Scope*/ 22, /*->176274*/
/*176252*/          OPC_CheckChild1Type, MVT::f64,
/*176254*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->176264
/*176257*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i32] } 327:{ *:[iPTR] }, f64:{ *:[f64] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZUUWDr:{ *:[i32] } ?:{ *:[f64] }:$Rn)
/*176264*/          /*SwitchType*/ 7, MVT::i64,// ->176273
/*176266*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (intrinsic_wo_chain:{ *:[i64] } 327:{ *:[iPTR] }, f64:{ *:[f64] }:$Rn) - Complexity = 8
                      // Dst: (FCVTZUUXDr:{ *:[i64] } ?:{ *:[f64] }:$Rn)
/*176273*/          0, // EndSwitchType
/*176274*/        /*Scope*/ 11, /*->176286*/
/*176275*/          OPC_CheckChild1Type, MVT::v4f16,
/*176277*/          OPC_CheckType, MVT::v4i16,
/*176279*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv4f16), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i16] } 327:{ *:[iPTR] }, v4f16:{ *:[v4f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZUv4f16:{ *:[v4i16] } ?:{ *:[v4f16] }:$Rn)
/*176286*/        /*Scope*/ 11, /*->176298*/
/*176287*/          OPC_CheckChild1Type, MVT::v8f16,
/*176289*/          OPC_CheckType, MVT::v8i16,
/*176291*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv8f16), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 327:{ *:[iPTR] }, v8f16:{ *:[v8f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZUv8f16:{ *:[v8i16] } ?:{ *:[v8f16] }:$Rn)
/*176298*/        /*Scope*/ 11, /*->176310*/
/*176299*/          OPC_CheckChild1Type, MVT::v2f32,
/*176301*/          OPC_CheckType, MVT::v2i32,
/*176303*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv2f32), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 327:{ *:[iPTR] }, v2f32:{ *:[v2f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZUv2f32:{ *:[v2i32] } ?:{ *:[v2f32] }:$Rn)
/*176310*/        /*Scope*/ 11, /*->176322*/
/*176311*/          OPC_CheckChild1Type, MVT::v4f32,
/*176313*/          OPC_CheckType, MVT::v4i32,
/*176315*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv4f32), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 327:{ *:[iPTR] }, v4f32:{ *:[v4f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZUv4f32:{ *:[v4i32] } ?:{ *:[v4f32] }:$Rn)
/*176322*/        /*Scope*/ 11, /*->176334*/
/*176323*/          OPC_CheckChild1Type, MVT::v2f64,
/*176325*/          OPC_CheckType, MVT::v2i64,
/*176327*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv2f64), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i64] } 327:{ *:[iPTR] }, v2f64:{ *:[v2f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTZUv2f64:{ *:[v2i64] } ?:{ *:[v2f64] }:$Rn)
/*176334*/        0, /*End of Scope*/
/*176335*/      0, /*End of Scope*/
/*176336*/    /*Scope*/ 31, /*->176368*/
/*176337*/      OPC_CheckChild0Integer, 10|128,6/*778*/, 
/*176340*/      OPC_RecordChild1, // #0 = $Rn
/*176341*/      OPC_RecordChild2, // #1 = $pattern
/*176342*/      OPC_MoveChild2,
/*176343*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176346*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176348*/      OPC_MoveParent,
/*176349*/      OPC_RecordChild3, // #2 = $imm4
/*176350*/      OPC_MoveChild3,
/*176351*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176354*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176356*/      OPC_MoveParent,
/*176357*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176359*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCB_WPiI), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 778:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCB_WPiI:{ *:[i32] } ?:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176368*/    /*Scope*/ 31, /*->176400*/
/*176369*/      OPC_CheckChild0Integer, 124|128,5/*764*/, 
/*176372*/      OPC_RecordChild1, // #0 = $Rn
/*176373*/      OPC_RecordChild2, // #1 = $pattern
/*176374*/      OPC_MoveChild2,
/*176375*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176378*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176380*/      OPC_MoveParent,
/*176381*/      OPC_RecordChild3, // #2 = $imm4
/*176382*/      OPC_MoveChild3,
/*176383*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176386*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176388*/      OPC_MoveParent,
/*176389*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176391*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECB_WPiI), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 764:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECB_WPiI:{ *:[i32] } ?:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176400*/    /*Scope*/ 31, /*->176432*/
/*176401*/      OPC_CheckChild0Integer, 63|128,5/*703*/, 
/*176404*/      OPC_RecordChild1, // #0 = $Rn
/*176405*/      OPC_RecordChild2, // #1 = $pattern
/*176406*/      OPC_MoveChild2,
/*176407*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176410*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176412*/      OPC_MoveParent,
/*176413*/      OPC_RecordChild3, // #2 = $imm4
/*176414*/      OPC_MoveChild3,
/*176415*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176418*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176420*/      OPC_MoveParent,
/*176421*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176423*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCB_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 703:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQINCB_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176432*/    /*Scope*/ 31, /*->176464*/
/*176433*/      OPC_CheckChild0Integer, 11|128,6/*779*/, 
/*176436*/      OPC_RecordChild1, // #0 = $Rn
/*176437*/      OPC_RecordChild2, // #1 = $pattern
/*176438*/      OPC_MoveChild2,
/*176439*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176442*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176444*/      OPC_MoveParent,
/*176445*/      OPC_RecordChild3, // #2 = $imm4
/*176446*/      OPC_MoveChild3,
/*176447*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176450*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176452*/      OPC_MoveParent,
/*176453*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176455*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCB_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 779:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCB_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176464*/    /*Scope*/ 31, /*->176496*/
/*176465*/      OPC_CheckChild0Integer, 49|128,5/*689*/, 
/*176468*/      OPC_RecordChild1, // #0 = $Rn
/*176469*/      OPC_RecordChild2, // #1 = $pattern
/*176470*/      OPC_MoveChild2,
/*176471*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176474*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176476*/      OPC_MoveParent,
/*176477*/      OPC_RecordChild3, // #2 = $imm4
/*176478*/      OPC_MoveChild3,
/*176479*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176482*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176484*/      OPC_MoveParent,
/*176485*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176487*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECB_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 689:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQDECB_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176496*/    /*Scope*/ 31, /*->176528*/
/*176497*/      OPC_CheckChild0Integer, 125|128,5/*765*/, 
/*176500*/      OPC_RecordChild1, // #0 = $Rn
/*176501*/      OPC_RecordChild2, // #1 = $pattern
/*176502*/      OPC_MoveChild2,
/*176503*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176506*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176508*/      OPC_MoveParent,
/*176509*/      OPC_RecordChild3, // #2 = $imm4
/*176510*/      OPC_MoveChild3,
/*176511*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176514*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176516*/      OPC_MoveParent,
/*176517*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176519*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECB_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 765:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECB_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176528*/    /*Scope*/ 31, /*->176560*/
/*176529*/      OPC_CheckChild0Integer, 16|128,6/*784*/, 
/*176532*/      OPC_RecordChild1, // #0 = $Rn
/*176533*/      OPC_RecordChild2, // #1 = $pattern
/*176534*/      OPC_MoveChild2,
/*176535*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176538*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176540*/      OPC_MoveParent,
/*176541*/      OPC_RecordChild3, // #2 = $imm4
/*176542*/      OPC_MoveChild3,
/*176543*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176546*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176548*/      OPC_MoveParent,
/*176549*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176551*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCH_WPiI), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 784:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCH_WPiI:{ *:[i32] } ?:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176560*/    /*Scope*/ 31, /*->176592*/
/*176561*/      OPC_CheckChild0Integer, 2|128,6/*770*/, 
/*176564*/      OPC_RecordChild1, // #0 = $Rn
/*176565*/      OPC_RecordChild2, // #1 = $pattern
/*176566*/      OPC_MoveChild2,
/*176567*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176570*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176572*/      OPC_MoveParent,
/*176573*/      OPC_RecordChild3, // #2 = $imm4
/*176574*/      OPC_MoveChild3,
/*176575*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176578*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176580*/      OPC_MoveParent,
/*176581*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176583*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECH_WPiI), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 770:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECH_WPiI:{ *:[i32] } ?:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176592*/    /*Scope*/ 31, /*->176624*/
/*176593*/      OPC_CheckChild0Integer, 69|128,5/*709*/, 
/*176596*/      OPC_RecordChild1, // #0 = $Rn
/*176597*/      OPC_RecordChild2, // #1 = $pattern
/*176598*/      OPC_MoveChild2,
/*176599*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176602*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176604*/      OPC_MoveParent,
/*176605*/      OPC_RecordChild3, // #2 = $imm4
/*176606*/      OPC_MoveChild3,
/*176607*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176610*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176612*/      OPC_MoveParent,
/*176613*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176615*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCH_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 709:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQINCH_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176624*/    /*Scope*/ 31, /*->176656*/
/*176625*/      OPC_CheckChild0Integer, 17|128,6/*785*/, 
/*176628*/      OPC_RecordChild1, // #0 = $Rn
/*176629*/      OPC_RecordChild2, // #1 = $pattern
/*176630*/      OPC_MoveChild2,
/*176631*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176634*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176636*/      OPC_MoveParent,
/*176637*/      OPC_RecordChild3, // #2 = $imm4
/*176638*/      OPC_MoveChild3,
/*176639*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176642*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176644*/      OPC_MoveParent,
/*176645*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176647*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCH_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 785:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCH_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176656*/    /*Scope*/ 31, /*->176688*/
/*176657*/      OPC_CheckChild0Integer, 55|128,5/*695*/, 
/*176660*/      OPC_RecordChild1, // #0 = $Rn
/*176661*/      OPC_RecordChild2, // #1 = $pattern
/*176662*/      OPC_MoveChild2,
/*176663*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176666*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176668*/      OPC_MoveParent,
/*176669*/      OPC_RecordChild3, // #2 = $imm4
/*176670*/      OPC_MoveChild3,
/*176671*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176674*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176676*/      OPC_MoveParent,
/*176677*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176679*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECH_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 695:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQDECH_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176688*/    /*Scope*/ 31, /*->176720*/
/*176689*/      OPC_CheckChild0Integer, 3|128,6/*771*/, 
/*176692*/      OPC_RecordChild1, // #0 = $Rn
/*176693*/      OPC_RecordChild2, // #1 = $pattern
/*176694*/      OPC_MoveChild2,
/*176695*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176698*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176700*/      OPC_MoveParent,
/*176701*/      OPC_RecordChild3, // #2 = $imm4
/*176702*/      OPC_MoveChild3,
/*176703*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176706*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176708*/      OPC_MoveParent,
/*176709*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176711*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECH_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 771:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECH_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176720*/    /*Scope*/ 31, /*->176752*/
/*176721*/      OPC_CheckChild0Integer, 22|128,6/*790*/, 
/*176724*/      OPC_RecordChild1, // #0 = $Rn
/*176725*/      OPC_RecordChild2, // #1 = $pattern
/*176726*/      OPC_MoveChild2,
/*176727*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176730*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176732*/      OPC_MoveParent,
/*176733*/      OPC_RecordChild3, // #2 = $imm4
/*176734*/      OPC_MoveChild3,
/*176735*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176738*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176740*/      OPC_MoveParent,
/*176741*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176743*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCW_WPiI), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 790:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCW_WPiI:{ *:[i32] } ?:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176752*/    /*Scope*/ 31, /*->176784*/
/*176753*/      OPC_CheckChild0Integer, 8|128,6/*776*/, 
/*176756*/      OPC_RecordChild1, // #0 = $Rn
/*176757*/      OPC_RecordChild2, // #1 = $pattern
/*176758*/      OPC_MoveChild2,
/*176759*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176762*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176764*/      OPC_MoveParent,
/*176765*/      OPC_RecordChild3, // #2 = $imm4
/*176766*/      OPC_MoveChild3,
/*176767*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176770*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176772*/      OPC_MoveParent,
/*176773*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176775*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECW_WPiI), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 776:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECW_WPiI:{ *:[i32] } ?:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176784*/    /*Scope*/ 31, /*->176816*/
/*176785*/      OPC_CheckChild0Integer, 75|128,5/*715*/, 
/*176788*/      OPC_RecordChild1, // #0 = $Rn
/*176789*/      OPC_RecordChild2, // #1 = $pattern
/*176790*/      OPC_MoveChild2,
/*176791*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176794*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176796*/      OPC_MoveParent,
/*176797*/      OPC_RecordChild3, // #2 = $imm4
/*176798*/      OPC_MoveChild3,
/*176799*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176802*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176804*/      OPC_MoveParent,
/*176805*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176807*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCW_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 715:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQINCW_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176816*/    /*Scope*/ 31, /*->176848*/
/*176817*/      OPC_CheckChild0Integer, 23|128,6/*791*/, 
/*176820*/      OPC_RecordChild1, // #0 = $Rn
/*176821*/      OPC_RecordChild2, // #1 = $pattern
/*176822*/      OPC_MoveChild2,
/*176823*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176826*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176828*/      OPC_MoveParent,
/*176829*/      OPC_RecordChild3, // #2 = $imm4
/*176830*/      OPC_MoveChild3,
/*176831*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176834*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176836*/      OPC_MoveParent,
/*176837*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176839*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCW_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 791:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCW_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176848*/    /*Scope*/ 31, /*->176880*/
/*176849*/      OPC_CheckChild0Integer, 61|128,5/*701*/, 
/*176852*/      OPC_RecordChild1, // #0 = $Rn
/*176853*/      OPC_RecordChild2, // #1 = $pattern
/*176854*/      OPC_MoveChild2,
/*176855*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176858*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176860*/      OPC_MoveParent,
/*176861*/      OPC_RecordChild3, // #2 = $imm4
/*176862*/      OPC_MoveChild3,
/*176863*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176866*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176868*/      OPC_MoveParent,
/*176869*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176871*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECW_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 701:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQDECW_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176880*/    /*Scope*/ 31, /*->176912*/
/*176881*/      OPC_CheckChild0Integer, 9|128,6/*777*/, 
/*176884*/      OPC_RecordChild1, // #0 = $Rn
/*176885*/      OPC_RecordChild2, // #1 = $pattern
/*176886*/      OPC_MoveChild2,
/*176887*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176890*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176892*/      OPC_MoveParent,
/*176893*/      OPC_RecordChild3, // #2 = $imm4
/*176894*/      OPC_MoveChild3,
/*176895*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176898*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176900*/      OPC_MoveParent,
/*176901*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176903*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECW_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 777:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECW_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176912*/    /*Scope*/ 31, /*->176944*/
/*176913*/      OPC_CheckChild0Integer, 13|128,6/*781*/, 
/*176916*/      OPC_RecordChild1, // #0 = $Rn
/*176917*/      OPC_RecordChild2, // #1 = $pattern
/*176918*/      OPC_MoveChild2,
/*176919*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176922*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176924*/      OPC_MoveParent,
/*176925*/      OPC_RecordChild3, // #2 = $imm4
/*176926*/      OPC_MoveChild3,
/*176927*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176930*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176932*/      OPC_MoveParent,
/*176933*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176935*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCD_WPiI), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 781:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCD_WPiI:{ *:[i32] } ?:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176944*/    /*Scope*/ 31, /*->176976*/
/*176945*/      OPC_CheckChild0Integer, 127|128,5/*767*/, 
/*176948*/      OPC_RecordChild1, // #0 = $Rn
/*176949*/      OPC_RecordChild2, // #1 = $pattern
/*176950*/      OPC_MoveChild2,
/*176951*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176954*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176956*/      OPC_MoveParent,
/*176957*/      OPC_RecordChild3, // #2 = $imm4
/*176958*/      OPC_MoveChild3,
/*176959*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176962*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176964*/      OPC_MoveParent,
/*176965*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176967*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECD_WPiI), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 767:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECD_WPiI:{ *:[i32] } ?:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*176976*/    /*Scope*/ 31, /*->177008*/
/*176977*/      OPC_CheckChild0Integer, 66|128,5/*706*/, 
/*176980*/      OPC_RecordChild1, // #0 = $Rn
/*176981*/      OPC_RecordChild2, // #1 = $pattern
/*176982*/      OPC_MoveChild2,
/*176983*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176986*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*176988*/      OPC_MoveParent,
/*176989*/      OPC_RecordChild3, // #2 = $imm4
/*176990*/      OPC_MoveChild3,
/*176991*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*176994*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*176996*/      OPC_MoveParent,
/*176997*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*176999*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCD_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 706:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQINCD_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*177008*/    /*Scope*/ 31, /*->177040*/
/*177009*/      OPC_CheckChild0Integer, 14|128,6/*782*/, 
/*177012*/      OPC_RecordChild1, // #0 = $Rn
/*177013*/      OPC_RecordChild2, // #1 = $pattern
/*177014*/      OPC_MoveChild2,
/*177015*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177018*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177020*/      OPC_MoveParent,
/*177021*/      OPC_RecordChild3, // #2 = $imm4
/*177022*/      OPC_MoveChild3,
/*177023*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177026*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177028*/      OPC_MoveParent,
/*177029*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177031*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCD_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 782:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCD_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*177040*/    /*Scope*/ 31, /*->177072*/
/*177041*/      OPC_CheckChild0Integer, 52|128,5/*692*/, 
/*177044*/      OPC_RecordChild1, // #0 = $Rn
/*177045*/      OPC_RecordChild2, // #1 = $pattern
/*177046*/      OPC_MoveChild2,
/*177047*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177050*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177052*/      OPC_MoveParent,
/*177053*/      OPC_RecordChild3, // #2 = $imm4
/*177054*/      OPC_MoveChild3,
/*177055*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177058*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177060*/      OPC_MoveParent,
/*177061*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177063*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECD_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 692:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQDECD_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*177072*/    /*Scope*/ 31, /*->177104*/
/*177073*/      OPC_CheckChild0Integer, 0|128,6/*768*/, 
/*177076*/      OPC_RecordChild1, // #0 = $Rn
/*177077*/      OPC_RecordChild2, // #1 = $pattern
/*177078*/      OPC_MoveChild2,
/*177079*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177082*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177084*/      OPC_MoveParent,
/*177085*/      OPC_RecordChild3, // #2 = $imm4
/*177086*/      OPC_MoveChild3,
/*177087*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177090*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177092*/      OPC_MoveParent,
/*177093*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177095*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECD_XPiI), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 768:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECD_XPiI:{ *:[i64] } ?:{ *:[i64] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*177104*/    /*Scope*/ 60, /*->177165*/
/*177105*/      OPC_CheckChild0Integer, 62|128,5/*702*/, 
/*177108*/      OPC_RecordChild1, // #0 = $Rn
/*177109*/      OPC_RecordChild2, // #1 = $pattern
/*177110*/      OPC_MoveChild2,
/*177111*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177114*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177116*/      OPC_MoveParent,
/*177117*/      OPC_RecordChild3, // #2 = $imm4
/*177118*/      OPC_MoveChild3,
/*177119*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177122*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177124*/      OPC_MoveParent,
/*177125*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177127*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #3
/*177133*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177136*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*177145*/      OPC_EmitNode1, TARGET_VAL(AArch64::SQINCB_XPiWdI), 0,
                    MVT::i64, 3/*#Ops*/, 5, 1, 2,  // Results = #6
/*177154*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177157*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 6, 7, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 702:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQINCB_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4), sub_32:{ *:[i32] })
/*177165*/    /*Scope*/ 60, /*->177226*/
/*177166*/      OPC_CheckChild0Integer, 48|128,5/*688*/, 
/*177169*/      OPC_RecordChild1, // #0 = $Rn
/*177170*/      OPC_RecordChild2, // #1 = $pattern
/*177171*/      OPC_MoveChild2,
/*177172*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177175*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177177*/      OPC_MoveParent,
/*177178*/      OPC_RecordChild3, // #2 = $imm4
/*177179*/      OPC_MoveChild3,
/*177180*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177183*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177185*/      OPC_MoveParent,
/*177186*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177188*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #3
/*177194*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177197*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*177206*/      OPC_EmitNode1, TARGET_VAL(AArch64::SQDECB_XPiWdI), 0,
                    MVT::i64, 3/*#Ops*/, 5, 1, 2,  // Results = #6
/*177215*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177218*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 6, 7, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 688:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDECB_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4), sub_32:{ *:[i32] })
/*177226*/    /*Scope*/ 60, /*->177287*/
/*177227*/      OPC_CheckChild0Integer, 68|128,5/*708*/, 
/*177230*/      OPC_RecordChild1, // #0 = $Rn
/*177231*/      OPC_RecordChild2, // #1 = $pattern
/*177232*/      OPC_MoveChild2,
/*177233*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177236*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177238*/      OPC_MoveParent,
/*177239*/      OPC_RecordChild3, // #2 = $imm4
/*177240*/      OPC_MoveChild3,
/*177241*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177244*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177246*/      OPC_MoveParent,
/*177247*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177249*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #3
/*177255*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177258*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*177267*/      OPC_EmitNode1, TARGET_VAL(AArch64::SQINCH_XPiWdI), 0,
                    MVT::i64, 3/*#Ops*/, 5, 1, 2,  // Results = #6
/*177276*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177279*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 6, 7, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 708:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQINCH_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4), sub_32:{ *:[i32] })
/*177287*/    /*Scope*/ 60, /*->177348*/
/*177288*/      OPC_CheckChild0Integer, 54|128,5/*694*/, 
/*177291*/      OPC_RecordChild1, // #0 = $Rn
/*177292*/      OPC_RecordChild2, // #1 = $pattern
/*177293*/      OPC_MoveChild2,
/*177294*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177297*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177299*/      OPC_MoveParent,
/*177300*/      OPC_RecordChild3, // #2 = $imm4
/*177301*/      OPC_MoveChild3,
/*177302*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177305*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177307*/      OPC_MoveParent,
/*177308*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177310*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #3
/*177316*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177319*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*177328*/      OPC_EmitNode1, TARGET_VAL(AArch64::SQDECH_XPiWdI), 0,
                    MVT::i64, 3/*#Ops*/, 5, 1, 2,  // Results = #6
/*177337*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177340*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 6, 7, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 694:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDECH_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4), sub_32:{ *:[i32] })
/*177348*/    /*Scope*/ 60, /*->177409*/
/*177349*/      OPC_CheckChild0Integer, 74|128,5/*714*/, 
/*177352*/      OPC_RecordChild1, // #0 = $Rn
/*177353*/      OPC_RecordChild2, // #1 = $pattern
/*177354*/      OPC_MoveChild2,
/*177355*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177358*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177360*/      OPC_MoveParent,
/*177361*/      OPC_RecordChild3, // #2 = $imm4
/*177362*/      OPC_MoveChild3,
/*177363*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177366*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177368*/      OPC_MoveParent,
/*177369*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177371*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #3
/*177377*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177380*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*177389*/      OPC_EmitNode1, TARGET_VAL(AArch64::SQINCW_XPiWdI), 0,
                    MVT::i64, 3/*#Ops*/, 5, 1, 2,  // Results = #6
/*177398*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177401*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 6, 7, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 714:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQINCW_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4), sub_32:{ *:[i32] })
/*177409*/    /*Scope*/ 60, /*->177470*/
/*177410*/      OPC_CheckChild0Integer, 60|128,5/*700*/, 
/*177413*/      OPC_RecordChild1, // #0 = $Rn
/*177414*/      OPC_RecordChild2, // #1 = $pattern
/*177415*/      OPC_MoveChild2,
/*177416*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177419*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177421*/      OPC_MoveParent,
/*177422*/      OPC_RecordChild3, // #2 = $imm4
/*177423*/      OPC_MoveChild3,
/*177424*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177427*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177429*/      OPC_MoveParent,
/*177430*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177432*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #3
/*177438*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177441*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*177450*/      OPC_EmitNode1, TARGET_VAL(AArch64::SQDECW_XPiWdI), 0,
                    MVT::i64, 3/*#Ops*/, 5, 1, 2,  // Results = #6
/*177459*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177462*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 6, 7, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 700:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDECW_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4), sub_32:{ *:[i32] })
/*177470*/    /*Scope*/ 60, /*->177531*/
/*177471*/      OPC_CheckChild0Integer, 65|128,5/*705*/, 
/*177474*/      OPC_RecordChild1, // #0 = $Rn
/*177475*/      OPC_RecordChild2, // #1 = $pattern
/*177476*/      OPC_MoveChild2,
/*177477*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177480*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177482*/      OPC_MoveParent,
/*177483*/      OPC_RecordChild3, // #2 = $imm4
/*177484*/      OPC_MoveChild3,
/*177485*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177488*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177490*/      OPC_MoveParent,
/*177491*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177493*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #3
/*177499*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177502*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*177511*/      OPC_EmitNode1, TARGET_VAL(AArch64::SQINCD_XPiWdI), 0,
                    MVT::i64, 3/*#Ops*/, 5, 1, 2,  // Results = #6
/*177520*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177523*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 6, 7, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 705:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQINCD_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4), sub_32:{ *:[i32] })
/*177531*/    /*Scope*/ 60, /*->177592*/
/*177532*/      OPC_CheckChild0Integer, 51|128,5/*691*/, 
/*177535*/      OPC_RecordChild1, // #0 = $Rn
/*177536*/      OPC_RecordChild2, // #1 = $pattern
/*177537*/      OPC_MoveChild2,
/*177538*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177541*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*177543*/      OPC_MoveParent,
/*177544*/      OPC_RecordChild3, // #2 = $imm4
/*177545*/      OPC_MoveChild3,
/*177546*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*177549*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*177551*/      OPC_MoveParent,
/*177552*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*177554*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #3
/*177560*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177563*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*177572*/      OPC_EmitNode1, TARGET_VAL(AArch64::SQDECD_XPiWdI), 0,
                    MVT::i64, 3/*#Ops*/, 5, 1, 2,  // Results = #6
/*177581*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*177584*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 6, 7, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 691:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDECD_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4), sub_32:{ *:[i32] })
/*177592*/    /*Scope*/ 35|128,2/*291*/, /*->177885*/
/*177594*/      OPC_CheckChild0Integer, 6|128,3/*390*/, 
/*177597*/      OPC_RecordChild1, // #0 = $Rn
/*177598*/      OPC_Scope, 56, /*->177656*/ // 5 children in Scope
/*177600*/        OPC_CheckChild1Type, MVT::i32,
/*177602*/        OPC_Scope, 35, /*->177639*/ // 2 children in Scope
/*177604*/          OPC_MoveChild2,
/*177605*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*177608*/          OPC_RecordChild0, // #1 = $Rm
/*177609*/          OPC_CheckChild0Type, MVT::v4i32,
/*177611*/          OPC_RecordChild1, // #2 = $idx
/*177612*/          OPC_MoveChild1,
/*177613*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*177616*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*177618*/          OPC_CheckType, MVT::i64,
/*177620*/          OPC_MoveParent,
/*177621*/          OPC_CheckType, MVT::i32,
/*177623*/          OPC_MoveParent,
/*177624*/          OPC_CheckType, MVT::i32,
/*177626*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177628*/          OPC_EmitConvertToTarget, 2,
/*177630*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv1i32_indexed), 0,
                        MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 390:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rn, (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (SQDMULHv1i32_indexed:{ *:[i32] } FPR32Op:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*177639*/        /*Scope*/ 15, /*->177655*/
/*177640*/          OPC_RecordChild2, // #1 = $Rm
/*177641*/          OPC_CheckChild2Type, MVT::i32,
/*177643*/          OPC_CheckType, MVT::i32,
/*177645*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177647*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv1i32), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 390:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                    // Dst: (SQDMULHv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*177655*/        0, /*End of Scope*/
/*177656*/      /*Scope*/ 56, /*->177713*/
/*177657*/        OPC_CheckChild1Type, MVT::v4i16,
/*177659*/        OPC_Scope, 35, /*->177696*/ // 2 children in Scope
/*177661*/          OPC_MoveChild2,
/*177662*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*177665*/          OPC_RecordChild0, // #1 = $Rm
/*177666*/          OPC_CheckChild0Type, MVT::v8i16,
/*177668*/          OPC_RecordChild1, // #2 = $idx
/*177669*/          OPC_MoveChild1,
/*177670*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*177673*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*177675*/          OPC_CheckType, MVT::i64,
/*177677*/          OPC_MoveParent,
/*177678*/          OPC_CheckType, MVT::v4i16,
/*177680*/          OPC_MoveParent,
/*177681*/          OPC_CheckType, MVT::v4i16,
/*177683*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177685*/          OPC_EmitConvertToTarget, 2,
/*177687*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv4i16_indexed), 0,
                        MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i16] } 390:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (SQDMULHv4i16_indexed:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*177696*/        /*Scope*/ 15, /*->177712*/
/*177697*/          OPC_RecordChild2, // #1 = $Rm
/*177698*/          OPC_CheckChild2Type, MVT::v4i16,
/*177700*/          OPC_CheckType, MVT::v4i16,
/*177702*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177704*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i16] } 390:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                    // Dst: (SQDMULHv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*177712*/        0, /*End of Scope*/
/*177713*/      /*Scope*/ 56, /*->177770*/
/*177714*/        OPC_CheckChild1Type, MVT::v8i16,
/*177716*/        OPC_Scope, 35, /*->177753*/ // 2 children in Scope
/*177718*/          OPC_MoveChild2,
/*177719*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*177722*/          OPC_RecordChild0, // #1 = $Rm
/*177723*/          OPC_CheckChild0Type, MVT::v8i16,
/*177725*/          OPC_RecordChild1, // #2 = $idx
/*177726*/          OPC_MoveChild1,
/*177727*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*177730*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*177732*/          OPC_CheckType, MVT::i64,
/*177734*/          OPC_MoveParent,
/*177735*/          OPC_CheckType, MVT::v8i16,
/*177737*/          OPC_MoveParent,
/*177738*/          OPC_CheckType, MVT::v8i16,
/*177740*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177742*/          OPC_EmitConvertToTarget, 2,
/*177744*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv8i16_indexed), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 390:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (SQDMULHv8i16_indexed:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*177753*/        /*Scope*/ 15, /*->177769*/
/*177754*/          OPC_RecordChild2, // #1 = $Rm
/*177755*/          OPC_CheckChild2Type, MVT::v8i16,
/*177757*/          OPC_CheckType, MVT::v8i16,
/*177759*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177761*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 390:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                    // Dst: (SQDMULHv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*177769*/        0, /*End of Scope*/
/*177770*/      /*Scope*/ 56, /*->177827*/
/*177771*/        OPC_CheckChild1Type, MVT::v2i32,
/*177773*/        OPC_Scope, 35, /*->177810*/ // 2 children in Scope
/*177775*/          OPC_MoveChild2,
/*177776*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*177779*/          OPC_RecordChild0, // #1 = $Rm
/*177780*/          OPC_CheckChild0Type, MVT::v4i32,
/*177782*/          OPC_RecordChild1, // #2 = $idx
/*177783*/          OPC_MoveChild1,
/*177784*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*177787*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*177789*/          OPC_CheckType, MVT::i64,
/*177791*/          OPC_MoveParent,
/*177792*/          OPC_CheckType, MVT::v2i32,
/*177794*/          OPC_MoveParent,
/*177795*/          OPC_CheckType, MVT::v2i32,
/*177797*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177799*/          OPC_EmitConvertToTarget, 2,
/*177801*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv2i32_indexed), 0,
                        MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 390:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (SQDMULHv2i32_indexed:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*177810*/        /*Scope*/ 15, /*->177826*/
/*177811*/          OPC_RecordChild2, // #1 = $Rm
/*177812*/          OPC_CheckChild2Type, MVT::v2i32,
/*177814*/          OPC_CheckType, MVT::v2i32,
/*177816*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177818*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 390:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                    // Dst: (SQDMULHv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*177826*/        0, /*End of Scope*/
/*177827*/      /*Scope*/ 56, /*->177884*/
/*177828*/        OPC_CheckChild1Type, MVT::v4i32,
/*177830*/        OPC_Scope, 35, /*->177867*/ // 2 children in Scope
/*177832*/          OPC_MoveChild2,
/*177833*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*177836*/          OPC_RecordChild0, // #1 = $Rm
/*177837*/          OPC_CheckChild0Type, MVT::v4i32,
/*177839*/          OPC_RecordChild1, // #2 = $idx
/*177840*/          OPC_MoveChild1,
/*177841*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*177844*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*177846*/          OPC_CheckType, MVT::i64,
/*177848*/          OPC_MoveParent,
/*177849*/          OPC_CheckType, MVT::v4i32,
/*177851*/          OPC_MoveParent,
/*177852*/          OPC_CheckType, MVT::v4i32,
/*177854*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177856*/          OPC_EmitConvertToTarget, 2,
/*177858*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv4i32_indexed), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 390:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (SQDMULHv4i32_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*177867*/        /*Scope*/ 15, /*->177883*/
/*177868*/          OPC_RecordChild2, // #1 = $Rm
/*177869*/          OPC_CheckChild2Type, MVT::v4i32,
/*177871*/          OPC_CheckType, MVT::v4i32,
/*177873*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177875*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULHv4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 390:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                    // Dst: (SQDMULHv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*177883*/        0, /*End of Scope*/
/*177884*/      0, /*End of Scope*/
/*177885*/    /*Scope*/ 35|128,2/*291*/, /*->178178*/
/*177887*/      OPC_CheckChild0Integer, 10|128,3/*394*/, 
/*177890*/      OPC_RecordChild1, // #0 = $Rn
/*177891*/      OPC_Scope, 56, /*->177949*/ // 5 children in Scope
/*177893*/        OPC_CheckChild1Type, MVT::i32,
/*177895*/        OPC_Scope, 35, /*->177932*/ // 2 children in Scope
/*177897*/          OPC_MoveChild2,
/*177898*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*177901*/          OPC_RecordChild0, // #1 = $Rm
/*177902*/          OPC_CheckChild0Type, MVT::v4i32,
/*177904*/          OPC_RecordChild1, // #2 = $idx
/*177905*/          OPC_MoveChild1,
/*177906*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*177909*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*177911*/          OPC_CheckType, MVT::i64,
/*177913*/          OPC_MoveParent,
/*177914*/          OPC_CheckType, MVT::i32,
/*177916*/          OPC_MoveParent,
/*177917*/          OPC_CheckType, MVT::i32,
/*177919*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177921*/          OPC_EmitConvertToTarget, 2,
/*177923*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv1i32_indexed), 0,
                        MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 394:{ *:[iPTR] }, FPR32Op:{ *:[i32] }:$Rn, (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (SQRDMULHv1i32_indexed:{ *:[i32] } FPR32Op:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*177932*/        /*Scope*/ 15, /*->177948*/
/*177933*/          OPC_RecordChild2, // #1 = $Rm
/*177934*/          OPC_CheckChild2Type, MVT::i32,
/*177936*/          OPC_CheckType, MVT::i32,
/*177938*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177940*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv1i32), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 394:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                    // Dst: (SQRDMULHv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*177948*/        0, /*End of Scope*/
/*177949*/      /*Scope*/ 56, /*->178006*/
/*177950*/        OPC_CheckChild1Type, MVT::v4i16,
/*177952*/        OPC_Scope, 35, /*->177989*/ // 2 children in Scope
/*177954*/          OPC_MoveChild2,
/*177955*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*177958*/          OPC_RecordChild0, // #1 = $Rm
/*177959*/          OPC_CheckChild0Type, MVT::v8i16,
/*177961*/          OPC_RecordChild1, // #2 = $idx
/*177962*/          OPC_MoveChild1,
/*177963*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*177966*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*177968*/          OPC_CheckType, MVT::i64,
/*177970*/          OPC_MoveParent,
/*177971*/          OPC_CheckType, MVT::v4i16,
/*177973*/          OPC_MoveParent,
/*177974*/          OPC_CheckType, MVT::v4i16,
/*177976*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177978*/          OPC_EmitConvertToTarget, 2,
/*177980*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv4i16_indexed), 0,
                        MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i16] } 394:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (SQRDMULHv4i16_indexed:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*177989*/        /*Scope*/ 15, /*->178005*/
/*177990*/          OPC_RecordChild2, // #1 = $Rm
/*177991*/          OPC_CheckChild2Type, MVT::v4i16,
/*177993*/          OPC_CheckType, MVT::v4i16,
/*177995*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*177997*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i16] } 394:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                    // Dst: (SQRDMULHv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*178005*/        0, /*End of Scope*/
/*178006*/      /*Scope*/ 56, /*->178063*/
/*178007*/        OPC_CheckChild1Type, MVT::v8i16,
/*178009*/        OPC_Scope, 35, /*->178046*/ // 2 children in Scope
/*178011*/          OPC_MoveChild2,
/*178012*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*178015*/          OPC_RecordChild0, // #1 = $Rm
/*178016*/          OPC_CheckChild0Type, MVT::v8i16,
/*178018*/          OPC_RecordChild1, // #2 = $idx
/*178019*/          OPC_MoveChild1,
/*178020*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178023*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*178025*/          OPC_CheckType, MVT::i64,
/*178027*/          OPC_MoveParent,
/*178028*/          OPC_CheckType, MVT::v8i16,
/*178030*/          OPC_MoveParent,
/*178031*/          OPC_CheckType, MVT::v8i16,
/*178033*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178035*/          OPC_EmitConvertToTarget, 2,
/*178037*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv8i16_indexed), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 394:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (SQRDMULHv8i16_indexed:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*178046*/        /*Scope*/ 15, /*->178062*/
/*178047*/          OPC_RecordChild2, // #1 = $Rm
/*178048*/          OPC_CheckChild2Type, MVT::v8i16,
/*178050*/          OPC_CheckType, MVT::v8i16,
/*178052*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178054*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 394:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                    // Dst: (SQRDMULHv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*178062*/        0, /*End of Scope*/
/*178063*/      /*Scope*/ 56, /*->178120*/
/*178064*/        OPC_CheckChild1Type, MVT::v2i32,
/*178066*/        OPC_Scope, 35, /*->178103*/ // 2 children in Scope
/*178068*/          OPC_MoveChild2,
/*178069*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*178072*/          OPC_RecordChild0, // #1 = $Rm
/*178073*/          OPC_CheckChild0Type, MVT::v4i32,
/*178075*/          OPC_RecordChild1, // #2 = $idx
/*178076*/          OPC_MoveChild1,
/*178077*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178080*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*178082*/          OPC_CheckType, MVT::i64,
/*178084*/          OPC_MoveParent,
/*178085*/          OPC_CheckType, MVT::v2i32,
/*178087*/          OPC_MoveParent,
/*178088*/          OPC_CheckType, MVT::v2i32,
/*178090*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178092*/          OPC_EmitConvertToTarget, 2,
/*178094*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv2i32_indexed), 0,
                        MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 394:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (SQRDMULHv2i32_indexed:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*178103*/        /*Scope*/ 15, /*->178119*/
/*178104*/          OPC_RecordChild2, // #1 = $Rm
/*178105*/          OPC_CheckChild2Type, MVT::v2i32,
/*178107*/          OPC_CheckType, MVT::v2i32,
/*178109*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178111*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 394:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                    // Dst: (SQRDMULHv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*178119*/        0, /*End of Scope*/
/*178120*/      /*Scope*/ 56, /*->178177*/
/*178121*/        OPC_CheckChild1Type, MVT::v4i32,
/*178123*/        OPC_Scope, 35, /*->178160*/ // 2 children in Scope
/*178125*/          OPC_MoveChild2,
/*178126*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*178129*/          OPC_RecordChild0, // #1 = $Rm
/*178130*/          OPC_CheckChild0Type, MVT::v4i32,
/*178132*/          OPC_RecordChild1, // #2 = $idx
/*178133*/          OPC_MoveChild1,
/*178134*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178137*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*178139*/          OPC_CheckType, MVT::i64,
/*178141*/          OPC_MoveParent,
/*178142*/          OPC_CheckType, MVT::v4i32,
/*178144*/          OPC_MoveParent,
/*178145*/          OPC_CheckType, MVT::v4i32,
/*178147*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178149*/          OPC_EmitConvertToTarget, 2,
/*178151*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv4i32_indexed), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 394:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (SQRDMULHv4i32_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*178160*/        /*Scope*/ 15, /*->178176*/
/*178161*/          OPC_RecordChild2, // #1 = $Rm
/*178162*/          OPC_CheckChild2Type, MVT::v4i32,
/*178164*/          OPC_CheckType, MVT::v4i32,
/*178166*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178168*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRDMULHv4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 394:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                    // Dst: (SQRDMULHv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*178176*/        0, /*End of Scope*/
/*178177*/      0, /*End of Scope*/
/*178178*/    /*Scope*/ 48, /*->178227*/
/*178179*/      OPC_CheckChild0Integer, 8|128,3/*392*/, 
/*178182*/      OPC_RecordChild1, // #0 = $Rn
/*178183*/      OPC_Scope, 29, /*->178214*/ // 2 children in Scope
/*178185*/        OPC_MoveChild2,
/*178186*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*178189*/        OPC_RecordChild0, // #1 = $Vm
/*178190*/        OPC_CheckChild0Type, MVT::v4i32,
/*178192*/        OPC_RecordChild1, // #2 = $idx
/*178193*/        OPC_MoveChild1,
/*178194*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178197*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*178199*/        OPC_CheckType, MVT::i64,
/*178201*/        OPC_MoveParent,
/*178202*/        OPC_MoveParent,
/*178203*/        OPC_EmitConvertToTarget, 2,
/*178205*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv1i64_indexed), 0,
                      MVT::i64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 392:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Vm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                  // Dst: (SQDMULLv1i64_indexed:{ *:[i64] } FPR32:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Vm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*178214*/      /*Scope*/ 11, /*->178226*/
/*178215*/        OPC_RecordChild2, // #1 = $Rm
/*178216*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178218*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLi32), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 392:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (SQDMULLi32:{ *:[i64] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*178226*/      0, /*End of Scope*/
/*178227*/    /*Scope*/ 12|128,2/*268*/, /*->178497*/
/*178229*/      OPC_CheckChild0Integer, 75|128,3/*459*/, 
/*178232*/      OPC_RecordChild1, // #0 = $Rn
/*178233*/      OPC_Scope, 22, /*->178257*/ // 9 children in Scope
/*178235*/        OPC_CheckChild1Type, MVT::f32,
/*178237*/        OPC_RecordChild2, // #1 = $imm
/*178238*/        OPC_MoveChild2,
/*178239*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178242*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*178244*/        OPC_MoveParent,
/*178245*/        OPC_CheckType, MVT::i32,
/*178247*/        OPC_EmitConvertToTarget, 1,
/*178249*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSs), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 459:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (FCVTZSs:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)
/*178257*/      /*Scope*/ 22, /*->178280*/
/*178258*/        OPC_CheckChild1Type, MVT::f64,
/*178260*/        OPC_RecordChild2, // #1 = $imm
/*178261*/        OPC_MoveChild2,
/*178262*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178265*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*178267*/        OPC_MoveParent,
/*178268*/        OPC_CheckType, MVT::i64,
/*178270*/        OPC_EmitConvertToTarget, 1,
/*178272*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 459:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                  // Dst: (FCVTZSd:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*178280*/      /*Scope*/ 77, /*->178358*/
/*178281*/        OPC_CheckChild1Type, MVT::f16,
/*178283*/        OPC_RecordChild2, // #1 = $imm
/*178284*/        OPC_MoveChild2,
/*178285*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178288*/        OPC_Scope, 33, /*->178323*/ // 2 children in Scope
/*178290*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*178292*/          OPC_MoveParent,
/*178293*/          OPC_CheckType, MVT::i32,
/*178295*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i32, 0/*#Ops*/,  // Results = #2
/*178301*/          OPC_EmitConvertToTarget, 1,
/*178303*/          OPC_EmitNode1, TARGET_VAL(AArch64::FCVTZSh), 0,
                        MVT::f16, 2/*#Ops*/, 0, 3,  // Results = #4
/*178311*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*178314*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i32, 3/*#Ops*/, 2, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 459:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                    // Dst: (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), (FCVTZSh:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), hsub:{ *:[i32] })
/*178323*/        /*Scope*/ 33, /*->178357*/
/*178324*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*178326*/          OPC_MoveParent,
/*178327*/          OPC_CheckType, MVT::i64,
/*178329*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #2
/*178335*/          OPC_EmitConvertToTarget, 1,
/*178337*/          OPC_EmitNode1, TARGET_VAL(AArch64::FCVTZSh), 0,
                        MVT::f16, 2/*#Ops*/, 0, 3,  // Results = #4
/*178345*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*178348*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 2, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 459:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                    // Dst: (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (FCVTZSh:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), hsub:{ *:[i32] })
/*178357*/        0, /*End of Scope*/
/*178358*/      /*Scope*/ 22, /*->178381*/
/*178359*/        OPC_CheckChild1Type, MVT::v1f64,
/*178361*/        OPC_RecordChild2, // #1 = $imm
/*178362*/        OPC_MoveChild2,
/*178363*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178366*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*178368*/        OPC_MoveParent,
/*178369*/        OPC_CheckType, MVT::v1i64,
/*178371*/        OPC_EmitConvertToTarget, 1,
/*178373*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 459:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                  // Dst: (FCVTZSd:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*178381*/      /*Scope*/ 22, /*->178404*/
/*178382*/        OPC_CheckChild1Type, MVT::v4f16,
/*178384*/        OPC_RecordChild2, // #1 = $imm
/*178385*/        OPC_MoveChild2,
/*178386*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178389*/        OPC_MoveParent,
/*178390*/        OPC_CheckType, MVT::v4i16,
/*178392*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*178394*/        OPC_EmitConvertToTarget, 1,
/*178396*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 459:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZSv4i16_shift:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178404*/      /*Scope*/ 22, /*->178427*/
/*178405*/        OPC_CheckChild1Type, MVT::v8f16,
/*178407*/        OPC_RecordChild2, // #1 = $imm
/*178408*/        OPC_MoveChild2,
/*178409*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178412*/        OPC_MoveParent,
/*178413*/        OPC_CheckType, MVT::v8i16,
/*178415*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*178417*/        OPC_EmitConvertToTarget, 1,
/*178419*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 459:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZSv8i16_shift:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178427*/      /*Scope*/ 22, /*->178450*/
/*178428*/        OPC_CheckChild1Type, MVT::v2f32,
/*178430*/        OPC_RecordChild2, // #1 = $imm
/*178431*/        OPC_MoveChild2,
/*178432*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178435*/        OPC_MoveParent,
/*178436*/        OPC_CheckType, MVT::v2i32,
/*178438*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178440*/        OPC_EmitConvertToTarget, 1,
/*178442*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 459:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZSv2i32_shift:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178450*/      /*Scope*/ 22, /*->178473*/
/*178451*/        OPC_CheckChild1Type, MVT::v4f32,
/*178453*/        OPC_RecordChild2, // #1 = $imm
/*178454*/        OPC_MoveChild2,
/*178455*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178458*/        OPC_MoveParent,
/*178459*/        OPC_CheckType, MVT::v4i32,
/*178461*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178463*/        OPC_EmitConvertToTarget, 1,
/*178465*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 459:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZSv4i32_shift:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178473*/      /*Scope*/ 22, /*->178496*/
/*178474*/        OPC_CheckChild1Type, MVT::v2f64,
/*178476*/        OPC_RecordChild2, // #1 = $imm
/*178477*/        OPC_MoveChild2,
/*178478*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178481*/        OPC_MoveParent,
/*178482*/        OPC_CheckType, MVT::v2i64,
/*178484*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178486*/        OPC_EmitConvertToTarget, 1,
/*178488*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv2i64_shift), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 459:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZSv2i64_shift:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178496*/      0, /*End of Scope*/
/*178497*/    /*Scope*/ 12|128,2/*268*/, /*->178767*/
/*178499*/      OPC_CheckChild0Integer, 76|128,3/*460*/, 
/*178502*/      OPC_RecordChild1, // #0 = $Rn
/*178503*/      OPC_Scope, 22, /*->178527*/ // 9 children in Scope
/*178505*/        OPC_CheckChild1Type, MVT::f32,
/*178507*/        OPC_RecordChild2, // #1 = $imm
/*178508*/        OPC_MoveChild2,
/*178509*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178512*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*178514*/        OPC_MoveParent,
/*178515*/        OPC_CheckType, MVT::i32,
/*178517*/        OPC_EmitConvertToTarget, 1,
/*178519*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUs), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 460:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (FCVTZUs:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)
/*178527*/      /*Scope*/ 22, /*->178550*/
/*178528*/        OPC_CheckChild1Type, MVT::f64,
/*178530*/        OPC_RecordChild2, // #1 = $imm
/*178531*/        OPC_MoveChild2,
/*178532*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178535*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*178537*/        OPC_MoveParent,
/*178538*/        OPC_CheckType, MVT::i64,
/*178540*/        OPC_EmitConvertToTarget, 1,
/*178542*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 460:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                  // Dst: (FCVTZUd:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*178550*/      /*Scope*/ 77, /*->178628*/
/*178551*/        OPC_CheckChild1Type, MVT::f16,
/*178553*/        OPC_RecordChild2, // #1 = $imm
/*178554*/        OPC_MoveChild2,
/*178555*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178558*/        OPC_Scope, 33, /*->178593*/ // 2 children in Scope
/*178560*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*178562*/          OPC_MoveParent,
/*178563*/          OPC_CheckType, MVT::i32,
/*178565*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i32, 0/*#Ops*/,  // Results = #2
/*178571*/          OPC_EmitConvertToTarget, 1,
/*178573*/          OPC_EmitNode1, TARGET_VAL(AArch64::FCVTZUh), 0,
                        MVT::f16, 2/*#Ops*/, 0, 3,  // Results = #4
/*178581*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*178584*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i32, 3/*#Ops*/, 2, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 460:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                    // Dst: (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), (FCVTZUh:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm), hsub:{ *:[i32] })
/*178593*/        /*Scope*/ 33, /*->178627*/
/*178594*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*178596*/          OPC_MoveParent,
/*178597*/          OPC_CheckType, MVT::i64,
/*178599*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #2
/*178605*/          OPC_EmitConvertToTarget, 1,
/*178607*/          OPC_EmitNode1, TARGET_VAL(AArch64::FCVTZUh), 0,
                        MVT::f16, 2/*#Ops*/, 0, 3,  // Results = #4
/*178615*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*178618*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 2, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 460:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                    // Dst: (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), (FCVTZUh:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm), hsub:{ *:[i32] })
/*178627*/        0, /*End of Scope*/
/*178628*/      /*Scope*/ 22, /*->178651*/
/*178629*/        OPC_CheckChild1Type, MVT::v1f64,
/*178631*/        OPC_RecordChild2, // #1 = $imm
/*178632*/        OPC_MoveChild2,
/*178633*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178636*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*178638*/        OPC_MoveParent,
/*178639*/        OPC_CheckType, MVT::v1i64,
/*178641*/        OPC_EmitConvertToTarget, 1,
/*178643*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 460:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                  // Dst: (FCVTZUd:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*178651*/      /*Scope*/ 22, /*->178674*/
/*178652*/        OPC_CheckChild1Type, MVT::v4f16,
/*178654*/        OPC_RecordChild2, // #1 = $imm
/*178655*/        OPC_MoveChild2,
/*178656*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178659*/        OPC_MoveParent,
/*178660*/        OPC_CheckType, MVT::v4i16,
/*178662*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*178664*/        OPC_EmitConvertToTarget, 1,
/*178666*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 460:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZUv4i16_shift:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178674*/      /*Scope*/ 22, /*->178697*/
/*178675*/        OPC_CheckChild1Type, MVT::v8f16,
/*178677*/        OPC_RecordChild2, // #1 = $imm
/*178678*/        OPC_MoveChild2,
/*178679*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178682*/        OPC_MoveParent,
/*178683*/        OPC_CheckType, MVT::v8i16,
/*178685*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*178687*/        OPC_EmitConvertToTarget, 1,
/*178689*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 460:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZUv8i16_shift:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178697*/      /*Scope*/ 22, /*->178720*/
/*178698*/        OPC_CheckChild1Type, MVT::v2f32,
/*178700*/        OPC_RecordChild2, // #1 = $imm
/*178701*/        OPC_MoveChild2,
/*178702*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178705*/        OPC_MoveParent,
/*178706*/        OPC_CheckType, MVT::v2i32,
/*178708*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178710*/        OPC_EmitConvertToTarget, 1,
/*178712*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 460:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZUv2i32_shift:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178720*/      /*Scope*/ 22, /*->178743*/
/*178721*/        OPC_CheckChild1Type, MVT::v4f32,
/*178723*/        OPC_RecordChild2, // #1 = $imm
/*178724*/        OPC_MoveChild2,
/*178725*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178728*/        OPC_MoveParent,
/*178729*/        OPC_CheckType, MVT::v4i32,
/*178731*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178733*/        OPC_EmitConvertToTarget, 1,
/*178735*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 460:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZUv4i32_shift:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178743*/      /*Scope*/ 22, /*->178766*/
/*178744*/        OPC_CheckChild1Type, MVT::v2f64,
/*178746*/        OPC_RecordChild2, // #1 = $imm
/*178747*/        OPC_MoveChild2,
/*178748*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178751*/        OPC_MoveParent,
/*178752*/        OPC_CheckType, MVT::v2i64,
/*178754*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178756*/        OPC_EmitConvertToTarget, 1,
/*178758*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv2i64_shift), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 460:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                  // Dst: (FCVTZUv2i64_shift:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178766*/      0, /*End of Scope*/
/*178767*/    /*Scope*/ 106, /*->178874*/
/*178768*/      OPC_CheckChild0Integer, 12|128,3/*396*/, 
/*178771*/      OPC_RecordChild1, // #0 = $Rn
/*178772*/      OPC_Scope, 24, /*->178798*/ // 4 children in Scope
/*178774*/        OPC_CheckChild1Type, MVT::i64,
/*178776*/        OPC_RecordChild2, // #1 = $imm
/*178777*/        OPC_MoveChild2,
/*178778*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178781*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*178783*/        OPC_MoveParent,
/*178784*/        OPC_CheckType, MVT::i32,
/*178786*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178788*/        OPC_EmitConvertToTarget, 1,
/*178790*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNs), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 396:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (SQRSHRNs:{ *:[i32] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178798*/      /*Scope*/ 24, /*->178823*/
/*178799*/        OPC_CheckChild1Type, MVT::v8i16,
/*178801*/        OPC_RecordChild2, // #1 = $imm
/*178802*/        OPC_MoveChild2,
/*178803*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178806*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*178808*/        OPC_MoveParent,
/*178809*/        OPC_CheckType, MVT::v8i8,
/*178811*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178813*/        OPC_EmitConvertToTarget, 1,
/*178815*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 396:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQRSHRNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178823*/      /*Scope*/ 24, /*->178848*/
/*178824*/        OPC_CheckChild1Type, MVT::v4i32,
/*178826*/        OPC_RecordChild2, // #1 = $imm
/*178827*/        OPC_MoveChild2,
/*178828*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178831*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*178833*/        OPC_MoveParent,
/*178834*/        OPC_CheckType, MVT::v4i16,
/*178836*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178838*/        OPC_EmitConvertToTarget, 1,
/*178840*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 396:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQRSHRNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178848*/      /*Scope*/ 24, /*->178873*/
/*178849*/        OPC_CheckChild1Type, MVT::v2i64,
/*178851*/        OPC_RecordChild2, // #1 = $imm
/*178852*/        OPC_MoveChild2,
/*178853*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178856*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*178858*/        OPC_MoveParent,
/*178859*/        OPC_CheckType, MVT::v2i32,
/*178861*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178863*/        OPC_EmitConvertToTarget, 1,
/*178865*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 396:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQRSHRNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178873*/      0, /*End of Scope*/
/*178874*/    /*Scope*/ 106, /*->178981*/
/*178875*/      OPC_CheckChild0Integer, 13|128,3/*397*/, 
/*178878*/      OPC_RecordChild1, // #0 = $Rn
/*178879*/      OPC_Scope, 24, /*->178905*/ // 4 children in Scope
/*178881*/        OPC_CheckChild1Type, MVT::i64,
/*178883*/        OPC_RecordChild2, // #1 = $imm
/*178884*/        OPC_MoveChild2,
/*178885*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178888*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*178890*/        OPC_MoveParent,
/*178891*/        OPC_CheckType, MVT::i32,
/*178893*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178895*/        OPC_EmitConvertToTarget, 1,
/*178897*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNs), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 397:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (SQRSHRUNs:{ *:[i32] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178905*/      /*Scope*/ 24, /*->178930*/
/*178906*/        OPC_CheckChild1Type, MVT::v8i16,
/*178908*/        OPC_RecordChild2, // #1 = $imm
/*178909*/        OPC_MoveChild2,
/*178910*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178913*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*178915*/        OPC_MoveParent,
/*178916*/        OPC_CheckType, MVT::v8i8,
/*178918*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178920*/        OPC_EmitConvertToTarget, 1,
/*178922*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 397:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQRSHRUNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178930*/      /*Scope*/ 24, /*->178955*/
/*178931*/        OPC_CheckChild1Type, MVT::v4i32,
/*178933*/        OPC_RecordChild2, // #1 = $imm
/*178934*/        OPC_MoveChild2,
/*178935*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178938*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*178940*/        OPC_MoveParent,
/*178941*/        OPC_CheckType, MVT::v4i16,
/*178943*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178945*/        OPC_EmitConvertToTarget, 1,
/*178947*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 397:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQRSHRUNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178955*/      /*Scope*/ 24, /*->178980*/
/*178956*/        OPC_CheckChild1Type, MVT::v2i64,
/*178958*/        OPC_RecordChild2, // #1 = $imm
/*178959*/        OPC_MoveChild2,
/*178960*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178963*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*178965*/        OPC_MoveParent,
/*178966*/        OPC_CheckType, MVT::v2i32,
/*178968*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*178970*/        OPC_EmitConvertToTarget, 1,
/*178972*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 397:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQRSHRUNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*178980*/      0, /*End of Scope*/
/*178981*/    /*Scope*/ 106, /*->179088*/
/*178982*/      OPC_CheckChild0Integer, 16|128,3/*400*/, 
/*178985*/      OPC_RecordChild1, // #0 = $Rn
/*178986*/      OPC_Scope, 24, /*->179012*/ // 4 children in Scope
/*178988*/        OPC_CheckChild1Type, MVT::i64,
/*178990*/        OPC_RecordChild2, // #1 = $imm
/*178991*/        OPC_MoveChild2,
/*178992*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*178995*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*178997*/        OPC_MoveParent,
/*178998*/        OPC_CheckType, MVT::i32,
/*179000*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179002*/        OPC_EmitConvertToTarget, 1,
/*179004*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNs), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 400:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (SQSHRNs:{ *:[i32] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179012*/      /*Scope*/ 24, /*->179037*/
/*179013*/        OPC_CheckChild1Type, MVT::v8i16,
/*179015*/        OPC_RecordChild2, // #1 = $imm
/*179016*/        OPC_MoveChild2,
/*179017*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179020*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*179022*/        OPC_MoveParent,
/*179023*/        OPC_CheckType, MVT::v8i8,
/*179025*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179027*/        OPC_EmitConvertToTarget, 1,
/*179029*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 400:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQSHRNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179037*/      /*Scope*/ 24, /*->179062*/
/*179038*/        OPC_CheckChild1Type, MVT::v4i32,
/*179040*/        OPC_RecordChild2, // #1 = $imm
/*179041*/        OPC_MoveChild2,
/*179042*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179045*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*179047*/        OPC_MoveParent,
/*179048*/        OPC_CheckType, MVT::v4i16,
/*179050*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179052*/        OPC_EmitConvertToTarget, 1,
/*179054*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 400:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQSHRNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179062*/      /*Scope*/ 24, /*->179087*/
/*179063*/        OPC_CheckChild1Type, MVT::v2i64,
/*179065*/        OPC_RecordChild2, // #1 = $imm
/*179066*/        OPC_MoveChild2,
/*179067*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179070*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*179072*/        OPC_MoveParent,
/*179073*/        OPC_CheckType, MVT::v2i32,
/*179075*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179077*/        OPC_EmitConvertToTarget, 1,
/*179079*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 400:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQSHRNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179087*/      0, /*End of Scope*/
/*179088*/    /*Scope*/ 106, /*->179195*/
/*179089*/      OPC_CheckChild0Integer, 17|128,3/*401*/, 
/*179092*/      OPC_RecordChild1, // #0 = $Rn
/*179093*/      OPC_Scope, 24, /*->179119*/ // 4 children in Scope
/*179095*/        OPC_CheckChild1Type, MVT::i64,
/*179097*/        OPC_RecordChild2, // #1 = $imm
/*179098*/        OPC_MoveChild2,
/*179099*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179102*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*179104*/        OPC_MoveParent,
/*179105*/        OPC_CheckType, MVT::i32,
/*179107*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179109*/        OPC_EmitConvertToTarget, 1,
/*179111*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNs), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 401:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (SQSHRUNs:{ *:[i32] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179119*/      /*Scope*/ 24, /*->179144*/
/*179120*/        OPC_CheckChild1Type, MVT::v8i16,
/*179122*/        OPC_RecordChild2, // #1 = $imm
/*179123*/        OPC_MoveChild2,
/*179124*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179127*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*179129*/        OPC_MoveParent,
/*179130*/        OPC_CheckType, MVT::v8i8,
/*179132*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179134*/        OPC_EmitConvertToTarget, 1,
/*179136*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 401:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQSHRUNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179144*/      /*Scope*/ 24, /*->179169*/
/*179145*/        OPC_CheckChild1Type, MVT::v4i32,
/*179147*/        OPC_RecordChild2, // #1 = $imm
/*179148*/        OPC_MoveChild2,
/*179149*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179152*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*179154*/        OPC_MoveParent,
/*179155*/        OPC_CheckType, MVT::v4i16,
/*179157*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179159*/        OPC_EmitConvertToTarget, 1,
/*179161*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 401:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQSHRUNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179169*/      /*Scope*/ 24, /*->179194*/
/*179170*/        OPC_CheckChild1Type, MVT::v2i64,
/*179172*/        OPC_RecordChild2, // #1 = $imm
/*179173*/        OPC_MoveChild2,
/*179174*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179177*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*179179*/        OPC_MoveParent,
/*179180*/        OPC_CheckType, MVT::v2i32,
/*179182*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179184*/        OPC_EmitConvertToTarget, 1,
/*179186*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 401:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm) - Complexity = 12
                  // Dst: (SQSHRUNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179194*/      0, /*End of Scope*/
/*179195*/    /*Scope*/ 106, /*->179302*/
/*179196*/      OPC_CheckChild0Integer, 60|128,3/*444*/, 
/*179199*/      OPC_RecordChild1, // #0 = $Rn
/*179200*/      OPC_Scope, 24, /*->179226*/ // 4 children in Scope
/*179202*/        OPC_CheckChild1Type, MVT::i64,
/*179204*/        OPC_RecordChild2, // #1 = $imm
/*179205*/        OPC_MoveChild2,
/*179206*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179209*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*179211*/        OPC_MoveParent,
/*179212*/        OPC_CheckType, MVT::i32,
/*179214*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179216*/        OPC_EmitConvertToTarget, 1,
/*179218*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNs), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 444:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (UQRSHRNs:{ *:[i32] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179226*/      /*Scope*/ 24, /*->179251*/
/*179227*/        OPC_CheckChild1Type, MVT::v8i16,
/*179229*/        OPC_RecordChild2, // #1 = $imm
/*179230*/        OPC_MoveChild2,
/*179231*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179234*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*179236*/        OPC_MoveParent,
/*179237*/        OPC_CheckType, MVT::v8i8,
/*179239*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179241*/        OPC_EmitConvertToTarget, 1,
/*179243*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 444:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm) - Complexity = 12
                  // Dst: (UQRSHRNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179251*/      /*Scope*/ 24, /*->179276*/
/*179252*/        OPC_CheckChild1Type, MVT::v4i32,
/*179254*/        OPC_RecordChild2, // #1 = $imm
/*179255*/        OPC_MoveChild2,
/*179256*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179259*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*179261*/        OPC_MoveParent,
/*179262*/        OPC_CheckType, MVT::v4i16,
/*179264*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179266*/        OPC_EmitConvertToTarget, 1,
/*179268*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 444:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm) - Complexity = 12
                  // Dst: (UQRSHRNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179276*/      /*Scope*/ 24, /*->179301*/
/*179277*/        OPC_CheckChild1Type, MVT::v2i64,
/*179279*/        OPC_RecordChild2, // #1 = $imm
/*179280*/        OPC_MoveChild2,
/*179281*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179284*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*179286*/        OPC_MoveParent,
/*179287*/        OPC_CheckType, MVT::v2i32,
/*179289*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179291*/        OPC_EmitConvertToTarget, 1,
/*179293*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 444:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm) - Complexity = 12
                  // Dst: (UQRSHRNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179301*/      0, /*End of Scope*/
/*179302*/    /*Scope*/ 106, /*->179409*/
/*179303*/      OPC_CheckChild0Integer, 62|128,3/*446*/, 
/*179306*/      OPC_RecordChild1, // #0 = $Rn
/*179307*/      OPC_Scope, 24, /*->179333*/ // 4 children in Scope
/*179309*/        OPC_CheckChild1Type, MVT::i64,
/*179311*/        OPC_RecordChild2, // #1 = $imm
/*179312*/        OPC_MoveChild2,
/*179313*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179316*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*179318*/        OPC_MoveParent,
/*179319*/        OPC_CheckType, MVT::i32,
/*179321*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179323*/        OPC_EmitConvertToTarget, 1,
/*179325*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNs), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 446:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (UQSHRNs:{ *:[i32] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179333*/      /*Scope*/ 24, /*->179358*/
/*179334*/        OPC_CheckChild1Type, MVT::v8i16,
/*179336*/        OPC_RecordChild2, // #1 = $imm
/*179337*/        OPC_MoveChild2,
/*179338*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179341*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*179343*/        OPC_MoveParent,
/*179344*/        OPC_CheckType, MVT::v8i8,
/*179346*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179348*/        OPC_EmitConvertToTarget, 1,
/*179350*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 446:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm) - Complexity = 12
                  // Dst: (UQSHRNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179358*/      /*Scope*/ 24, /*->179383*/
/*179359*/        OPC_CheckChild1Type, MVT::v4i32,
/*179361*/        OPC_RecordChild2, // #1 = $imm
/*179362*/        OPC_MoveChild2,
/*179363*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179366*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*179368*/        OPC_MoveParent,
/*179369*/        OPC_CheckType, MVT::v4i16,
/*179371*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179373*/        OPC_EmitConvertToTarget, 1,
/*179375*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 446:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm) - Complexity = 12
                  // Dst: (UQSHRNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179383*/      /*Scope*/ 24, /*->179408*/
/*179384*/        OPC_CheckChild1Type, MVT::v2i64,
/*179386*/        OPC_RecordChild2, // #1 = $imm
/*179387*/        OPC_MoveChild2,
/*179388*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*179391*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*179393*/        OPC_MoveParent,
/*179394*/        OPC_CheckType, MVT::v2i32,
/*179396*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179398*/        OPC_EmitConvertToTarget, 1,
/*179400*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 446:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm) - Complexity = 12
                  // Dst: (UQSHRNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*179408*/      0, /*End of Scope*/
/*179409*/    /*Scope*/ 24, /*->179434*/
/*179410*/      OPC_CheckChild0Integer, 4|128,4/*516*/, 
/*179413*/      OPC_RecordChild1, // #0 = $pattern
/*179414*/      OPC_MoveChild1,
/*179415*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*179418*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*179420*/      OPC_MoveParent,
/*179421*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*179423*/      OPC_EmitInteger, MVT::i32, 1, 
/*179426*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTB_XPiI), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 516:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern) - Complexity = 12
                // Dst: (CNTB_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, 1:{ *:[i32] })
/*179434*/    /*Scope*/ 24, /*->179459*/
/*179435*/      OPC_CheckChild0Integer, 6|128,4/*518*/, 
/*179438*/      OPC_RecordChild1, // #0 = $pattern
/*179439*/      OPC_MoveChild1,
/*179440*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*179443*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*179445*/      OPC_MoveParent,
/*179446*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*179448*/      OPC_EmitInteger, MVT::i32, 1, 
/*179451*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTH_XPiI), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 518:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern) - Complexity = 12
                // Dst: (CNTH_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, 1:{ *:[i32] })
/*179459*/    /*Scope*/ 24, /*->179484*/
/*179460*/      OPC_CheckChild0Integer, 8|128,4/*520*/, 
/*179463*/      OPC_RecordChild1, // #0 = $pattern
/*179464*/      OPC_MoveChild1,
/*179465*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*179468*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*179470*/      OPC_MoveParent,
/*179471*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*179473*/      OPC_EmitInteger, MVT::i32, 1, 
/*179476*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTW_XPiI), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 520:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern) - Complexity = 12
                // Dst: (CNTW_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, 1:{ *:[i32] })
/*179484*/    /*Scope*/ 24, /*->179509*/
/*179485*/      OPC_CheckChild0Integer, 5|128,4/*517*/, 
/*179488*/      OPC_RecordChild1, // #0 = $pattern
/*179489*/      OPC_MoveChild1,
/*179490*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*179493*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*179495*/      OPC_MoveParent,
/*179496*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*179498*/      OPC_EmitInteger, MVT::i32, 1, 
/*179501*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTD_XPiI), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 517:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern) - Complexity = 12
                // Dst: (CNTD_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, 1:{ *:[i32] })
/*179509*/    /*Scope*/ 13, /*->179523*/
/*179510*/      OPC_CheckChild0Integer, 40|128,2/*296*/, 
/*179513*/      OPC_RecordChild1, // #0 = $Rn
/*179514*/      OPC_CheckPatternPredicate, 10, // (Subtarget->hasFPARMv8()) && (Subtarget->hasJS())
/*179516*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FJCVTZS), 0,
                    MVT::i32, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 296:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                // Dst: (FJCVTZS:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*179523*/    /*Scope*/ 15, /*->179539*/
/*179524*/      OPC_CheckChild0Integer, 41|128,2/*297*/, 
/*179527*/      OPC_EmitInteger, MVT::i32, 32|128,52|128,3/*55840*/, 
/*179532*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MRS), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 297:{ *:[iPTR] }) - Complexity = 8
                // Dst: (MRS:{ *:[i64] } 55840:{ *:[i32] })
/*179539*/    /*Scope*/ 36, /*->179576*/
/*179540*/      OPC_CheckChild0Integer, 52|128,6/*820*/, 
/*179543*/      OPC_RecordChild1, // #0 = $Rn
/*179544*/      OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->179560
/*179547*/        OPC_CheckChild1Type, MVT::i32,
/*179549*/        OPC_RecordChild2, // #1 = $Rm
/*179550*/        OPC_CheckChild2Type, MVT::i32,
/*179552*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDIVWr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 820:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (UDIVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*179560*/      /*SwitchType*/ 13, MVT::i64,// ->179575
/*179562*/        OPC_CheckChild1Type, MVT::i64,
/*179564*/        OPC_RecordChild2, // #1 = $Rm
/*179565*/        OPC_CheckChild2Type, MVT::i64,
/*179567*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDIVXr), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 820:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (UDIVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*179575*/      0, // EndSwitchType
/*179576*/    /*Scope*/ 36, /*->179613*/
/*179577*/      OPC_CheckChild0Integer, 83|128,3/*467*/, 
/*179580*/      OPC_RecordChild1, // #0 = $Rn
/*179581*/      OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->179597
/*179584*/        OPC_CheckChild1Type, MVT::i32,
/*179586*/        OPC_RecordChild2, // #1 = $Rm
/*179587*/        OPC_CheckChild2Type, MVT::i32,
/*179589*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDIVWr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 467:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (SDIVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*179597*/      /*SwitchType*/ 13, MVT::i64,// ->179612
/*179599*/        OPC_CheckChild1Type, MVT::i64,
/*179601*/        OPC_RecordChild2, // #1 = $Rm
/*179602*/        OPC_CheckChild2Type, MVT::i64,
/*179604*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDIVXr), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 467:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (SDIVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*179612*/      0, // EndSwitchType
/*179613*/    /*Scope*/ 15, /*->179629*/
/*179614*/      OPC_CheckChild0Integer, 16|128,2/*272*/, 
/*179617*/      OPC_RecordChild1, // #0 = $Rn
/*179618*/      OPC_RecordChild2, // #1 = $Rm
/*179619*/      OPC_CheckPatternPredicate, 11, // (Subtarget->hasCRC())
/*179621*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CRC32Brr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 272:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                // Dst: (CRC32Brr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*179629*/    /*Scope*/ 15, /*->179645*/
/*179630*/      OPC_CheckChild0Integer, 21|128,2/*277*/, 
/*179633*/      OPC_RecordChild1, // #0 = $Rn
/*179634*/      OPC_RecordChild2, // #1 = $Rm
/*179635*/      OPC_CheckPatternPredicate, 11, // (Subtarget->hasCRC())
/*179637*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CRC32Hrr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 277:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                // Dst: (CRC32Hrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*179645*/    /*Scope*/ 15, /*->179661*/
/*179646*/      OPC_CheckChild0Integer, 22|128,2/*278*/, 
/*179649*/      OPC_RecordChild1, // #0 = $Rn
/*179650*/      OPC_RecordChild2, // #1 = $Rm
/*179651*/      OPC_CheckPatternPredicate, 11, // (Subtarget->hasCRC())
/*179653*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CRC32Wrr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 278:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                // Dst: (CRC32Wrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*179661*/    /*Scope*/ 15, /*->179677*/
/*179662*/      OPC_CheckChild0Integer, 23|128,2/*279*/, 
/*179665*/      OPC_RecordChild1, // #0 = $Rn
/*179666*/      OPC_RecordChild2, // #1 = $Rm
/*179667*/      OPC_CheckPatternPredicate, 11, // (Subtarget->hasCRC())
/*179669*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CRC32Xrr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 279:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 8
                // Dst: (CRC32Xrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*179677*/    /*Scope*/ 15, /*->179693*/
/*179678*/      OPC_CheckChild0Integer, 17|128,2/*273*/, 
/*179681*/      OPC_RecordChild1, // #0 = $Rn
/*179682*/      OPC_RecordChild2, // #1 = $Rm
/*179683*/      OPC_CheckPatternPredicate, 11, // (Subtarget->hasCRC())
/*179685*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CRC32CBrr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 273:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                // Dst: (CRC32CBrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*179693*/    /*Scope*/ 15, /*->179709*/
/*179694*/      OPC_CheckChild0Integer, 18|128,2/*274*/, 
/*179697*/      OPC_RecordChild1, // #0 = $Rn
/*179698*/      OPC_RecordChild2, // #1 = $Rm
/*179699*/      OPC_CheckPatternPredicate, 11, // (Subtarget->hasCRC())
/*179701*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CRC32CHrr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 274:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                // Dst: (CRC32CHrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*179709*/    /*Scope*/ 15, /*->179725*/
/*179710*/      OPC_CheckChild0Integer, 19|128,2/*275*/, 
/*179713*/      OPC_RecordChild1, // #0 = $Rn
/*179714*/      OPC_RecordChild2, // #1 = $Rm
/*179715*/      OPC_CheckPatternPredicate, 11, // (Subtarget->hasCRC())
/*179717*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CRC32CWrr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 275:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                // Dst: (CRC32CWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*179725*/    /*Scope*/ 15, /*->179741*/
/*179726*/      OPC_CheckChild0Integer, 20|128,2/*276*/, 
/*179729*/      OPC_RecordChild1, // #0 = $Rn
/*179730*/      OPC_RecordChild2, // #1 = $Rm
/*179731*/      OPC_CheckPatternPredicate, 11, // (Subtarget->hasCRC())
/*179733*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CRC32CXrr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 276:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 8
                // Dst: (CRC32CXrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*179741*/    /*Scope*/ 17, /*->179759*/
/*179742*/      OPC_CheckChild0Integer, 42|128,2/*298*/, 
/*179745*/      OPC_RecordChild1, // #0 = $Rn
/*179746*/      OPC_CheckChild1Type, MVT::i64,
/*179748*/      OPC_RecordChild2, // #1 = $Rm
/*179749*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*179751*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GMI), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 298:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 8
                // Dst: (GMI:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*179759*/    /*Scope*/ 19, /*->179779*/
/*179760*/      OPC_CheckChild0Integer, 95|128,3/*479*/, 
/*179763*/      OPC_RecordChild1, // #0 = $Rn
/*179764*/      OPC_CheckChild1Type, MVT::i64,
/*179766*/      OPC_RecordChild2, // #1 = $Rm
/*179767*/      OPC_CheckChild2Type, MVT::i64,
/*179769*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*179771*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBP), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[i64] } 479:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$Rn, GPR64sp:{ *:[i64] }:$Rm) - Complexity = 8
                // Dst: (SUBP:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64sp:{ *:[i64] }:$Rm)
/*179779*/    /*Scope*/ 11, /*->179791*/
/*179780*/      OPC_CheckChild0Integer, 14|128,2/*270*/, 
/*179783*/      OPC_RecordChild1, // #0 = $Rn
/*179784*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSWr), 0,
                    MVT::i32, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 270:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn) - Complexity = 8
                // Dst: (CLSWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn)
/*179791*/    /*Scope*/ 41|128,1/*169*/, /*->179962*/
/*179793*/      OPC_CheckChild0Integer, 61|128,2/*317*/, 
/*179796*/      OPC_RecordChild1, // #0 = $Rn
/*179797*/      OPC_Scope, 26, /*->179825*/ // 9 children in Scope
/*179799*/        OPC_CheckChild1Type, MVT::f16,
/*179801*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->179813
/*179804*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*179806*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 317:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTASUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*179813*/        /*SwitchType*/ 9, MVT::i64,// ->179824
/*179815*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*179817*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 317:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTASUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*179824*/        0, // EndSwitchType
/*179825*/      /*Scope*/ 26, /*->179852*/
/*179826*/        OPC_CheckChild1Type, MVT::f32,
/*179828*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->179840
/*179831*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*179833*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 317:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTASUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*179840*/        /*SwitchType*/ 9, MVT::i64,// ->179851
/*179842*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*179844*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 317:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTASUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*179851*/        0, // EndSwitchType
/*179852*/      /*Scope*/ 26, /*->179879*/
/*179853*/        OPC_CheckChild1Type, MVT::f64,
/*179855*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->179867
/*179858*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*179860*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 317:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTASUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*179867*/        /*SwitchType*/ 9, MVT::i64,// ->179878
/*179869*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*179871*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 317:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTASUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*179878*/        0, // EndSwitchType
/*179879*/      /*Scope*/ 13, /*->179893*/
/*179880*/        OPC_CheckChild1Type, MVT::v4f16,
/*179882*/        OPC_CheckType, MVT::v4i16,
/*179884*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*179886*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 317:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTASv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*179893*/      /*Scope*/ 13, /*->179907*/
/*179894*/        OPC_CheckChild1Type, MVT::v8f16,
/*179896*/        OPC_CheckType, MVT::v8i16,
/*179898*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*179900*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 317:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTASv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*179907*/      /*Scope*/ 13, /*->179921*/
/*179908*/        OPC_CheckChild1Type, MVT::v2f32,
/*179910*/        OPC_CheckType, MVT::v2i32,
/*179912*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179914*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 317:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTASv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*179921*/      /*Scope*/ 13, /*->179935*/
/*179922*/        OPC_CheckChild1Type, MVT::v4f32,
/*179924*/        OPC_CheckType, MVT::v4i32,
/*179926*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179928*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 317:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTASv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*179935*/      /*Scope*/ 13, /*->179949*/
/*179936*/        OPC_CheckChild1Type, MVT::v2f64,
/*179938*/        OPC_CheckType, MVT::v2i64,
/*179940*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*179942*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 317:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTASv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*179949*/      /*Scope*/ 11, /*->179961*/
/*179950*/        OPC_CheckChild1Type, MVT::v1f64,
/*179952*/        OPC_CheckType, MVT::v1i64,
/*179954*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 317:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTASv1i64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*179961*/      0, /*End of Scope*/
/*179962*/    /*Scope*/ 41|128,1/*169*/, /*->180133*/
/*179964*/      OPC_CheckChild0Integer, 62|128,2/*318*/, 
/*179967*/      OPC_RecordChild1, // #0 = $Rn
/*179968*/      OPC_Scope, 26, /*->179996*/ // 9 children in Scope
/*179970*/        OPC_CheckChild1Type, MVT::f16,
/*179972*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->179984
/*179975*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*179977*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 318:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTAUUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*179984*/        /*SwitchType*/ 9, MVT::i64,// ->179995
/*179986*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*179988*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 318:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTAUUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*179995*/        0, // EndSwitchType
/*179996*/      /*Scope*/ 26, /*->180023*/
/*179997*/        OPC_CheckChild1Type, MVT::f32,
/*179999*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180011
/*180002*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180004*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 318:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTAUUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*180011*/        /*SwitchType*/ 9, MVT::i64,// ->180022
/*180013*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180015*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 318:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTAUUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*180022*/        0, // EndSwitchType
/*180023*/      /*Scope*/ 26, /*->180050*/
/*180024*/        OPC_CheckChild1Type, MVT::f64,
/*180026*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180038
/*180029*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180031*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 318:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTAUUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*180038*/        /*SwitchType*/ 9, MVT::i64,// ->180049
/*180040*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180042*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 318:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTAUUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*180049*/        0, // EndSwitchType
/*180050*/      /*Scope*/ 13, /*->180064*/
/*180051*/        OPC_CheckChild1Type, MVT::v4f16,
/*180053*/        OPC_CheckType, MVT::v4i16,
/*180055*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180057*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 318:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTAUv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*180064*/      /*Scope*/ 13, /*->180078*/
/*180065*/        OPC_CheckChild1Type, MVT::v8f16,
/*180067*/        OPC_CheckType, MVT::v8i16,
/*180069*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180071*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 318:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTAUv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*180078*/      /*Scope*/ 13, /*->180092*/
/*180079*/        OPC_CheckChild1Type, MVT::v2f32,
/*180081*/        OPC_CheckType, MVT::v2i32,
/*180083*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180085*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 318:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTAUv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*180092*/      /*Scope*/ 13, /*->180106*/
/*180093*/        OPC_CheckChild1Type, MVT::v4f32,
/*180095*/        OPC_CheckType, MVT::v4i32,
/*180097*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180099*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 318:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTAUv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*180106*/      /*Scope*/ 13, /*->180120*/
/*180107*/        OPC_CheckChild1Type, MVT::v2f64,
/*180109*/        OPC_CheckType, MVT::v2i64,
/*180111*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180113*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 318:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTAUv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*180120*/      /*Scope*/ 11, /*->180132*/
/*180121*/        OPC_CheckChild1Type, MVT::v1f64,
/*180123*/        OPC_CheckType, MVT::v1i64,
/*180125*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 318:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTAUv1i64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*180132*/      0, /*End of Scope*/
/*180133*/    /*Scope*/ 41|128,1/*169*/, /*->180304*/
/*180135*/      OPC_CheckChild0Integer, 63|128,2/*319*/, 
/*180138*/      OPC_RecordChild1, // #0 = $Rn
/*180139*/      OPC_Scope, 26, /*->180167*/ // 9 children in Scope
/*180141*/        OPC_CheckChild1Type, MVT::f16,
/*180143*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180155
/*180146*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180148*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 319:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMSUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*180155*/        /*SwitchType*/ 9, MVT::i64,// ->180166
/*180157*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180159*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 319:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMSUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*180166*/        0, // EndSwitchType
/*180167*/      /*Scope*/ 26, /*->180194*/
/*180168*/        OPC_CheckChild1Type, MVT::f32,
/*180170*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180182
/*180173*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180175*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 319:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMSUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*180182*/        /*SwitchType*/ 9, MVT::i64,// ->180193
/*180184*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180186*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 319:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMSUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*180193*/        0, // EndSwitchType
/*180194*/      /*Scope*/ 26, /*->180221*/
/*180195*/        OPC_CheckChild1Type, MVT::f64,
/*180197*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180209
/*180200*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180202*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 319:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMSUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*180209*/        /*SwitchType*/ 9, MVT::i64,// ->180220
/*180211*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180213*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 319:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMSUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*180220*/        0, // EndSwitchType
/*180221*/      /*Scope*/ 13, /*->180235*/
/*180222*/        OPC_CheckChild1Type, MVT::v4f16,
/*180224*/        OPC_CheckType, MVT::v4i16,
/*180226*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180228*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 319:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMSv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*180235*/      /*Scope*/ 13, /*->180249*/
/*180236*/        OPC_CheckChild1Type, MVT::v8f16,
/*180238*/        OPC_CheckType, MVT::v8i16,
/*180240*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180242*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 319:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMSv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*180249*/      /*Scope*/ 13, /*->180263*/
/*180250*/        OPC_CheckChild1Type, MVT::v2f32,
/*180252*/        OPC_CheckType, MVT::v2i32,
/*180254*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180256*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 319:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMSv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*180263*/      /*Scope*/ 13, /*->180277*/
/*180264*/        OPC_CheckChild1Type, MVT::v4f32,
/*180266*/        OPC_CheckType, MVT::v4i32,
/*180268*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180270*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 319:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMSv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*180277*/      /*Scope*/ 13, /*->180291*/
/*180278*/        OPC_CheckChild1Type, MVT::v2f64,
/*180280*/        OPC_CheckType, MVT::v2i64,
/*180282*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180284*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 319:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMSv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*180291*/      /*Scope*/ 11, /*->180303*/
/*180292*/        OPC_CheckChild1Type, MVT::v1f64,
/*180294*/        OPC_CheckType, MVT::v1i64,
/*180296*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 319:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMSv1i64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*180303*/      0, /*End of Scope*/
/*180304*/    /*Scope*/ 41|128,1/*169*/, /*->180475*/
/*180306*/      OPC_CheckChild0Integer, 64|128,2/*320*/, 
/*180309*/      OPC_RecordChild1, // #0 = $Rn
/*180310*/      OPC_Scope, 26, /*->180338*/ // 9 children in Scope
/*180312*/        OPC_CheckChild1Type, MVT::f16,
/*180314*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180326
/*180317*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180319*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 320:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMUUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*180326*/        /*SwitchType*/ 9, MVT::i64,// ->180337
/*180328*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180330*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 320:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMUUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*180337*/        0, // EndSwitchType
/*180338*/      /*Scope*/ 26, /*->180365*/
/*180339*/        OPC_CheckChild1Type, MVT::f32,
/*180341*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180353
/*180344*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180346*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 320:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMUUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*180353*/        /*SwitchType*/ 9, MVT::i64,// ->180364
/*180355*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180357*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 320:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMUUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*180364*/        0, // EndSwitchType
/*180365*/      /*Scope*/ 26, /*->180392*/
/*180366*/        OPC_CheckChild1Type, MVT::f64,
/*180368*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180380
/*180371*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180373*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 320:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMUUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*180380*/        /*SwitchType*/ 9, MVT::i64,// ->180391
/*180382*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180384*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 320:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTMUUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*180391*/        0, // EndSwitchType
/*180392*/      /*Scope*/ 13, /*->180406*/
/*180393*/        OPC_CheckChild1Type, MVT::v4f16,
/*180395*/        OPC_CheckType, MVT::v4i16,
/*180397*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180399*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 320:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMUv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*180406*/      /*Scope*/ 13, /*->180420*/
/*180407*/        OPC_CheckChild1Type, MVT::v8f16,
/*180409*/        OPC_CheckType, MVT::v8i16,
/*180411*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180413*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 320:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMUv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*180420*/      /*Scope*/ 13, /*->180434*/
/*180421*/        OPC_CheckChild1Type, MVT::v2f32,
/*180423*/        OPC_CheckType, MVT::v2i32,
/*180425*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180427*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 320:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMUv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*180434*/      /*Scope*/ 13, /*->180448*/
/*180435*/        OPC_CheckChild1Type, MVT::v4f32,
/*180437*/        OPC_CheckType, MVT::v4i32,
/*180439*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180441*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 320:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMUv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*180448*/      /*Scope*/ 13, /*->180462*/
/*180449*/        OPC_CheckChild1Type, MVT::v2f64,
/*180451*/        OPC_CheckType, MVT::v2i64,
/*180453*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180455*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 320:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMUv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*180462*/      /*Scope*/ 11, /*->180474*/
/*180463*/        OPC_CheckChild1Type, MVT::v1f64,
/*180465*/        OPC_CheckType, MVT::v1i64,
/*180467*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 320:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTMUv1i64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*180474*/      0, /*End of Scope*/
/*180475*/    /*Scope*/ 41|128,1/*169*/, /*->180646*/
/*180477*/      OPC_CheckChild0Integer, 65|128,2/*321*/, 
/*180480*/      OPC_RecordChild1, // #0 = $Rn
/*180481*/      OPC_Scope, 26, /*->180509*/ // 9 children in Scope
/*180483*/        OPC_CheckChild1Type, MVT::f16,
/*180485*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180497
/*180488*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180490*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 321:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNSUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*180497*/        /*SwitchType*/ 9, MVT::i64,// ->180508
/*180499*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180501*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 321:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNSUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*180508*/        0, // EndSwitchType
/*180509*/      /*Scope*/ 26, /*->180536*/
/*180510*/        OPC_CheckChild1Type, MVT::f32,
/*180512*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180524
/*180515*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180517*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 321:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNSUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*180524*/        /*SwitchType*/ 9, MVT::i64,// ->180535
/*180526*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180528*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 321:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNSUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*180535*/        0, // EndSwitchType
/*180536*/      /*Scope*/ 26, /*->180563*/
/*180537*/        OPC_CheckChild1Type, MVT::f64,
/*180539*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180551
/*180542*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180544*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 321:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNSUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*180551*/        /*SwitchType*/ 9, MVT::i64,// ->180562
/*180553*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180555*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 321:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNSUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*180562*/        0, // EndSwitchType
/*180563*/      /*Scope*/ 13, /*->180577*/
/*180564*/        OPC_CheckChild1Type, MVT::v4f16,
/*180566*/        OPC_CheckType, MVT::v4i16,
/*180568*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180570*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 321:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNSv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*180577*/      /*Scope*/ 13, /*->180591*/
/*180578*/        OPC_CheckChild1Type, MVT::v8f16,
/*180580*/        OPC_CheckType, MVT::v8i16,
/*180582*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180584*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 321:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNSv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*180591*/      /*Scope*/ 13, /*->180605*/
/*180592*/        OPC_CheckChild1Type, MVT::v2f32,
/*180594*/        OPC_CheckType, MVT::v2i32,
/*180596*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180598*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 321:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNSv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*180605*/      /*Scope*/ 13, /*->180619*/
/*180606*/        OPC_CheckChild1Type, MVT::v4f32,
/*180608*/        OPC_CheckType, MVT::v4i32,
/*180610*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180612*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 321:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNSv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*180619*/      /*Scope*/ 13, /*->180633*/
/*180620*/        OPC_CheckChild1Type, MVT::v2f64,
/*180622*/        OPC_CheckType, MVT::v2i64,
/*180624*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180626*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 321:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNSv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*180633*/      /*Scope*/ 11, /*->180645*/
/*180634*/        OPC_CheckChild1Type, MVT::v1f64,
/*180636*/        OPC_CheckType, MVT::v1i64,
/*180638*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNSv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 321:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNSv1i64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*180645*/      0, /*End of Scope*/
/*180646*/    /*Scope*/ 41|128,1/*169*/, /*->180817*/
/*180648*/      OPC_CheckChild0Integer, 66|128,2/*322*/, 
/*180651*/      OPC_RecordChild1, // #0 = $Rn
/*180652*/      OPC_Scope, 26, /*->180680*/ // 9 children in Scope
/*180654*/        OPC_CheckChild1Type, MVT::f16,
/*180656*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180668
/*180659*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180661*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 322:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNUUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*180668*/        /*SwitchType*/ 9, MVT::i64,// ->180679
/*180670*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180672*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 322:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNUUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*180679*/        0, // EndSwitchType
/*180680*/      /*Scope*/ 26, /*->180707*/
/*180681*/        OPC_CheckChild1Type, MVT::f32,
/*180683*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180695
/*180686*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180688*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 322:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNUUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*180695*/        /*SwitchType*/ 9, MVT::i64,// ->180706
/*180697*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180699*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 322:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNUUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*180706*/        0, // EndSwitchType
/*180707*/      /*Scope*/ 26, /*->180734*/
/*180708*/        OPC_CheckChild1Type, MVT::f64,
/*180710*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180722
/*180713*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180715*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 322:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNUUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*180722*/        /*SwitchType*/ 9, MVT::i64,// ->180733
/*180724*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180726*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 322:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTNUUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*180733*/        0, // EndSwitchType
/*180734*/      /*Scope*/ 13, /*->180748*/
/*180735*/        OPC_CheckChild1Type, MVT::v4f16,
/*180737*/        OPC_CheckType, MVT::v4i16,
/*180739*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180741*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 322:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNUv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*180748*/      /*Scope*/ 13, /*->180762*/
/*180749*/        OPC_CheckChild1Type, MVT::v8f16,
/*180751*/        OPC_CheckType, MVT::v8i16,
/*180753*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180755*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 322:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNUv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*180762*/      /*Scope*/ 13, /*->180776*/
/*180763*/        OPC_CheckChild1Type, MVT::v2f32,
/*180765*/        OPC_CheckType, MVT::v2i32,
/*180767*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180769*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 322:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNUv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*180776*/      /*Scope*/ 13, /*->180790*/
/*180777*/        OPC_CheckChild1Type, MVT::v4f32,
/*180779*/        OPC_CheckType, MVT::v4i32,
/*180781*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180783*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 322:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNUv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*180790*/      /*Scope*/ 13, /*->180804*/
/*180791*/        OPC_CheckChild1Type, MVT::v2f64,
/*180793*/        OPC_CheckType, MVT::v2i64,
/*180795*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180797*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 322:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNUv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*180804*/      /*Scope*/ 11, /*->180816*/
/*180805*/        OPC_CheckChild1Type, MVT::v1f64,
/*180807*/        OPC_CheckType, MVT::v1i64,
/*180809*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNUv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 322:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTNUv1i64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*180816*/      0, /*End of Scope*/
/*180817*/    /*Scope*/ 41|128,1/*169*/, /*->180988*/
/*180819*/      OPC_CheckChild0Integer, 67|128,2/*323*/, 
/*180822*/      OPC_RecordChild1, // #0 = $Rn
/*180823*/      OPC_Scope, 26, /*->180851*/ // 9 children in Scope
/*180825*/        OPC_CheckChild1Type, MVT::f16,
/*180827*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180839
/*180830*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180832*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 323:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPSUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*180839*/        /*SwitchType*/ 9, MVT::i64,// ->180850
/*180841*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*180843*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 323:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPSUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*180850*/        0, // EndSwitchType
/*180851*/      /*Scope*/ 26, /*->180878*/
/*180852*/        OPC_CheckChild1Type, MVT::f32,
/*180854*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180866
/*180857*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180859*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 323:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPSUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*180866*/        /*SwitchType*/ 9, MVT::i64,// ->180877
/*180868*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180870*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 323:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPSUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*180877*/        0, // EndSwitchType
/*180878*/      /*Scope*/ 26, /*->180905*/
/*180879*/        OPC_CheckChild1Type, MVT::f64,
/*180881*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->180893
/*180884*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180886*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 323:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPSUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*180893*/        /*SwitchType*/ 9, MVT::i64,// ->180904
/*180895*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*180897*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 323:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPSUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*180904*/        0, // EndSwitchType
/*180905*/      /*Scope*/ 13, /*->180919*/
/*180906*/        OPC_CheckChild1Type, MVT::v4f16,
/*180908*/        OPC_CheckType, MVT::v4i16,
/*180910*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180912*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 323:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPSv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*180919*/      /*Scope*/ 13, /*->180933*/
/*180920*/        OPC_CheckChild1Type, MVT::v8f16,
/*180922*/        OPC_CheckType, MVT::v8i16,
/*180924*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*180926*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 323:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPSv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*180933*/      /*Scope*/ 13, /*->180947*/
/*180934*/        OPC_CheckChild1Type, MVT::v2f32,
/*180936*/        OPC_CheckType, MVT::v2i32,
/*180938*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180940*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 323:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPSv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*180947*/      /*Scope*/ 13, /*->180961*/
/*180948*/        OPC_CheckChild1Type, MVT::v4f32,
/*180950*/        OPC_CheckType, MVT::v4i32,
/*180952*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180954*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 323:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPSv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*180961*/      /*Scope*/ 13, /*->180975*/
/*180962*/        OPC_CheckChild1Type, MVT::v2f64,
/*180964*/        OPC_CheckType, MVT::v2i64,
/*180966*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*180968*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 323:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPSv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*180975*/      /*Scope*/ 11, /*->180987*/
/*180976*/        OPC_CheckChild1Type, MVT::v1f64,
/*180978*/        OPC_CheckType, MVT::v1i64,
/*180980*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 323:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPSv1i64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*180987*/      0, /*End of Scope*/
/*180988*/    /*Scope*/ 41|128,1/*169*/, /*->181159*/
/*180990*/      OPC_CheckChild0Integer, 68|128,2/*324*/, 
/*180993*/      OPC_RecordChild1, // #0 = $Rn
/*180994*/      OPC_Scope, 26, /*->181022*/ // 9 children in Scope
/*180996*/        OPC_CheckChild1Type, MVT::f16,
/*180998*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->181010
/*181001*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*181003*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 324:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPUUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*181010*/        /*SwitchType*/ 9, MVT::i64,// ->181021
/*181012*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*181014*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 324:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPUUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*181021*/        0, // EndSwitchType
/*181022*/      /*Scope*/ 26, /*->181049*/
/*181023*/        OPC_CheckChild1Type, MVT::f32,
/*181025*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->181037
/*181028*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*181030*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 324:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPUUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*181037*/        /*SwitchType*/ 9, MVT::i64,// ->181048
/*181039*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*181041*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 324:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPUUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*181048*/        0, // EndSwitchType
/*181049*/      /*Scope*/ 26, /*->181076*/
/*181050*/        OPC_CheckChild1Type, MVT::f64,
/*181052*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->181064
/*181055*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*181057*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 324:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPUUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*181064*/        /*SwitchType*/ 9, MVT::i64,// ->181075
/*181066*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*181068*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 324:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                    // Dst: (FCVTPUUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*181075*/        0, // EndSwitchType
/*181076*/      /*Scope*/ 13, /*->181090*/
/*181077*/        OPC_CheckChild1Type, MVT::v4f16,
/*181079*/        OPC_CheckType, MVT::v4i16,
/*181081*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*181083*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 324:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPUv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*181090*/      /*Scope*/ 13, /*->181104*/
/*181091*/        OPC_CheckChild1Type, MVT::v8f16,
/*181093*/        OPC_CheckType, MVT::v8i16,
/*181095*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*181097*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 324:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPUv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*181104*/      /*Scope*/ 13, /*->181118*/
/*181105*/        OPC_CheckChild1Type, MVT::v2f32,
/*181107*/        OPC_CheckType, MVT::v2i32,
/*181109*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181111*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 324:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPUv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*181118*/      /*Scope*/ 13, /*->181132*/
/*181119*/        OPC_CheckChild1Type, MVT::v4f32,
/*181121*/        OPC_CheckType, MVT::v4i32,
/*181123*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181125*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 324:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPUv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*181132*/      /*Scope*/ 13, /*->181146*/
/*181133*/        OPC_CheckChild1Type, MVT::v2f64,
/*181135*/        OPC_CheckType, MVT::v2i64,
/*181137*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181139*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 324:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPUv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*181146*/      /*Scope*/ 11, /*->181158*/
/*181147*/        OPC_CheckChild1Type, MVT::v1f64,
/*181149*/        OPC_CheckType, MVT::v1i64,
/*181151*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 324:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FCVTPUv1i64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*181158*/      0, /*End of Scope*/
/*181159*/    /*Scope*/ 49|128,1/*177*/, /*->181338*/
/*181161*/      OPC_CheckChild0Integer, 57|128,2/*313*/, 
/*181164*/      OPC_RecordChild1, // #0 = $Rn
/*181165*/      OPC_SwitchType /*8 cases */, 15, MVT::i64,// ->181183
/*181168*/        OPC_CheckChild1Type, MVT::f64,
/*181170*/        OPC_RecordChild2, // #1 = $Rm
/*181171*/        OPC_CheckChild2Type, MVT::f64,
/*181173*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181175*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGE64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 313:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 8
                  // Dst: (FACGE64:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*181183*/      /*SwitchType*/ 50, MVT::i32,// ->181235
/*181185*/        OPC_Scope, 15, /*->181202*/ // 2 children in Scope
/*181187*/          OPC_CheckChild1Type, MVT::f32,
/*181189*/          OPC_RecordChild2, // #1 = $Rm
/*181190*/          OPC_CheckChild2Type, MVT::f32,
/*181192*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181194*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGE32), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 313:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 8
                    // Dst: (FACGE32:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*181202*/        /*Scope*/ 31, /*->181234*/
/*181203*/          OPC_CheckChild1Type, MVT::f16,
/*181205*/          OPC_RecordChild2, // #1 = $Rm
/*181206*/          OPC_CheckChild2Type, MVT::f16,
/*181208*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i32, 0/*#Ops*/,  // Results = #2
/*181214*/          OPC_EmitNode1, TARGET_VAL(AArch64::FACGE16), 0,
                        MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*181222*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*181225*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i32, 3/*#Ops*/, 2, 3, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 313:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 8
                    // Dst: (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), (FACGE16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm), hsub:{ *:[i32] })
/*181234*/        0, /*End of Scope*/
/*181235*/      /*SwitchType*/ 15, MVT::v4i16,// ->181252
/*181237*/        OPC_CheckChild1Type, MVT::v4f16,
/*181239*/        OPC_RecordChild2, // #1 = $Rm
/*181240*/        OPC_CheckChild2Type, MVT::v4f16,
/*181242*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*181244*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGEv4f16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 313:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FACGEv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*181252*/      /*SwitchType*/ 15, MVT::v8i16,// ->181269
/*181254*/        OPC_CheckChild1Type, MVT::v8f16,
/*181256*/        OPC_RecordChild2, // #1 = $Rm
/*181257*/        OPC_CheckChild2Type, MVT::v8f16,
/*181259*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*181261*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGEv8f16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 313:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FACGEv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*181269*/      /*SwitchType*/ 15, MVT::v2i32,// ->181286
/*181271*/        OPC_CheckChild1Type, MVT::v2f32,
/*181273*/        OPC_RecordChild2, // #1 = $Rm
/*181274*/        OPC_CheckChild2Type, MVT::v2f32,
/*181276*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181278*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGEv2f32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 313:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FACGEv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*181286*/      /*SwitchType*/ 15, MVT::v4i32,// ->181303
/*181288*/        OPC_CheckChild1Type, MVT::v4f32,
/*181290*/        OPC_RecordChild2, // #1 = $Rm
/*181291*/        OPC_CheckChild2Type, MVT::v4f32,
/*181293*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181295*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGEv4f32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 313:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FACGEv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*181303*/      /*SwitchType*/ 15, MVT::v2i64,// ->181320
/*181305*/        OPC_CheckChild1Type, MVT::v2f64,
/*181307*/        OPC_RecordChild2, // #1 = $Rm
/*181308*/        OPC_CheckChild2Type, MVT::v2f64,
/*181310*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181312*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGEv2f64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 313:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FACGEv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*181320*/      /*SwitchType*/ 15, MVT::v1i64,// ->181337
/*181322*/        OPC_CheckChild1Type, MVT::v1f64,
/*181324*/        OPC_RecordChild2, // #1 = $Rm
/*181325*/        OPC_CheckChild2Type, MVT::v1f64,
/*181327*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181329*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGE64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 313:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 8
                  // Dst: (FACGE64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*181337*/      0, // EndSwitchType
/*181338*/    /*Scope*/ 49|128,1/*177*/, /*->181517*/
/*181340*/      OPC_CheckChild0Integer, 58|128,2/*314*/, 
/*181343*/      OPC_RecordChild1, // #0 = $Rn
/*181344*/      OPC_SwitchType /*8 cases */, 15, MVT::i64,// ->181362
/*181347*/        OPC_CheckChild1Type, MVT::f64,
/*181349*/        OPC_RecordChild2, // #1 = $Rm
/*181350*/        OPC_CheckChild2Type, MVT::f64,
/*181352*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181354*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGT64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 314:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 8
                  // Dst: (FACGT64:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*181362*/      /*SwitchType*/ 50, MVT::i32,// ->181414
/*181364*/        OPC_Scope, 15, /*->181381*/ // 2 children in Scope
/*181366*/          OPC_CheckChild1Type, MVT::f32,
/*181368*/          OPC_RecordChild2, // #1 = $Rm
/*181369*/          OPC_CheckChild2Type, MVT::f32,
/*181371*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181373*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGT32), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 314:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 8
                    // Dst: (FACGT32:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*181381*/        /*Scope*/ 31, /*->181413*/
/*181382*/          OPC_CheckChild1Type, MVT::f16,
/*181384*/          OPC_RecordChild2, // #1 = $Rm
/*181385*/          OPC_CheckChild2Type, MVT::f16,
/*181387*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i32, 0/*#Ops*/,  // Results = #2
/*181393*/          OPC_EmitNode1, TARGET_VAL(AArch64::FACGT16), 0,
                        MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*181401*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*181404*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i32, 3/*#Ops*/, 2, 3, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 314:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 8
                    // Dst: (INSERT_SUBREG:{ *:[i32] } (IMPLICIT_DEF:{ *:[i32] }), (FACGT16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm), hsub:{ *:[i32] })
/*181413*/        0, /*End of Scope*/
/*181414*/      /*SwitchType*/ 15, MVT::v4i16,// ->181431
/*181416*/        OPC_CheckChild1Type, MVT::v4f16,
/*181418*/        OPC_RecordChild2, // #1 = $Rm
/*181419*/        OPC_CheckChild2Type, MVT::v4f16,
/*181421*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*181423*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGTv4f16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 314:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FACGTv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*181431*/      /*SwitchType*/ 15, MVT::v8i16,// ->181448
/*181433*/        OPC_CheckChild1Type, MVT::v8f16,
/*181435*/        OPC_RecordChild2, // #1 = $Rm
/*181436*/        OPC_CheckChild2Type, MVT::v8f16,
/*181438*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*181440*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGTv8f16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 314:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FACGTv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*181448*/      /*SwitchType*/ 15, MVT::v2i32,// ->181465
/*181450*/        OPC_CheckChild1Type, MVT::v2f32,
/*181452*/        OPC_RecordChild2, // #1 = $Rm
/*181453*/        OPC_CheckChild2Type, MVT::v2f32,
/*181455*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181457*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGTv2f32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 314:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FACGTv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*181465*/      /*SwitchType*/ 15, MVT::v4i32,// ->181482
/*181467*/        OPC_CheckChild1Type, MVT::v4f32,
/*181469*/        OPC_RecordChild2, // #1 = $Rm
/*181470*/        OPC_CheckChild2Type, MVT::v4f32,
/*181472*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181474*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGTv4f32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 314:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FACGTv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*181482*/      /*SwitchType*/ 15, MVT::v2i64,// ->181499
/*181484*/        OPC_CheckChild1Type, MVT::v2f64,
/*181486*/        OPC_RecordChild2, // #1 = $Rm
/*181487*/        OPC_CheckChild2Type, MVT::v2f64,
/*181489*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181491*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGTv2f64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 314:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FACGTv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*181499*/      /*SwitchType*/ 15, MVT::v1i64,// ->181516
/*181501*/        OPC_CheckChild1Type, MVT::v1f64,
/*181503*/        OPC_RecordChild2, // #1 = $Rm
/*181504*/        OPC_CheckChild2Type, MVT::v1f64,
/*181506*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181508*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGT64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 314:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 8
                  // Dst: (FACGT64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*181516*/      0, // EndSwitchType
/*181517*/    /*Scope*/ 48|128,1/*176*/, /*->181695*/
/*181519*/      OPC_CheckChild0Integer, 11|128,3/*395*/, 
/*181522*/      OPC_RecordChild1, // #0 = $Rn
/*181523*/      OPC_SwitchType /*10 cases */, 15, MVT::i64,// ->181541
/*181526*/        OPC_CheckChild1Type, MVT::i64,
/*181528*/        OPC_RecordChild2, // #1 = $Rm
/*181529*/        OPC_CheckChild2Type, MVT::i64,
/*181531*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181533*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 395:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*181541*/      /*SwitchType*/ 15, MVT::i32,// ->181558
/*181543*/        OPC_CheckChild1Type, MVT::i32,
/*181545*/        OPC_RecordChild2, // #1 = $Rm
/*181546*/        OPC_CheckChild2Type, MVT::i32,
/*181548*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181550*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv1i32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 395:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*181558*/      /*SwitchType*/ 15, MVT::v8i8,// ->181575
/*181560*/        OPC_CheckChild1Type, MVT::v8i8,
/*181562*/        OPC_RecordChild2, // #1 = $Rm
/*181563*/        OPC_CheckChild2Type, MVT::v8i8,
/*181565*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181567*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 395:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*181575*/      /*SwitchType*/ 15, MVT::v16i8,// ->181592
/*181577*/        OPC_CheckChild1Type, MVT::v16i8,
/*181579*/        OPC_RecordChild2, // #1 = $Rm
/*181580*/        OPC_CheckChild2Type, MVT::v16i8,
/*181582*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181584*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 395:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*181592*/      /*SwitchType*/ 15, MVT::v4i16,// ->181609
/*181594*/        OPC_CheckChild1Type, MVT::v4i16,
/*181596*/        OPC_RecordChild2, // #1 = $Rm
/*181597*/        OPC_CheckChild2Type, MVT::v4i16,
/*181599*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181601*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 395:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*181609*/      /*SwitchType*/ 15, MVT::v8i16,// ->181626
/*181611*/        OPC_CheckChild1Type, MVT::v8i16,
/*181613*/        OPC_RecordChild2, // #1 = $Rm
/*181614*/        OPC_CheckChild2Type, MVT::v8i16,
/*181616*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181618*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 395:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*181626*/      /*SwitchType*/ 15, MVT::v2i32,// ->181643
/*181628*/        OPC_CheckChild1Type, MVT::v2i32,
/*181630*/        OPC_RecordChild2, // #1 = $Rm
/*181631*/        OPC_CheckChild2Type, MVT::v2i32,
/*181633*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181635*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 395:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*181643*/      /*SwitchType*/ 15, MVT::v4i32,// ->181660
/*181645*/        OPC_CheckChild1Type, MVT::v4i32,
/*181647*/        OPC_RecordChild2, // #1 = $Rm
/*181648*/        OPC_CheckChild2Type, MVT::v4i32,
/*181650*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181652*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 395:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*181660*/      /*SwitchType*/ 15, MVT::v2i64,// ->181677
/*181662*/        OPC_CheckChild1Type, MVT::v2i64,
/*181664*/        OPC_RecordChild2, // #1 = $Rm
/*181665*/        OPC_CheckChild2Type, MVT::v2i64,
/*181667*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181669*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 395:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*181677*/      /*SwitchType*/ 15, MVT::v1i64,// ->181694
/*181679*/        OPC_CheckChild1Type, MVT::v1i64,
/*181681*/        OPC_RecordChild2, // #1 = $Rm
/*181682*/        OPC_CheckChild2Type, MVT::v1i64,
/*181684*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181686*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHLv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 395:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (SQRSHLv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*181694*/      0, // EndSwitchType
/*181695*/    /*Scope*/ 48|128,1/*176*/, /*->181873*/
/*181697*/      OPC_CheckChild0Integer, 14|128,3/*398*/, 
/*181700*/      OPC_RecordChild1, // #0 = $Rn
/*181701*/      OPC_SwitchType /*10 cases */, 15, MVT::i64,// ->181719
/*181704*/        OPC_CheckChild1Type, MVT::i64,
/*181706*/        OPC_RecordChild2, // #1 = $Rm
/*181707*/        OPC_CheckChild2Type, MVT::i64,
/*181709*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181711*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 398:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*181719*/      /*SwitchType*/ 15, MVT::i32,// ->181736
/*181721*/        OPC_CheckChild1Type, MVT::i32,
/*181723*/        OPC_RecordChild2, // #1 = $Rm
/*181724*/        OPC_CheckChild2Type, MVT::i32,
/*181726*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181728*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv1i32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 398:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*181736*/      /*SwitchType*/ 15, MVT::v8i8,// ->181753
/*181738*/        OPC_CheckChild1Type, MVT::v8i8,
/*181740*/        OPC_RecordChild2, // #1 = $Rm
/*181741*/        OPC_CheckChild2Type, MVT::v8i8,
/*181743*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181745*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 398:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*181753*/      /*SwitchType*/ 15, MVT::v16i8,// ->181770
/*181755*/        OPC_CheckChild1Type, MVT::v16i8,
/*181757*/        OPC_RecordChild2, // #1 = $Rm
/*181758*/        OPC_CheckChild2Type, MVT::v16i8,
/*181760*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181762*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 398:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*181770*/      /*SwitchType*/ 15, MVT::v4i16,// ->181787
/*181772*/        OPC_CheckChild1Type, MVT::v4i16,
/*181774*/        OPC_RecordChild2, // #1 = $Rm
/*181775*/        OPC_CheckChild2Type, MVT::v4i16,
/*181777*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181779*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 398:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*181787*/      /*SwitchType*/ 15, MVT::v8i16,// ->181804
/*181789*/        OPC_CheckChild1Type, MVT::v8i16,
/*181791*/        OPC_RecordChild2, // #1 = $Rm
/*181792*/        OPC_CheckChild2Type, MVT::v8i16,
/*181794*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181796*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 398:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*181804*/      /*SwitchType*/ 15, MVT::v2i32,// ->181821
/*181806*/        OPC_CheckChild1Type, MVT::v2i32,
/*181808*/        OPC_RecordChild2, // #1 = $Rm
/*181809*/        OPC_CheckChild2Type, MVT::v2i32,
/*181811*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181813*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 398:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*181821*/      /*SwitchType*/ 15, MVT::v4i32,// ->181838
/*181823*/        OPC_CheckChild1Type, MVT::v4i32,
/*181825*/        OPC_RecordChild2, // #1 = $Rm
/*181826*/        OPC_CheckChild2Type, MVT::v4i32,
/*181828*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181830*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 398:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*181838*/      /*SwitchType*/ 15, MVT::v2i64,// ->181855
/*181840*/        OPC_CheckChild1Type, MVT::v2i64,
/*181842*/        OPC_RecordChild2, // #1 = $Rm
/*181843*/        OPC_CheckChild2Type, MVT::v2i64,
/*181845*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181847*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 398:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*181855*/      /*SwitchType*/ 15, MVT::v1i64,// ->181872
/*181857*/        OPC_CheckChild1Type, MVT::v1i64,
/*181859*/        OPC_RecordChild2, // #1 = $Rm
/*181860*/        OPC_CheckChild2Type, MVT::v1i64,
/*181862*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181864*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 398:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (SQSHLv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*181872*/      0, // EndSwitchType
/*181873*/    /*Scope*/ 48|128,1/*176*/, /*->182051*/
/*181875*/      OPC_CheckChild0Integer, 58|128,3/*442*/, 
/*181878*/      OPC_RecordChild1, // #0 = $Rn
/*181879*/      OPC_SwitchType /*10 cases */, 15, MVT::i64,// ->181897
/*181882*/        OPC_CheckChild1Type, MVT::i64,
/*181884*/        OPC_RecordChild2, // #1 = $Rm
/*181885*/        OPC_CheckChild2Type, MVT::i64,
/*181887*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181889*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 442:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*181897*/      /*SwitchType*/ 15, MVT::i32,// ->181914
/*181899*/        OPC_CheckChild1Type, MVT::i32,
/*181901*/        OPC_RecordChild2, // #1 = $Rm
/*181902*/        OPC_CheckChild2Type, MVT::i32,
/*181904*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181906*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv1i32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 442:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*181914*/      /*SwitchType*/ 15, MVT::v8i8,// ->181931
/*181916*/        OPC_CheckChild1Type, MVT::v8i8,
/*181918*/        OPC_RecordChild2, // #1 = $Rm
/*181919*/        OPC_CheckChild2Type, MVT::v8i8,
/*181921*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181923*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 442:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*181931*/      /*SwitchType*/ 15, MVT::v16i8,// ->181948
/*181933*/        OPC_CheckChild1Type, MVT::v16i8,
/*181935*/        OPC_RecordChild2, // #1 = $Rm
/*181936*/        OPC_CheckChild2Type, MVT::v16i8,
/*181938*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181940*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 442:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*181948*/      /*SwitchType*/ 15, MVT::v4i16,// ->181965
/*181950*/        OPC_CheckChild1Type, MVT::v4i16,
/*181952*/        OPC_RecordChild2, // #1 = $Rm
/*181953*/        OPC_CheckChild2Type, MVT::v4i16,
/*181955*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181957*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 442:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*181965*/      /*SwitchType*/ 15, MVT::v8i16,// ->181982
/*181967*/        OPC_CheckChild1Type, MVT::v8i16,
/*181969*/        OPC_RecordChild2, // #1 = $Rm
/*181970*/        OPC_CheckChild2Type, MVT::v8i16,
/*181972*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181974*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 442:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*181982*/      /*SwitchType*/ 15, MVT::v2i32,// ->181999
/*181984*/        OPC_CheckChild1Type, MVT::v2i32,
/*181986*/        OPC_RecordChild2, // #1 = $Rm
/*181987*/        OPC_CheckChild2Type, MVT::v2i32,
/*181989*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*181991*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 442:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*181999*/      /*SwitchType*/ 15, MVT::v4i32,// ->182016
/*182001*/        OPC_CheckChild1Type, MVT::v4i32,
/*182003*/        OPC_RecordChild2, // #1 = $Rm
/*182004*/        OPC_CheckChild2Type, MVT::v4i32,
/*182006*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182008*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 442:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*182016*/      /*SwitchType*/ 15, MVT::v2i64,// ->182033
/*182018*/        OPC_CheckChild1Type, MVT::v2i64,
/*182020*/        OPC_RecordChild2, // #1 = $Rm
/*182021*/        OPC_CheckChild2Type, MVT::v2i64,
/*182023*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182025*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 442:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*182033*/      /*SwitchType*/ 15, MVT::v1i64,// ->182050
/*182035*/        OPC_CheckChild1Type, MVT::v1i64,
/*182037*/        OPC_RecordChild2, // #1 = $Rm
/*182038*/        OPC_CheckChild2Type, MVT::v1i64,
/*182040*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182042*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 442:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (UQADDv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*182050*/      0, // EndSwitchType
/*182051*/    /*Scope*/ 48|128,1/*176*/, /*->182229*/
/*182053*/      OPC_CheckChild0Integer, 59|128,3/*443*/, 
/*182056*/      OPC_RecordChild1, // #0 = $Rn
/*182057*/      OPC_SwitchType /*10 cases */, 15, MVT::i64,// ->182075
/*182060*/        OPC_CheckChild1Type, MVT::i64,
/*182062*/        OPC_RecordChild2, // #1 = $Rm
/*182063*/        OPC_CheckChild2Type, MVT::i64,
/*182065*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182067*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 443:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*182075*/      /*SwitchType*/ 15, MVT::i32,// ->182092
/*182077*/        OPC_CheckChild1Type, MVT::i32,
/*182079*/        OPC_RecordChild2, // #1 = $Rm
/*182080*/        OPC_CheckChild2Type, MVT::i32,
/*182082*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182084*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv1i32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 443:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*182092*/      /*SwitchType*/ 15, MVT::v8i8,// ->182109
/*182094*/        OPC_CheckChild1Type, MVT::v8i8,
/*182096*/        OPC_RecordChild2, // #1 = $Rm
/*182097*/        OPC_CheckChild2Type, MVT::v8i8,
/*182099*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182101*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 443:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*182109*/      /*SwitchType*/ 15, MVT::v16i8,// ->182126
/*182111*/        OPC_CheckChild1Type, MVT::v16i8,
/*182113*/        OPC_RecordChild2, // #1 = $Rm
/*182114*/        OPC_CheckChild2Type, MVT::v16i8,
/*182116*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182118*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 443:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*182126*/      /*SwitchType*/ 15, MVT::v4i16,// ->182143
/*182128*/        OPC_CheckChild1Type, MVT::v4i16,
/*182130*/        OPC_RecordChild2, // #1 = $Rm
/*182131*/        OPC_CheckChild2Type, MVT::v4i16,
/*182133*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182135*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 443:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*182143*/      /*SwitchType*/ 15, MVT::v8i16,// ->182160
/*182145*/        OPC_CheckChild1Type, MVT::v8i16,
/*182147*/        OPC_RecordChild2, // #1 = $Rm
/*182148*/        OPC_CheckChild2Type, MVT::v8i16,
/*182150*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182152*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 443:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*182160*/      /*SwitchType*/ 15, MVT::v2i32,// ->182177
/*182162*/        OPC_CheckChild1Type, MVT::v2i32,
/*182164*/        OPC_RecordChild2, // #1 = $Rm
/*182165*/        OPC_CheckChild2Type, MVT::v2i32,
/*182167*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182169*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 443:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*182177*/      /*SwitchType*/ 15, MVT::v4i32,// ->182194
/*182179*/        OPC_CheckChild1Type, MVT::v4i32,
/*182181*/        OPC_RecordChild2, // #1 = $Rm
/*182182*/        OPC_CheckChild2Type, MVT::v4i32,
/*182184*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182186*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 443:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*182194*/      /*SwitchType*/ 15, MVT::v2i64,// ->182211
/*182196*/        OPC_CheckChild1Type, MVT::v2i64,
/*182198*/        OPC_RecordChild2, // #1 = $Rm
/*182199*/        OPC_CheckChild2Type, MVT::v2i64,
/*182201*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182203*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 443:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*182211*/      /*SwitchType*/ 15, MVT::v1i64,// ->182228
/*182213*/        OPC_CheckChild1Type, MVT::v1i64,
/*182215*/        OPC_RecordChild2, // #1 = $Rm
/*182216*/        OPC_CheckChild2Type, MVT::v1i64,
/*182218*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182220*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHLv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 443:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (UQRSHLv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*182228*/      0, // EndSwitchType
/*182229*/    /*Scope*/ 48|128,1/*176*/, /*->182407*/
/*182231*/      OPC_CheckChild0Integer, 61|128,3/*445*/, 
/*182234*/      OPC_RecordChild1, // #0 = $Rn
/*182235*/      OPC_SwitchType /*10 cases */, 15, MVT::i64,// ->182253
/*182238*/        OPC_CheckChild1Type, MVT::i64,
/*182240*/        OPC_RecordChild2, // #1 = $Rm
/*182241*/        OPC_CheckChild2Type, MVT::i64,
/*182243*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182245*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 445:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*182253*/      /*SwitchType*/ 15, MVT::i32,// ->182270
/*182255*/        OPC_CheckChild1Type, MVT::i32,
/*182257*/        OPC_RecordChild2, // #1 = $Rm
/*182258*/        OPC_CheckChild2Type, MVT::i32,
/*182260*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182262*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv1i32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 445:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*182270*/      /*SwitchType*/ 15, MVT::v8i8,// ->182287
/*182272*/        OPC_CheckChild1Type, MVT::v8i8,
/*182274*/        OPC_RecordChild2, // #1 = $Rm
/*182275*/        OPC_CheckChild2Type, MVT::v8i8,
/*182277*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182279*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 445:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*182287*/      /*SwitchType*/ 15, MVT::v16i8,// ->182304
/*182289*/        OPC_CheckChild1Type, MVT::v16i8,
/*182291*/        OPC_RecordChild2, // #1 = $Rm
/*182292*/        OPC_CheckChild2Type, MVT::v16i8,
/*182294*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182296*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 445:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*182304*/      /*SwitchType*/ 15, MVT::v4i16,// ->182321
/*182306*/        OPC_CheckChild1Type, MVT::v4i16,
/*182308*/        OPC_RecordChild2, // #1 = $Rm
/*182309*/        OPC_CheckChild2Type, MVT::v4i16,
/*182311*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182313*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 445:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*182321*/      /*SwitchType*/ 15, MVT::v8i16,// ->182338
/*182323*/        OPC_CheckChild1Type, MVT::v8i16,
/*182325*/        OPC_RecordChild2, // #1 = $Rm
/*182326*/        OPC_CheckChild2Type, MVT::v8i16,
/*182328*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182330*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 445:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*182338*/      /*SwitchType*/ 15, MVT::v2i32,// ->182355
/*182340*/        OPC_CheckChild1Type, MVT::v2i32,
/*182342*/        OPC_RecordChild2, // #1 = $Rm
/*182343*/        OPC_CheckChild2Type, MVT::v2i32,
/*182345*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182347*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 445:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*182355*/      /*SwitchType*/ 15, MVT::v4i32,// ->182372
/*182357*/        OPC_CheckChild1Type, MVT::v4i32,
/*182359*/        OPC_RecordChild2, // #1 = $Rm
/*182360*/        OPC_CheckChild2Type, MVT::v4i32,
/*182362*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182364*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 445:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*182372*/      /*SwitchType*/ 15, MVT::v2i64,// ->182389
/*182374*/        OPC_CheckChild1Type, MVT::v2i64,
/*182376*/        OPC_RecordChild2, // #1 = $Rm
/*182377*/        OPC_CheckChild2Type, MVT::v2i64,
/*182379*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182381*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 445:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*182389*/      /*SwitchType*/ 15, MVT::v1i64,// ->182406
/*182391*/        OPC_CheckChild1Type, MVT::v1i64,
/*182393*/        OPC_RecordChild2, // #1 = $Rm
/*182394*/        OPC_CheckChild2Type, MVT::v1i64,
/*182396*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182398*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 445:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (UQSHLv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*182406*/      0, // EndSwitchType
/*182407*/    /*Scope*/ 48|128,1/*176*/, /*->182585*/
/*182409*/      OPC_CheckChild0Integer, 63|128,3/*447*/, 
/*182412*/      OPC_RecordChild1, // #0 = $Rn
/*182413*/      OPC_SwitchType /*10 cases */, 15, MVT::i64,// ->182431
/*182416*/        OPC_CheckChild1Type, MVT::i64,
/*182418*/        OPC_RecordChild2, // #1 = $Rm
/*182419*/        OPC_CheckChild2Type, MVT::i64,
/*182421*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182423*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 447:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*182431*/      /*SwitchType*/ 15, MVT::i32,// ->182448
/*182433*/        OPC_CheckChild1Type, MVT::i32,
/*182435*/        OPC_RecordChild2, // #1 = $Rm
/*182436*/        OPC_CheckChild2Type, MVT::i32,
/*182438*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182440*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv1i32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 447:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }:$Rm)
/*182448*/      /*SwitchType*/ 15, MVT::v8i8,// ->182465
/*182450*/        OPC_CheckChild1Type, MVT::v8i8,
/*182452*/        OPC_RecordChild2, // #1 = $Rm
/*182453*/        OPC_CheckChild2Type, MVT::v8i8,
/*182455*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182457*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 447:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*182465*/      /*SwitchType*/ 15, MVT::v16i8,// ->182482
/*182467*/        OPC_CheckChild1Type, MVT::v16i8,
/*182469*/        OPC_RecordChild2, // #1 = $Rm
/*182470*/        OPC_CheckChild2Type, MVT::v16i8,
/*182472*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182474*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 447:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*182482*/      /*SwitchType*/ 15, MVT::v4i16,// ->182499
/*182484*/        OPC_CheckChild1Type, MVT::v4i16,
/*182486*/        OPC_RecordChild2, // #1 = $Rm
/*182487*/        OPC_CheckChild2Type, MVT::v4i16,
/*182489*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182491*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 447:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*182499*/      /*SwitchType*/ 15, MVT::v8i16,// ->182516
/*182501*/        OPC_CheckChild1Type, MVT::v8i16,
/*182503*/        OPC_RecordChild2, // #1 = $Rm
/*182504*/        OPC_CheckChild2Type, MVT::v8i16,
/*182506*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182508*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 447:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*182516*/      /*SwitchType*/ 15, MVT::v2i32,// ->182533
/*182518*/        OPC_CheckChild1Type, MVT::v2i32,
/*182520*/        OPC_RecordChild2, // #1 = $Rm
/*182521*/        OPC_CheckChild2Type, MVT::v2i32,
/*182523*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182525*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 447:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*182533*/      /*SwitchType*/ 15, MVT::v4i32,// ->182550
/*182535*/        OPC_CheckChild1Type, MVT::v4i32,
/*182537*/        OPC_RecordChild2, // #1 = $Rm
/*182538*/        OPC_CheckChild2Type, MVT::v4i32,
/*182540*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182542*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 447:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*182550*/      /*SwitchType*/ 15, MVT::v2i64,// ->182567
/*182552*/        OPC_CheckChild1Type, MVT::v2i64,
/*182554*/        OPC_RecordChild2, // #1 = $Rm
/*182555*/        OPC_CheckChild2Type, MVT::v2i64,
/*182557*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182559*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 447:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*182567*/      /*SwitchType*/ 15, MVT::v1i64,// ->182584
/*182569*/        OPC_CheckChild1Type, MVT::v1i64,
/*182571*/        OPC_RecordChild2, // #1 = $Rm
/*182572*/        OPC_CheckChild2Type, MVT::v1i64,
/*182574*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182576*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 447:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (UQSUBv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*182584*/      0, // EndSwitchType
/*182585*/    /*Scope*/ 8|128,1/*136*/, /*->182723*/
/*182587*/      OPC_CheckChild0Integer, 4|128,3/*388*/, 
/*182590*/      OPC_RecordChild1, // #0 = $Rn
/*182591*/      OPC_SwitchType /*10 cases */, 11, MVT::i64,// ->182605
/*182594*/        OPC_CheckChild1Type, MVT::i64,
/*182596*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182598*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv1i64), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 388:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn)
/*182605*/      /*SwitchType*/ 11, MVT::i32,// ->182618
/*182607*/        OPC_CheckChild1Type, MVT::i32,
/*182609*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182611*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv1i32), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 388:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn)
/*182618*/      /*SwitchType*/ 11, MVT::v8i8,// ->182631
/*182620*/        OPC_CheckChild1Type, MVT::v8i8,
/*182622*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182624*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 388:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*182631*/      /*SwitchType*/ 11, MVT::v16i8,// ->182644
/*182633*/        OPC_CheckChild1Type, MVT::v16i8,
/*182635*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182637*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 388:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*182644*/      /*SwitchType*/ 11, MVT::v4i16,// ->182657
/*182646*/        OPC_CheckChild1Type, MVT::v4i16,
/*182648*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182650*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 388:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*182657*/      /*SwitchType*/ 11, MVT::v8i16,// ->182670
/*182659*/        OPC_CheckChild1Type, MVT::v8i16,
/*182661*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182663*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv8i16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 388:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*182670*/      /*SwitchType*/ 11, MVT::v2i32,// ->182683
/*182672*/        OPC_CheckChild1Type, MVT::v2i32,
/*182674*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182676*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 388:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*182683*/      /*SwitchType*/ 11, MVT::v4i32,// ->182696
/*182685*/        OPC_CheckChild1Type, MVT::v4i32,
/*182687*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182689*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 388:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*182696*/      /*SwitchType*/ 11, MVT::v2i64,// ->182709
/*182698*/        OPC_CheckChild1Type, MVT::v2i64,
/*182700*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182702*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv2i64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 388:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*182709*/      /*SwitchType*/ 11, MVT::v1i64,// ->182722
/*182711*/        OPC_CheckChild1Type, MVT::v1i64,
/*182713*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182715*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQABSv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 388:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn) - Complexity = 8
                  // Dst: (SQABSv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*182722*/      0, // EndSwitchType
/*182723*/    /*Scope*/ 8|128,1/*136*/, /*->182861*/
/*182725*/      OPC_CheckChild0Integer, 9|128,3/*393*/, 
/*182728*/      OPC_RecordChild1, // #0 = $Rn
/*182729*/      OPC_SwitchType /*10 cases */, 11, MVT::i64,// ->182743
/*182732*/        OPC_CheckChild1Type, MVT::i64,
/*182734*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182736*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv1i64), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 393:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn)
/*182743*/      /*SwitchType*/ 11, MVT::i32,// ->182756
/*182745*/        OPC_CheckChild1Type, MVT::i32,
/*182747*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182749*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv1i32), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 393:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rn)
/*182756*/      /*SwitchType*/ 11, MVT::v8i8,// ->182769
/*182758*/        OPC_CheckChild1Type, MVT::v8i8,
/*182760*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182762*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 393:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*182769*/      /*SwitchType*/ 11, MVT::v16i8,// ->182782
/*182771*/        OPC_CheckChild1Type, MVT::v16i8,
/*182773*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182775*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 393:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*182782*/      /*SwitchType*/ 11, MVT::v4i16,// ->182795
/*182784*/        OPC_CheckChild1Type, MVT::v4i16,
/*182786*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182788*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 393:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*182795*/      /*SwitchType*/ 11, MVT::v8i16,// ->182808
/*182797*/        OPC_CheckChild1Type, MVT::v8i16,
/*182799*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182801*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv8i16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 393:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*182808*/      /*SwitchType*/ 11, MVT::v2i32,// ->182821
/*182810*/        OPC_CheckChild1Type, MVT::v2i32,
/*182812*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182814*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 393:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*182821*/      /*SwitchType*/ 11, MVT::v4i32,// ->182834
/*182823*/        OPC_CheckChild1Type, MVT::v4i32,
/*182825*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182827*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 393:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*182834*/      /*SwitchType*/ 11, MVT::v2i64,// ->182847
/*182836*/        OPC_CheckChild1Type, MVT::v2i64,
/*182838*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182840*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv2i64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 393:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*182847*/      /*SwitchType*/ 11, MVT::v1i64,// ->182860
/*182849*/        OPC_CheckChild1Type, MVT::v1i64,
/*182851*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182853*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQNEGv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 393:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn) - Complexity = 8
                  // Dst: (SQNEGv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*182860*/      0, // EndSwitchType
/*182861*/    /*Scope*/ 17, /*->182879*/
/*182862*/      OPC_CheckChild0Integer, 118|128,2/*374*/, 
/*182865*/      OPC_RecordChild1, // #0 = $Rn
/*182866*/      OPC_CheckChild1Type, MVT::i64,
/*182868*/      OPC_CheckType, MVT::i32,
/*182870*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182872*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNv1i32), 0,
                    MVT::i32, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 374:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn) - Complexity = 8
                // Dst: (SQXTNv1i32:{ *:[i32] } FPR64:{ *:[i64] }:$Rn)
/*182879*/    /*Scope*/ 17, /*->182897*/
/*182880*/      OPC_CheckChild0Integer, 119|128,2/*375*/, 
/*182883*/      OPC_RecordChild1, // #0 = $Rn
/*182884*/      OPC_CheckChild1Type, MVT::i64,
/*182886*/      OPC_CheckType, MVT::i32,
/*182888*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182890*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNv1i32), 0,
                    MVT::i32, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 375:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn) - Complexity = 8
                // Dst: (SQXTUNv1i32:{ *:[i32] } FPR64:{ *:[i64] }:$Rn)
/*182897*/    /*Scope*/ 48|128,1/*176*/, /*->183075*/
/*182899*/      OPC_CheckChild0Integer, 35|128,3/*419*/, 
/*182902*/      OPC_RecordChild1, // #0 = $Rd
/*182903*/      OPC_SwitchType /*10 cases */, 15, MVT::i64,// ->182921
/*182906*/        OPC_CheckChild1Type, MVT::i64,
/*182908*/        OPC_RecordChild2, // #1 = $Rn
/*182909*/        OPC_CheckChild2Type, MVT::i64,
/*182911*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182913*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 419:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn)
/*182921*/      /*SwitchType*/ 15, MVT::i32,// ->182938
/*182923*/        OPC_CheckChild1Type, MVT::i32,
/*182925*/        OPC_RecordChild2, // #1 = $Rn
/*182926*/        OPC_CheckChild2Type, MVT::i32,
/*182928*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182930*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv1i32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 419:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rd, FPR32:{ *:[i32] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rd, FPR32:{ *:[i32] }:$Rn)
/*182938*/      /*SwitchType*/ 15, MVT::v8i8,// ->182955
/*182940*/        OPC_CheckChild1Type, MVT::v8i8,
/*182942*/        OPC_RecordChild2, // #1 = $Rn
/*182943*/        OPC_CheckChild2Type, MVT::v8i8,
/*182945*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182947*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 419:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn)
/*182955*/      /*SwitchType*/ 15, MVT::v16i8,// ->182972
/*182957*/        OPC_CheckChild1Type, MVT::v16i8,
/*182959*/        OPC_RecordChild2, // #1 = $Rn
/*182960*/        OPC_CheckChild2Type, MVT::v16i8,
/*182962*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182964*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 419:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn)
/*182972*/      /*SwitchType*/ 15, MVT::v4i16,// ->182989
/*182974*/        OPC_CheckChild1Type, MVT::v4i16,
/*182976*/        OPC_RecordChild2, // #1 = $Rn
/*182977*/        OPC_CheckChild2Type, MVT::v4i16,
/*182979*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182981*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 419:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn)
/*182989*/      /*SwitchType*/ 15, MVT::v8i16,// ->183006
/*182991*/        OPC_CheckChild1Type, MVT::v8i16,
/*182993*/        OPC_RecordChild2, // #1 = $Rn
/*182994*/        OPC_CheckChild2Type, MVT::v8i16,
/*182996*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*182998*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 419:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn)
/*183006*/      /*SwitchType*/ 15, MVT::v2i32,// ->183023
/*183008*/        OPC_CheckChild1Type, MVT::v2i32,
/*183010*/        OPC_RecordChild2, // #1 = $Rn
/*183011*/        OPC_CheckChild2Type, MVT::v2i32,
/*183013*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183015*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 419:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn)
/*183023*/      /*SwitchType*/ 15, MVT::v4i32,// ->183040
/*183025*/        OPC_CheckChild1Type, MVT::v4i32,
/*183027*/        OPC_RecordChild2, // #1 = $Rn
/*183028*/        OPC_CheckChild2Type, MVT::v4i32,
/*183030*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183032*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 419:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn)
/*183040*/      /*SwitchType*/ 15, MVT::v2i64,// ->183057
/*183042*/        OPC_CheckChild1Type, MVT::v2i64,
/*183044*/        OPC_RecordChild2, // #1 = $Rn
/*183045*/        OPC_CheckChild2Type, MVT::v2i64,
/*183047*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183049*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 419:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn)
/*183057*/      /*SwitchType*/ 15, MVT::v1i64,// ->183074
/*183059*/        OPC_CheckChild1Type, MVT::v1i64,
/*183061*/        OPC_RecordChild2, // #1 = $Rn
/*183062*/        OPC_CheckChild2Type, MVT::v1i64,
/*183064*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183066*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUQADDv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 419:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn) - Complexity = 8
                  // Dst: (SUQADDv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn)
/*183074*/      0, // EndSwitchType
/*183075*/    /*Scope*/ 17, /*->183093*/
/*183076*/      OPC_CheckChild0Integer, 120|128,2/*376*/, 
/*183079*/      OPC_RecordChild1, // #0 = $Rn
/*183080*/      OPC_CheckChild1Type, MVT::i64,
/*183082*/      OPC_CheckType, MVT::i32,
/*183084*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183086*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNv1i32), 0,
                    MVT::i32, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 376:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn) - Complexity = 8
                // Dst: (UQXTNv1i32:{ *:[i32] } FPR64:{ *:[i64] }:$Rn)
/*183093*/    /*Scope*/ 48|128,1/*176*/, /*->183271*/
/*183095*/      OPC_CheckChild0Integer, 71|128,3/*455*/, 
/*183098*/      OPC_RecordChild1, // #0 = $Rd
/*183099*/      OPC_SwitchType /*10 cases */, 15, MVT::i64,// ->183117
/*183102*/        OPC_CheckChild1Type, MVT::i64,
/*183104*/        OPC_RecordChild2, // #1 = $Rn
/*183105*/        OPC_CheckChild2Type, MVT::i64,
/*183107*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183109*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 455:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rd, FPR64:{ *:[i64] }:$Rn)
/*183117*/      /*SwitchType*/ 15, MVT::i32,// ->183134
/*183119*/        OPC_CheckChild1Type, MVT::i32,
/*183121*/        OPC_RecordChild2, // #1 = $Rn
/*183122*/        OPC_CheckChild2Type, MVT::i32,
/*183124*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183126*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv1i32), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 455:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rd, FPR32:{ *:[i32] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv1i32:{ *:[i32] } FPR32:{ *:[i32] }:$Rd, FPR32:{ *:[i32] }:$Rn)
/*183134*/      /*SwitchType*/ 15, MVT::v8i8,// ->183151
/*183136*/        OPC_CheckChild1Type, MVT::v8i8,
/*183138*/        OPC_RecordChild2, // #1 = $Rn
/*183139*/        OPC_CheckChild2Type, MVT::v8i8,
/*183141*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183143*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 455:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn)
/*183151*/      /*SwitchType*/ 15, MVT::v16i8,// ->183168
/*183153*/        OPC_CheckChild1Type, MVT::v16i8,
/*183155*/        OPC_RecordChild2, // #1 = $Rn
/*183156*/        OPC_CheckChild2Type, MVT::v16i8,
/*183158*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183160*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 455:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn)
/*183168*/      /*SwitchType*/ 15, MVT::v4i16,// ->183185
/*183170*/        OPC_CheckChild1Type, MVT::v4i16,
/*183172*/        OPC_RecordChild2, // #1 = $Rn
/*183173*/        OPC_CheckChild2Type, MVT::v4i16,
/*183175*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183177*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 455:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn)
/*183185*/      /*SwitchType*/ 15, MVT::v8i16,// ->183202
/*183187*/        OPC_CheckChild1Type, MVT::v8i16,
/*183189*/        OPC_RecordChild2, // #1 = $Rn
/*183190*/        OPC_CheckChild2Type, MVT::v8i16,
/*183192*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183194*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 455:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn)
/*183202*/      /*SwitchType*/ 15, MVT::v2i32,// ->183219
/*183204*/        OPC_CheckChild1Type, MVT::v2i32,
/*183206*/        OPC_RecordChild2, // #1 = $Rn
/*183207*/        OPC_CheckChild2Type, MVT::v2i32,
/*183209*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183211*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 455:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn)
/*183219*/      /*SwitchType*/ 15, MVT::v4i32,// ->183236
/*183221*/        OPC_CheckChild1Type, MVT::v4i32,
/*183223*/        OPC_RecordChild2, // #1 = $Rn
/*183224*/        OPC_CheckChild2Type, MVT::v4i32,
/*183226*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183228*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 455:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn)
/*183236*/      /*SwitchType*/ 15, MVT::v2i64,// ->183253
/*183238*/        OPC_CheckChild1Type, MVT::v2i64,
/*183240*/        OPC_RecordChild2, // #1 = $Rn
/*183241*/        OPC_CheckChild2Type, MVT::v2i64,
/*183243*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183245*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 455:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn)
/*183253*/      /*SwitchType*/ 15, MVT::v1i64,// ->183270
/*183255*/        OPC_CheckChild1Type, MVT::v1i64,
/*183257*/        OPC_RecordChild2, // #1 = $Rn
/*183258*/        OPC_CheckChild2Type, MVT::v1i64,
/*183260*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183262*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USQADDv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 455:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn) - Complexity = 8
                  // Dst: (USQADDv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn)
/*183270*/      0, // EndSwitchType
/*183271*/    /*Scope*/ 13, /*->183285*/
/*183272*/      OPC_CheckChild0Integer, 29|128,2/*285*/, 
/*183275*/      OPC_RecordChild1, // #0 = $Rn
/*183276*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*183278*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA1Hrr), 0,
                    MVT::i32, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 285:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn) - Complexity = 8
                // Dst: (SHA1Hrr:{ *:[i32] } FPR32:{ *:[i32] }:$Rn)
/*183285*/    /*Scope*/ 29|128,1/*157*/, /*->183444*/
/*183287*/      OPC_CheckChild0Integer, 23|128,3/*407*/, 
/*183290*/      OPC_RecordChild1, // #0 = $Rn
/*183291*/      OPC_SwitchType /*9 cases */, 13, MVT::i64,// ->183307
/*183294*/        OPC_CheckChild1Type, MVT::i64,
/*183296*/        OPC_RecordChild2, // #1 = $Rm
/*183297*/        OPC_CheckChild2Type, MVT::i64,
/*183299*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 407:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*183307*/      /*SwitchType*/ 15, MVT::v8i8,// ->183324
/*183309*/        OPC_CheckChild1Type, MVT::v8i8,
/*183311*/        OPC_RecordChild2, // #1 = $Rm
/*183312*/        OPC_CheckChild2Type, MVT::v8i8,
/*183314*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183316*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 407:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*183324*/      /*SwitchType*/ 15, MVT::v16i8,// ->183341
/*183326*/        OPC_CheckChild1Type, MVT::v16i8,
/*183328*/        OPC_RecordChild2, // #1 = $Rm
/*183329*/        OPC_CheckChild2Type, MVT::v16i8,
/*183331*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183333*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 407:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*183341*/      /*SwitchType*/ 15, MVT::v4i16,// ->183358
/*183343*/        OPC_CheckChild1Type, MVT::v4i16,
/*183345*/        OPC_RecordChild2, // #1 = $Rm
/*183346*/        OPC_CheckChild2Type, MVT::v4i16,
/*183348*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183350*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 407:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*183358*/      /*SwitchType*/ 15, MVT::v8i16,// ->183375
/*183360*/        OPC_CheckChild1Type, MVT::v8i16,
/*183362*/        OPC_RecordChild2, // #1 = $Rm
/*183363*/        OPC_CheckChild2Type, MVT::v8i16,
/*183365*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183367*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 407:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*183375*/      /*SwitchType*/ 15, MVT::v2i32,// ->183392
/*183377*/        OPC_CheckChild1Type, MVT::v2i32,
/*183379*/        OPC_RecordChild2, // #1 = $Rm
/*183380*/        OPC_CheckChild2Type, MVT::v2i32,
/*183382*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183384*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 407:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*183392*/      /*SwitchType*/ 15, MVT::v4i32,// ->183409
/*183394*/        OPC_CheckChild1Type, MVT::v4i32,
/*183396*/        OPC_RecordChild2, // #1 = $Rm
/*183397*/        OPC_CheckChild2Type, MVT::v4i32,
/*183399*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183401*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 407:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*183409*/      /*SwitchType*/ 15, MVT::v2i64,// ->183426
/*183411*/        OPC_CheckChild1Type, MVT::v2i64,
/*183413*/        OPC_RecordChild2, // #1 = $Rm
/*183414*/        OPC_CheckChild2Type, MVT::v2i64,
/*183416*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183418*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 407:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*183426*/      /*SwitchType*/ 15, MVT::v1i64,// ->183443
/*183428*/        OPC_CheckChild1Type, MVT::v1i64,
/*183430*/        OPC_RecordChild2, // #1 = $Rm
/*183431*/        OPC_CheckChild2Type, MVT::v1i64,
/*183433*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183435*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 407:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (SSHLv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*183443*/      0, // EndSwitchType
/*183444*/    /*Scope*/ 29|128,1/*157*/, /*->183603*/
/*183446*/      OPC_CheckChild0Integer, 69|128,3/*453*/, 
/*183449*/      OPC_RecordChild1, // #0 = $Rn
/*183450*/      OPC_SwitchType /*9 cases */, 13, MVT::i64,// ->183466
/*183453*/        OPC_CheckChild1Type, MVT::i64,
/*183455*/        OPC_RecordChild2, // #1 = $Rm
/*183456*/        OPC_CheckChild2Type, MVT::i64,
/*183458*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 453:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (USHLv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*183466*/      /*SwitchType*/ 15, MVT::v8i8,// ->183483
/*183468*/        OPC_CheckChild1Type, MVT::v8i8,
/*183470*/        OPC_RecordChild2, // #1 = $Rm
/*183471*/        OPC_CheckChild2Type, MVT::v8i8,
/*183473*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183475*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 453:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (USHLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*183483*/      /*SwitchType*/ 15, MVT::v16i8,// ->183500
/*183485*/        OPC_CheckChild1Type, MVT::v16i8,
/*183487*/        OPC_RecordChild2, // #1 = $Rm
/*183488*/        OPC_CheckChild2Type, MVT::v16i8,
/*183490*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183492*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 453:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (USHLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*183500*/      /*SwitchType*/ 15, MVT::v4i16,// ->183517
/*183502*/        OPC_CheckChild1Type, MVT::v4i16,
/*183504*/        OPC_RecordChild2, // #1 = $Rm
/*183505*/        OPC_CheckChild2Type, MVT::v4i16,
/*183507*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183509*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 453:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (USHLv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*183517*/      /*SwitchType*/ 15, MVT::v8i16,// ->183534
/*183519*/        OPC_CheckChild1Type, MVT::v8i16,
/*183521*/        OPC_RecordChild2, // #1 = $Rm
/*183522*/        OPC_CheckChild2Type, MVT::v8i16,
/*183524*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183526*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 453:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (USHLv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*183534*/      /*SwitchType*/ 15, MVT::v2i32,// ->183551
/*183536*/        OPC_CheckChild1Type, MVT::v2i32,
/*183538*/        OPC_RecordChild2, // #1 = $Rm
/*183539*/        OPC_CheckChild2Type, MVT::v2i32,
/*183541*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183543*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 453:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (USHLv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*183551*/      /*SwitchType*/ 15, MVT::v4i32,// ->183568
/*183553*/        OPC_CheckChild1Type, MVT::v4i32,
/*183555*/        OPC_RecordChild2, // #1 = $Rm
/*183556*/        OPC_CheckChild2Type, MVT::v4i32,
/*183558*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183560*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 453:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (USHLv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*183568*/      /*SwitchType*/ 15, MVT::v2i64,// ->183585
/*183570*/        OPC_CheckChild1Type, MVT::v2i64,
/*183572*/        OPC_RecordChild2, // #1 = $Rm
/*183573*/        OPC_CheckChild2Type, MVT::v2i64,
/*183575*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183577*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 453:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (USHLv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*183585*/      /*SwitchType*/ 15, MVT::v1i64,// ->183602
/*183587*/        OPC_CheckChild1Type, MVT::v1i64,
/*183589*/        OPC_RecordChild2, // #1 = $Rm
/*183590*/        OPC_CheckChild2Type, MVT::v1i64,
/*183592*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183594*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 453:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (USHLv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*183602*/      0, // EndSwitchType
/*183603*/    /*Scope*/ 29|128,1/*157*/, /*->183762*/
/*183605*/      OPC_CheckChild0Integer, 22|128,3/*406*/, 
/*183608*/      OPC_RecordChild1, // #0 = $Rn
/*183609*/      OPC_SwitchType /*9 cases */, 13, MVT::i64,// ->183625
/*183612*/        OPC_CheckChild1Type, MVT::i64,
/*183614*/        OPC_RecordChild2, // #1 = $Rm
/*183615*/        OPC_CheckChild2Type, MVT::i64,
/*183617*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 406:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*183625*/      /*SwitchType*/ 15, MVT::v8i8,// ->183642
/*183627*/        OPC_CheckChild1Type, MVT::v8i8,
/*183629*/        OPC_RecordChild2, // #1 = $Rm
/*183630*/        OPC_CheckChild2Type, MVT::v8i8,
/*183632*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183634*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 406:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*183642*/      /*SwitchType*/ 15, MVT::v16i8,// ->183659
/*183644*/        OPC_CheckChild1Type, MVT::v16i8,
/*183646*/        OPC_RecordChild2, // #1 = $Rm
/*183647*/        OPC_CheckChild2Type, MVT::v16i8,
/*183649*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183651*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 406:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*183659*/      /*SwitchType*/ 15, MVT::v4i16,// ->183676
/*183661*/        OPC_CheckChild1Type, MVT::v4i16,
/*183663*/        OPC_RecordChild2, // #1 = $Rm
/*183664*/        OPC_CheckChild2Type, MVT::v4i16,
/*183666*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183668*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 406:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*183676*/      /*SwitchType*/ 15, MVT::v8i16,// ->183693
/*183678*/        OPC_CheckChild1Type, MVT::v8i16,
/*183680*/        OPC_RecordChild2, // #1 = $Rm
/*183681*/        OPC_CheckChild2Type, MVT::v8i16,
/*183683*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183685*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 406:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*183693*/      /*SwitchType*/ 15, MVT::v2i32,// ->183710
/*183695*/        OPC_CheckChild1Type, MVT::v2i32,
/*183697*/        OPC_RecordChild2, // #1 = $Rm
/*183698*/        OPC_CheckChild2Type, MVT::v2i32,
/*183700*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183702*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 406:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*183710*/      /*SwitchType*/ 15, MVT::v4i32,// ->183727
/*183712*/        OPC_CheckChild1Type, MVT::v4i32,
/*183714*/        OPC_RecordChild2, // #1 = $Rm
/*183715*/        OPC_CheckChild2Type, MVT::v4i32,
/*183717*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183719*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 406:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*183727*/      /*SwitchType*/ 15, MVT::v2i64,// ->183744
/*183729*/        OPC_CheckChild1Type, MVT::v2i64,
/*183731*/        OPC_RecordChild2, // #1 = $Rm
/*183732*/        OPC_CheckChild2Type, MVT::v2i64,
/*183734*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183736*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 406:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*183744*/      /*SwitchType*/ 15, MVT::v1i64,// ->183761
/*183746*/        OPC_CheckChild1Type, MVT::v1i64,
/*183748*/        OPC_RecordChild2, // #1 = $Rm
/*183749*/        OPC_CheckChild2Type, MVT::v1i64,
/*183751*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183753*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHLv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 406:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (SRSHLv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*183761*/      0, // EndSwitchType
/*183762*/    /*Scope*/ 29|128,1/*157*/, /*->183921*/
/*183764*/      OPC_CheckChild0Integer, 67|128,3/*451*/, 
/*183767*/      OPC_RecordChild1, // #0 = $Rn
/*183768*/      OPC_SwitchType /*9 cases */, 13, MVT::i64,// ->183784
/*183771*/        OPC_CheckChild1Type, MVT::i64,
/*183773*/        OPC_RecordChild2, // #1 = $Rm
/*183774*/        OPC_CheckChild2Type, MVT::i64,
/*183776*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv1i64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 451:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i64] }:$Rm)
/*183784*/      /*SwitchType*/ 15, MVT::v8i8,// ->183801
/*183786*/        OPC_CheckChild1Type, MVT::v8i8,
/*183788*/        OPC_RecordChild2, // #1 = $Rm
/*183789*/        OPC_CheckChild2Type, MVT::v8i8,
/*183791*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183793*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 451:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*183801*/      /*SwitchType*/ 15, MVT::v16i8,// ->183818
/*183803*/        OPC_CheckChild1Type, MVT::v16i8,
/*183805*/        OPC_RecordChild2, // #1 = $Rm
/*183806*/        OPC_CheckChild2Type, MVT::v16i8,
/*183808*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183810*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 451:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*183818*/      /*SwitchType*/ 15, MVT::v4i16,// ->183835
/*183820*/        OPC_CheckChild1Type, MVT::v4i16,
/*183822*/        OPC_RecordChild2, // #1 = $Rm
/*183823*/        OPC_CheckChild2Type, MVT::v4i16,
/*183825*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183827*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 451:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*183835*/      /*SwitchType*/ 15, MVT::v8i16,// ->183852
/*183837*/        OPC_CheckChild1Type, MVT::v8i16,
/*183839*/        OPC_RecordChild2, // #1 = $Rm
/*183840*/        OPC_CheckChild2Type, MVT::v8i16,
/*183842*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183844*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 451:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*183852*/      /*SwitchType*/ 15, MVT::v2i32,// ->183869
/*183854*/        OPC_CheckChild1Type, MVT::v2i32,
/*183856*/        OPC_RecordChild2, // #1 = $Rm
/*183857*/        OPC_CheckChild2Type, MVT::v2i32,
/*183859*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183861*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 451:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*183869*/      /*SwitchType*/ 15, MVT::v4i32,// ->183886
/*183871*/        OPC_CheckChild1Type, MVT::v4i32,
/*183873*/        OPC_RecordChild2, // #1 = $Rm
/*183874*/        OPC_CheckChild2Type, MVT::v4i32,
/*183876*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183878*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 451:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*183886*/      /*SwitchType*/ 15, MVT::v2i64,// ->183903
/*183888*/        OPC_CheckChild1Type, MVT::v2i64,
/*183890*/        OPC_RecordChild2, // #1 = $Rm
/*183891*/        OPC_CheckChild2Type, MVT::v2i64,
/*183893*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183895*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 451:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*183903*/      /*SwitchType*/ 15, MVT::v1i64,// ->183920
/*183905*/        OPC_CheckChild1Type, MVT::v1i64,
/*183907*/        OPC_RecordChild2, // #1 = $Rm
/*183908*/        OPC_CheckChild2Type, MVT::v1i64,
/*183910*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*183912*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHLv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 451:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 8
                  // Dst: (URSHLv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*183920*/      0, // EndSwitchType
/*183921*/    /*Scope*/ 70, /*->183992*/
/*183922*/      OPC_CheckChild0Integer, 30|128,5/*670*/, 
/*183925*/      OPC_RecordChild1, // #0 = $Op1
/*183926*/      OPC_Scope, 15, /*->183943*/ // 4 children in Scope
/*183928*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*183930*/        OPC_RecordChild2, // #1 = $Op2
/*183931*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*183933*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*183935*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDV_VPZ_B), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 670:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 8
                  // Dst: (SADDV_VPZ_B:{ *:[i64] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*183943*/      /*Scope*/ 15, /*->183959*/
/*183944*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*183946*/        OPC_RecordChild2, // #1 = $Op2
/*183947*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*183949*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*183951*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDV_VPZ_H), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 670:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (SADDV_VPZ_H:{ *:[i64] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*183959*/      /*Scope*/ 15, /*->183975*/
/*183960*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*183962*/        OPC_RecordChild2, // #1 = $Op2
/*183963*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*183965*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*183967*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDV_VPZ_S), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 670:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (SADDV_VPZ_S:{ *:[i64] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*183975*/      /*Scope*/ 15, /*->183991*/
/*183976*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*183978*/        OPC_RecordChild2, // #1 = $Op2
/*183979*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*183981*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*183983*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDV_VPZ_D), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 670:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (UADDV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*183991*/      0, /*End of Scope*/
/*183992*/    /*Scope*/ 70, /*->184063*/
/*183993*/      OPC_CheckChild0Integer, 109|128,5/*749*/, 
/*183996*/      OPC_RecordChild1, // #0 = $Op1
/*183997*/      OPC_Scope, 15, /*->184014*/ // 4 children in Scope
/*183999*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*184001*/        OPC_RecordChild2, // #1 = $Op2
/*184002*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*184004*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184006*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDV_VPZ_B), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 749:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 8
                  // Dst: (UADDV_VPZ_B:{ *:[i64] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*184014*/      /*Scope*/ 15, /*->184030*/
/*184015*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*184017*/        OPC_RecordChild2, // #1 = $Op2
/*184018*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*184020*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184022*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDV_VPZ_H), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 749:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (UADDV_VPZ_H:{ *:[i64] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*184030*/      /*Scope*/ 15, /*->184046*/
/*184031*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*184033*/        OPC_RecordChild2, // #1 = $Op2
/*184034*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*184036*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184038*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDV_VPZ_S), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 749:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (UADDV_VPZ_S:{ *:[i64] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*184046*/      /*Scope*/ 15, /*->184062*/
/*184047*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*184049*/        OPC_RecordChild2, // #1 = $Op2
/*184050*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*184052*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184054*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDV_VPZ_D), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 749:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (UADDV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*184062*/      0, /*End of Scope*/
/*184063*/    /*Scope*/ 70, /*->184134*/
/*184064*/      OPC_CheckChild0Integer, 7|128,4/*519*/, 
/*184067*/      OPC_RecordChild1, // #0 = $Op1
/*184068*/      OPC_Scope, 15, /*->184085*/ // 4 children in Scope
/*184070*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*184072*/        OPC_RecordChild2, // #1 = $Op2
/*184073*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*184075*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184077*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTP_XPP_B), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 519:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 8
                  // Dst: (CNTP_XPP_B:{ *:[i64] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*184085*/      /*Scope*/ 15, /*->184101*/
/*184086*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*184088*/        OPC_RecordChild2, // #1 = $Op2
/*184089*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*184091*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184093*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTP_XPP_H), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 519:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 8
                  // Dst: (CNTP_XPP_H:{ *:[i64] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*184101*/      /*Scope*/ 15, /*->184117*/
/*184102*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*184104*/        OPC_RecordChild2, // #1 = $Op2
/*184105*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*184107*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184109*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTP_XPP_S), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 519:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 8
                  // Dst: (CNTP_XPP_S:{ *:[i64] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*184117*/      /*Scope*/ 15, /*->184133*/
/*184118*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*184120*/        OPC_RecordChild2, // #1 = $Op2
/*184121*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*184123*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184125*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTP_XPP_D), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 519:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 8
                  // Dst: (CNTP_XPP_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*184133*/      0, /*End of Scope*/
/*184134*/    /*Scope*/ 59, /*->184194*/
/*184135*/      OPC_CheckChild0Integer, 72|128,5/*712*/, 
/*184138*/      OPC_RecordChild1, // #0 = $Rn
/*184139*/      OPC_RecordChild2, // #1 = $Pg
/*184140*/      OPC_Scope, 12, /*->184154*/ // 4 children in Scope
/*184142*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*184144*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184146*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_XP_B), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 712:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg) - Complexity = 8
                  // Dst: (SQINCP_XP_B:{ *:[i64] } PPRAny:{ *:[nxv16i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184154*/      /*Scope*/ 12, /*->184167*/
/*184155*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*184157*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184159*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_XP_H), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 712:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg) - Complexity = 8
                  // Dst: (SQINCP_XP_H:{ *:[i64] } PPRAny:{ *:[nxv8i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184167*/      /*Scope*/ 12, /*->184180*/
/*184168*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*184170*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184172*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_XP_S), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 712:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg) - Complexity = 8
                  // Dst: (SQINCP_XP_S:{ *:[i64] } PPRAny:{ *:[nxv4i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184180*/      /*Scope*/ 12, /*->184193*/
/*184181*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*184183*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184185*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_XP_D), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 712:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg) - Complexity = 8
                  // Dst: (SQINCP_XP_D:{ *:[i64] } PPRAny:{ *:[nxv2i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184193*/      0, /*End of Scope*/
/*184194*/    /*Scope*/ 59, /*->184254*/
/*184195*/      OPC_CheckChild0Integer, 19|128,6/*787*/, 
/*184198*/      OPC_RecordChild1, // #0 = $Rn
/*184199*/      OPC_RecordChild2, // #1 = $Pg
/*184200*/      OPC_Scope, 12, /*->184214*/ // 4 children in Scope
/*184202*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*184204*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184206*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_WP_B), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 787:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg) - Complexity = 8
                  // Dst: (UQINCP_WP_B:{ *:[i32] } PPRAny:{ *:[nxv16i1] }:$Pg, ?:{ *:[i32] }:$Rn)
/*184214*/      /*Scope*/ 12, /*->184227*/
/*184215*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*184217*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184219*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_WP_H), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 787:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg) - Complexity = 8
                  // Dst: (UQINCP_WP_H:{ *:[i32] } PPRAny:{ *:[nxv8i1] }:$Pg, ?:{ *:[i32] }:$Rn)
/*184227*/      /*Scope*/ 12, /*->184240*/
/*184228*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*184230*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184232*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_WP_S), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 787:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg) - Complexity = 8
                  // Dst: (UQINCP_WP_S:{ *:[i32] } PPRAny:{ *:[nxv4i1] }:$Pg, ?:{ *:[i32] }:$Rn)
/*184240*/      /*Scope*/ 12, /*->184253*/
/*184241*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*184243*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184245*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_WP_D), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 787:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg) - Complexity = 8
                  // Dst: (UQINCP_WP_D:{ *:[i32] } PPRAny:{ *:[nxv2i1] }:$Pg, ?:{ *:[i32] }:$Rn)
/*184253*/      0, /*End of Scope*/
/*184254*/    /*Scope*/ 59, /*->184314*/
/*184255*/      OPC_CheckChild0Integer, 20|128,6/*788*/, 
/*184258*/      OPC_RecordChild1, // #0 = $Rn
/*184259*/      OPC_RecordChild2, // #1 = $Pg
/*184260*/      OPC_Scope, 12, /*->184274*/ // 4 children in Scope
/*184262*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*184264*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184266*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_XP_B), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 788:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg) - Complexity = 8
                  // Dst: (UQINCP_XP_B:{ *:[i64] } PPRAny:{ *:[nxv16i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184274*/      /*Scope*/ 12, /*->184287*/
/*184275*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*184277*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184279*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_XP_H), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 788:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg) - Complexity = 8
                  // Dst: (UQINCP_XP_H:{ *:[i64] } PPRAny:{ *:[nxv8i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184287*/      /*Scope*/ 12, /*->184300*/
/*184288*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*184290*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184292*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_XP_S), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 788:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg) - Complexity = 8
                  // Dst: (UQINCP_XP_S:{ *:[i64] } PPRAny:{ *:[nxv4i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184300*/      /*Scope*/ 12, /*->184313*/
/*184301*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*184303*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184305*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_XP_D), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 788:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg) - Complexity = 8
                  // Dst: (UQINCP_XP_D:{ *:[i64] } PPRAny:{ *:[nxv2i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184313*/      0, /*End of Scope*/
/*184314*/    /*Scope*/ 59, /*->184374*/
/*184315*/      OPC_CheckChild0Integer, 58|128,5/*698*/, 
/*184318*/      OPC_RecordChild1, // #0 = $Rn
/*184319*/      OPC_RecordChild2, // #1 = $Pg
/*184320*/      OPC_Scope, 12, /*->184334*/ // 4 children in Scope
/*184322*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*184324*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184326*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_XP_B), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 698:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg) - Complexity = 8
                  // Dst: (SQDECP_XP_B:{ *:[i64] } PPRAny:{ *:[nxv16i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184334*/      /*Scope*/ 12, /*->184347*/
/*184335*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*184337*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184339*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_XP_H), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 698:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg) - Complexity = 8
                  // Dst: (SQDECP_XP_H:{ *:[i64] } PPRAny:{ *:[nxv8i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184347*/      /*Scope*/ 12, /*->184360*/
/*184348*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*184350*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184352*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_XP_S), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 698:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg) - Complexity = 8
                  // Dst: (SQDECP_XP_S:{ *:[i64] } PPRAny:{ *:[nxv4i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184360*/      /*Scope*/ 12, /*->184373*/
/*184361*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*184363*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184365*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_XP_D), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 698:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg) - Complexity = 8
                  // Dst: (SQDECP_XP_D:{ *:[i64] } PPRAny:{ *:[nxv2i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184373*/      0, /*End of Scope*/
/*184374*/    /*Scope*/ 59, /*->184434*/
/*184375*/      OPC_CheckChild0Integer, 5|128,6/*773*/, 
/*184378*/      OPC_RecordChild1, // #0 = $Rn
/*184379*/      OPC_RecordChild2, // #1 = $Pg
/*184380*/      OPC_Scope, 12, /*->184394*/ // 4 children in Scope
/*184382*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*184384*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184386*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_WP_B), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 773:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg) - Complexity = 8
                  // Dst: (UQDECP_WP_B:{ *:[i32] } PPRAny:{ *:[nxv16i1] }:$Pg, ?:{ *:[i32] }:$Rn)
/*184394*/      /*Scope*/ 12, /*->184407*/
/*184395*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*184397*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184399*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_WP_H), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 773:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg) - Complexity = 8
                  // Dst: (UQDECP_WP_H:{ *:[i32] } PPRAny:{ *:[nxv8i1] }:$Pg, ?:{ *:[i32] }:$Rn)
/*184407*/      /*Scope*/ 12, /*->184420*/
/*184408*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*184410*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184412*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_WP_S), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 773:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg) - Complexity = 8
                  // Dst: (UQDECP_WP_S:{ *:[i32] } PPRAny:{ *:[nxv4i1] }:$Pg, ?:{ *:[i32] }:$Rn)
/*184420*/      /*Scope*/ 12, /*->184433*/
/*184421*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*184423*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184425*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_WP_D), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 773:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg) - Complexity = 8
                  // Dst: (UQDECP_WP_D:{ *:[i32] } PPRAny:{ *:[nxv2i1] }:$Pg, ?:{ *:[i32] }:$Rn)
/*184433*/      0, /*End of Scope*/
/*184434*/    /*Scope*/ 59, /*->184494*/
/*184435*/      OPC_CheckChild0Integer, 6|128,6/*774*/, 
/*184438*/      OPC_RecordChild1, // #0 = $Rn
/*184439*/      OPC_RecordChild2, // #1 = $Pg
/*184440*/      OPC_Scope, 12, /*->184454*/ // 4 children in Scope
/*184442*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*184444*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184446*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_XP_B), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 774:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg) - Complexity = 8
                  // Dst: (UQDECP_XP_B:{ *:[i64] } PPRAny:{ *:[nxv16i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184454*/      /*Scope*/ 12, /*->184467*/
/*184455*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*184457*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184459*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_XP_H), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 774:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg) - Complexity = 8
                  // Dst: (UQDECP_XP_H:{ *:[i64] } PPRAny:{ *:[nxv8i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184467*/      /*Scope*/ 12, /*->184480*/
/*184468*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*184470*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184472*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_XP_S), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 774:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg) - Complexity = 8
                  // Dst: (UQDECP_XP_S:{ *:[i64] } PPRAny:{ *:[nxv4i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184480*/      /*Scope*/ 12, /*->184493*/
/*184481*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*184483*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*184485*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_XP_D), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[i64] } 774:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg) - Complexity = 8
                  // Dst: (UQDECP_XP_D:{ *:[i64] } PPRAny:{ *:[nxv2i1] }:$Pg, ?:{ *:[i64] }:$Rn)
/*184493*/      0, /*End of Scope*/
/*184494*/    /*Scope*/ 22, /*->184517*/
/*184495*/      OPC_CheckChild0Integer, 15|128,2/*271*/, 
/*184498*/      OPC_RecordChild1, // #0 = $Rm
/*184499*/      OPC_EmitNode1, TARGET_VAL(AArch64::CLSXr), 0,
                    MVT::i64, 1/*#Ops*/, 0,  // Results = #1
/*184506*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*184509*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[i32] } 271:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rm) - Complexity = 8
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } (CLSXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rm), sub_32:{ *:[i32] })
/*184517*/    /*Scope*/ 121|128,1/*249*/, /*->184768*/
/*184519*/      OPC_CheckChild0Integer, 116|128,2/*372*/, 
/*184522*/      OPC_RecordChild1, // #0 = $Rn
/*184523*/      OPC_SwitchType /*2 cases */, 30|128,1/*158*/, MVT::i32,// ->184685
/*184527*/        OPC_Scope, 38, /*->184567*/ // 4 children in Scope
/*184529*/          OPC_CheckChild1Type, MVT::v8i8,
/*184531*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184537*/          OPC_EmitNode1, TARGET_VAL(AArch64::SADDLVv8i8v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*184544*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*184547*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184556*/          OPC_EmitInteger, MVT::i64, 0, 
/*184559*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 372:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                    // Dst: (SMOVvi16to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SADDLVv8i8v:{ *:[f16] } V64:{ *:[v8i8] }:$Rn), hsub:{ *:[i32] }), 0:{ *:[i64] })
/*184567*/        /*Scope*/ 38, /*->184606*/
/*184568*/          OPC_CheckChild1Type, MVT::v16i8,
/*184570*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184576*/          OPC_EmitNode1, TARGET_VAL(AArch64::SADDLVv16i8v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*184583*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*184586*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184595*/          OPC_EmitInteger, MVT::i64, 0, 
/*184598*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 372:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                    // Dst: (SMOVvi16to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SADDLVv16i8v:{ *:[f16] } V128:{ *:[v16i8] }:$Rn), hsub:{ *:[i32] }), 0:{ *:[i64] })
/*184606*/        /*Scope*/ 38, /*->184645*/
/*184607*/          OPC_CheckChild1Type, MVT::v4i16,
/*184609*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184615*/          OPC_EmitNode1, TARGET_VAL(AArch64::SADDLVv4i16v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*184622*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184625*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184634*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184637*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 372:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SADDLVv4i16v:{ *:[i32] } V64:{ *:[v4i16] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*184645*/        /*Scope*/ 38, /*->184684*/
/*184646*/          OPC_CheckChild1Type, MVT::v8i16,
/*184648*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184654*/          OPC_EmitNode1, TARGET_VAL(AArch64::SADDLVv8i16v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*184661*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184664*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184673*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184676*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 372:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SADDLVv8i16v:{ *:[i32] } V128:{ *:[v8i16] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*184684*/        0, /*End of Scope*/
/*184685*/      /*SwitchType*/ 80, MVT::i64,// ->184767
/*184687*/        OPC_Scope, 38, /*->184727*/ // 2 children in Scope
/*184689*/          OPC_CheckChild1Type, MVT::v4i32,
/*184691*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184697*/          OPC_EmitNode1, TARGET_VAL(AArch64::SADDLVv4i32v), 0,
                        MVT::i64, 1/*#Ops*/, 0,  // Results = #2
/*184704*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*184707*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184716*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*184719*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 372:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i64] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SADDLVv4i32v:{ *:[i64] } V128:{ *:[v4i32] }:$Rn), dsub:{ *:[i32] }), dsub:{ *:[i32] })
/*184727*/        /*Scope*/ 38, /*->184766*/
/*184728*/          OPC_CheckChild1Type, MVT::v2i32,
/*184730*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184736*/          OPC_EmitNode1, TARGET_VAL(AArch64::SADDLPv2i32_v1i64), 0,
                        MVT::i64, 1/*#Ops*/, 0,  // Results = #2
/*184743*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*184746*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184755*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*184758*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 372:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i64] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SADDLPv2i32_v1i64:{ *:[i64] } V64:{ *:[v2i32] }:$Rn), dsub:{ *:[i32] }), dsub:{ *:[i32] })
/*184766*/        0, /*End of Scope*/
/*184767*/      0, // EndSwitchType
/*184768*/    /*Scope*/ 121|128,1/*249*/, /*->185019*/
/*184770*/      OPC_CheckChild0Integer, 46|128,3/*430*/, 
/*184773*/      OPC_RecordChild1, // #0 = $Rn
/*184774*/      OPC_SwitchType /*2 cases */, 30|128,1/*158*/, MVT::i32,// ->184936
/*184778*/        OPC_Scope, 38, /*->184818*/ // 4 children in Scope
/*184780*/          OPC_CheckChild1Type, MVT::v8i8,
/*184782*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184788*/          OPC_EmitNode1, TARGET_VAL(AArch64::UADDLVv8i8v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*184795*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*184798*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184807*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184810*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 430:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UADDLVv8i8v:{ *:[f16] } V64:{ *:[v8i8] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*184818*/        /*Scope*/ 38, /*->184857*/
/*184819*/          OPC_CheckChild1Type, MVT::v16i8,
/*184821*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184827*/          OPC_EmitNode1, TARGET_VAL(AArch64::UADDLVv16i8v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*184834*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*184837*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184846*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184849*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 430:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UADDLVv16i8v:{ *:[f16] } V128:{ *:[v16i8] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*184857*/        /*Scope*/ 38, /*->184896*/
/*184858*/          OPC_CheckChild1Type, MVT::v4i16,
/*184860*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184866*/          OPC_EmitNode1, TARGET_VAL(AArch64::UADDLVv4i16v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*184873*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184876*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184885*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184888*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 430:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UADDLVv4i16v:{ *:[i32] } V64:{ *:[v4i16] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*184896*/        /*Scope*/ 38, /*->184935*/
/*184897*/          OPC_CheckChild1Type, MVT::v8i16,
/*184899*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184905*/          OPC_EmitNode1, TARGET_VAL(AArch64::UADDLVv8i16v), 0,
                        MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*184912*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184915*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184924*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*184927*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i32] } 430:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UADDLVv8i16v:{ *:[i32] } V128:{ *:[v8i16] }:$Rn), ssub:{ *:[i32] }), ssub:{ *:[i32] })
/*184935*/        0, /*End of Scope*/
/*184936*/      /*SwitchType*/ 80, MVT::i64,// ->185018
/*184938*/        OPC_Scope, 38, /*->184978*/ // 2 children in Scope
/*184940*/          OPC_CheckChild1Type, MVT::v4i32,
/*184942*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184948*/          OPC_EmitNode1, TARGET_VAL(AArch64::UADDLVv4i32v), 0,
                        MVT::i64, 1/*#Ops*/, 0,  // Results = #2
/*184955*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*184958*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*184967*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*184970*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 430:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i64] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UADDLVv4i32v:{ *:[i64] } V128:{ *:[v4i32] }:$Rn), dsub:{ *:[i32] }), dsub:{ *:[i32] })
/*184978*/        /*Scope*/ 38, /*->185017*/
/*184979*/          OPC_CheckChild1Type, MVT::v2i32,
/*184981*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*184987*/          OPC_EmitNode1, TARGET_VAL(AArch64::UADDLPv2i32_v1i64), 0,
                        MVT::i64, 1/*#Ops*/, 0,  // Results = #2
/*184994*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*184997*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*185006*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*185009*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 4, 5, 
                    // Src: (intrinsic_wo_chain:{ *:[i64] } 430:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[i64] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UADDLPv2i32_v1i64:{ *:[i64] } V64:{ *:[v2i32] }:$Rn), dsub:{ *:[i32] }), dsub:{ *:[i32] })
/*185017*/        0, /*End of Scope*/
/*185018*/      0, // EndSwitchType
/*185019*/    /*Scope*/ 47|128,1/*175*/, /*->185196*/
/*185021*/      OPC_CheckChild0Integer, 71|128,5/*711*/, 
/*185024*/      OPC_RecordChild1, // #0 = $Rn
/*185025*/      OPC_RecordChild2, // #1 = $Pg
/*185026*/      OPC_Scope, 41, /*->185069*/ // 4 children in Scope
/*185028*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*185030*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*185032*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*185038*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185041*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*185050*/        OPC_EmitNode1, TARGET_VAL(AArch64::SQINCP_XPWd_B), 0,
                      MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*185058*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185061*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 5, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 711:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQINCP_XPWd_B:{ *:[i64] } PPRAny:{ *:[nxv16i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] })), sub_32:{ *:[i32] })
/*185069*/      /*Scope*/ 41, /*->185111*/
/*185070*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*185072*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*185074*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*185080*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185083*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*185092*/        OPC_EmitNode1, TARGET_VAL(AArch64::SQINCP_XPWd_H), 0,
                      MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*185100*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185103*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 5, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 711:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQINCP_XPWd_H:{ *:[i64] } PPRAny:{ *:[nxv8i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] })), sub_32:{ *:[i32] })
/*185111*/      /*Scope*/ 41, /*->185153*/
/*185112*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*185114*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*185116*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*185122*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185125*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*185134*/        OPC_EmitNode1, TARGET_VAL(AArch64::SQINCP_XPWd_S), 0,
                      MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*185142*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185145*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 5, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 711:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQINCP_XPWd_S:{ *:[i64] } PPRAny:{ *:[nxv4i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] })), sub_32:{ *:[i32] })
/*185153*/      /*Scope*/ 41, /*->185195*/
/*185154*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*185156*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*185158*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*185164*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185167*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*185176*/        OPC_EmitNode1, TARGET_VAL(AArch64::SQINCP_XPWd_D), 0,
                      MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*185184*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185187*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 5, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 711:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQINCP_XPWd_D:{ *:[i64] } PPRAny:{ *:[nxv2i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] })), sub_32:{ *:[i32] })
/*185195*/      0, /*End of Scope*/
/*185196*/    /*Scope*/ 47|128,1/*175*/, /*->185373*/
/*185198*/      OPC_CheckChild0Integer, 57|128,5/*697*/, 
/*185201*/      OPC_RecordChild1, // #0 = $Rn
/*185202*/      OPC_RecordChild2, // #1 = $Pg
/*185203*/      OPC_Scope, 41, /*->185246*/ // 4 children in Scope
/*185205*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*185207*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*185209*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*185215*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185218*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*185227*/        OPC_EmitNode1, TARGET_VAL(AArch64::SQDECP_XPWd_B), 0,
                      MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*185235*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185238*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 5, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 697:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDECP_XPWd_B:{ *:[i64] } PPRAny:{ *:[nxv16i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] })), sub_32:{ *:[i32] })
/*185246*/      /*Scope*/ 41, /*->185288*/
/*185247*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*185249*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*185251*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*185257*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185260*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*185269*/        OPC_EmitNode1, TARGET_VAL(AArch64::SQDECP_XPWd_H), 0,
                      MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*185277*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185280*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 5, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 697:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDECP_XPWd_H:{ *:[i64] } PPRAny:{ *:[nxv8i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] })), sub_32:{ *:[i32] })
/*185288*/      /*Scope*/ 41, /*->185330*/
/*185289*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*185291*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*185293*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*185299*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185302*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*185311*/        OPC_EmitNode1, TARGET_VAL(AArch64::SQDECP_XPWd_S), 0,
                      MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*185319*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185322*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 5, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 697:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDECP_XPWd_S:{ *:[i64] } PPRAny:{ *:[nxv4i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] })), sub_32:{ *:[i32] })
/*185330*/      /*Scope*/ 41, /*->185372*/
/*185331*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*185333*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*185335*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*185341*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185344*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*185353*/        OPC_EmitNode1, TARGET_VAL(AArch64::SQDECP_XPWd_D), 0,
                      MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*185361*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*185364*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 5, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[i32] } 697:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[i32] } (SQDECP_XPWd_D:{ *:[i64] } PPRAny:{ *:[nxv2i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] })), sub_32:{ *:[i32] })
/*185372*/      0, /*End of Scope*/
/*185373*/    /*Scope*/ 39|128,2/*295*/, /*->185670*/
/*185375*/      OPC_CheckChild0Integer, 79|128,3/*463*/, 
/*185378*/      OPC_Scope, 40, /*->185420*/ // 2 children in Scope
/*185380*/        OPC_MoveChild1,
/*185381*/        OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
/*185385*/        OPC_RecordChild0, // #0 = $Rn
/*185386*/        OPC_CheckType, MVT::i32,
/*185388*/        OPC_MoveParent,
/*185389*/        OPC_RecordChild2, // #1 = $imm
/*185390*/        OPC_MoveChild2,
/*185391*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185394*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*185396*/        OPC_MoveParent,
/*185397*/        OPC_CheckType, MVT::f16,
/*185399*/        OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*185402*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::f16, 2/*#Ops*/, 0, 2,  // Results = #3
/*185410*/        OPC_EmitConvertToTarget, 1,
/*185412*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFh), 0,
                      MVT::f16, 2/*#Ops*/, 3, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 463:{ *:[iPTR] }, (and:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, 65535:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 20
                  // Dst: (UCVTFh:{ *:[f16] } (EXTRACT_SUBREG:{ *:[f16] } FPR32:{ *:[i32] }:$Rn, hsub:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)
/*185420*/      /*Scope*/ 119|128,1/*247*/, /*->185669*/
/*185422*/        OPC_RecordChild1, // #0 = $Rn
/*185423*/        OPC_Scope, 52, /*->185477*/ // 8 children in Scope
/*185425*/          OPC_CheckChild1Type, MVT::i32,
/*185427*/          OPC_RecordChild2, // #1 = $imm
/*185428*/          OPC_MoveChild2,
/*185429*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185432*/          OPC_Scope, 15, /*->185449*/ // 2 children in Scope
/*185434*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*185436*/            OPC_MoveParent,
/*185437*/            OPC_CheckType, MVT::f32,
/*185439*/            OPC_EmitConvertToTarget, 1,
/*185441*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFs), 0,
                          MVT::f32, 2/*#Ops*/, 0, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[f32] } 463:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                      // Dst: (UCVTFs:{ *:[f32] } FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)
/*185449*/          /*Scope*/ 26, /*->185476*/
/*185450*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*185452*/            OPC_MoveParent,
/*185453*/            OPC_CheckType, MVT::f16,
/*185455*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*185458*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 0, 2,  // Results = #3
/*185466*/            OPC_EmitConvertToTarget, 1,
/*185468*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFh), 0,
                          MVT::f16, 2/*#Ops*/, 3, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[f16] } 463:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 12
                      // Dst: (UCVTFh:{ *:[f16] } (EXTRACT_SUBREG:{ *:[f16] } FPR32:{ *:[i32] }:$Rn, hsub:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)
/*185476*/          0, /*End of Scope*/
/*185477*/        /*Scope*/ 52, /*->185530*/
/*185478*/          OPC_CheckChild1Type, MVT::i64,
/*185480*/          OPC_RecordChild2, // #1 = $imm
/*185481*/          OPC_MoveChild2,
/*185482*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185485*/          OPC_Scope, 15, /*->185502*/ // 2 children in Scope
/*185487*/            OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*185489*/            OPC_MoveParent,
/*185490*/            OPC_CheckType, MVT::f64,
/*185492*/            OPC_EmitConvertToTarget, 1,
/*185494*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFd), 0,
                          MVT::f64, 2/*#Ops*/, 0, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[f64] } 463:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                      // Dst: (UCVTFd:{ *:[f64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*185502*/          /*Scope*/ 26, /*->185529*/
/*185503*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*185505*/            OPC_MoveParent,
/*185506*/            OPC_CheckType, MVT::f16,
/*185508*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*185511*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 0, 2,  // Results = #3
/*185519*/            OPC_EmitConvertToTarget, 1,
/*185521*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFh), 0,
                          MVT::f16, 2/*#Ops*/, 3, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[f16] } 463:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 12
                      // Dst: (UCVTFh:{ *:[f16] } (EXTRACT_SUBREG:{ *:[f16] } FPR64:{ *:[i64] }:$Rn, hsub:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)
/*185529*/          0, /*End of Scope*/
/*185530*/        /*Scope*/ 22, /*->185553*/
/*185531*/          OPC_CheckChild1Type, MVT::v1i64,
/*185533*/          OPC_RecordChild2, // #1 = $imm
/*185534*/          OPC_MoveChild2,
/*185535*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185538*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*185540*/          OPC_MoveParent,
/*185541*/          OPC_CheckType, MVT::v1f64,
/*185543*/          OPC_EmitConvertToTarget, 1,
/*185545*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFd), 0,
                        MVT::v1f64, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v1f64] } 463:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                    // Dst: (UCVTFd:{ *:[v1f64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*185553*/        /*Scope*/ 22, /*->185576*/
/*185554*/          OPC_CheckChild1Type, MVT::v4i16,
/*185556*/          OPC_RecordChild2, // #1 = $imm
/*185557*/          OPC_MoveChild2,
/*185558*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185561*/          OPC_MoveParent,
/*185562*/          OPC_CheckType, MVT::v4f16,
/*185564*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*185566*/          OPC_EmitConvertToTarget, 1,
/*185568*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv4i16_shift), 0,
                        MVT::v4f16, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f16] } 463:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (UCVTFv4i16_shift:{ *:[v4f16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*185576*/        /*Scope*/ 22, /*->185599*/
/*185577*/          OPC_CheckChild1Type, MVT::v8i16,
/*185579*/          OPC_RecordChild2, // #1 = $imm
/*185580*/          OPC_MoveChild2,
/*185581*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185584*/          OPC_MoveParent,
/*185585*/          OPC_CheckType, MVT::v8f16,
/*185587*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*185589*/          OPC_EmitConvertToTarget, 1,
/*185591*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv8i16_shift), 0,
                        MVT::v8f16, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v8f16] } 463:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (UCVTFv8i16_shift:{ *:[v8f16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*185599*/        /*Scope*/ 22, /*->185622*/
/*185600*/          OPC_CheckChild1Type, MVT::v2i32,
/*185602*/          OPC_RecordChild2, // #1 = $imm
/*185603*/          OPC_MoveChild2,
/*185604*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185607*/          OPC_MoveParent,
/*185608*/          OPC_CheckType, MVT::v2f32,
/*185610*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185612*/          OPC_EmitConvertToTarget, 1,
/*185614*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv2i32_shift), 0,
                        MVT::v2f32, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 463:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (UCVTFv2i32_shift:{ *:[v2f32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*185622*/        /*Scope*/ 22, /*->185645*/
/*185623*/          OPC_CheckChild1Type, MVT::v4i32,
/*185625*/          OPC_RecordChild2, // #1 = $imm
/*185626*/          OPC_MoveChild2,
/*185627*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185630*/          OPC_MoveParent,
/*185631*/          OPC_CheckType, MVT::v4f32,
/*185633*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185635*/          OPC_EmitConvertToTarget, 1,
/*185637*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv4i32_shift), 0,
                        MVT::v4f32, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 463:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (UCVTFv4i32_shift:{ *:[v4f32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*185645*/        /*Scope*/ 22, /*->185668*/
/*185646*/          OPC_CheckChild1Type, MVT::v2i64,
/*185648*/          OPC_RecordChild2, // #1 = $imm
/*185649*/          OPC_MoveChild2,
/*185650*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185653*/          OPC_MoveParent,
/*185654*/          OPC_CheckType, MVT::v2f64,
/*185656*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185658*/          OPC_EmitConvertToTarget, 1,
/*185660*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv2i64_shift), 0,
                        MVT::v2f64, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f64] } 463:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (UCVTFv2i64_shift:{ *:[v2f64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*185668*/        0, /*End of Scope*/
/*185669*/      0, /*End of Scope*/
/*185670*/    /*Scope*/ 110|128,5/*750*/, /*->186422*/
/*185672*/      OPC_CheckChild0Integer, 88|128,2/*344*/, 
/*185675*/      OPC_Scope, 117, /*->185794*/ // 5 children in Scope
/*185677*/        OPC_RecordChild1, // #0 = $Rn
/*185678*/        OPC_Scope, 37, /*->185717*/ // 3 children in Scope
/*185680*/          OPC_CheckChild1Type, MVT::f16,
/*185682*/          OPC_MoveChild2,
/*185683*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*185686*/          OPC_RecordChild0, // #1 = $Rm
/*185687*/          OPC_CheckChild0Type, MVT::v8f16,
/*185689*/          OPC_RecordChild1, // #2 = $idx
/*185690*/          OPC_MoveChild1,
/*185691*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185694*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*185696*/          OPC_CheckType, MVT::i64,
/*185698*/          OPC_MoveParent,
/*185699*/          OPC_CheckType, MVT::f16,
/*185701*/          OPC_MoveParent,
/*185702*/          OPC_CheckType, MVT::f16,
/*185704*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*185706*/          OPC_EmitConvertToTarget, 2,
/*185708*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv1i16_indexed), 0,
                        MVT::f16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 344:{ *:[iPTR] }, FPR16Op:{ *:[f16] }:$Rn, (vector_extract:{ *:[f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMULXv1i16_indexed:{ *:[f16] } FPR16Op:{ *:[f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*185717*/        /*Scope*/ 37, /*->185755*/
/*185718*/          OPC_CheckChild1Type, MVT::f32,
/*185720*/          OPC_MoveChild2,
/*185721*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*185724*/          OPC_RecordChild0, // #1 = $Rm
/*185725*/          OPC_CheckChild0Type, MVT::v4f32,
/*185727*/          OPC_RecordChild1, // #2 = $idx
/*185728*/          OPC_MoveChild1,
/*185729*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185732*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*185734*/          OPC_CheckType, MVT::i64,
/*185736*/          OPC_MoveParent,
/*185737*/          OPC_CheckType, MVT::f32,
/*185739*/          OPC_MoveParent,
/*185740*/          OPC_CheckType, MVT::f32,
/*185742*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185744*/          OPC_EmitConvertToTarget, 2,
/*185746*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv1i32_indexed), 0,
                        MVT::f32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 344:{ *:[iPTR] }, FPR32Op:{ *:[f32] }:$Rn, (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (FMULXv1i32_indexed:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*185755*/        /*Scope*/ 37, /*->185793*/
/*185756*/          OPC_CheckChild1Type, MVT::f64,
/*185758*/          OPC_MoveChild2,
/*185759*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*185762*/          OPC_RecordChild0, // #1 = $Rm
/*185763*/          OPC_CheckChild0Type, MVT::v2f64,
/*185765*/          OPC_RecordChild1, // #2 = $idx
/*185766*/          OPC_MoveChild1,
/*185767*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185770*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*185772*/          OPC_CheckType, MVT::i64,
/*185774*/          OPC_MoveParent,
/*185775*/          OPC_CheckType, MVT::f64,
/*185777*/          OPC_MoveParent,
/*185778*/          OPC_CheckType, MVT::f64,
/*185780*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185782*/          OPC_EmitConvertToTarget, 2,
/*185784*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv1i64_indexed), 0,
                        MVT::f64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[f64] } 344:{ *:[iPTR] }, FPR64Op:{ *:[f64] }:$Rn, (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)) - Complexity = 15
                    // Dst: (FMULXv1i64_indexed:{ *:[f64] } FPR64Op:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] }):$idx)
/*185793*/        0, /*End of Scope*/
/*185794*/      /*Scope*/ 109, /*->185904*/
/*185795*/        OPC_MoveChild1,
/*185796*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*185799*/        OPC_RecordChild0, // #0 = $Rm
/*185800*/        OPC_Scope, 33, /*->185835*/ // 3 children in Scope
/*185802*/          OPC_CheckChild0Type, MVT::v8f16,
/*185804*/          OPC_RecordChild1, // #1 = $idx
/*185805*/          OPC_MoveChild1,
/*185806*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185809*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*185811*/          OPC_CheckType, MVT::i64,
/*185813*/          OPC_MoveParent,
/*185814*/          OPC_CheckType, MVT::f16,
/*185816*/          OPC_MoveParent,
/*185817*/          OPC_RecordChild2, // #2 = $Rn
/*185818*/          OPC_CheckChild2Type, MVT::f16,
/*185820*/          OPC_CheckType, MVT::f16,
/*185822*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*185824*/          OPC_EmitConvertToTarget, 1,
/*185826*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv1i16_indexed), 0,
                        MVT::f16, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 344:{ *:[iPTR] }, (vector_extract:{ *:[f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), FPR16Op:{ *:[f16] }:$Rn) - Complexity = 15
                    // Dst: (FMULXv1i16_indexed:{ *:[f16] } FPR16Op:{ *:[f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*185835*/        /*Scope*/ 33, /*->185869*/
/*185836*/          OPC_CheckChild0Type, MVT::v4f32,
/*185838*/          OPC_RecordChild1, // #1 = $idx
/*185839*/          OPC_MoveChild1,
/*185840*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185843*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*185845*/          OPC_CheckType, MVT::i64,
/*185847*/          OPC_MoveParent,
/*185848*/          OPC_CheckType, MVT::f32,
/*185850*/          OPC_MoveParent,
/*185851*/          OPC_RecordChild2, // #2 = $Rn
/*185852*/          OPC_CheckChild2Type, MVT::f32,
/*185854*/          OPC_CheckType, MVT::f32,
/*185856*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185858*/          OPC_EmitConvertToTarget, 1,
/*185860*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv1i32_indexed), 0,
                        MVT::f32, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 344:{ *:[iPTR] }, (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32Op:{ *:[f32] }:$Rn) - Complexity = 15
                    // Dst: (FMULXv1i32_indexed:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*185869*/        /*Scope*/ 33, /*->185903*/
/*185870*/          OPC_CheckChild0Type, MVT::v2f64,
/*185872*/          OPC_RecordChild1, // #1 = $idx
/*185873*/          OPC_MoveChild1,
/*185874*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185877*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*185879*/          OPC_CheckType, MVT::i64,
/*185881*/          OPC_MoveParent,
/*185882*/          OPC_CheckType, MVT::f64,
/*185884*/          OPC_MoveParent,
/*185885*/          OPC_RecordChild2, // #2 = $Rn
/*185886*/          OPC_CheckChild2Type, MVT::f64,
/*185888*/          OPC_CheckType, MVT::f64,
/*185890*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185892*/          OPC_EmitConvertToTarget, 1,
/*185894*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv1i64_indexed), 0,
                        MVT::f64, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[f64] } 344:{ *:[iPTR] }, (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), FPR64Op:{ *:[f64] }:$Rn) - Complexity = 15
                    // Dst: (FMULXv1i64_indexed:{ *:[f64] } FPR64Op:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] }):$idx)
/*185903*/        0, /*End of Scope*/
/*185904*/      /*Scope*/ 119|128,1/*247*/, /*->186153*/
/*185906*/        OPC_RecordChild1, // #0 = $Rn
/*185907*/        OPC_Scope, 17, /*->185926*/ // 8 children in Scope
/*185909*/          OPC_CheckChild1Type, MVT::f64,
/*185911*/          OPC_RecordChild2, // #1 = $Rm
/*185912*/          OPC_CheckChild2Type, MVT::f64,
/*185914*/          OPC_CheckType, MVT::f64,
/*185916*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185918*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULX64), 0,
                        MVT::f64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[f64] } 344:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 8
                    // Dst: (FMULX64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*185926*/        /*Scope*/ 17, /*->185944*/
/*185927*/          OPC_CheckChild1Type, MVT::f32,
/*185929*/          OPC_RecordChild2, // #1 = $Rm
/*185930*/          OPC_CheckChild2Type, MVT::f32,
/*185932*/          OPC_CheckType, MVT::f32,
/*185934*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*185936*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULX32), 0,
                        MVT::f32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 344:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 8
                    // Dst: (FMULX32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*185944*/        /*Scope*/ 17, /*->185962*/
/*185945*/          OPC_CheckChild1Type, MVT::f16,
/*185947*/          OPC_RecordChild2, // #1 = $Rm
/*185948*/          OPC_CheckChild2Type, MVT::f16,
/*185950*/          OPC_CheckType, MVT::f16,
/*185952*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*185954*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULX16), 0,
                        MVT::f16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 344:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 8
                    // Dst: (FMULX16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*185962*/        /*Scope*/ 37, /*->186000*/
/*185963*/          OPC_CheckChild1Type, MVT::v4f16,
/*185965*/          OPC_MoveChild2,
/*185966*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*185969*/          OPC_RecordChild0, // #1 = $Rm
/*185970*/          OPC_CheckChild0Type, MVT::v8f16,
/*185972*/          OPC_RecordChild1, // #2 = $idx
/*185973*/          OPC_MoveChild1,
/*185974*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*185977*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*185979*/          OPC_CheckType, MVT::i64,
/*185981*/          OPC_MoveParent,
/*185982*/          OPC_CheckType, MVT::v4f16,
/*185984*/          OPC_MoveParent,
/*185985*/          OPC_CheckType, MVT::v4f16,
/*185987*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*185989*/          OPC_EmitConvertToTarget, 2,
/*185991*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv4i16_indexed), 0,
                        MVT::v4f16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f16] } 344:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, (AArch64duplane16:{ *:[v4f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMULXv4i16_indexed:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186000*/        /*Scope*/ 37, /*->186038*/
/*186001*/          OPC_CheckChild1Type, MVT::v8f16,
/*186003*/          OPC_MoveChild2,
/*186004*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*186007*/          OPC_RecordChild0, // #1 = $Rm
/*186008*/          OPC_CheckChild0Type, MVT::v8f16,
/*186010*/          OPC_RecordChild1, // #2 = $idx
/*186011*/          OPC_MoveChild1,
/*186012*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186015*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*186017*/          OPC_CheckType, MVT::i64,
/*186019*/          OPC_MoveParent,
/*186020*/          OPC_CheckType, MVT::v8f16,
/*186022*/          OPC_MoveParent,
/*186023*/          OPC_CheckType, MVT::v8f16,
/*186025*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186027*/          OPC_EmitConvertToTarget, 2,
/*186029*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv8i16_indexed), 0,
                        MVT::v8f16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v8f16] } 344:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, (AArch64duplane16:{ *:[v8f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMULXv8i16_indexed:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186038*/        /*Scope*/ 37, /*->186076*/
/*186039*/          OPC_CheckChild1Type, MVT::v2f32,
/*186041*/          OPC_MoveChild2,
/*186042*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*186045*/          OPC_RecordChild0, // #1 = $Rm
/*186046*/          OPC_CheckChild0Type, MVT::v4f32,
/*186048*/          OPC_RecordChild1, // #2 = $idx
/*186049*/          OPC_MoveChild1,
/*186050*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186053*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*186055*/          OPC_CheckType, MVT::i64,
/*186057*/          OPC_MoveParent,
/*186058*/          OPC_CheckType, MVT::v2f32,
/*186060*/          OPC_MoveParent,
/*186061*/          OPC_CheckType, MVT::v2f32,
/*186063*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186065*/          OPC_EmitConvertToTarget, 2,
/*186067*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv2i32_indexed), 0,
                        MVT::v2f32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 344:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (FMULXv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186076*/        /*Scope*/ 37, /*->186114*/
/*186077*/          OPC_CheckChild1Type, MVT::v4f32,
/*186079*/          OPC_MoveChild2,
/*186080*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*186083*/          OPC_RecordChild0, // #1 = $Rm
/*186084*/          OPC_CheckChild0Type, MVT::v4f32,
/*186086*/          OPC_RecordChild1, // #2 = $idx
/*186087*/          OPC_MoveChild1,
/*186088*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186091*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*186093*/          OPC_CheckType, MVT::i64,
/*186095*/          OPC_MoveParent,
/*186096*/          OPC_CheckType, MVT::v4f32,
/*186098*/          OPC_MoveParent,
/*186099*/          OPC_CheckType, MVT::v4f32,
/*186101*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186103*/          OPC_EmitConvertToTarget, 2,
/*186105*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv4i32_indexed), 0,
                        MVT::v4f32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 344:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                    // Dst: (FMULXv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186114*/        /*Scope*/ 37, /*->186152*/
/*186115*/          OPC_CheckChild1Type, MVT::v2f64,
/*186117*/          OPC_MoveChild2,
/*186118*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE64),
/*186121*/          OPC_RecordChild0, // #1 = $Rm
/*186122*/          OPC_CheckChild0Type, MVT::v2f64,
/*186124*/          OPC_RecordChild1, // #2 = $idx
/*186125*/          OPC_MoveChild1,
/*186126*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186129*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*186131*/          OPC_CheckType, MVT::i64,
/*186133*/          OPC_MoveParent,
/*186134*/          OPC_CheckType, MVT::v2f64,
/*186136*/          OPC_MoveParent,
/*186137*/          OPC_CheckType, MVT::v2f64,
/*186139*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186141*/          OPC_EmitConvertToTarget, 2,
/*186143*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv2i64_indexed), 0,
                        MVT::v2f64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f64] } 344:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)) - Complexity = 15
                    // Dst: (FMULXv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186152*/        0, /*End of Scope*/
/*186153*/      /*Scope*/ 32|128,1/*160*/, /*->186315*/
/*186155*/        OPC_MoveChild1,
/*186156*/        OPC_SwitchOpcode /*3 cases */, 57, TARGET_VAL(AArch64ISD::DUPLANE16),// ->186217
/*186160*/          OPC_RecordChild0, // #0 = $Rm
/*186161*/          OPC_CheckChild0Type, MVT::v8f16,
/*186163*/          OPC_RecordChild1, // #1 = $idx
/*186164*/          OPC_MoveChild1,
/*186165*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186168*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*186170*/          OPC_CheckType, MVT::i64,
/*186172*/          OPC_MoveParent,
/*186173*/          OPC_SwitchType /*2 cases */, 19, MVT::v4f16,// ->186195
/*186176*/            OPC_MoveParent,
/*186177*/            OPC_RecordChild2, // #2 = $Rn
/*186178*/            OPC_CheckChild2Type, MVT::v4f16,
/*186180*/            OPC_CheckType, MVT::v4f16,
/*186182*/            OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186184*/            OPC_EmitConvertToTarget, 1,
/*186186*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv4i16_indexed), 0,
                          MVT::v4f16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v4f16] } 344:{ *:[iPTR] }, (AArch64duplane16:{ *:[v4f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), V64:{ *:[v4f16] }:$Rn) - Complexity = 15
                      // Dst: (FMULXv4i16_indexed:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186195*/          /*SwitchType*/ 19, MVT::v8f16,// ->186216
/*186197*/            OPC_MoveParent,
/*186198*/            OPC_RecordChild2, // #2 = $Rn
/*186199*/            OPC_CheckChild2Type, MVT::v8f16,
/*186201*/            OPC_CheckType, MVT::v8f16,
/*186203*/            OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186205*/            OPC_EmitConvertToTarget, 1,
/*186207*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv8i16_indexed), 0,
                          MVT::v8f16, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v8f16] } 344:{ *:[iPTR] }, (AArch64duplane16:{ *:[v8f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), V128:{ *:[v8f16] }:$Rn) - Complexity = 15
                      // Dst: (FMULXv8i16_indexed:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186216*/          0, // EndSwitchType
/*186217*/        /*SwitchOpcode*/ 57, TARGET_VAL(AArch64ISD::DUPLANE32),// ->186277
/*186220*/          OPC_RecordChild0, // #0 = $Rm
/*186221*/          OPC_CheckChild0Type, MVT::v4f32,
/*186223*/          OPC_RecordChild1, // #1 = $idx
/*186224*/          OPC_MoveChild1,
/*186225*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186228*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*186230*/          OPC_CheckType, MVT::i64,
/*186232*/          OPC_MoveParent,
/*186233*/          OPC_SwitchType /*2 cases */, 19, MVT::v2f32,// ->186255
/*186236*/            OPC_MoveParent,
/*186237*/            OPC_RecordChild2, // #2 = $Rn
/*186238*/            OPC_CheckChild2Type, MVT::v2f32,
/*186240*/            OPC_CheckType, MVT::v2f32,
/*186242*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186244*/            OPC_EmitConvertToTarget, 1,
/*186246*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv2i32_indexed), 0,
                          MVT::v2f32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v2f32] } 344:{ *:[iPTR] }, (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rn) - Complexity = 15
                      // Dst: (FMULXv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186255*/          /*SwitchType*/ 19, MVT::v4f32,// ->186276
/*186257*/            OPC_MoveParent,
/*186258*/            OPC_RecordChild2, // #2 = $Rn
/*186259*/            OPC_CheckChild2Type, MVT::v4f32,
/*186261*/            OPC_CheckType, MVT::v4f32,
/*186263*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186265*/            OPC_EmitConvertToTarget, 1,
/*186267*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv4i32_indexed), 0,
                          MVT::v4f32, 3/*#Ops*/, 2, 0, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v4f32] } 344:{ *:[iPTR] }, (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rn) - Complexity = 15
                      // Dst: (FMULXv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186276*/          0, // EndSwitchType
/*186277*/        /*SwitchOpcode*/ 34, TARGET_VAL(AArch64ISD::DUPLANE64),// ->186314
/*186280*/          OPC_RecordChild0, // #0 = $Rm
/*186281*/          OPC_CheckChild0Type, MVT::v2f64,
/*186283*/          OPC_RecordChild1, // #1 = $idx
/*186284*/          OPC_MoveChild1,
/*186285*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186288*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*186290*/          OPC_CheckType, MVT::i64,
/*186292*/          OPC_MoveParent,
/*186293*/          OPC_CheckType, MVT::v2f64,
/*186295*/          OPC_MoveParent,
/*186296*/          OPC_RecordChild2, // #2 = $Rn
/*186297*/          OPC_CheckChild2Type, MVT::v2f64,
/*186299*/          OPC_CheckType, MVT::v2f64,
/*186301*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186303*/          OPC_EmitConvertToTarget, 1,
/*186305*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv2i64_indexed), 0,
                        MVT::v2f64, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f64] } 344:{ *:[iPTR] }, (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), V128:{ *:[v2f64] }:$Rn) - Complexity = 15
                    // Dst: (FMULXv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] }):$idx)
/*186314*/        0, // EndSwitchOpcode
/*186315*/      /*Scope*/ 105, /*->186421*/
/*186316*/        OPC_RecordChild1, // #0 = $Rn
/*186317*/        OPC_SwitchType /*6 cases */, 15, MVT::v4f16,// ->186335
/*186320*/          OPC_CheckChild1Type, MVT::v4f16,
/*186322*/          OPC_RecordChild2, // #1 = $Rm
/*186323*/          OPC_CheckChild2Type, MVT::v4f16,
/*186325*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186327*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv4f16), 0,
                        MVT::v4f16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f16] } 344:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                    // Dst: (FMULXv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*186335*/        /*SwitchType*/ 15, MVT::v8f16,// ->186352
/*186337*/          OPC_CheckChild1Type, MVT::v8f16,
/*186339*/          OPC_RecordChild2, // #1 = $Rm
/*186340*/          OPC_CheckChild2Type, MVT::v8f16,
/*186342*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186344*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv8f16), 0,
                        MVT::v8f16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8f16] } 344:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                    // Dst: (FMULXv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*186352*/        /*SwitchType*/ 15, MVT::v2f32,// ->186369
/*186354*/          OPC_CheckChild1Type, MVT::v2f32,
/*186356*/          OPC_RecordChild2, // #1 = $Rm
/*186357*/          OPC_CheckChild2Type, MVT::v2f32,
/*186359*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186361*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv2f32), 0,
                        MVT::v2f32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 344:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                    // Dst: (FMULXv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*186369*/        /*SwitchType*/ 15, MVT::v4f32,// ->186386
/*186371*/          OPC_CheckChild1Type, MVT::v4f32,
/*186373*/          OPC_RecordChild2, // #1 = $Rm
/*186374*/          OPC_CheckChild2Type, MVT::v4f32,
/*186376*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186378*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv4f32), 0,
                        MVT::v4f32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 344:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                    // Dst: (FMULXv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*186386*/        /*SwitchType*/ 15, MVT::v2f64,// ->186403
/*186388*/          OPC_CheckChild1Type, MVT::v2f64,
/*186390*/          OPC_RecordChild2, // #1 = $Rm
/*186391*/          OPC_CheckChild2Type, MVT::v2f64,
/*186393*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186395*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULXv2f64), 0,
                        MVT::v2f64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f64] } 344:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                    // Dst: (FMULXv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*186403*/        /*SwitchType*/ 15, MVT::v1f64,// ->186420
/*186405*/          OPC_CheckChild1Type, MVT::v1f64,
/*186407*/          OPC_RecordChild2, // #1 = $Rm
/*186408*/          OPC_CheckChild2Type, MVT::v1f64,
/*186410*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186412*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULX64), 0,
                        MVT::v1f64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v1f64] } 344:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 8
                    // Dst: (FMULX64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*186420*/        0, // EndSwitchType
/*186421*/      0, /*End of Scope*/
/*186422*/    /*Scope*/ 42|128,2/*298*/, /*->186722*/
/*186424*/      OPC_CheckChild0Integer, 78|128,3/*462*/, 
/*186427*/      OPC_Scope, 43, /*->186472*/ // 2 children in Scope
/*186429*/        OPC_MoveChild1,
/*186430*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND_INREG),
/*186433*/        OPC_RecordChild0, // #0 = $Rn
/*186434*/        OPC_MoveChild1,
/*186435*/        OPC_CheckValueType, MVT::i16,
/*186437*/        OPC_MoveParent,
/*186438*/        OPC_CheckType, MVT::i32,
/*186440*/        OPC_MoveParent,
/*186441*/        OPC_RecordChild2, // #1 = $imm
/*186442*/        OPC_MoveChild2,
/*186443*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186446*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*186448*/        OPC_MoveParent,
/*186449*/        OPC_CheckType, MVT::f16,
/*186451*/        OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*186454*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::f16, 2/*#Ops*/, 0, 2,  // Results = #3
/*186462*/        OPC_EmitConvertToTarget, 1,
/*186464*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFh), 0,
                      MVT::f16, 2/*#Ops*/, 3, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 462:{ *:[iPTR] }, (sext_inreg:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 15
                  // Dst: (SCVTFh:{ *:[f16] } (EXTRACT_SUBREG:{ *:[f16] } FPR32:{ *:[i32] }:$Rn, hsub:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)
/*186472*/      /*Scope*/ 119|128,1/*247*/, /*->186721*/
/*186474*/        OPC_RecordChild1, // #0 = $Rn
/*186475*/        OPC_Scope, 52, /*->186529*/ // 8 children in Scope
/*186477*/          OPC_CheckChild1Type, MVT::i64,
/*186479*/          OPC_RecordChild2, // #1 = $imm
/*186480*/          OPC_MoveChild2,
/*186481*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186484*/          OPC_Scope, 15, /*->186501*/ // 2 children in Scope
/*186486*/            OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*186488*/            OPC_MoveParent,
/*186489*/            OPC_CheckType, MVT::f64,
/*186491*/            OPC_EmitConvertToTarget, 1,
/*186493*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFd), 0,
                          MVT::f64, 2/*#Ops*/, 0, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[f64] } 462:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                      // Dst: (SCVTFd:{ *:[f64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*186501*/          /*Scope*/ 26, /*->186528*/
/*186502*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*186504*/            OPC_MoveParent,
/*186505*/            OPC_CheckType, MVT::f16,
/*186507*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*186510*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 0, 2,  // Results = #3
/*186518*/            OPC_EmitConvertToTarget, 1,
/*186520*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFh), 0,
                          MVT::f16, 2/*#Ops*/, 3, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[f16] } 462:{ *:[iPTR] }, FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 12
                      // Dst: (SCVTFh:{ *:[f16] } (EXTRACT_SUBREG:{ *:[f16] } FPR64:{ *:[i64] }:$Rn, hsub:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)
/*186528*/          0, /*End of Scope*/
/*186529*/        /*Scope*/ 52, /*->186582*/
/*186530*/          OPC_CheckChild1Type, MVT::i32,
/*186532*/          OPC_RecordChild2, // #1 = $imm
/*186533*/          OPC_MoveChild2,
/*186534*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186537*/          OPC_Scope, 15, /*->186554*/ // 2 children in Scope
/*186539*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*186541*/            OPC_MoveParent,
/*186542*/            OPC_CheckType, MVT::f32,
/*186544*/            OPC_EmitConvertToTarget, 1,
/*186546*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFs), 0,
                          MVT::f32, 2/*#Ops*/, 0, 2, 
                      // Src: (intrinsic_wo_chain:{ *:[f32] } 462:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                      // Dst: (SCVTFs:{ *:[f32] } FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm)
/*186554*/          /*Scope*/ 26, /*->186581*/
/*186555*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*186557*/            OPC_MoveParent,
/*186558*/            OPC_CheckType, MVT::f16,
/*186560*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*186563*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f16, 2/*#Ops*/, 0, 2,  // Results = #3
/*186571*/            OPC_EmitConvertToTarget, 1,
/*186573*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFh), 0,
                          MVT::f16, 2/*#Ops*/, 3, 4, 
                      // Src: (intrinsic_wo_chain:{ *:[f16] } 462:{ *:[iPTR] }, FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 12
                      // Dst: (SCVTFh:{ *:[f16] } (EXTRACT_SUBREG:{ *:[f16] } FPR32:{ *:[i32] }:$Rn, hsub:{ *:[i32] }), (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm)
/*186581*/          0, /*End of Scope*/
/*186582*/        /*Scope*/ 22, /*->186605*/
/*186583*/          OPC_CheckChild1Type, MVT::v1i64,
/*186585*/          OPC_RecordChild2, // #1 = $imm
/*186586*/          OPC_MoveChild2,
/*186587*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186590*/          OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*186592*/          OPC_MoveParent,
/*186593*/          OPC_CheckType, MVT::v1f64,
/*186595*/          OPC_EmitConvertToTarget, 1,
/*186597*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFd), 0,
                        MVT::v1f64, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v1f64] } 462:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                    // Dst: (SCVTFd:{ *:[v1f64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*186605*/        /*Scope*/ 22, /*->186628*/
/*186606*/          OPC_CheckChild1Type, MVT::v4i16,
/*186608*/          OPC_RecordChild2, // #1 = $imm
/*186609*/          OPC_MoveChild2,
/*186610*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186613*/          OPC_MoveParent,
/*186614*/          OPC_CheckType, MVT::v4f16,
/*186616*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186618*/          OPC_EmitConvertToTarget, 1,
/*186620*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv4i16_shift), 0,
                        MVT::v4f16, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f16] } 462:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (SCVTFv4i16_shift:{ *:[v4f16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*186628*/        /*Scope*/ 22, /*->186651*/
/*186629*/          OPC_CheckChild1Type, MVT::v8i16,
/*186631*/          OPC_RecordChild2, // #1 = $imm
/*186632*/          OPC_MoveChild2,
/*186633*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186636*/          OPC_MoveParent,
/*186637*/          OPC_CheckType, MVT::v8f16,
/*186639*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186641*/          OPC_EmitConvertToTarget, 1,
/*186643*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv8i16_shift), 0,
                        MVT::v8f16, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v8f16] } 462:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (SCVTFv8i16_shift:{ *:[v8f16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*186651*/        /*Scope*/ 22, /*->186674*/
/*186652*/          OPC_CheckChild1Type, MVT::v2i32,
/*186654*/          OPC_RecordChild2, // #1 = $imm
/*186655*/          OPC_MoveChild2,
/*186656*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186659*/          OPC_MoveParent,
/*186660*/          OPC_CheckType, MVT::v2f32,
/*186662*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186664*/          OPC_EmitConvertToTarget, 1,
/*186666*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv2i32_shift), 0,
                        MVT::v2f32, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 462:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (SCVTFv2i32_shift:{ *:[v2f32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*186674*/        /*Scope*/ 22, /*->186697*/
/*186675*/          OPC_CheckChild1Type, MVT::v4i32,
/*186677*/          OPC_RecordChild2, // #1 = $imm
/*186678*/          OPC_MoveChild2,
/*186679*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186682*/          OPC_MoveParent,
/*186683*/          OPC_CheckType, MVT::v4f32,
/*186685*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186687*/          OPC_EmitConvertToTarget, 1,
/*186689*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv4i32_shift), 0,
                        MVT::v4f32, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 462:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (SCVTFv4i32_shift:{ *:[v4f32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*186697*/        /*Scope*/ 22, /*->186720*/
/*186698*/          OPC_CheckChild1Type, MVT::v2i64,
/*186700*/          OPC_RecordChild2, // #1 = $imm
/*186701*/          OPC_MoveChild2,
/*186702*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*186705*/          OPC_MoveParent,
/*186706*/          OPC_CheckType, MVT::v2f64,
/*186708*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186710*/          OPC_EmitConvertToTarget, 1,
/*186712*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv2i64_shift), 0,
                        MVT::v2f64, 2/*#Ops*/, 0, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f64] } 462:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm) - Complexity = 11
                    // Dst: (SCVTFv2i64_shift:{ *:[v2f64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*186720*/        0, /*End of Scope*/
/*186721*/      0, /*End of Scope*/
/*186722*/    /*Scope*/ 121, /*->186844*/
/*186723*/      OPC_CheckChild0Integer, 92|128,2/*348*/, 
/*186726*/      OPC_RecordChild1, // #0 = $Rn
/*186727*/      OPC_SwitchType /*9 cases */, 11, MVT::f16,// ->186741
/*186730*/        OPC_CheckChild1Type, MVT::f16,
/*186732*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*186734*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNHr), 0,
                      MVT::f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 348:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*186741*/      /*SwitchType*/ 11, MVT::f32,// ->186754
/*186743*/        OPC_CheckChild1Type, MVT::f32,
/*186745*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*186747*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNSr), 0,
                      MVT::f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 348:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNSr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*186754*/      /*SwitchType*/ 11, MVT::f64,// ->186767
/*186756*/        OPC_CheckChild1Type, MVT::f64,
/*186758*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*186760*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNDr), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 348:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*186767*/      /*SwitchType*/ 9, MVT::v1f64,// ->186778
/*186769*/        OPC_CheckChild1Type, MVT::v1f64,
/*186771*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNDr), 0,
                      MVT::v1f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1f64] } 348:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNDr:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn)
/*186778*/      /*SwitchType*/ 11, MVT::v4f16,// ->186791
/*186780*/        OPC_CheckChild1Type, MVT::v4f16,
/*186782*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186784*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNv4f16), 0,
                      MVT::v4f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 348:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*186791*/      /*SwitchType*/ 11, MVT::v8f16,// ->186804
/*186793*/        OPC_CheckChild1Type, MVT::v8f16,
/*186795*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186797*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNv8f16), 0,
                      MVT::v8f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 348:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*186804*/      /*SwitchType*/ 11, MVT::v2f32,// ->186817
/*186806*/        OPC_CheckChild1Type, MVT::v2f32,
/*186808*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186810*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNv2f32), 0,
                      MVT::v2f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 348:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*186817*/      /*SwitchType*/ 11, MVT::v4f32,// ->186830
/*186819*/        OPC_CheckChild1Type, MVT::v4f32,
/*186821*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186823*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNv4f32), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 348:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*186830*/      /*SwitchType*/ 11, MVT::v2f64,// ->186843
/*186832*/        OPC_CheckChild1Type, MVT::v2f64,
/*186834*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186836*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTNv2f64), 0,
                      MVT::v2f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 348:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FRINTNv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*186843*/      0, // EndSwitchType
/*186844*/    /*Scope*/ 74, /*->186919*/
/*186845*/      OPC_CheckChild0Integer, 86|128,3/*470*/, 
/*186848*/      OPC_RecordChild1, // #0 = $Rn
/*186849*/      OPC_SwitchType /*4 cases */, 15, MVT::f64,// ->186867
/*186852*/        OPC_CheckChild1Type, MVT::f64,
/*186854*/        OPC_RecordChild2, // #1 = $Rm
/*186855*/        OPC_CheckChild2Type, MVT::f64,
/*186857*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186859*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD64), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 470:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 8
                  // Dst: (FABD64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*186867*/      /*SwitchType*/ 15, MVT::f32,// ->186884
/*186869*/        OPC_CheckChild1Type, MVT::f32,
/*186871*/        OPC_RecordChild2, // #1 = $Rm
/*186872*/        OPC_CheckChild2Type, MVT::f32,
/*186874*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186876*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD32), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 470:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 8
                  // Dst: (FABD32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*186884*/      /*SwitchType*/ 15, MVT::f16,// ->186901
/*186886*/        OPC_CheckChild1Type, MVT::f16,
/*186888*/        OPC_RecordChild2, // #1 = $Rm
/*186889*/        OPC_CheckChild2Type, MVT::f16,
/*186891*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186893*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD16), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 470:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 8
                  // Dst: (FABD16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*186901*/      /*SwitchType*/ 15, MVT::v1f64,// ->186918
/*186903*/        OPC_CheckChild1Type, MVT::v1f64,
/*186905*/        OPC_RecordChild2, // #1 = $Rm
/*186906*/        OPC_CheckChild2Type, MVT::v1f64,
/*186908*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186910*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD64), 0,
                      MVT::v1f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1f64] } 470:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 8
                  // Dst: (FABD64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*186918*/      0, // EndSwitchType
/*186919*/    /*Scope*/ 31|128,1/*159*/, /*->187080*/
/*186921*/      OPC_CheckChild0Integer, 90|128,2/*346*/, 
/*186924*/      OPC_RecordChild1, // #0 = $Rn
/*186925*/      OPC_SwitchType /*9 cases */, 15, MVT::f64,// ->186943
/*186928*/        OPC_CheckChild1Type, MVT::f64,
/*186930*/        OPC_RecordChild2, // #1 = $Rm
/*186931*/        OPC_CheckChild2Type, MVT::f64,
/*186933*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186935*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS64), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 346:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 8
                  // Dst: (FRECPS64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*186943*/      /*SwitchType*/ 15, MVT::f32,// ->186960
/*186945*/        OPC_CheckChild1Type, MVT::f32,
/*186947*/        OPC_RecordChild2, // #1 = $Rm
/*186948*/        OPC_CheckChild2Type, MVT::f32,
/*186950*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*186952*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS32), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 346:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 8
                  // Dst: (FRECPS32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*186960*/      /*SwitchType*/ 15, MVT::f16,// ->186977
/*186962*/        OPC_CheckChild1Type, MVT::f16,
/*186964*/        OPC_RecordChild2, // #1 = $Rm
/*186965*/        OPC_CheckChild2Type, MVT::f16,
/*186967*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186969*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS16), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 346:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 8
                  // Dst: (FRECPS16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*186977*/      /*SwitchType*/ 15, MVT::v4f16,// ->186994
/*186979*/        OPC_CheckChild1Type, MVT::v4f16,
/*186981*/        OPC_RecordChild2, // #1 = $Rm
/*186982*/        OPC_CheckChild2Type, MVT::v4f16,
/*186984*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*186986*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPSv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 346:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FRECPSv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*186994*/      /*SwitchType*/ 15, MVT::v8f16,// ->187011
/*186996*/        OPC_CheckChild1Type, MVT::v8f16,
/*186998*/        OPC_RecordChild2, // #1 = $Rm
/*186999*/        OPC_CheckChild2Type, MVT::v8f16,
/*187001*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187003*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPSv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 346:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FRECPSv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*187011*/      /*SwitchType*/ 15, MVT::v2f32,// ->187028
/*187013*/        OPC_CheckChild1Type, MVT::v2f32,
/*187015*/        OPC_RecordChild2, // #1 = $Rm
/*187016*/        OPC_CheckChild2Type, MVT::v2f32,
/*187018*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187020*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPSv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 346:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FRECPSv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*187028*/      /*SwitchType*/ 15, MVT::v4f32,// ->187045
/*187030*/        OPC_CheckChild1Type, MVT::v4f32,
/*187032*/        OPC_RecordChild2, // #1 = $Rm
/*187033*/        OPC_CheckChild2Type, MVT::v4f32,
/*187035*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187037*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPSv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 346:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FRECPSv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*187045*/      /*SwitchType*/ 15, MVT::v2f64,// ->187062
/*187047*/        OPC_CheckChild1Type, MVT::v2f64,
/*187049*/        OPC_RecordChild2, // #1 = $Rm
/*187050*/        OPC_CheckChild2Type, MVT::v2f64,
/*187052*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187054*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPSv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 346:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FRECPSv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*187062*/      /*SwitchType*/ 15, MVT::v1f64,// ->187079
/*187064*/        OPC_CheckChild1Type, MVT::v1f64,
/*187066*/        OPC_RecordChild2, // #1 = $Rm
/*187067*/        OPC_CheckChild2Type, MVT::v1f64,
/*187069*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187071*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS64), 0,
                      MVT::v1f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1f64] } 346:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 8
                  // Dst: (FRECPS64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*187079*/      0, // EndSwitchType
/*187080*/    /*Scope*/ 31|128,1/*159*/, /*->187241*/
/*187082*/      OPC_CheckChild0Integer, 94|128,2/*350*/, 
/*187085*/      OPC_RecordChild1, // #0 = $Rn
/*187086*/      OPC_SwitchType /*9 cases */, 15, MVT::f64,// ->187104
/*187089*/        OPC_CheckChild1Type, MVT::f64,
/*187091*/        OPC_RecordChild2, // #1 = $Rm
/*187092*/        OPC_CheckChild2Type, MVT::f64,
/*187094*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187096*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS64), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 350:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTS64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*187104*/      /*SwitchType*/ 15, MVT::f32,// ->187121
/*187106*/        OPC_CheckChild1Type, MVT::f32,
/*187108*/        OPC_RecordChild2, // #1 = $Rm
/*187109*/        OPC_CheckChild2Type, MVT::f32,
/*187111*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187113*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS32), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 350:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTS32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*187121*/      /*SwitchType*/ 15, MVT::f16,// ->187138
/*187123*/        OPC_CheckChild1Type, MVT::f16,
/*187125*/        OPC_RecordChild2, // #1 = $Rm
/*187126*/        OPC_CheckChild2Type, MVT::f16,
/*187128*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187130*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS16), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 350:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTS16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*187138*/      /*SwitchType*/ 15, MVT::v4f16,// ->187155
/*187140*/        OPC_CheckChild1Type, MVT::v4f16,
/*187142*/        OPC_RecordChild2, // #1 = $Rm
/*187143*/        OPC_CheckChild2Type, MVT::v4f16,
/*187145*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187147*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTSv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 350:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTSv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*187155*/      /*SwitchType*/ 15, MVT::v8f16,// ->187172
/*187157*/        OPC_CheckChild1Type, MVT::v8f16,
/*187159*/        OPC_RecordChild2, // #1 = $Rm
/*187160*/        OPC_CheckChild2Type, MVT::v8f16,
/*187162*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187164*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTSv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 350:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTSv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*187172*/      /*SwitchType*/ 15, MVT::v2f32,// ->187189
/*187174*/        OPC_CheckChild1Type, MVT::v2f32,
/*187176*/        OPC_RecordChild2, // #1 = $Rm
/*187177*/        OPC_CheckChild2Type, MVT::v2f32,
/*187179*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187181*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTSv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 350:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTSv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*187189*/      /*SwitchType*/ 15, MVT::v4f32,// ->187206
/*187191*/        OPC_CheckChild1Type, MVT::v4f32,
/*187193*/        OPC_RecordChild2, // #1 = $Rm
/*187194*/        OPC_CheckChild2Type, MVT::v4f32,
/*187196*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187198*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTSv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 350:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTSv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*187206*/      /*SwitchType*/ 15, MVT::v2f64,// ->187223
/*187208*/        OPC_CheckChild1Type, MVT::v2f64,
/*187210*/        OPC_RecordChild2, // #1 = $Rm
/*187211*/        OPC_CheckChild2Type, MVT::v2f64,
/*187213*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187215*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTSv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 350:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTSv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*187223*/      /*SwitchType*/ 15, MVT::v1f64,// ->187240
/*187225*/        OPC_CheckChild1Type, MVT::v1f64,
/*187227*/        OPC_RecordChild2, // #1 = $Rm
/*187228*/        OPC_CheckChild2Type, MVT::v1f64,
/*187230*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187232*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS64), 0,
                      MVT::v1f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1f64] } 350:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 8
                  // Dst: (FRSQRTS64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*187240*/      0, // EndSwitchType
/*187241*/    /*Scope*/ 13, /*->187255*/
/*187242*/      OPC_CheckChild0Integer, 87|128,3/*471*/, 
/*187245*/      OPC_RecordChild1, // #0 = $Rn
/*187246*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187248*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTXNv1i64), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[f32] } 471:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                // Dst: (FCVTXNv1i64:{ *:[f32] } FPR64:{ *:[f64] }:$Rn)
/*187255*/    /*Scope*/ 115, /*->187371*/
/*187256*/      OPC_CheckChild0Integer, 89|128,2/*345*/, 
/*187259*/      OPC_RecordChild1, // #0 = $Rn
/*187260*/      OPC_SwitchType /*9 cases */, 9, MVT::f16,// ->187272
/*187263*/        OPC_CheckChild1Type, MVT::f16,
/*187265*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv1f16), 0,
                      MVT::f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 345:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv1f16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*187272*/      /*SwitchType*/ 9, MVT::f32,// ->187283
/*187274*/        OPC_CheckChild1Type, MVT::f32,
/*187276*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv1i32), 0,
                      MVT::f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 345:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv1i32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*187283*/      /*SwitchType*/ 9, MVT::f64,// ->187294
/*187285*/        OPC_CheckChild1Type, MVT::f64,
/*187287*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv1i64), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 345:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv1i64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*187294*/      /*SwitchType*/ 11, MVT::v4f16,// ->187307
/*187296*/        OPC_CheckChild1Type, MVT::v4f16,
/*187298*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187300*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv4f16), 0,
                      MVT::v4f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 345:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*187307*/      /*SwitchType*/ 11, MVT::v8f16,// ->187320
/*187309*/        OPC_CheckChild1Type, MVT::v8f16,
/*187311*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187313*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv8f16), 0,
                      MVT::v8f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 345:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*187320*/      /*SwitchType*/ 11, MVT::v2f32,// ->187333
/*187322*/        OPC_CheckChild1Type, MVT::v2f32,
/*187324*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187326*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv2f32), 0,
                      MVT::v2f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 345:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*187333*/      /*SwitchType*/ 11, MVT::v4f32,// ->187346
/*187335*/        OPC_CheckChild1Type, MVT::v4f32,
/*187337*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187339*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv4f32), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 345:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*187346*/      /*SwitchType*/ 11, MVT::v2f64,// ->187359
/*187348*/        OPC_CheckChild1Type, MVT::v2f64,
/*187350*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187352*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv2f64), 0,
                      MVT::v2f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 345:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*187359*/      /*SwitchType*/ 9, MVT::v1f64,// ->187370
/*187361*/        OPC_CheckChild1Type, MVT::v1f64,
/*187363*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv1i64), 0,
                      MVT::v1f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1f64] } 345:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FRECPEv1i64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn)
/*187370*/      0, // EndSwitchType
/*187371*/    /*Scope*/ 39, /*->187411*/
/*187372*/      OPC_CheckChild0Integer, 91|128,2/*347*/, 
/*187375*/      OPC_RecordChild1, // #0 = $Rn
/*187376*/      OPC_SwitchType /*3 cases */, 9, MVT::f16,// ->187388
/*187379*/        OPC_CheckChild1Type, MVT::f16,
/*187381*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPXv1f16), 0,
                      MVT::f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 347:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                  // Dst: (FRECPXv1f16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*187388*/      /*SwitchType*/ 9, MVT::f32,// ->187399
/*187390*/        OPC_CheckChild1Type, MVT::f32,
/*187392*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPXv1i32), 0,
                      MVT::f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 347:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                  // Dst: (FRECPXv1i32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*187399*/      /*SwitchType*/ 9, MVT::f64,// ->187410
/*187401*/        OPC_CheckChild1Type, MVT::f64,
/*187403*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPXv1i64), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 347:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                  // Dst: (FRECPXv1i64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*187410*/      0, // EndSwitchType
/*187411*/    /*Scope*/ 115, /*->187527*/
/*187412*/      OPC_CheckChild0Integer, 93|128,2/*349*/, 
/*187415*/      OPC_RecordChild1, // #0 = $Rn
/*187416*/      OPC_SwitchType /*9 cases */, 9, MVT::f16,// ->187428
/*187419*/        OPC_CheckChild1Type, MVT::f16,
/*187421*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv1f16), 0,
                      MVT::f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 349:{ *:[iPTR] }, FPR16:{ *:[f16] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv1f16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*187428*/      /*SwitchType*/ 9, MVT::f32,// ->187439
/*187430*/        OPC_CheckChild1Type, MVT::f32,
/*187432*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv1i32), 0,
                      MVT::f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 349:{ *:[iPTR] }, FPR32:{ *:[f32] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv1i32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*187439*/      /*SwitchType*/ 9, MVT::f64,// ->187450
/*187441*/        OPC_CheckChild1Type, MVT::f64,
/*187443*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv1i64), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 349:{ *:[iPTR] }, FPR64:{ *:[f64] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv1i64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*187450*/      /*SwitchType*/ 11, MVT::v4f16,// ->187463
/*187452*/        OPC_CheckChild1Type, MVT::v4f16,
/*187454*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187456*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv4f16), 0,
                      MVT::v4f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 349:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*187463*/      /*SwitchType*/ 11, MVT::v8f16,// ->187476
/*187465*/        OPC_CheckChild1Type, MVT::v8f16,
/*187467*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187469*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv8f16), 0,
                      MVT::v8f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 349:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*187476*/      /*SwitchType*/ 11, MVT::v2f32,// ->187489
/*187478*/        OPC_CheckChild1Type, MVT::v2f32,
/*187480*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187482*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv2f32), 0,
                      MVT::v2f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 349:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*187489*/      /*SwitchType*/ 11, MVT::v4f32,// ->187502
/*187491*/        OPC_CheckChild1Type, MVT::v4f32,
/*187493*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187495*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv4f32), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 349:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*187502*/      /*SwitchType*/ 11, MVT::v2f64,// ->187515
/*187504*/        OPC_CheckChild1Type, MVT::v2f64,
/*187506*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187508*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv2f64), 0,
                      MVT::v2f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 349:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*187515*/      /*SwitchType*/ 9, MVT::v1f64,// ->187526
/*187517*/        OPC_CheckChild1Type, MVT::v1f64,
/*187519*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv1i64), 0,
                      MVT::v1f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1f64] } 349:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn) - Complexity = 8
                  // Dst: (FRSQRTEv1i64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn)
/*187526*/      0, // EndSwitchType
/*187527*/    /*Scope*/ 60, /*->187588*/
/*187528*/      OPC_CheckChild0Integer, 60|128,2/*316*/, 
/*187531*/      OPC_RecordChild1, // #0 = $Rn
/*187532*/      OPC_SwitchType /*2 cases */, 41, MVT::f32,// ->187576
/*187535*/        OPC_Scope, 9, /*->187546*/ // 2 children in Scope
/*187537*/          OPC_CheckChild1Type, MVT::v2f32,
/*187539*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2i32p), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 316:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                    // Dst: (FADDPv2i32p:{ *:[f32] } V64:{ *:[v2f32] }:$Rn)
/*187546*/        /*Scope*/ 28, /*->187575*/
/*187547*/          OPC_CheckChild1Type, MVT::v4f32,
/*187549*/          OPC_EmitNode1, TARGET_VAL(AArch64::FADDPv4f32), 0,
                        MVT::f128, 2/*#Ops*/, 0, 0,  // Results = #1
/*187557*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*187560*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 1, 2,  // Results = #3
/*187568*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2i32p), 0,
                        MVT::f32, 1/*#Ops*/, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 316:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                    // Dst: (FADDPv2i32p:{ *:[f32] } (EXTRACT_SUBREG:{ *:[i64] } (FADDPv4f32:{ *:[f128] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rn), dsub:{ *:[i32] }))
/*187575*/        0, /*End of Scope*/
/*187576*/      /*SwitchType*/ 9, MVT::f64,// ->187587
/*187578*/        OPC_CheckChild1Type, MVT::v2f64,
/*187580*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2i64p), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 316:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FADDPv2i64p:{ *:[f64] } V128:{ *:[v2f64] }:$Rn)
/*187587*/      0, // EndSwitchType
/*187588*/    /*Scope*/ 71, /*->187660*/
/*187589*/      OPC_CheckChild0Integer, 75|128,2/*331*/, 
/*187592*/      OPC_RecordChild1, // #0 = $Rn
/*187593*/      OPC_SwitchType /*3 cases */, 24, MVT::f32,// ->187620
/*187596*/        OPC_Scope, 9, /*->187607*/ // 2 children in Scope
/*187598*/          OPC_CheckChild1Type, MVT::v2f32,
/*187600*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMPv2i32p), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 331:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                    // Dst: (FMAXNMPv2i32p:{ *:[f32] } V64:{ *:[v2f32] }:$Rn)
/*187607*/        /*Scope*/ 11, /*->187619*/
/*187608*/          OPC_CheckChild1Type, MVT::v4f32,
/*187610*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187612*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMVv4i32v), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 331:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                    // Dst: (FMAXNMVv4i32v:{ *:[f32] } V128:{ *:[v4f32] }:$Rn)
/*187619*/        0, /*End of Scope*/
/*187620*/      /*SwitchType*/ 9, MVT::f64,// ->187631
/*187622*/        OPC_CheckChild1Type, MVT::v2f64,
/*187624*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMPv2i64p), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 331:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FMAXNMPv2i64p:{ *:[f64] } V128:{ *:[v2f64] }:$Rn)
/*187631*/      /*SwitchType*/ 26, MVT::f16,// ->187659
/*187633*/        OPC_Scope, 11, /*->187646*/ // 2 children in Scope
/*187635*/          OPC_CheckChild1Type, MVT::v4f16,
/*187637*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187639*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMVv4i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 331:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                    // Dst: (FMAXNMVv4i16v:{ *:[f16] } V64:{ *:[v4f16] }:$Rn)
/*187646*/        /*Scope*/ 11, /*->187658*/
/*187647*/          OPC_CheckChild1Type, MVT::v8f16,
/*187649*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187651*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 331:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                    // Dst: (FMAXNMVv8i16v:{ *:[f16] } V128:{ *:[v8f16] }:$Rn)
/*187658*/        0, /*End of Scope*/
/*187659*/      0, // EndSwitchType
/*187660*/    /*Scope*/ 71, /*->187732*/
/*187661*/      OPC_CheckChild0Integer, 77|128,2/*333*/, 
/*187664*/      OPC_RecordChild1, // #0 = $Rn
/*187665*/      OPC_SwitchType /*3 cases */, 24, MVT::f32,// ->187692
/*187668*/        OPC_Scope, 9, /*->187679*/ // 2 children in Scope
/*187670*/          OPC_CheckChild1Type, MVT::v2f32,
/*187672*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXPv2i32p), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 333:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                    // Dst: (FMAXPv2i32p:{ *:[f32] } V64:{ *:[v2f32] }:$Rn)
/*187679*/        /*Scope*/ 11, /*->187691*/
/*187680*/          OPC_CheckChild1Type, MVT::v4f32,
/*187682*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187684*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXVv4i32v), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 333:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                    // Dst: (FMAXVv4i32v:{ *:[f32] } V128:{ *:[v4f32] }:$Rn)
/*187691*/        0, /*End of Scope*/
/*187692*/      /*SwitchType*/ 9, MVT::f64,// ->187703
/*187694*/        OPC_CheckChild1Type, MVT::v2f64,
/*187696*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXPv2i64p), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 333:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FMAXPv2i64p:{ *:[f64] } V128:{ *:[v2f64] }:$Rn)
/*187703*/      /*SwitchType*/ 26, MVT::f16,// ->187731
/*187705*/        OPC_Scope, 11, /*->187718*/ // 2 children in Scope
/*187707*/          OPC_CheckChild1Type, MVT::v4f16,
/*187709*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187711*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXVv4i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 333:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                    // Dst: (FMAXVv4i16v:{ *:[f16] } V64:{ *:[v4f16] }:$Rn)
/*187718*/        /*Scope*/ 11, /*->187730*/
/*187719*/          OPC_CheckChild1Type, MVT::v8f16,
/*187721*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187723*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 333:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                    // Dst: (FMAXVv8i16v:{ *:[f16] } V128:{ *:[v8f16] }:$Rn)
/*187730*/        0, /*End of Scope*/
/*187731*/      0, // EndSwitchType
/*187732*/    /*Scope*/ 71, /*->187804*/
/*187733*/      OPC_CheckChild0Integer, 81|128,2/*337*/, 
/*187736*/      OPC_RecordChild1, // #0 = $Rn
/*187737*/      OPC_SwitchType /*3 cases */, 24, MVT::f32,// ->187764
/*187740*/        OPC_Scope, 9, /*->187751*/ // 2 children in Scope
/*187742*/          OPC_CheckChild1Type, MVT::v2f32,
/*187744*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMPv2i32p), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 337:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                    // Dst: (FMINNMPv2i32p:{ *:[f32] } V64:{ *:[v2f32] }:$Rn)
/*187751*/        /*Scope*/ 11, /*->187763*/
/*187752*/          OPC_CheckChild1Type, MVT::v4f32,
/*187754*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187756*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMVv4i32v), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 337:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                    // Dst: (FMINNMVv4i32v:{ *:[f32] } V128:{ *:[v4f32] }:$Rn)
/*187763*/        0, /*End of Scope*/
/*187764*/      /*SwitchType*/ 9, MVT::f64,// ->187775
/*187766*/        OPC_CheckChild1Type, MVT::v2f64,
/*187768*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMPv2i64p), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 337:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FMINNMPv2i64p:{ *:[f64] } V128:{ *:[v2f64] }:$Rn)
/*187775*/      /*SwitchType*/ 26, MVT::f16,// ->187803
/*187777*/        OPC_Scope, 11, /*->187790*/ // 2 children in Scope
/*187779*/          OPC_CheckChild1Type, MVT::v4f16,
/*187781*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187783*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMVv4i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 337:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                    // Dst: (FMINNMVv4i16v:{ *:[f16] } V64:{ *:[v4f16] }:$Rn)
/*187790*/        /*Scope*/ 11, /*->187802*/
/*187791*/          OPC_CheckChild1Type, MVT::v8f16,
/*187793*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187795*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 337:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                    // Dst: (FMINNMVv8i16v:{ *:[f16] } V128:{ *:[v8f16] }:$Rn)
/*187802*/        0, /*End of Scope*/
/*187803*/      0, // EndSwitchType
/*187804*/    /*Scope*/ 71, /*->187876*/
/*187805*/      OPC_CheckChild0Integer, 83|128,2/*339*/, 
/*187808*/      OPC_RecordChild1, // #0 = $Rn
/*187809*/      OPC_SwitchType /*3 cases */, 24, MVT::f32,// ->187836
/*187812*/        OPC_Scope, 9, /*->187823*/ // 2 children in Scope
/*187814*/          OPC_CheckChild1Type, MVT::v2f32,
/*187816*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINPv2i32p), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 339:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn) - Complexity = 8
                    // Dst: (FMINPv2i32p:{ *:[f32] } V64:{ *:[v2f32] }:$Rn)
/*187823*/        /*Scope*/ 11, /*->187835*/
/*187824*/          OPC_CheckChild1Type, MVT::v4f32,
/*187826*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*187828*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINVv4i32v), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f32] } 339:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                    // Dst: (FMINVv4i32v:{ *:[f32] } V128:{ *:[v4f32] }:$Rn)
/*187835*/        0, /*End of Scope*/
/*187836*/      /*SwitchType*/ 9, MVT::f64,// ->187847
/*187838*/        OPC_CheckChild1Type, MVT::v2f64,
/*187840*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINPv2i64p), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 339:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                  // Dst: (FMINPv2i64p:{ *:[f64] } V128:{ *:[v2f64] }:$Rn)
/*187847*/      /*SwitchType*/ 26, MVT::f16,// ->187875
/*187849*/        OPC_Scope, 11, /*->187862*/ // 2 children in Scope
/*187851*/          OPC_CheckChild1Type, MVT::v4f16,
/*187853*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187855*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINVv4i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 339:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn) - Complexity = 8
                    // Dst: (FMINVv4i16v:{ *:[f16] } V64:{ *:[v4f16] }:$Rn)
/*187862*/        /*Scope*/ 11, /*->187874*/
/*187863*/          OPC_CheckChild1Type, MVT::v8f16,
/*187865*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*187867*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINVv8i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (intrinsic_wo_chain:{ *:[f16] } 339:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn) - Complexity = 8
                    // Dst: (FMINVv8i16v:{ *:[f16] } V128:{ *:[v8f16] }:$Rn)
/*187874*/        0, /*End of Scope*/
/*187875*/      0, // EndSwitchType
/*187876*/    /*Scope*/ 69, /*->187946*/
/*187877*/      OPC_CheckChild0Integer, 19|128,4/*531*/, 
/*187880*/      OPC_RecordChild1, // #0 = $Op1
/*187881*/      OPC_SwitchType /*3 cases */, 19, MVT::f16,// ->187903
/*187884*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*187886*/        OPC_RecordChild2, // #1 = $Op2
/*187887*/        OPC_CheckChild2Type, MVT::f16,
/*187889*/        OPC_RecordChild3, // #2 = $Op3
/*187890*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*187892*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*187894*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDA_VPZ_H), 0,
                      MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 531:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, f16:{ *:[f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FADDA_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*187903*/      /*SwitchType*/ 19, MVT::f32,// ->187924
/*187905*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*187907*/        OPC_RecordChild2, // #1 = $Op2
/*187908*/        OPC_CheckChild2Type, MVT::f32,
/*187910*/        OPC_RecordChild3, // #2 = $Op3
/*187911*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*187913*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*187915*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDA_VPZ_S), 0,
                      MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 531:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, f32:{ *:[f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FADDA_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*187924*/      /*SwitchType*/ 19, MVT::f64,// ->187945
/*187926*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*187928*/        OPC_RecordChild2, // #1 = $Op2
/*187929*/        OPC_CheckChild2Type, MVT::f64,
/*187931*/        OPC_RecordChild3, // #2 = $Op3
/*187932*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*187934*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*187936*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDA_VPZ_D), 0,
                      MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 531:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, f64:{ *:[f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FADDA_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*187945*/      0, // EndSwitchType
/*187946*/    /*Scope*/ 57, /*->188004*/
/*187947*/      OPC_CheckChild0Integer, 21|128,4/*533*/, 
/*187950*/      OPC_RecordChild1, // #0 = $Op1
/*187951*/      OPC_SwitchType /*3 cases */, 15, MVT::f16,// ->187969
/*187954*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*187956*/        OPC_RecordChild2, // #1 = $Op2
/*187957*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*187959*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*187961*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDV_VPZ_H), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 533:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 8
                  // Dst: (FADDV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*187969*/      /*SwitchType*/ 15, MVT::f32,// ->187986
/*187971*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*187973*/        OPC_RecordChild2, // #1 = $Op2
/*187974*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*187976*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*187978*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDV_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 533:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 8
                  // Dst: (FADDV_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*187986*/      /*SwitchType*/ 15, MVT::f64,// ->188003
/*187988*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*187990*/        OPC_RecordChild2, // #1 = $Op2
/*187991*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*187993*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*187995*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDV_VPZ_D), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 533:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 8
                  // Dst: (FADDV_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*188003*/      0, // EndSwitchType
/*188004*/    /*Scope*/ 57, /*->188062*/
/*188005*/      OPC_CheckChild0Integer, 61|128,4/*573*/, 
/*188008*/      OPC_RecordChild1, // #0 = $Op1
/*188009*/      OPC_SwitchType /*3 cases */, 15, MVT::f16,// ->188027
/*188012*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*188014*/        OPC_RecordChild2, // #1 = $Op2
/*188015*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*188017*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188019*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMV_VPZ_H), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 573:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 8
                  // Dst: (FMAXNMV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*188027*/      /*SwitchType*/ 15, MVT::f32,// ->188044
/*188029*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*188031*/        OPC_RecordChild2, // #1 = $Op2
/*188032*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*188034*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188036*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMV_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 573:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 8
                  // Dst: (FMAXNMV_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*188044*/      /*SwitchType*/ 15, MVT::f64,// ->188061
/*188046*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*188048*/        OPC_RecordChild2, // #1 = $Op2
/*188049*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*188051*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188053*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMV_VPZ_D), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 573:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 8
                  // Dst: (FMAXNMV_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*188061*/      0, // EndSwitchType
/*188062*/    /*Scope*/ 57, /*->188120*/
/*188063*/      OPC_CheckChild0Integer, 67|128,4/*579*/, 
/*188066*/      OPC_RecordChild1, // #0 = $Op1
/*188067*/      OPC_SwitchType /*3 cases */, 15, MVT::f16,// ->188085
/*188070*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*188072*/        OPC_RecordChild2, // #1 = $Op2
/*188073*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*188075*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188077*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMV_VPZ_H), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 579:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 8
                  // Dst: (FMINNMV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*188085*/      /*SwitchType*/ 15, MVT::f32,// ->188102
/*188087*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*188089*/        OPC_RecordChild2, // #1 = $Op2
/*188090*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*188092*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188094*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMV_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 579:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 8
                  // Dst: (FMINNMV_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*188102*/      /*SwitchType*/ 15, MVT::f64,// ->188119
/*188104*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*188106*/        OPC_RecordChild2, // #1 = $Op2
/*188107*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*188109*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188111*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMV_VPZ_D), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 579:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 8
                  // Dst: (FMINNMV_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*188119*/      0, // EndSwitchType
/*188120*/    /*Scope*/ 57, /*->188178*/
/*188121*/      OPC_CheckChild0Integer, 63|128,4/*575*/, 
/*188124*/      OPC_RecordChild1, // #0 = $Op1
/*188125*/      OPC_SwitchType /*3 cases */, 15, MVT::f16,// ->188143
/*188128*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*188130*/        OPC_RecordChild2, // #1 = $Op2
/*188131*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*188133*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188135*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXV_VPZ_H), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 575:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 8
                  // Dst: (FMAXV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*188143*/      /*SwitchType*/ 15, MVT::f32,// ->188160
/*188145*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*188147*/        OPC_RecordChild2, // #1 = $Op2
/*188148*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*188150*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188152*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXV_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 575:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 8
                  // Dst: (FMAXV_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*188160*/      /*SwitchType*/ 15, MVT::f64,// ->188177
/*188162*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*188164*/        OPC_RecordChild2, // #1 = $Op2
/*188165*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*188167*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188169*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXV_VPZ_D), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 575:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 8
                  // Dst: (FMAXV_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*188177*/      0, // EndSwitchType
/*188178*/    /*Scope*/ 57, /*->188236*/
/*188179*/      OPC_CheckChild0Integer, 69|128,4/*581*/, 
/*188182*/      OPC_RecordChild1, // #0 = $Op1
/*188183*/      OPC_SwitchType /*3 cases */, 15, MVT::f16,// ->188201
/*188186*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*188188*/        OPC_RecordChild2, // #1 = $Op2
/*188189*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*188191*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188193*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINV_VPZ_H), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f16] } 581:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 8
                  // Dst: (FMINV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*188201*/      /*SwitchType*/ 15, MVT::f32,// ->188218
/*188203*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*188205*/        OPC_RecordChild2, // #1 = $Op2
/*188206*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*188208*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188210*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINV_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f32] } 581:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 8
                  // Dst: (FMINV_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*188218*/      /*SwitchType*/ 15, MVT::f64,// ->188235
/*188220*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*188222*/        OPC_RecordChild2, // #1 = $Op2
/*188223*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*188225*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*188227*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINV_VPZ_D), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[f64] } 581:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 8
                  // Dst: (FMINV_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*188235*/      0, // EndSwitchType
/*188236*/    /*Scope*/ 76|128,2/*332*/, /*->188570*/
/*188238*/      OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*188241*/      OPC_Scope, 60|128,1/*188*/, /*->188432*/ // 2 children in Scope
/*188244*/        OPC_MoveChild1,
/*188245*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188248*/        OPC_RecordChild0, // #0 = $Rn
/*188249*/        OPC_SwitchType /*3 cases */, 73, MVT::v4i16,// ->188325
/*188252*/          OPC_CheckChild1Integer, 4, 
/*188254*/          OPC_CheckChild1Type, MVT::i64,
/*188256*/          OPC_MoveParent,
/*188257*/          OPC_MoveChild2,
/*188258*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188261*/          OPC_Scope, 40, /*->188303*/ // 2 children in Scope
/*188263*/            OPC_MoveChild0,
/*188264*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*188267*/            OPC_RecordChild0, // #1 = $Rm
/*188268*/            OPC_CheckChild0Type, MVT::v8i16,
/*188270*/            OPC_RecordChild1, // #2 = $idx
/*188271*/            OPC_MoveChild1,
/*188272*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188275*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*188277*/            OPC_CheckType, MVT::i64,
/*188279*/            OPC_MoveParent,
/*188280*/            OPC_MoveParent,
/*188281*/            OPC_CheckChild1Integer, 4, 
/*188283*/            OPC_CheckChild1Type, MVT::i64,
/*188285*/            OPC_CheckType, MVT::v4i16,
/*188287*/            OPC_MoveParent,
/*188288*/            OPC_CheckType, MVT::v4i32,
/*188290*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188292*/            OPC_EmitConvertToTarget, 2,
/*188294*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv8i16_indexed), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] })) - Complexity = 31
                      // Dst: (SMULLv8i16_indexed:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188303*/          /*Scope*/ 20, /*->188324*/
/*188304*/            OPC_RecordChild0, // #1 = $Rm
/*188305*/            OPC_CheckChild1Integer, 4, 
/*188307*/            OPC_CheckChild1Type, MVT::i64,
/*188309*/            OPC_CheckType, MVT::v4i16,
/*188311*/            OPC_MoveParent,
/*188312*/            OPC_CheckType, MVT::v4i32,
/*188314*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188316*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv8i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })) - Complexity = 24
                      // Dst: (SMULLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*188324*/          0, /*End of Scope*/
/*188325*/        /*SwitchType*/ 73, MVT::v2i32,// ->188400
/*188327*/          OPC_CheckChild1Integer, 2, 
/*188329*/          OPC_CheckChild1Type, MVT::i64,
/*188331*/          OPC_MoveParent,
/*188332*/          OPC_MoveChild2,
/*188333*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188336*/          OPC_Scope, 40, /*->188378*/ // 2 children in Scope
/*188338*/            OPC_MoveChild0,
/*188339*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*188342*/            OPC_RecordChild0, // #1 = $Rm
/*188343*/            OPC_CheckChild0Type, MVT::v4i32,
/*188345*/            OPC_RecordChild1, // #2 = $idx
/*188346*/            OPC_MoveChild1,
/*188347*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188350*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*188352*/            OPC_CheckType, MVT::i64,
/*188354*/            OPC_MoveParent,
/*188355*/            OPC_MoveParent,
/*188356*/            OPC_CheckChild1Integer, 2, 
/*188358*/            OPC_CheckChild1Type, MVT::i64,
/*188360*/            OPC_CheckType, MVT::v2i32,
/*188362*/            OPC_MoveParent,
/*188363*/            OPC_CheckType, MVT::v2i64,
/*188365*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188367*/            OPC_EmitConvertToTarget, 2,
/*188369*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv4i32_indexed), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] })) - Complexity = 31
                      // Dst: (SMULLv4i32_indexed:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188378*/          /*Scope*/ 20, /*->188399*/
/*188379*/            OPC_RecordChild0, // #1 = $Rm
/*188380*/            OPC_CheckChild1Integer, 2, 
/*188382*/            OPC_CheckChild1Type, MVT::i64,
/*188384*/            OPC_CheckType, MVT::v2i32,
/*188386*/            OPC_MoveParent,
/*188387*/            OPC_CheckType, MVT::v2i64,
/*188389*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188391*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv4i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })) - Complexity = 24
                      // Dst: (SMULLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*188399*/          0, /*End of Scope*/
/*188400*/        /*SwitchType*/ 29, MVT::v8i8,// ->188431
/*188402*/          OPC_CheckChild1Integer, 8, 
/*188404*/          OPC_CheckChild1Type, MVT::i64,
/*188406*/          OPC_MoveParent,
/*188407*/          OPC_MoveChild2,
/*188408*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188411*/          OPC_RecordChild0, // #1 = $Rm
/*188412*/          OPC_CheckChild1Integer, 8, 
/*188414*/          OPC_CheckChild1Type, MVT::i64,
/*188416*/          OPC_CheckType, MVT::v8i8,
/*188418*/          OPC_MoveParent,
/*188419*/          OPC_CheckType, MVT::v8i16,
/*188421*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188423*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })) - Complexity = 24
                    // Dst: (SMULLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*188431*/        0, // EndSwitchType
/*188432*/      /*Scope*/ 7|128,1/*135*/, /*->188569*/
/*188434*/        OPC_RecordChild1, // #0 = $Rn
/*188435*/        OPC_Scope, 56, /*->188493*/ // 3 children in Scope
/*188437*/          OPC_CheckChild1Type, MVT::v4i16,
/*188439*/          OPC_Scope, 35, /*->188476*/ // 2 children in Scope
/*188441*/            OPC_MoveChild2,
/*188442*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*188445*/            OPC_RecordChild0, // #1 = $Rm
/*188446*/            OPC_CheckChild0Type, MVT::v8i16,
/*188448*/            OPC_RecordChild1, // #2 = $idx
/*188449*/            OPC_MoveChild1,
/*188450*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188453*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*188455*/            OPC_CheckType, MVT::i64,
/*188457*/            OPC_MoveParent,
/*188458*/            OPC_CheckType, MVT::v4i16,
/*188460*/            OPC_MoveParent,
/*188461*/            OPC_CheckType, MVT::v4i32,
/*188463*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188465*/            OPC_EmitConvertToTarget, 2,
/*188467*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv4i16_indexed), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                      // Dst: (SMULLv4i16_indexed:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188476*/          /*Scope*/ 15, /*->188492*/
/*188477*/            OPC_RecordChild2, // #1 = $Rm
/*188478*/            OPC_CheckChild2Type, MVT::v4i16,
/*188480*/            OPC_CheckType, MVT::v4i32,
/*188482*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188484*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv4i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                      // Dst: (SMULLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*188492*/          0, /*End of Scope*/
/*188493*/        /*Scope*/ 56, /*->188550*/
/*188494*/          OPC_CheckChild1Type, MVT::v2i32,
/*188496*/          OPC_Scope, 35, /*->188533*/ // 2 children in Scope
/*188498*/            OPC_MoveChild2,
/*188499*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*188502*/            OPC_RecordChild0, // #1 = $Rm
/*188503*/            OPC_CheckChild0Type, MVT::v4i32,
/*188505*/            OPC_RecordChild1, // #2 = $idx
/*188506*/            OPC_MoveChild1,
/*188507*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188510*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*188512*/            OPC_CheckType, MVT::i64,
/*188514*/            OPC_MoveParent,
/*188515*/            OPC_CheckType, MVT::v2i32,
/*188517*/            OPC_MoveParent,
/*188518*/            OPC_CheckType, MVT::v2i64,
/*188520*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188522*/            OPC_EmitConvertToTarget, 2,
/*188524*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv2i32_indexed), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                      // Dst: (SMULLv2i32_indexed:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188533*/          /*Scope*/ 15, /*->188549*/
/*188534*/            OPC_RecordChild2, // #1 = $Rm
/*188535*/            OPC_CheckChild2Type, MVT::v2i32,
/*188537*/            OPC_CheckType, MVT::v2i64,
/*188539*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188541*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv2i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                      // Dst: (SMULLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*188549*/          0, /*End of Scope*/
/*188550*/        /*Scope*/ 17, /*->188568*/
/*188551*/          OPC_CheckChild1Type, MVT::v8i8,
/*188553*/          OPC_RecordChild2, // #1 = $Rm
/*188554*/          OPC_CheckChild2Type, MVT::v8i8,
/*188556*/          OPC_CheckType, MVT::v8i16,
/*188558*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188560*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 387:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                    // Dst: (SMULLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*188568*/        0, /*End of Scope*/
/*188569*/      0, /*End of Scope*/
/*188570*/    /*Scope*/ 26|128,2/*282*/, /*->188854*/
/*188572*/      OPC_CheckChild0Integer, 7|128,3/*391*/, 
/*188575*/      OPC_Scope, 29|128,1/*157*/, /*->188735*/ // 2 children in Scope
/*188578*/        OPC_MoveChild1,
/*188579*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188582*/        OPC_RecordChild0, // #0 = $Rn
/*188583*/        OPC_SwitchType /*2 cases */, 73, MVT::v4i16,// ->188659
/*188586*/          OPC_CheckChild1Integer, 4, 
/*188588*/          OPC_CheckChild1Type, MVT::i64,
/*188590*/          OPC_MoveParent,
/*188591*/          OPC_MoveChild2,
/*188592*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188595*/          OPC_Scope, 40, /*->188637*/ // 2 children in Scope
/*188597*/            OPC_MoveChild0,
/*188598*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*188601*/            OPC_RecordChild0, // #1 = $Rm
/*188602*/            OPC_CheckChild0Type, MVT::v8i16,
/*188604*/            OPC_RecordChild1, // #2 = $idx
/*188605*/            OPC_MoveChild1,
/*188606*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188609*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*188611*/            OPC_CheckType, MVT::i64,
/*188613*/            OPC_MoveParent,
/*188614*/            OPC_MoveParent,
/*188615*/            OPC_CheckChild1Integer, 4, 
/*188617*/            OPC_CheckChild1Type, MVT::i64,
/*188619*/            OPC_CheckType, MVT::v4i16,
/*188621*/            OPC_MoveParent,
/*188622*/            OPC_CheckType, MVT::v4i32,
/*188624*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188626*/            OPC_EmitConvertToTarget, 2,
/*188628*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv8i16_indexed), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] })) - Complexity = 31
                      // Dst: (SQDMULLv8i16_indexed:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188637*/          /*Scope*/ 20, /*->188658*/
/*188638*/            OPC_RecordChild0, // #1 = $Rm
/*188639*/            OPC_CheckChild1Integer, 4, 
/*188641*/            OPC_CheckChild1Type, MVT::i64,
/*188643*/            OPC_CheckType, MVT::v4i16,
/*188645*/            OPC_MoveParent,
/*188646*/            OPC_CheckType, MVT::v4i32,
/*188648*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188650*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv8i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })) - Complexity = 24
                      // Dst: (SQDMULLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*188658*/          0, /*End of Scope*/
/*188659*/        /*SwitchType*/ 73, MVT::v2i32,// ->188734
/*188661*/          OPC_CheckChild1Integer, 2, 
/*188663*/          OPC_CheckChild1Type, MVT::i64,
/*188665*/          OPC_MoveParent,
/*188666*/          OPC_MoveChild2,
/*188667*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188670*/          OPC_Scope, 40, /*->188712*/ // 2 children in Scope
/*188672*/            OPC_MoveChild0,
/*188673*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*188676*/            OPC_RecordChild0, // #1 = $Rm
/*188677*/            OPC_CheckChild0Type, MVT::v4i32,
/*188679*/            OPC_RecordChild1, // #2 = $idx
/*188680*/            OPC_MoveChild1,
/*188681*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188684*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*188686*/            OPC_CheckType, MVT::i64,
/*188688*/            OPC_MoveParent,
/*188689*/            OPC_MoveParent,
/*188690*/            OPC_CheckChild1Integer, 2, 
/*188692*/            OPC_CheckChild1Type, MVT::i64,
/*188694*/            OPC_CheckType, MVT::v2i32,
/*188696*/            OPC_MoveParent,
/*188697*/            OPC_CheckType, MVT::v2i64,
/*188699*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188701*/            OPC_EmitConvertToTarget, 2,
/*188703*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv4i32_indexed), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] })) - Complexity = 31
                      // Dst: (SQDMULLv4i32_indexed:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188712*/          /*Scope*/ 20, /*->188733*/
/*188713*/            OPC_RecordChild0, // #1 = $Rm
/*188714*/            OPC_CheckChild1Integer, 2, 
/*188716*/            OPC_CheckChild1Type, MVT::i64,
/*188718*/            OPC_CheckType, MVT::v2i32,
/*188720*/            OPC_MoveParent,
/*188721*/            OPC_CheckType, MVT::v2i64,
/*188723*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188725*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv4i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })) - Complexity = 24
                      // Dst: (SQDMULLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*188733*/          0, /*End of Scope*/
/*188734*/        0, // EndSwitchType
/*188735*/      /*Scope*/ 117, /*->188853*/
/*188736*/        OPC_RecordChild1, // #0 = $Rn
/*188737*/        OPC_Scope, 56, /*->188795*/ // 2 children in Scope
/*188739*/          OPC_CheckChild1Type, MVT::v4i16,
/*188741*/          OPC_Scope, 35, /*->188778*/ // 2 children in Scope
/*188743*/            OPC_MoveChild2,
/*188744*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*188747*/            OPC_RecordChild0, // #1 = $Rm
/*188748*/            OPC_CheckChild0Type, MVT::v8i16,
/*188750*/            OPC_RecordChild1, // #2 = $idx
/*188751*/            OPC_MoveChild1,
/*188752*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188755*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*188757*/            OPC_CheckType, MVT::i64,
/*188759*/            OPC_MoveParent,
/*188760*/            OPC_CheckType, MVT::v4i16,
/*188762*/            OPC_MoveParent,
/*188763*/            OPC_CheckType, MVT::v4i32,
/*188765*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188767*/            OPC_EmitConvertToTarget, 2,
/*188769*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv4i16_indexed), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                      // Dst: (SQDMULLv4i16_indexed:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188778*/          /*Scope*/ 15, /*->188794*/
/*188779*/            OPC_RecordChild2, // #1 = $Rm
/*188780*/            OPC_CheckChild2Type, MVT::v4i16,
/*188782*/            OPC_CheckType, MVT::v4i32,
/*188784*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188786*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv4i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 391:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                      // Dst: (SQDMULLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*188794*/          0, /*End of Scope*/
/*188795*/        /*Scope*/ 56, /*->188852*/
/*188796*/          OPC_CheckChild1Type, MVT::v2i32,
/*188798*/          OPC_Scope, 35, /*->188835*/ // 2 children in Scope
/*188800*/            OPC_MoveChild2,
/*188801*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*188804*/            OPC_RecordChild0, // #1 = $Rm
/*188805*/            OPC_CheckChild0Type, MVT::v4i32,
/*188807*/            OPC_RecordChild1, // #2 = $idx
/*188808*/            OPC_MoveChild1,
/*188809*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188812*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*188814*/            OPC_CheckType, MVT::i64,
/*188816*/            OPC_MoveParent,
/*188817*/            OPC_CheckType, MVT::v2i32,
/*188819*/            OPC_MoveParent,
/*188820*/            OPC_CheckType, MVT::v2i64,
/*188822*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188824*/            OPC_EmitConvertToTarget, 2,
/*188826*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv2i32_indexed), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                      // Dst: (SQDMULLv2i32_indexed:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188835*/          /*Scope*/ 15, /*->188851*/
/*188836*/            OPC_RecordChild2, // #1 = $Rm
/*188837*/            OPC_CheckChild2Type, MVT::v2i32,
/*188839*/            OPC_CheckType, MVT::v2i64,
/*188841*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188843*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDMULLv2i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 391:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                      // Dst: (SQDMULLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*188851*/          0, /*End of Scope*/
/*188852*/        0, /*End of Scope*/
/*188853*/      0, /*End of Scope*/
/*188854*/    /*Scope*/ 76|128,2/*332*/, /*->189188*/
/*188856*/      OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*188859*/      OPC_Scope, 60|128,1/*188*/, /*->189050*/ // 2 children in Scope
/*188862*/        OPC_MoveChild1,
/*188863*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188866*/        OPC_RecordChild0, // #0 = $Rn
/*188867*/        OPC_SwitchType /*3 cases */, 73, MVT::v4i16,// ->188943
/*188870*/          OPC_CheckChild1Integer, 4, 
/*188872*/          OPC_CheckChild1Type, MVT::i64,
/*188874*/          OPC_MoveParent,
/*188875*/          OPC_MoveChild2,
/*188876*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188879*/          OPC_Scope, 40, /*->188921*/ // 2 children in Scope
/*188881*/            OPC_MoveChild0,
/*188882*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*188885*/            OPC_RecordChild0, // #1 = $Rm
/*188886*/            OPC_CheckChild0Type, MVT::v8i16,
/*188888*/            OPC_RecordChild1, // #2 = $idx
/*188889*/            OPC_MoveChild1,
/*188890*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188893*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*188895*/            OPC_CheckType, MVT::i64,
/*188897*/            OPC_MoveParent,
/*188898*/            OPC_MoveParent,
/*188899*/            OPC_CheckChild1Integer, 4, 
/*188901*/            OPC_CheckChild1Type, MVT::i64,
/*188903*/            OPC_CheckType, MVT::v4i16,
/*188905*/            OPC_MoveParent,
/*188906*/            OPC_CheckType, MVT::v4i32,
/*188908*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188910*/            OPC_EmitConvertToTarget, 2,
/*188912*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv8i16_indexed), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] })) - Complexity = 31
                      // Dst: (UMULLv8i16_indexed:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188921*/          /*Scope*/ 20, /*->188942*/
/*188922*/            OPC_RecordChild0, // #1 = $Rm
/*188923*/            OPC_CheckChild1Integer, 4, 
/*188925*/            OPC_CheckChild1Type, MVT::i64,
/*188927*/            OPC_CheckType, MVT::v4i16,
/*188929*/            OPC_MoveParent,
/*188930*/            OPC_CheckType, MVT::v4i32,
/*188932*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188934*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv8i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })) - Complexity = 24
                      // Dst: (UMULLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*188942*/          0, /*End of Scope*/
/*188943*/        /*SwitchType*/ 73, MVT::v2i32,// ->189018
/*188945*/          OPC_CheckChild1Integer, 2, 
/*188947*/          OPC_CheckChild1Type, MVT::i64,
/*188949*/          OPC_MoveParent,
/*188950*/          OPC_MoveChild2,
/*188951*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*188954*/          OPC_Scope, 40, /*->188996*/ // 2 children in Scope
/*188956*/            OPC_MoveChild0,
/*188957*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*188960*/            OPC_RecordChild0, // #1 = $Rm
/*188961*/            OPC_CheckChild0Type, MVT::v4i32,
/*188963*/            OPC_RecordChild1, // #2 = $idx
/*188964*/            OPC_MoveChild1,
/*188965*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*188968*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*188970*/            OPC_CheckType, MVT::i64,
/*188972*/            OPC_MoveParent,
/*188973*/            OPC_MoveParent,
/*188974*/            OPC_CheckChild1Integer, 2, 
/*188976*/            OPC_CheckChild1Type, MVT::i64,
/*188978*/            OPC_CheckType, MVT::v2i32,
/*188980*/            OPC_MoveParent,
/*188981*/            OPC_CheckType, MVT::v2i64,
/*188983*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*188985*/            OPC_EmitConvertToTarget, 2,
/*188987*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv4i32_indexed), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] })) - Complexity = 31
                      // Dst: (UMULLv4i32_indexed:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*188996*/          /*Scope*/ 20, /*->189017*/
/*188997*/            OPC_RecordChild0, // #1 = $Rm
/*188998*/            OPC_CheckChild1Integer, 2, 
/*189000*/            OPC_CheckChild1Type, MVT::i64,
/*189002*/            OPC_CheckType, MVT::v2i32,
/*189004*/            OPC_MoveParent,
/*189005*/            OPC_CheckType, MVT::v2i64,
/*189007*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189009*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv4i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })) - Complexity = 24
                      // Dst: (UMULLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*189017*/          0, /*End of Scope*/
/*189018*/        /*SwitchType*/ 29, MVT::v8i8,// ->189049
/*189020*/          OPC_CheckChild1Integer, 8, 
/*189022*/          OPC_CheckChild1Type, MVT::i64,
/*189024*/          OPC_MoveParent,
/*189025*/          OPC_MoveChild2,
/*189026*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*189029*/          OPC_RecordChild0, // #1 = $Rm
/*189030*/          OPC_CheckChild1Integer, 8, 
/*189032*/          OPC_CheckChild1Type, MVT::i64,
/*189034*/          OPC_CheckType, MVT::v8i8,
/*189036*/          OPC_MoveParent,
/*189037*/          OPC_CheckType, MVT::v8i16,
/*189039*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189041*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })) - Complexity = 24
                    // Dst: (UMULLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*189049*/        0, // EndSwitchType
/*189050*/      /*Scope*/ 7|128,1/*135*/, /*->189187*/
/*189052*/        OPC_RecordChild1, // #0 = $Rn
/*189053*/        OPC_Scope, 56, /*->189111*/ // 3 children in Scope
/*189055*/          OPC_CheckChild1Type, MVT::v4i16,
/*189057*/          OPC_Scope, 35, /*->189094*/ // 2 children in Scope
/*189059*/            OPC_MoveChild2,
/*189060*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*189063*/            OPC_RecordChild0, // #1 = $Rm
/*189064*/            OPC_CheckChild0Type, MVT::v8i16,
/*189066*/            OPC_RecordChild1, // #2 = $idx
/*189067*/            OPC_MoveChild1,
/*189068*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189071*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*189073*/            OPC_CheckType, MVT::i64,
/*189075*/            OPC_MoveParent,
/*189076*/            OPC_CheckType, MVT::v4i16,
/*189078*/            OPC_MoveParent,
/*189079*/            OPC_CheckType, MVT::v4i32,
/*189081*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189083*/            OPC_EmitConvertToTarget, 2,
/*189085*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv4i16_indexed), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                      // Dst: (UMULLv4i16_indexed:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*189094*/          /*Scope*/ 15, /*->189110*/
/*189095*/            OPC_RecordChild2, // #1 = $Rm
/*189096*/            OPC_CheckChild2Type, MVT::v4i16,
/*189098*/            OPC_CheckType, MVT::v4i32,
/*189100*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189102*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv4i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                      // Dst: (UMULLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*189110*/          0, /*End of Scope*/
/*189111*/        /*Scope*/ 56, /*->189168*/
/*189112*/          OPC_CheckChild1Type, MVT::v2i32,
/*189114*/          OPC_Scope, 35, /*->189151*/ // 2 children in Scope
/*189116*/            OPC_MoveChild2,
/*189117*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*189120*/            OPC_RecordChild0, // #1 = $Rm
/*189121*/            OPC_CheckChild0Type, MVT::v4i32,
/*189123*/            OPC_RecordChild1, // #2 = $idx
/*189124*/            OPC_MoveChild1,
/*189125*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189128*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*189130*/            OPC_CheckType, MVT::i64,
/*189132*/            OPC_MoveParent,
/*189133*/            OPC_CheckType, MVT::v2i32,
/*189135*/            OPC_MoveParent,
/*189136*/            OPC_CheckType, MVT::v2i64,
/*189138*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189140*/            OPC_EmitConvertToTarget, 2,
/*189142*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv2i32_indexed), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 15
                      // Dst: (UMULLv2i32_indexed:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*189151*/          /*Scope*/ 15, /*->189167*/
/*189152*/            OPC_RecordChild2, // #1 = $Rm
/*189153*/            OPC_CheckChild2Type, MVT::v2i32,
/*189155*/            OPC_CheckType, MVT::v2i64,
/*189157*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189159*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv2i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                      // Dst: (UMULLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*189167*/          0, /*End of Scope*/
/*189168*/        /*Scope*/ 17, /*->189186*/
/*189169*/          OPC_CheckChild1Type, MVT::v8i8,
/*189171*/          OPC_RecordChild2, // #1 = $Rm
/*189172*/          OPC_CheckChild2Type, MVT::v8i8,
/*189174*/          OPC_CheckType, MVT::v8i16,
/*189176*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189178*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[v8i16] } 441:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                    // Dst: (UMULLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*189186*/        0, /*End of Scope*/
/*189187*/      0, /*End of Scope*/
/*189188*/    /*Scope*/ 61, /*->189250*/
/*189189*/      OPC_CheckChild0Integer, 108|128,2/*364*/, 
/*189192*/      OPC_Scope, 36, /*->189230*/ // 2 children in Scope
/*189194*/        OPC_MoveChild1,
/*189195*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*189198*/        OPC_RecordChild0, // #0 = $Rn
/*189199*/        OPC_CheckChild1Integer, 8, 
/*189201*/        OPC_CheckChild1Type, MVT::i64,
/*189203*/        OPC_CheckType, MVT::v8i8,
/*189205*/        OPC_MoveParent,
/*189206*/        OPC_MoveChild2,
/*189207*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*189210*/        OPC_RecordChild0, // #1 = $Rm
/*189211*/        OPC_CheckChild1Integer, 8, 
/*189213*/        OPC_CheckChild1Type, MVT::i64,
/*189215*/        OPC_CheckType, MVT::v8i8,
/*189217*/        OPC_MoveParent,
/*189218*/        OPC_CheckType, MVT::v8i16,
/*189220*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189222*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PMULLv16i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 364:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })) - Complexity = 24
                  // Dst: (PMULLv16i8:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*189230*/      /*Scope*/ 18, /*->189249*/
/*189231*/        OPC_RecordChild1, // #0 = $Rn
/*189232*/        OPC_CheckChild1Type, MVT::v8i8,
/*189234*/        OPC_RecordChild2, // #1 = $Rm
/*189235*/        OPC_CheckChild2Type, MVT::v8i8,
/*189237*/        OPC_CheckType, MVT::v8i16,
/*189239*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*189241*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PMULLv8i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 364:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (PMULLv8i8:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*189249*/      0, /*End of Scope*/
/*189250*/    /*Scope*/ 49, /*->189300*/
/*189251*/      OPC_CheckChild0Integer, 109|128,2/*365*/, 
/*189254*/      OPC_Scope, 32, /*->189288*/ // 2 children in Scope
/*189256*/        OPC_MoveChild1,
/*189257*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*189260*/        OPC_RecordChild0, // #0 = $Rn
/*189261*/        OPC_CheckChild0Type, MVT::v2i64,
/*189263*/        OPC_CheckChild1Integer, 1, 
/*189265*/        OPC_CheckChild1Type, MVT::i64,
/*189267*/        OPC_MoveParent,
/*189268*/        OPC_MoveChild2,
/*189269*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*189272*/        OPC_RecordChild0, // #1 = $Rm
/*189273*/        OPC_CheckChild0Type, MVT::v2i64,
/*189275*/        OPC_CheckChild1Integer, 1, 
/*189277*/        OPC_CheckChild1Type, MVT::i64,
/*189279*/        OPC_MoveParent,
/*189280*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PMULLv2i64), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 365:{ *:[iPTR] }, (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, 1:{ *:[i64] }), (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$Rm, 1:{ *:[i64] })) - Complexity = 24
                  // Dst: (PMULLv2i64:{ *:[v16i8] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*189288*/      /*Scope*/ 10, /*->189299*/
/*189289*/        OPC_RecordChild1, // #0 = $Rn
/*189290*/        OPC_RecordChild2, // #1 = $Rm
/*189291*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PMULLv1i64), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 365:{ *:[iPTR] }, V64:{ *:[i64] }:$Rn, V64:{ *:[i64] }:$Rm) - Complexity = 8
                  // Dst: (PMULLv1i64:{ *:[v16i8] } V64:{ *:[i64] }:$Rn, V64:{ *:[i64] }:$Rm)
/*189299*/      0, /*End of Scope*/
/*189300*/    /*Scope*/ 16|128,1/*144*/, /*->189446*/
/*189302*/      OPC_CheckChild0Integer, 121|128,2/*377*/, 
/*189305*/      OPC_RecordChild1, // #0 = $Rd
/*189306*/      OPC_Scope, 68, /*->189376*/ // 2 children in Scope
/*189308*/        OPC_CheckChild1Type, MVT::v2i32,
/*189310*/        OPC_RecordChild2, // #1 = $Rn
/*189311*/        OPC_CheckChild2Type, MVT::v8i8,
/*189313*/        OPC_Scope, 43, /*->189358*/ // 2 children in Scope
/*189315*/          OPC_MoveChild3,
/*189316*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
/*189319*/          OPC_MoveChild0,
/*189320*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*189323*/          OPC_RecordChild0, // #2 = $Rm
/*189324*/          OPC_CheckChild0Type, MVT::v4i32,
/*189326*/          OPC_RecordChild1, // #3 = $idx
/*189327*/          OPC_MoveChild1,
/*189328*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189331*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*189333*/          OPC_CheckType, MVT::i64,
/*189335*/          OPC_MoveParent,
/*189336*/          OPC_CheckType, MVT::v2i32,
/*189338*/          OPC_MoveParent,
/*189339*/          OPC_CheckType, MVT::v8i8,
/*189341*/          OPC_MoveParent,
/*189342*/          OPC_CheckType, MVT::v2i32,
/*189344*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*189346*/          OPC_EmitConvertToTarget, 3,
/*189348*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDOTlanev8i8), 0,
                        MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 377:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, V64:{ *:[v8i8] }:$Rn, (bitconvert:{ *:[v8i8] } (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 18
                    // Dst: (SDOTlanev8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v8i8] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*189358*/        /*Scope*/ 16, /*->189375*/
/*189359*/          OPC_RecordChild3, // #2 = $Rm
/*189360*/          OPC_CheckChild3Type, MVT::v8i8,
/*189362*/          OPC_CheckType, MVT::v2i32,
/*189364*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*189366*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDOTv8i8), 0,
                        MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 377:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                    // Dst: (SDOTv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*189375*/        0, /*End of Scope*/
/*189376*/      /*Scope*/ 68, /*->189445*/
/*189377*/        OPC_CheckChild1Type, MVT::v4i32,
/*189379*/        OPC_RecordChild2, // #1 = $Rn
/*189380*/        OPC_CheckChild2Type, MVT::v16i8,
/*189382*/        OPC_Scope, 43, /*->189427*/ // 2 children in Scope
/*189384*/          OPC_MoveChild3,
/*189385*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
/*189388*/          OPC_MoveChild0,
/*189389*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*189392*/          OPC_RecordChild0, // #2 = $Rm
/*189393*/          OPC_CheckChild0Type, MVT::v4i32,
/*189395*/          OPC_RecordChild1, // #3 = $idx
/*189396*/          OPC_MoveChild1,
/*189397*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189400*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*189402*/          OPC_CheckType, MVT::i64,
/*189404*/          OPC_MoveParent,
/*189405*/          OPC_CheckType, MVT::v4i32,
/*189407*/          OPC_MoveParent,
/*189408*/          OPC_CheckType, MVT::v16i8,
/*189410*/          OPC_MoveParent,
/*189411*/          OPC_CheckType, MVT::v4i32,
/*189413*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*189415*/          OPC_EmitConvertToTarget, 3,
/*189417*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDOTlanev16i8), 0,
                        MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 377:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v16i8] }:$Rn, (bitconvert:{ *:[v16i8] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 18
                    // Dst: (SDOTlanev16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*189427*/        /*Scope*/ 16, /*->189444*/
/*189428*/          OPC_RecordChild3, // #2 = $Rm
/*189429*/          OPC_CheckChild3Type, MVT::v16i8,
/*189431*/          OPC_CheckType, MVT::v4i32,
/*189433*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*189435*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDOTv16i8), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 377:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                    // Dst: (SDOTv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*189444*/        0, /*End of Scope*/
/*189445*/      0, /*End of Scope*/
/*189446*/    /*Scope*/ 16|128,1/*144*/, /*->189592*/
/*189448*/      OPC_CheckChild0Integer, 48|128,3/*432*/, 
/*189451*/      OPC_RecordChild1, // #0 = $Rd
/*189452*/      OPC_Scope, 68, /*->189522*/ // 2 children in Scope
/*189454*/        OPC_CheckChild1Type, MVT::v2i32,
/*189456*/        OPC_RecordChild2, // #1 = $Rn
/*189457*/        OPC_CheckChild2Type, MVT::v8i8,
/*189459*/        OPC_Scope, 43, /*->189504*/ // 2 children in Scope
/*189461*/          OPC_MoveChild3,
/*189462*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
/*189465*/          OPC_MoveChild0,
/*189466*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*189469*/          OPC_RecordChild0, // #2 = $Rm
/*189470*/          OPC_CheckChild0Type, MVT::v4i32,
/*189472*/          OPC_RecordChild1, // #3 = $idx
/*189473*/          OPC_MoveChild1,
/*189474*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189477*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*189479*/          OPC_CheckType, MVT::i64,
/*189481*/          OPC_MoveParent,
/*189482*/          OPC_CheckType, MVT::v2i32,
/*189484*/          OPC_MoveParent,
/*189485*/          OPC_CheckType, MVT::v8i8,
/*189487*/          OPC_MoveParent,
/*189488*/          OPC_CheckType, MVT::v2i32,
/*189490*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*189492*/          OPC_EmitConvertToTarget, 3,
/*189494*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDOTlanev8i8), 0,
                        MVT::v2i32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 432:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, V64:{ *:[v8i8] }:$Rn, (bitconvert:{ *:[v8i8] } (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 18
                    // Dst: (UDOTlanev8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v8i8] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*189504*/        /*Scope*/ 16, /*->189521*/
/*189505*/          OPC_RecordChild3, // #2 = $Rm
/*189506*/          OPC_CheckChild3Type, MVT::v8i8,
/*189508*/          OPC_CheckType, MVT::v2i32,
/*189510*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*189512*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDOTv8i8), 0,
                        MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2i32] } 432:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                    // Dst: (UDOTv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*189521*/        0, /*End of Scope*/
/*189522*/      /*Scope*/ 68, /*->189591*/
/*189523*/        OPC_CheckChild1Type, MVT::v4i32,
/*189525*/        OPC_RecordChild2, // #1 = $Rn
/*189526*/        OPC_CheckChild2Type, MVT::v16i8,
/*189528*/        OPC_Scope, 43, /*->189573*/ // 2 children in Scope
/*189530*/          OPC_MoveChild3,
/*189531*/          OPC_CheckOpcode, TARGET_VAL(ISD::BITCAST),
/*189534*/          OPC_MoveChild0,
/*189535*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*189538*/          OPC_RecordChild0, // #2 = $Rm
/*189539*/          OPC_CheckChild0Type, MVT::v4i32,
/*189541*/          OPC_RecordChild1, // #3 = $idx
/*189542*/          OPC_MoveChild1,
/*189543*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189546*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*189548*/          OPC_CheckType, MVT::i64,
/*189550*/          OPC_MoveParent,
/*189551*/          OPC_CheckType, MVT::v4i32,
/*189553*/          OPC_MoveParent,
/*189554*/          OPC_CheckType, MVT::v16i8,
/*189556*/          OPC_MoveParent,
/*189557*/          OPC_CheckType, MVT::v4i32,
/*189559*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*189561*/          OPC_EmitConvertToTarget, 3,
/*189563*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDOTlanev16i8), 0,
                        MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 432:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v16i8] }:$Rn, (bitconvert:{ *:[v16i8] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 18
                    // Dst: (UDOTlanev16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*189573*/        /*Scope*/ 16, /*->189590*/
/*189574*/          OPC_RecordChild3, // #2 = $Rm
/*189575*/          OPC_CheckChild3Type, MVT::v16i8,
/*189577*/          OPC_CheckType, MVT::v4i32,
/*189579*/          OPC_CheckPatternPredicate, 0, // (Subtarget->hasDotProd())
/*189581*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDOTv16i8), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4i32] } 432:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                    // Dst: (UDOTv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*189590*/        0, /*End of Scope*/
/*189591*/      0, /*End of Scope*/
/*189592*/    /*Scope*/ 30|128,1/*158*/, /*->189752*/
/*189594*/      OPC_CheckChild0Integer, 74|128,3/*458*/, 
/*189597*/      OPC_RecordChild1, // #0 = $Vd
/*189598*/      OPC_Scope, 37, /*->189637*/ // 4 children in Scope
/*189600*/        OPC_CheckChild1Type, MVT::v16i8,
/*189602*/        OPC_RecordChild2, // #1 = $idx
/*189603*/        OPC_MoveChild2,
/*189604*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189607*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*189609*/        OPC_MoveParent,
/*189610*/        OPC_RecordChild3, // #2 = $Vs
/*189611*/        OPC_CheckChild3Type, MVT::v16i8,
/*189613*/        OPC_RecordChild4, // #3 = $idx2
/*189614*/        OPC_MoveChild4,
/*189615*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189618*/        OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*189620*/        OPC_MoveParent,
/*189621*/        OPC_CheckType, MVT::v16i8,
/*189623*/        OPC_EmitConvertToTarget, 1,
/*189625*/        OPC_EmitConvertToTarget, 3,
/*189627*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi8lane), 0,
                      MVT::v16i8, 4/*#Ops*/, 0, 4, 2, 5, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 458:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Vd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, V128:{ *:[v16i8] }:$Vs, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx2) - Complexity = 16
                  // Dst: (INSvi8lane:{ *:[v16i8] } V128:{ *:[v16i8] }:$Vd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, V128:{ *:[v16i8] }:$Vs, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx2)
/*189637*/      /*Scope*/ 37, /*->189675*/
/*189638*/        OPC_CheckChild1Type, MVT::v8i16,
/*189640*/        OPC_RecordChild2, // #1 = $idx
/*189641*/        OPC_MoveChild2,
/*189642*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189645*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*189647*/        OPC_MoveParent,
/*189648*/        OPC_RecordChild3, // #2 = $Vs
/*189649*/        OPC_CheckChild3Type, MVT::v8i16,
/*189651*/        OPC_RecordChild4, // #3 = $idx2
/*189652*/        OPC_MoveChild4,
/*189653*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189656*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*189658*/        OPC_MoveParent,
/*189659*/        OPC_CheckType, MVT::v8i16,
/*189661*/        OPC_EmitConvertToTarget, 1,
/*189663*/        OPC_EmitConvertToTarget, 3,
/*189665*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi16lane), 0,
                      MVT::v8i16, 4/*#Ops*/, 0, 4, 2, 5, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 458:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Vd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, V128:{ *:[v8i16] }:$Vs, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx2) - Complexity = 16
                  // Dst: (INSvi16lane:{ *:[v8i16] } V128:{ *:[v8i16] }:$Vd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, V128:{ *:[v8i16] }:$Vs, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx2)
/*189675*/      /*Scope*/ 37, /*->189713*/
/*189676*/        OPC_CheckChild1Type, MVT::v4i32,
/*189678*/        OPC_RecordChild2, // #1 = $idx
/*189679*/        OPC_MoveChild2,
/*189680*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189683*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*189685*/        OPC_MoveParent,
/*189686*/        OPC_RecordChild3, // #2 = $Vs
/*189687*/        OPC_CheckChild3Type, MVT::v4i32,
/*189689*/        OPC_RecordChild4, // #3 = $idx2
/*189690*/        OPC_MoveChild4,
/*189691*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189694*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*189696*/        OPC_MoveParent,
/*189697*/        OPC_CheckType, MVT::v4i32,
/*189699*/        OPC_EmitConvertToTarget, 1,
/*189701*/        OPC_EmitConvertToTarget, 3,
/*189703*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi32lane), 0,
                      MVT::v4i32, 4/*#Ops*/, 0, 4, 2, 5, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 458:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Vd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, V128:{ *:[v4i32] }:$Vs, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx2) - Complexity = 16
                  // Dst: (INSvi32lane:{ *:[v4i32] } V128:{ *:[v4i32] }:$Vd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, V128:{ *:[v4i32] }:$Vs, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx2)
/*189713*/      /*Scope*/ 37, /*->189751*/
/*189714*/        OPC_CheckChild1Type, MVT::v2i64,
/*189716*/        OPC_RecordChild2, // #1 = $idx
/*189717*/        OPC_MoveChild2,
/*189718*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189721*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*189723*/        OPC_MoveParent,
/*189724*/        OPC_RecordChild3, // #2 = $Vs
/*189725*/        OPC_CheckChild3Type, MVT::v2i64,
/*189727*/        OPC_RecordChild4, // #3 = $idx2
/*189728*/        OPC_MoveChild4,
/*189729*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*189732*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*189734*/        OPC_MoveParent,
/*189735*/        OPC_CheckType, MVT::v2i64,
/*189737*/        OPC_EmitConvertToTarget, 1,
/*189739*/        OPC_EmitConvertToTarget, 3,
/*189741*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v2i64, 4/*#Ops*/, 0, 4, 2, 5, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 458:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Vd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, V128:{ *:[v2i64] }:$Vs, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx2) - Complexity = 16
                  // Dst: (INSvi64lane:{ *:[v2i64] } V128:{ *:[v2i64] }:$Vd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, V128:{ *:[v2i64] }:$Vs, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx2)
/*189751*/      0, /*End of Scope*/
/*189752*/    /*Scope*/ 35, /*->189788*/
/*189753*/      OPC_CheckChild0Integer, 67|128,5/*707*/, 
/*189756*/      OPC_RecordChild1, // #0 = $Zn
/*189757*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*189759*/      OPC_RecordChild2, // #1 = $pattern
/*189760*/      OPC_MoveChild2,
/*189761*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189764*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*189766*/      OPC_MoveParent,
/*189767*/      OPC_RecordChild3, // #2 = $imm4
/*189768*/      OPC_MoveChild3,
/*189769*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189772*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*189774*/      OPC_MoveParent,
/*189775*/      OPC_CheckType, MVT::nxv8i16,
/*189777*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*189779*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCH_ZPiI), 0,
                    MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 707:{ *:[iPTR] }, ZPR16:{ *:[nxv8i16] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQINCH_ZPiI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*189788*/    /*Scope*/ 35, /*->189824*/
/*189789*/      OPC_CheckChild0Integer, 15|128,6/*783*/, 
/*189792*/      OPC_RecordChild1, // #0 = $Zn
/*189793*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*189795*/      OPC_RecordChild2, // #1 = $pattern
/*189796*/      OPC_MoveChild2,
/*189797*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189800*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*189802*/      OPC_MoveParent,
/*189803*/      OPC_RecordChild3, // #2 = $imm4
/*189804*/      OPC_MoveChild3,
/*189805*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189808*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*189810*/      OPC_MoveParent,
/*189811*/      OPC_CheckType, MVT::nxv8i16,
/*189813*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*189815*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCH_ZPiI), 0,
                    MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 783:{ *:[iPTR] }, ZPR16:{ *:[nxv8i16] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCH_ZPiI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*189824*/    /*Scope*/ 35, /*->189860*/
/*189825*/      OPC_CheckChild0Integer, 53|128,5/*693*/, 
/*189828*/      OPC_RecordChild1, // #0 = $Zn
/*189829*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*189831*/      OPC_RecordChild2, // #1 = $pattern
/*189832*/      OPC_MoveChild2,
/*189833*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189836*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*189838*/      OPC_MoveParent,
/*189839*/      OPC_RecordChild3, // #2 = $imm4
/*189840*/      OPC_MoveChild3,
/*189841*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189844*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*189846*/      OPC_MoveParent,
/*189847*/      OPC_CheckType, MVT::nxv8i16,
/*189849*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*189851*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECH_ZPiI), 0,
                    MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 693:{ *:[iPTR] }, ZPR16:{ *:[nxv8i16] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQDECH_ZPiI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*189860*/    /*Scope*/ 35, /*->189896*/
/*189861*/      OPC_CheckChild0Integer, 1|128,6/*769*/, 
/*189864*/      OPC_RecordChild1, // #0 = $Zn
/*189865*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*189867*/      OPC_RecordChild2, // #1 = $pattern
/*189868*/      OPC_MoveChild2,
/*189869*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189872*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*189874*/      OPC_MoveParent,
/*189875*/      OPC_RecordChild3, // #2 = $imm4
/*189876*/      OPC_MoveChild3,
/*189877*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189880*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*189882*/      OPC_MoveParent,
/*189883*/      OPC_CheckType, MVT::nxv8i16,
/*189885*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*189887*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECH_ZPiI), 0,
                    MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 769:{ *:[iPTR] }, ZPR16:{ *:[nxv8i16] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECH_ZPiI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*189896*/    /*Scope*/ 35, /*->189932*/
/*189897*/      OPC_CheckChild0Integer, 73|128,5/*713*/, 
/*189900*/      OPC_RecordChild1, // #0 = $Zn
/*189901*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*189903*/      OPC_RecordChild2, // #1 = $pattern
/*189904*/      OPC_MoveChild2,
/*189905*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189908*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*189910*/      OPC_MoveParent,
/*189911*/      OPC_RecordChild3, // #2 = $imm4
/*189912*/      OPC_MoveChild3,
/*189913*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189916*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*189918*/      OPC_MoveParent,
/*189919*/      OPC_CheckType, MVT::nxv4i32,
/*189921*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*189923*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCW_ZPiI), 0,
                    MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 713:{ *:[iPTR] }, ZPR32:{ *:[nxv4i32] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQINCW_ZPiI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*189932*/    /*Scope*/ 35, /*->189968*/
/*189933*/      OPC_CheckChild0Integer, 21|128,6/*789*/, 
/*189936*/      OPC_RecordChild1, // #0 = $Zn
/*189937*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*189939*/      OPC_RecordChild2, // #1 = $pattern
/*189940*/      OPC_MoveChild2,
/*189941*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189944*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*189946*/      OPC_MoveParent,
/*189947*/      OPC_RecordChild3, // #2 = $imm4
/*189948*/      OPC_MoveChild3,
/*189949*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189952*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*189954*/      OPC_MoveParent,
/*189955*/      OPC_CheckType, MVT::nxv4i32,
/*189957*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*189959*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCW_ZPiI), 0,
                    MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 789:{ *:[iPTR] }, ZPR32:{ *:[nxv4i32] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCW_ZPiI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*189968*/    /*Scope*/ 35, /*->190004*/
/*189969*/      OPC_CheckChild0Integer, 59|128,5/*699*/, 
/*189972*/      OPC_RecordChild1, // #0 = $Zn
/*189973*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*189975*/      OPC_RecordChild2, // #1 = $pattern
/*189976*/      OPC_MoveChild2,
/*189977*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189980*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*189982*/      OPC_MoveParent,
/*189983*/      OPC_RecordChild3, // #2 = $imm4
/*189984*/      OPC_MoveChild3,
/*189985*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*189988*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*189990*/      OPC_MoveParent,
/*189991*/      OPC_CheckType, MVT::nxv4i32,
/*189993*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*189995*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECW_ZPiI), 0,
                    MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 699:{ *:[iPTR] }, ZPR32:{ *:[nxv4i32] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQDECW_ZPiI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*190004*/    /*Scope*/ 35, /*->190040*/
/*190005*/      OPC_CheckChild0Integer, 7|128,6/*775*/, 
/*190008*/      OPC_RecordChild1, // #0 = $Zn
/*190009*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*190011*/      OPC_RecordChild2, // #1 = $pattern
/*190012*/      OPC_MoveChild2,
/*190013*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190016*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*190018*/      OPC_MoveParent,
/*190019*/      OPC_RecordChild3, // #2 = $imm4
/*190020*/      OPC_MoveChild3,
/*190021*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190024*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*190026*/      OPC_MoveParent,
/*190027*/      OPC_CheckType, MVT::nxv4i32,
/*190029*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190031*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECW_ZPiI), 0,
                    MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 775:{ *:[iPTR] }, ZPR32:{ *:[nxv4i32] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECW_ZPiI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*190040*/    /*Scope*/ 35, /*->190076*/
/*190041*/      OPC_CheckChild0Integer, 64|128,5/*704*/, 
/*190044*/      OPC_RecordChild1, // #0 = $Zn
/*190045*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*190047*/      OPC_RecordChild2, // #1 = $pattern
/*190048*/      OPC_MoveChild2,
/*190049*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190052*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*190054*/      OPC_MoveParent,
/*190055*/      OPC_RecordChild3, // #2 = $imm4
/*190056*/      OPC_MoveChild3,
/*190057*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190060*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*190062*/      OPC_MoveParent,
/*190063*/      OPC_CheckType, MVT::nxv2i64,
/*190065*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190067*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCD_ZPiI), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 704:{ *:[iPTR] }, ZPR64:{ *:[nxv2i64] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQINCD_ZPiI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*190076*/    /*Scope*/ 35, /*->190112*/
/*190077*/      OPC_CheckChild0Integer, 12|128,6/*780*/, 
/*190080*/      OPC_RecordChild1, // #0 = $Zn
/*190081*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*190083*/      OPC_RecordChild2, // #1 = $pattern
/*190084*/      OPC_MoveChild2,
/*190085*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190088*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*190090*/      OPC_MoveParent,
/*190091*/      OPC_RecordChild3, // #2 = $imm4
/*190092*/      OPC_MoveChild3,
/*190093*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190096*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*190098*/      OPC_MoveParent,
/*190099*/      OPC_CheckType, MVT::nxv2i64,
/*190101*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190103*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCD_ZPiI), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 780:{ *:[iPTR] }, ZPR64:{ *:[nxv2i64] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQINCD_ZPiI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*190112*/    /*Scope*/ 35, /*->190148*/
/*190113*/      OPC_CheckChild0Integer, 50|128,5/*690*/, 
/*190116*/      OPC_RecordChild1, // #0 = $Zn
/*190117*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*190119*/      OPC_RecordChild2, // #1 = $pattern
/*190120*/      OPC_MoveChild2,
/*190121*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190124*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*190126*/      OPC_MoveParent,
/*190127*/      OPC_RecordChild3, // #2 = $imm4
/*190128*/      OPC_MoveChild3,
/*190129*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190132*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*190134*/      OPC_MoveParent,
/*190135*/      OPC_CheckType, MVT::nxv2i64,
/*190137*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190139*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECD_ZPiI), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 690:{ *:[iPTR] }, ZPR64:{ *:[nxv2i64] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (SQDECD_ZPiI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*190148*/    /*Scope*/ 35, /*->190184*/
/*190149*/      OPC_CheckChild0Integer, 126|128,5/*766*/, 
/*190152*/      OPC_RecordChild1, // #0 = $Zn
/*190153*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*190155*/      OPC_RecordChild2, // #1 = $pattern
/*190156*/      OPC_MoveChild2,
/*190157*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190160*/      OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*190162*/      OPC_MoveParent,
/*190163*/      OPC_RecordChild3, // #2 = $imm4
/*190164*/      OPC_MoveChild3,
/*190165*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*190168*/      OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*190170*/      OPC_MoveParent,
/*190171*/      OPC_CheckType, MVT::nxv2i64,
/*190173*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190175*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECD_ZPiI), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 766:{ *:[iPTR] }, ZPR64:{ *:[nxv2i64] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4) - Complexity = 16
                // Dst: (UQDECD_ZPiI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Zn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*190184*/    /*Scope*/ 44, /*->190229*/
/*190185*/      OPC_CheckChild0Integer, 27|128,2/*283*/, 
/*190188*/      OPC_Scope, 27, /*->190217*/ // 2 children in Scope
/*190190*/        OPC_MoveChild1,
/*190191*/        OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*190194*/        OPC_CheckChild0Integer, 25|128,2/*281*/, 
/*190197*/        OPC_RecordChild1, // #0 = $src1
/*190198*/        OPC_RecordChild2, // #1 = $src2
/*190199*/        OPC_MoveParent,
/*190200*/        OPC_CheckPatternPredicate, 15, // (Subtarget->hasFuseAES())
/*190202*/        OPC_EmitNode1, TARGET_VAL(AArch64::AESErr), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1,  // Results = #2
/*190210*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AESMCrrTied), 0,
                      MVT::v16i8, 1/*#Ops*/, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 283:{ *:[iPTR] }, (intrinsic_wo_chain:{ *:[v16i8] } 281:{ *:[iPTR] }, V128:{ *:[v16i8] }:$src1, V128:{ *:[v16i8] }:$src2)) - Complexity = 16
                  // Dst: (AESMCrrTied:{ *:[v16i8] } (AESErr:{ *:[v16i8] } V128:{ *:[v16i8] }:$src1, V128:{ *:[v16i8] }:$src2))
/*190217*/      /*Scope*/ 10, /*->190228*/
/*190218*/        OPC_RecordChild1, // #0 = $Rn
/*190219*/        OPC_CheckPatternPredicate, 16, // (Subtarget->hasAES())
/*190221*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AESMCrr), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 283:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (AESMCrr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*190228*/      0, /*End of Scope*/
/*190229*/    /*Scope*/ 44, /*->190274*/
/*190230*/      OPC_CheckChild0Integer, 26|128,2/*282*/, 
/*190233*/      OPC_Scope, 27, /*->190262*/ // 2 children in Scope
/*190235*/        OPC_MoveChild1,
/*190236*/        OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*190239*/        OPC_CheckChild0Integer, 24|128,2/*280*/, 
/*190242*/        OPC_RecordChild1, // #0 = $src1
/*190243*/        OPC_RecordChild2, // #1 = $src2
/*190244*/        OPC_MoveParent,
/*190245*/        OPC_CheckPatternPredicate, 15, // (Subtarget->hasFuseAES())
/*190247*/        OPC_EmitNode1, TARGET_VAL(AArch64::AESDrr), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1,  // Results = #2
/*190255*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AESIMCrrTied), 0,
                      MVT::v16i8, 1/*#Ops*/, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 282:{ *:[iPTR] }, (intrinsic_wo_chain:{ *:[v16i8] } 280:{ *:[iPTR] }, V128:{ *:[v16i8] }:$src1, V128:{ *:[v16i8] }:$src2)) - Complexity = 16
                  // Dst: (AESIMCrrTied:{ *:[v16i8] } (AESDrr:{ *:[v16i8] } V128:{ *:[v16i8] }:$src1, V128:{ *:[v16i8] }:$src2))
/*190262*/      /*Scope*/ 10, /*->190273*/
/*190263*/        OPC_RecordChild1, // #0 = $Rn
/*190264*/        OPC_CheckPatternPredicate, 16, // (Subtarget->hasAES())
/*190266*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AESIMCrr), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 282:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (AESIMCrr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*190273*/      0, /*End of Scope*/
/*190274*/    /*Scope*/ 22|128,3/*406*/, /*->190682*/
/*190276*/      OPC_CheckChild0Integer, 116|128,3/*500*/, 
/*190279*/      OPC_RecordChild1, // #0 = $Pg
/*190280*/      OPC_Scope, 99, /*->190381*/ // 4 children in Scope
/*190282*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*190284*/        OPC_Scope, 36, /*->190322*/ // 3 children in Scope
/*190286*/          OPC_RecordChild2, // #1 = $Zs1
/*190287*/          OPC_CheckChild2Type, MVT::nxv16i8,
/*190289*/          OPC_MoveChild3,
/*190290*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190293*/          OPC_RecordChild0, // #2 = $imm
/*190294*/          OPC_MoveChild0,
/*190295*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190298*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190300*/          OPC_CheckType, MVT::i32,
/*190302*/          OPC_MoveParent,
/*190303*/          OPC_CheckType, MVT::nxv16i8,
/*190305*/          OPC_MoveParent,
/*190306*/          OPC_CheckType, MVT::nxv16i1,
/*190308*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190310*/          OPC_EmitConvertToTarget, 2,
/*190312*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 500:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPGE_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190322*/        /*Scope*/ 36, /*->190359*/
/*190323*/          OPC_MoveChild2,
/*190324*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190327*/          OPC_RecordChild0, // #1 = $imm
/*190328*/          OPC_MoveChild0,
/*190329*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190332*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190334*/          OPC_CheckType, MVT::i32,
/*190336*/          OPC_MoveParent,
/*190337*/          OPC_CheckType, MVT::nxv16i8,
/*190339*/          OPC_MoveParent,
/*190340*/          OPC_RecordChild3, // #2 = $Zs1
/*190341*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*190343*/          OPC_CheckType, MVT::nxv16i1,
/*190345*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190347*/          OPC_EmitConvertToTarget, 1,
/*190349*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 500:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), ZPR:{ *:[nxv16i8] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLE_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190359*/        /*Scope*/ 20, /*->190380*/
/*190360*/          OPC_RecordChild2, // #1 = $Op2
/*190361*/          OPC_CheckChild2Type, MVT::nxv16i8,
/*190363*/          OPC_RecordChild3, // #2 = $Op3
/*190364*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*190366*/          OPC_CheckType, MVT::nxv16i1,
/*190368*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190370*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZZ_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 500:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                    // Dst: (CMPGE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*190380*/        0, /*End of Scope*/
/*190381*/      /*Scope*/ 99, /*->190481*/
/*190382*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*190384*/        OPC_Scope, 36, /*->190422*/ // 3 children in Scope
/*190386*/          OPC_RecordChild2, // #1 = $Zs1
/*190387*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*190389*/          OPC_MoveChild3,
/*190390*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190393*/          OPC_RecordChild0, // #2 = $imm
/*190394*/          OPC_MoveChild0,
/*190395*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190398*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190400*/          OPC_CheckType, MVT::i32,
/*190402*/          OPC_MoveParent,
/*190403*/          OPC_CheckType, MVT::nxv8i16,
/*190405*/          OPC_MoveParent,
/*190406*/          OPC_CheckType, MVT::nxv8i1,
/*190408*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190410*/          OPC_EmitConvertToTarget, 2,
/*190412*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 500:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPGE_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190422*/        /*Scope*/ 36, /*->190459*/
/*190423*/          OPC_MoveChild2,
/*190424*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190427*/          OPC_RecordChild0, // #1 = $imm
/*190428*/          OPC_MoveChild0,
/*190429*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190432*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190434*/          OPC_CheckType, MVT::i32,
/*190436*/          OPC_MoveParent,
/*190437*/          OPC_CheckType, MVT::nxv8i16,
/*190439*/          OPC_MoveParent,
/*190440*/          OPC_RecordChild3, // #2 = $Zs1
/*190441*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*190443*/          OPC_CheckType, MVT::nxv8i1,
/*190445*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190447*/          OPC_EmitConvertToTarget, 1,
/*190449*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 500:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), ZPR:{ *:[nxv8i16] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLE_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190459*/        /*Scope*/ 20, /*->190480*/
/*190460*/          OPC_RecordChild2, // #1 = $Op2
/*190461*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*190463*/          OPC_RecordChild3, // #2 = $Op3
/*190464*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*190466*/          OPC_CheckType, MVT::nxv8i1,
/*190468*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190470*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZZ_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 500:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CMPGE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*190480*/        0, /*End of Scope*/
/*190481*/      /*Scope*/ 99, /*->190581*/
/*190482*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*190484*/        OPC_Scope, 36, /*->190522*/ // 3 children in Scope
/*190486*/          OPC_RecordChild2, // #1 = $Zs1
/*190487*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*190489*/          OPC_MoveChild3,
/*190490*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190493*/          OPC_RecordChild0, // #2 = $imm
/*190494*/          OPC_MoveChild0,
/*190495*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190498*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190500*/          OPC_CheckType, MVT::i32,
/*190502*/          OPC_MoveParent,
/*190503*/          OPC_CheckType, MVT::nxv4i32,
/*190505*/          OPC_MoveParent,
/*190506*/          OPC_CheckType, MVT::nxv4i1,
/*190508*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190510*/          OPC_EmitConvertToTarget, 2,
/*190512*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 500:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPGE_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190522*/        /*Scope*/ 36, /*->190559*/
/*190523*/          OPC_MoveChild2,
/*190524*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190527*/          OPC_RecordChild0, // #1 = $imm
/*190528*/          OPC_MoveChild0,
/*190529*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190532*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190534*/          OPC_CheckType, MVT::i32,
/*190536*/          OPC_MoveParent,
/*190537*/          OPC_CheckType, MVT::nxv4i32,
/*190539*/          OPC_MoveParent,
/*190540*/          OPC_RecordChild3, // #2 = $Zs1
/*190541*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*190543*/          OPC_CheckType, MVT::nxv4i1,
/*190545*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190547*/          OPC_EmitConvertToTarget, 1,
/*190549*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 500:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), ZPR:{ *:[nxv4i32] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLE_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190559*/        /*Scope*/ 20, /*->190580*/
/*190560*/          OPC_RecordChild2, // #1 = $Op2
/*190561*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*190563*/          OPC_RecordChild3, // #2 = $Op3
/*190564*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*190566*/          OPC_CheckType, MVT::nxv4i1,
/*190568*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190570*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZZ_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 500:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CMPGE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*190580*/        0, /*End of Scope*/
/*190581*/      /*Scope*/ 99, /*->190681*/
/*190582*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*190584*/        OPC_Scope, 36, /*->190622*/ // 3 children in Scope
/*190586*/          OPC_RecordChild2, // #1 = $Zs1
/*190587*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*190589*/          OPC_MoveChild3,
/*190590*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190593*/          OPC_RecordChild0, // #2 = $imm
/*190594*/          OPC_MoveChild0,
/*190595*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190598*/          OPC_CheckPredicate, 25, // Predicate_simm5_64b
/*190600*/          OPC_CheckType, MVT::i64,
/*190602*/          OPC_MoveParent,
/*190603*/          OPC_CheckType, MVT::nxv2i64,
/*190605*/          OPC_MoveParent,
/*190606*/          OPC_CheckType, MVT::nxv2i1,
/*190608*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190610*/          OPC_EmitConvertToTarget, 2,
/*190612*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 500:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)) - Complexity = 15
                    // Dst: (CMPGE_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*190622*/        /*Scope*/ 36, /*->190659*/
/*190623*/          OPC_MoveChild2,
/*190624*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190627*/          OPC_RecordChild0, // #1 = $imm
/*190628*/          OPC_MoveChild0,
/*190629*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190632*/          OPC_CheckPredicate, 25, // Predicate_simm5_64b
/*190634*/          OPC_CheckType, MVT::i64,
/*190636*/          OPC_MoveParent,
/*190637*/          OPC_CheckType, MVT::nxv2i64,
/*190639*/          OPC_MoveParent,
/*190640*/          OPC_RecordChild3, // #2 = $Zs1
/*190641*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*190643*/          OPC_CheckType, MVT::nxv2i1,
/*190645*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190647*/          OPC_EmitConvertToTarget, 1,
/*190649*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 500:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm), ZPR:{ *:[nxv2i64] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLE_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*190659*/        /*Scope*/ 20, /*->190680*/
/*190660*/          OPC_RecordChild2, // #1 = $Op2
/*190661*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*190663*/          OPC_RecordChild3, // #2 = $Op3
/*190664*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*190666*/          OPC_CheckType, MVT::nxv2i1,
/*190668*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190670*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZZ_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 500:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CMPGE_PPzZZ_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*190680*/        0, /*End of Scope*/
/*190681*/      0, /*End of Scope*/
/*190682*/    /*Scope*/ 22|128,3/*406*/, /*->191090*/
/*190684*/      OPC_CheckChild0Integer, 118|128,3/*502*/, 
/*190687*/      OPC_RecordChild1, // #0 = $Pg
/*190688*/      OPC_Scope, 99, /*->190789*/ // 4 children in Scope
/*190690*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*190692*/        OPC_Scope, 36, /*->190730*/ // 3 children in Scope
/*190694*/          OPC_RecordChild2, // #1 = $Zs1
/*190695*/          OPC_CheckChild2Type, MVT::nxv16i8,
/*190697*/          OPC_MoveChild3,
/*190698*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190701*/          OPC_RecordChild0, // #2 = $imm
/*190702*/          OPC_MoveChild0,
/*190703*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190706*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190708*/          OPC_CheckType, MVT::i32,
/*190710*/          OPC_MoveParent,
/*190711*/          OPC_CheckType, MVT::nxv16i8,
/*190713*/          OPC_MoveParent,
/*190714*/          OPC_CheckType, MVT::nxv16i1,
/*190716*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190718*/          OPC_EmitConvertToTarget, 2,
/*190720*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 502:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPGT_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190730*/        /*Scope*/ 36, /*->190767*/
/*190731*/          OPC_MoveChild2,
/*190732*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190735*/          OPC_RecordChild0, // #1 = $imm
/*190736*/          OPC_MoveChild0,
/*190737*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190740*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190742*/          OPC_CheckType, MVT::i32,
/*190744*/          OPC_MoveParent,
/*190745*/          OPC_CheckType, MVT::nxv16i8,
/*190747*/          OPC_MoveParent,
/*190748*/          OPC_RecordChild3, // #2 = $Zs1
/*190749*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*190751*/          OPC_CheckType, MVT::nxv16i1,
/*190753*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190755*/          OPC_EmitConvertToTarget, 1,
/*190757*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 502:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), ZPR:{ *:[nxv16i8] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLT_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190767*/        /*Scope*/ 20, /*->190788*/
/*190768*/          OPC_RecordChild2, // #1 = $Op2
/*190769*/          OPC_CheckChild2Type, MVT::nxv16i8,
/*190771*/          OPC_RecordChild3, // #2 = $Op3
/*190772*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*190774*/          OPC_CheckType, MVT::nxv16i1,
/*190776*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190778*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZZ_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 502:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                    // Dst: (CMPGT_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*190788*/        0, /*End of Scope*/
/*190789*/      /*Scope*/ 99, /*->190889*/
/*190790*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*190792*/        OPC_Scope, 36, /*->190830*/ // 3 children in Scope
/*190794*/          OPC_RecordChild2, // #1 = $Zs1
/*190795*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*190797*/          OPC_MoveChild3,
/*190798*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190801*/          OPC_RecordChild0, // #2 = $imm
/*190802*/          OPC_MoveChild0,
/*190803*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190806*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190808*/          OPC_CheckType, MVT::i32,
/*190810*/          OPC_MoveParent,
/*190811*/          OPC_CheckType, MVT::nxv8i16,
/*190813*/          OPC_MoveParent,
/*190814*/          OPC_CheckType, MVT::nxv8i1,
/*190816*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190818*/          OPC_EmitConvertToTarget, 2,
/*190820*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 502:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPGT_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190830*/        /*Scope*/ 36, /*->190867*/
/*190831*/          OPC_MoveChild2,
/*190832*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190835*/          OPC_RecordChild0, // #1 = $imm
/*190836*/          OPC_MoveChild0,
/*190837*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190840*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190842*/          OPC_CheckType, MVT::i32,
/*190844*/          OPC_MoveParent,
/*190845*/          OPC_CheckType, MVT::nxv8i16,
/*190847*/          OPC_MoveParent,
/*190848*/          OPC_RecordChild3, // #2 = $Zs1
/*190849*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*190851*/          OPC_CheckType, MVT::nxv8i1,
/*190853*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190855*/          OPC_EmitConvertToTarget, 1,
/*190857*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 502:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), ZPR:{ *:[nxv8i16] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLT_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190867*/        /*Scope*/ 20, /*->190888*/
/*190868*/          OPC_RecordChild2, // #1 = $Op2
/*190869*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*190871*/          OPC_RecordChild3, // #2 = $Op3
/*190872*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*190874*/          OPC_CheckType, MVT::nxv8i1,
/*190876*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190878*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZZ_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 502:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CMPGT_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*190888*/        0, /*End of Scope*/
/*190889*/      /*Scope*/ 99, /*->190989*/
/*190890*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*190892*/        OPC_Scope, 36, /*->190930*/ // 3 children in Scope
/*190894*/          OPC_RecordChild2, // #1 = $Zs1
/*190895*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*190897*/          OPC_MoveChild3,
/*190898*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190901*/          OPC_RecordChild0, // #2 = $imm
/*190902*/          OPC_MoveChild0,
/*190903*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190906*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190908*/          OPC_CheckType, MVT::i32,
/*190910*/          OPC_MoveParent,
/*190911*/          OPC_CheckType, MVT::nxv4i32,
/*190913*/          OPC_MoveParent,
/*190914*/          OPC_CheckType, MVT::nxv4i1,
/*190916*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190918*/          OPC_EmitConvertToTarget, 2,
/*190920*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 502:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPGT_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190930*/        /*Scope*/ 36, /*->190967*/
/*190931*/          OPC_MoveChild2,
/*190932*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*190935*/          OPC_RecordChild0, // #1 = $imm
/*190936*/          OPC_MoveChild0,
/*190937*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*190940*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*190942*/          OPC_CheckType, MVT::i32,
/*190944*/          OPC_MoveParent,
/*190945*/          OPC_CheckType, MVT::nxv4i32,
/*190947*/          OPC_MoveParent,
/*190948*/          OPC_RecordChild3, // #2 = $Zs1
/*190949*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*190951*/          OPC_CheckType, MVT::nxv4i1,
/*190953*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190955*/          OPC_EmitConvertToTarget, 1,
/*190957*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 502:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), ZPR:{ *:[nxv4i32] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLT_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*190967*/        /*Scope*/ 20, /*->190988*/
/*190968*/          OPC_RecordChild2, // #1 = $Op2
/*190969*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*190971*/          OPC_RecordChild3, // #2 = $Op3
/*190972*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*190974*/          OPC_CheckType, MVT::nxv4i1,
/*190976*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*190978*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZZ_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 502:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CMPGT_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*190988*/        0, /*End of Scope*/
/*190989*/      /*Scope*/ 99, /*->191089*/
/*190990*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*190992*/        OPC_Scope, 36, /*->191030*/ // 3 children in Scope
/*190994*/          OPC_RecordChild2, // #1 = $Zs1
/*190995*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*190997*/          OPC_MoveChild3,
/*190998*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191001*/          OPC_RecordChild0, // #2 = $imm
/*191002*/          OPC_MoveChild0,
/*191003*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191006*/          OPC_CheckPredicate, 25, // Predicate_simm5_64b
/*191008*/          OPC_CheckType, MVT::i64,
/*191010*/          OPC_MoveParent,
/*191011*/          OPC_CheckType, MVT::nxv2i64,
/*191013*/          OPC_MoveParent,
/*191014*/          OPC_CheckType, MVT::nxv2i1,
/*191016*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191018*/          OPC_EmitConvertToTarget, 2,
/*191020*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 502:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)) - Complexity = 15
                    // Dst: (CMPGT_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*191030*/        /*Scope*/ 36, /*->191067*/
/*191031*/          OPC_MoveChild2,
/*191032*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191035*/          OPC_RecordChild0, // #1 = $imm
/*191036*/          OPC_MoveChild0,
/*191037*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191040*/          OPC_CheckPredicate, 25, // Predicate_simm5_64b
/*191042*/          OPC_CheckType, MVT::i64,
/*191044*/          OPC_MoveParent,
/*191045*/          OPC_CheckType, MVT::nxv2i64,
/*191047*/          OPC_MoveParent,
/*191048*/          OPC_RecordChild3, // #2 = $Zs1
/*191049*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*191051*/          OPC_CheckType, MVT::nxv2i1,
/*191053*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191055*/          OPC_EmitConvertToTarget, 1,
/*191057*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 502:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm), ZPR:{ *:[nxv2i64] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLT_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*191067*/        /*Scope*/ 20, /*->191088*/
/*191068*/          OPC_RecordChild2, // #1 = $Op2
/*191069*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*191071*/          OPC_RecordChild3, // #2 = $Op3
/*191072*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*191074*/          OPC_CheckType, MVT::nxv2i1,
/*191076*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191078*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZZ_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 502:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CMPGT_PPzZZ_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*191088*/        0, /*End of Scope*/
/*191089*/      0, /*End of Scope*/
/*191090*/    /*Scope*/ 118|128,1/*246*/, /*->191338*/
/*191092*/      OPC_CheckChild0Integer, 114|128,3/*498*/, 
/*191095*/      OPC_RecordChild1, // #0 = $Pg
/*191096*/      OPC_Scope, 59, /*->191157*/ // 4 children in Scope
/*191098*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*191100*/        OPC_RecordChild2, // #1 = $Zs1
/*191101*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*191103*/        OPC_Scope, 33, /*->191138*/ // 2 children in Scope
/*191105*/          OPC_MoveChild3,
/*191106*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191109*/          OPC_RecordChild0, // #2 = $imm
/*191110*/          OPC_MoveChild0,
/*191111*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191114*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*191116*/          OPC_CheckType, MVT::i32,
/*191118*/          OPC_MoveParent,
/*191119*/          OPC_CheckType, MVT::nxv16i8,
/*191121*/          OPC_MoveParent,
/*191122*/          OPC_CheckType, MVT::nxv16i1,
/*191124*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191126*/          OPC_EmitConvertToTarget, 2,
/*191128*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 498:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPEQ_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*191138*/        /*Scope*/ 17, /*->191156*/
/*191139*/          OPC_RecordChild3, // #2 = $Op3
/*191140*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*191142*/          OPC_CheckType, MVT::nxv16i1,
/*191144*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191146*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZZ_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 498:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                    // Dst: (CMPEQ_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*191156*/        0, /*End of Scope*/
/*191157*/      /*Scope*/ 59, /*->191217*/
/*191158*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*191160*/        OPC_RecordChild2, // #1 = $Zs1
/*191161*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*191163*/        OPC_Scope, 33, /*->191198*/ // 2 children in Scope
/*191165*/          OPC_MoveChild3,
/*191166*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191169*/          OPC_RecordChild0, // #2 = $imm
/*191170*/          OPC_MoveChild0,
/*191171*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191174*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*191176*/          OPC_CheckType, MVT::i32,
/*191178*/          OPC_MoveParent,
/*191179*/          OPC_CheckType, MVT::nxv8i16,
/*191181*/          OPC_MoveParent,
/*191182*/          OPC_CheckType, MVT::nxv8i1,
/*191184*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191186*/          OPC_EmitConvertToTarget, 2,
/*191188*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 498:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPEQ_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*191198*/        /*Scope*/ 17, /*->191216*/
/*191199*/          OPC_RecordChild3, // #2 = $Op3
/*191200*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*191202*/          OPC_CheckType, MVT::nxv8i1,
/*191204*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191206*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZZ_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 498:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CMPEQ_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*191216*/        0, /*End of Scope*/
/*191217*/      /*Scope*/ 59, /*->191277*/
/*191218*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*191220*/        OPC_RecordChild2, // #1 = $Zs1
/*191221*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*191223*/        OPC_Scope, 33, /*->191258*/ // 2 children in Scope
/*191225*/          OPC_MoveChild3,
/*191226*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191229*/          OPC_RecordChild0, // #2 = $imm
/*191230*/          OPC_MoveChild0,
/*191231*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191234*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*191236*/          OPC_CheckType, MVT::i32,
/*191238*/          OPC_MoveParent,
/*191239*/          OPC_CheckType, MVT::nxv4i32,
/*191241*/          OPC_MoveParent,
/*191242*/          OPC_CheckType, MVT::nxv4i1,
/*191244*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191246*/          OPC_EmitConvertToTarget, 2,
/*191248*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 498:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPEQ_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*191258*/        /*Scope*/ 17, /*->191276*/
/*191259*/          OPC_RecordChild3, // #2 = $Op3
/*191260*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*191262*/          OPC_CheckType, MVT::nxv4i1,
/*191264*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191266*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZZ_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 498:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CMPEQ_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*191276*/        0, /*End of Scope*/
/*191277*/      /*Scope*/ 59, /*->191337*/
/*191278*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*191280*/        OPC_RecordChild2, // #1 = $Zs1
/*191281*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*191283*/        OPC_Scope, 33, /*->191318*/ // 2 children in Scope
/*191285*/          OPC_MoveChild3,
/*191286*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191289*/          OPC_RecordChild0, // #2 = $imm
/*191290*/          OPC_MoveChild0,
/*191291*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191294*/          OPC_CheckPredicate, 25, // Predicate_simm5_64b
/*191296*/          OPC_CheckType, MVT::i64,
/*191298*/          OPC_MoveParent,
/*191299*/          OPC_CheckType, MVT::nxv2i64,
/*191301*/          OPC_MoveParent,
/*191302*/          OPC_CheckType, MVT::nxv2i1,
/*191304*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191306*/          OPC_EmitConvertToTarget, 2,
/*191308*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 498:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)) - Complexity = 15
                    // Dst: (CMPEQ_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*191318*/        /*Scope*/ 17, /*->191336*/
/*191319*/          OPC_RecordChild3, // #2 = $Op3
/*191320*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*191322*/          OPC_CheckType, MVT::nxv2i1,
/*191324*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191326*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZZ_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 498:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CMPEQ_PPzZZ_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*191336*/        0, /*End of Scope*/
/*191337*/      0, /*End of Scope*/
/*191338*/    /*Scope*/ 118|128,1/*246*/, /*->191586*/
/*191340*/      OPC_CheckChild0Integer, 0|128,4/*512*/, 
/*191343*/      OPC_RecordChild1, // #0 = $Pg
/*191344*/      OPC_Scope, 59, /*->191405*/ // 4 children in Scope
/*191346*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*191348*/        OPC_RecordChild2, // #1 = $Zs1
/*191349*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*191351*/        OPC_Scope, 33, /*->191386*/ // 2 children in Scope
/*191353*/          OPC_MoveChild3,
/*191354*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191357*/          OPC_RecordChild0, // #2 = $imm
/*191358*/          OPC_MoveChild0,
/*191359*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191362*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*191364*/          OPC_CheckType, MVT::i32,
/*191366*/          OPC_MoveParent,
/*191367*/          OPC_CheckType, MVT::nxv16i8,
/*191369*/          OPC_MoveParent,
/*191370*/          OPC_CheckType, MVT::nxv16i1,
/*191372*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191374*/          OPC_EmitConvertToTarget, 2,
/*191376*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 512:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPNE_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*191386*/        /*Scope*/ 17, /*->191404*/
/*191387*/          OPC_RecordChild3, // #2 = $Op3
/*191388*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*191390*/          OPC_CheckType, MVT::nxv16i1,
/*191392*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191394*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZZ_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 512:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                    // Dst: (CMPNE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*191404*/        0, /*End of Scope*/
/*191405*/      /*Scope*/ 59, /*->191465*/
/*191406*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*191408*/        OPC_RecordChild2, // #1 = $Zs1
/*191409*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*191411*/        OPC_Scope, 33, /*->191446*/ // 2 children in Scope
/*191413*/          OPC_MoveChild3,
/*191414*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191417*/          OPC_RecordChild0, // #2 = $imm
/*191418*/          OPC_MoveChild0,
/*191419*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191422*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*191424*/          OPC_CheckType, MVT::i32,
/*191426*/          OPC_MoveParent,
/*191427*/          OPC_CheckType, MVT::nxv8i16,
/*191429*/          OPC_MoveParent,
/*191430*/          OPC_CheckType, MVT::nxv8i1,
/*191432*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191434*/          OPC_EmitConvertToTarget, 2,
/*191436*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 512:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPNE_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*191446*/        /*Scope*/ 17, /*->191464*/
/*191447*/          OPC_RecordChild3, // #2 = $Op3
/*191448*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*191450*/          OPC_CheckType, MVT::nxv8i1,
/*191452*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191454*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZZ_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 512:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CMPNE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*191464*/        0, /*End of Scope*/
/*191465*/      /*Scope*/ 59, /*->191525*/
/*191466*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*191468*/        OPC_RecordChild2, // #1 = $Zs1
/*191469*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*191471*/        OPC_Scope, 33, /*->191506*/ // 2 children in Scope
/*191473*/          OPC_MoveChild3,
/*191474*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191477*/          OPC_RecordChild0, // #2 = $imm
/*191478*/          OPC_MoveChild0,
/*191479*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191482*/          OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*191484*/          OPC_CheckType, MVT::i32,
/*191486*/          OPC_MoveParent,
/*191487*/          OPC_CheckType, MVT::nxv4i32,
/*191489*/          OPC_MoveParent,
/*191490*/          OPC_CheckType, MVT::nxv4i1,
/*191492*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191494*/          OPC_EmitConvertToTarget, 2,
/*191496*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 512:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)) - Complexity = 15
                    // Dst: (CMPNE_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*191506*/        /*Scope*/ 17, /*->191524*/
/*191507*/          OPC_RecordChild3, // #2 = $Op3
/*191508*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*191510*/          OPC_CheckType, MVT::nxv4i1,
/*191512*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191514*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZZ_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 512:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CMPNE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*191524*/        0, /*End of Scope*/
/*191525*/      /*Scope*/ 59, /*->191585*/
/*191526*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*191528*/        OPC_RecordChild2, // #1 = $Zs1
/*191529*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*191531*/        OPC_Scope, 33, /*->191566*/ // 2 children in Scope
/*191533*/          OPC_MoveChild3,
/*191534*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191537*/          OPC_RecordChild0, // #2 = $imm
/*191538*/          OPC_MoveChild0,
/*191539*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191542*/          OPC_CheckPredicate, 25, // Predicate_simm5_64b
/*191544*/          OPC_CheckType, MVT::i64,
/*191546*/          OPC_MoveParent,
/*191547*/          OPC_CheckType, MVT::nxv2i64,
/*191549*/          OPC_MoveParent,
/*191550*/          OPC_CheckType, MVT::nxv2i1,
/*191552*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191554*/          OPC_EmitConvertToTarget, 2,
/*191556*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 512:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)) - Complexity = 15
                    // Dst: (CMPNE_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*191566*/        /*Scope*/ 17, /*->191584*/
/*191567*/          OPC_RecordChild3, // #2 = $Op3
/*191568*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*191570*/          OPC_CheckType, MVT::nxv2i1,
/*191572*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191574*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZZ_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 512:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CMPNE_PPzZZ_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*191584*/        0, /*End of Scope*/
/*191585*/      0, /*End of Scope*/
/*191586*/    /*Scope*/ 22|128,3/*406*/, /*->191994*/
/*191588*/      OPC_CheckChild0Integer, 122|128,3/*506*/, 
/*191591*/      OPC_RecordChild1, // #0 = $Pg
/*191592*/      OPC_Scope, 99, /*->191693*/ // 4 children in Scope
/*191594*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*191596*/        OPC_Scope, 36, /*->191634*/ // 3 children in Scope
/*191598*/          OPC_RecordChild2, // #1 = $Zs1
/*191599*/          OPC_CheckChild2Type, MVT::nxv16i8,
/*191601*/          OPC_MoveChild3,
/*191602*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191605*/          OPC_RecordChild0, // #2 = $imm
/*191606*/          OPC_MoveChild0,
/*191607*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191610*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*191612*/          OPC_CheckType, MVT::i32,
/*191614*/          OPC_MoveParent,
/*191615*/          OPC_CheckType, MVT::nxv16i8,
/*191617*/          OPC_MoveParent,
/*191618*/          OPC_CheckType, MVT::nxv16i1,
/*191620*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191622*/          OPC_EmitConvertToTarget, 2,
/*191624*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 506:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)) - Complexity = 15
                    // Dst: (CMPHS_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*191634*/        /*Scope*/ 36, /*->191671*/
/*191635*/          OPC_MoveChild2,
/*191636*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191639*/          OPC_RecordChild0, // #1 = $imm
/*191640*/          OPC_MoveChild0,
/*191641*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191644*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*191646*/          OPC_CheckType, MVT::i32,
/*191648*/          OPC_MoveParent,
/*191649*/          OPC_CheckType, MVT::nxv16i8,
/*191651*/          OPC_MoveParent,
/*191652*/          OPC_RecordChild3, // #2 = $Zs1
/*191653*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*191655*/          OPC_CheckType, MVT::nxv16i1,
/*191657*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191659*/          OPC_EmitConvertToTarget, 1,
/*191661*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 506:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), ZPR:{ *:[nxv16i8] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLS_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*191671*/        /*Scope*/ 20, /*->191692*/
/*191672*/          OPC_RecordChild2, // #1 = $Op2
/*191673*/          OPC_CheckChild2Type, MVT::nxv16i8,
/*191675*/          OPC_RecordChild3, // #2 = $Op3
/*191676*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*191678*/          OPC_CheckType, MVT::nxv16i1,
/*191680*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191682*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZZ_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 506:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                    // Dst: (CMPHS_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*191692*/        0, /*End of Scope*/
/*191693*/      /*Scope*/ 99, /*->191793*/
/*191694*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*191696*/        OPC_Scope, 36, /*->191734*/ // 3 children in Scope
/*191698*/          OPC_RecordChild2, // #1 = $Zs1
/*191699*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*191701*/          OPC_MoveChild3,
/*191702*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191705*/          OPC_RecordChild0, // #2 = $imm
/*191706*/          OPC_MoveChild0,
/*191707*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191710*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*191712*/          OPC_CheckType, MVT::i32,
/*191714*/          OPC_MoveParent,
/*191715*/          OPC_CheckType, MVT::nxv8i16,
/*191717*/          OPC_MoveParent,
/*191718*/          OPC_CheckType, MVT::nxv8i1,
/*191720*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191722*/          OPC_EmitConvertToTarget, 2,
/*191724*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 506:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)) - Complexity = 15
                    // Dst: (CMPHS_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*191734*/        /*Scope*/ 36, /*->191771*/
/*191735*/          OPC_MoveChild2,
/*191736*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191739*/          OPC_RecordChild0, // #1 = $imm
/*191740*/          OPC_MoveChild0,
/*191741*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191744*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*191746*/          OPC_CheckType, MVT::i32,
/*191748*/          OPC_MoveParent,
/*191749*/          OPC_CheckType, MVT::nxv8i16,
/*191751*/          OPC_MoveParent,
/*191752*/          OPC_RecordChild3, // #2 = $Zs1
/*191753*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*191755*/          OPC_CheckType, MVT::nxv8i1,
/*191757*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191759*/          OPC_EmitConvertToTarget, 1,
/*191761*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 506:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), ZPR:{ *:[nxv8i16] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLS_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*191771*/        /*Scope*/ 20, /*->191792*/
/*191772*/          OPC_RecordChild2, // #1 = $Op2
/*191773*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*191775*/          OPC_RecordChild3, // #2 = $Op3
/*191776*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*191778*/          OPC_CheckType, MVT::nxv8i1,
/*191780*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191782*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZZ_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 506:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CMPHS_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*191792*/        0, /*End of Scope*/
/*191793*/      /*Scope*/ 99, /*->191893*/
/*191794*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*191796*/        OPC_Scope, 36, /*->191834*/ // 3 children in Scope
/*191798*/          OPC_RecordChild2, // #1 = $Zs1
/*191799*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*191801*/          OPC_MoveChild3,
/*191802*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191805*/          OPC_RecordChild0, // #2 = $imm
/*191806*/          OPC_MoveChild0,
/*191807*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191810*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*191812*/          OPC_CheckType, MVT::i32,
/*191814*/          OPC_MoveParent,
/*191815*/          OPC_CheckType, MVT::nxv4i32,
/*191817*/          OPC_MoveParent,
/*191818*/          OPC_CheckType, MVT::nxv4i1,
/*191820*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191822*/          OPC_EmitConvertToTarget, 2,
/*191824*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 506:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)) - Complexity = 15
                    // Dst: (CMPHS_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*191834*/        /*Scope*/ 36, /*->191871*/
/*191835*/          OPC_MoveChild2,
/*191836*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191839*/          OPC_RecordChild0, // #1 = $imm
/*191840*/          OPC_MoveChild0,
/*191841*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191844*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*191846*/          OPC_CheckType, MVT::i32,
/*191848*/          OPC_MoveParent,
/*191849*/          OPC_CheckType, MVT::nxv4i32,
/*191851*/          OPC_MoveParent,
/*191852*/          OPC_RecordChild3, // #2 = $Zs1
/*191853*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*191855*/          OPC_CheckType, MVT::nxv4i1,
/*191857*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191859*/          OPC_EmitConvertToTarget, 1,
/*191861*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 506:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), ZPR:{ *:[nxv4i32] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLS_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*191871*/        /*Scope*/ 20, /*->191892*/
/*191872*/          OPC_RecordChild2, // #1 = $Op2
/*191873*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*191875*/          OPC_RecordChild3, // #2 = $Op3
/*191876*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*191878*/          OPC_CheckType, MVT::nxv4i1,
/*191880*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191882*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZZ_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 506:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CMPHS_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*191892*/        0, /*End of Scope*/
/*191893*/      /*Scope*/ 99, /*->191993*/
/*191894*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*191896*/        OPC_Scope, 36, /*->191934*/ // 3 children in Scope
/*191898*/          OPC_RecordChild2, // #1 = $Zs1
/*191899*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*191901*/          OPC_MoveChild3,
/*191902*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191905*/          OPC_RecordChild0, // #2 = $imm
/*191906*/          OPC_MoveChild0,
/*191907*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191910*/          OPC_CheckPredicate, 27, // Predicate_imm0_127_64b
/*191912*/          OPC_CheckType, MVT::i64,
/*191914*/          OPC_MoveParent,
/*191915*/          OPC_CheckType, MVT::nxv2i64,
/*191917*/          OPC_MoveParent,
/*191918*/          OPC_CheckType, MVT::nxv2i1,
/*191920*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191922*/          OPC_EmitConvertToTarget, 2,
/*191924*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 506:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)) - Complexity = 15
                    // Dst: (CMPHS_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)
/*191934*/        /*Scope*/ 36, /*->191971*/
/*191935*/          OPC_MoveChild2,
/*191936*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*191939*/          OPC_RecordChild0, // #1 = $imm
/*191940*/          OPC_MoveChild0,
/*191941*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*191944*/          OPC_CheckPredicate, 27, // Predicate_imm0_127_64b
/*191946*/          OPC_CheckType, MVT::i64,
/*191948*/          OPC_MoveParent,
/*191949*/          OPC_CheckType, MVT::nxv2i64,
/*191951*/          OPC_MoveParent,
/*191952*/          OPC_RecordChild3, // #2 = $Zs1
/*191953*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*191955*/          OPC_CheckType, MVT::nxv2i1,
/*191957*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191959*/          OPC_EmitConvertToTarget, 1,
/*191961*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 506:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm), ZPR:{ *:[nxv2i64] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLS_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)
/*191971*/        /*Scope*/ 20, /*->191992*/
/*191972*/          OPC_RecordChild2, // #1 = $Op2
/*191973*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*191975*/          OPC_RecordChild3, // #2 = $Op3
/*191976*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*191978*/          OPC_CheckType, MVT::nxv2i1,
/*191980*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*191982*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZZ_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 506:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CMPHS_PPzZZ_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*191992*/        0, /*End of Scope*/
/*191993*/      0, /*End of Scope*/
/*191994*/    /*Scope*/ 22|128,3/*406*/, /*->192402*/
/*191996*/      OPC_CheckChild0Integer, 120|128,3/*504*/, 
/*191999*/      OPC_RecordChild1, // #0 = $Pg
/*192000*/      OPC_Scope, 99, /*->192101*/ // 4 children in Scope
/*192002*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*192004*/        OPC_Scope, 36, /*->192042*/ // 3 children in Scope
/*192006*/          OPC_RecordChild2, // #1 = $Zs1
/*192007*/          OPC_CheckChild2Type, MVT::nxv16i8,
/*192009*/          OPC_MoveChild3,
/*192010*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*192013*/          OPC_RecordChild0, // #2 = $imm
/*192014*/          OPC_MoveChild0,
/*192015*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192018*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*192020*/          OPC_CheckType, MVT::i32,
/*192022*/          OPC_MoveParent,
/*192023*/          OPC_CheckType, MVT::nxv16i8,
/*192025*/          OPC_MoveParent,
/*192026*/          OPC_CheckType, MVT::nxv16i1,
/*192028*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192030*/          OPC_EmitConvertToTarget, 2,
/*192032*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 504:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)) - Complexity = 15
                    // Dst: (CMPHI_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*192042*/        /*Scope*/ 36, /*->192079*/
/*192043*/          OPC_MoveChild2,
/*192044*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*192047*/          OPC_RecordChild0, // #1 = $imm
/*192048*/          OPC_MoveChild0,
/*192049*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192052*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*192054*/          OPC_CheckType, MVT::i32,
/*192056*/          OPC_MoveParent,
/*192057*/          OPC_CheckType, MVT::nxv16i8,
/*192059*/          OPC_MoveParent,
/*192060*/          OPC_RecordChild3, // #2 = $Zs1
/*192061*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*192063*/          OPC_CheckType, MVT::nxv16i1,
/*192065*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192067*/          OPC_EmitConvertToTarget, 1,
/*192069*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 504:{ *:[iPTR] }, PPR_3b:{ *:[nxv16i1] }:$Pg, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), ZPR:{ *:[nxv16i8] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLO_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } PPR_3b:{ *:[nxv16i1] }:$Pg, ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*192079*/        /*Scope*/ 20, /*->192100*/
/*192080*/          OPC_RecordChild2, // #1 = $Op2
/*192081*/          OPC_CheckChild2Type, MVT::nxv16i8,
/*192083*/          OPC_RecordChild3, // #2 = $Op3
/*192084*/          OPC_CheckChild3Type, MVT::nxv16i8,
/*192086*/          OPC_CheckType, MVT::nxv16i1,
/*192088*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192090*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZZ_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 504:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                    // Dst: (CMPHI_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*192100*/        0, /*End of Scope*/
/*192101*/      /*Scope*/ 99, /*->192201*/
/*192102*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*192104*/        OPC_Scope, 36, /*->192142*/ // 3 children in Scope
/*192106*/          OPC_RecordChild2, // #1 = $Zs1
/*192107*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*192109*/          OPC_MoveChild3,
/*192110*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*192113*/          OPC_RecordChild0, // #2 = $imm
/*192114*/          OPC_MoveChild0,
/*192115*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192118*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*192120*/          OPC_CheckType, MVT::i32,
/*192122*/          OPC_MoveParent,
/*192123*/          OPC_CheckType, MVT::nxv8i16,
/*192125*/          OPC_MoveParent,
/*192126*/          OPC_CheckType, MVT::nxv8i1,
/*192128*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192130*/          OPC_EmitConvertToTarget, 2,
/*192132*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 504:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)) - Complexity = 15
                    // Dst: (CMPHI_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*192142*/        /*Scope*/ 36, /*->192179*/
/*192143*/          OPC_MoveChild2,
/*192144*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*192147*/          OPC_RecordChild0, // #1 = $imm
/*192148*/          OPC_MoveChild0,
/*192149*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192152*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*192154*/          OPC_CheckType, MVT::i32,
/*192156*/          OPC_MoveParent,
/*192157*/          OPC_CheckType, MVT::nxv8i16,
/*192159*/          OPC_MoveParent,
/*192160*/          OPC_RecordChild3, // #2 = $Zs1
/*192161*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*192163*/          OPC_CheckType, MVT::nxv8i1,
/*192165*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192167*/          OPC_EmitConvertToTarget, 1,
/*192169*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 504:{ *:[iPTR] }, PPR_3b:{ *:[nxv8i1] }:$Pg, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), ZPR:{ *:[nxv8i16] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLO_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } PPR_3b:{ *:[nxv8i1] }:$Pg, ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*192179*/        /*Scope*/ 20, /*->192200*/
/*192180*/          OPC_RecordChild2, // #1 = $Op2
/*192181*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*192183*/          OPC_RecordChild3, // #2 = $Op3
/*192184*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*192186*/          OPC_CheckType, MVT::nxv8i1,
/*192188*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192190*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZZ_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 504:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CMPHI_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*192200*/        0, /*End of Scope*/
/*192201*/      /*Scope*/ 99, /*->192301*/
/*192202*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*192204*/        OPC_Scope, 36, /*->192242*/ // 3 children in Scope
/*192206*/          OPC_RecordChild2, // #1 = $Zs1
/*192207*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*192209*/          OPC_MoveChild3,
/*192210*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*192213*/          OPC_RecordChild0, // #2 = $imm
/*192214*/          OPC_MoveChild0,
/*192215*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192218*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*192220*/          OPC_CheckType, MVT::i32,
/*192222*/          OPC_MoveParent,
/*192223*/          OPC_CheckType, MVT::nxv4i32,
/*192225*/          OPC_MoveParent,
/*192226*/          OPC_CheckType, MVT::nxv4i1,
/*192228*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192230*/          OPC_EmitConvertToTarget, 2,
/*192232*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 504:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)) - Complexity = 15
                    // Dst: (CMPHI_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*192242*/        /*Scope*/ 36, /*->192279*/
/*192243*/          OPC_MoveChild2,
/*192244*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*192247*/          OPC_RecordChild0, // #1 = $imm
/*192248*/          OPC_MoveChild0,
/*192249*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192252*/          OPC_CheckPredicate, 26, // Predicate_imm0_127
/*192254*/          OPC_CheckType, MVT::i32,
/*192256*/          OPC_MoveParent,
/*192257*/          OPC_CheckType, MVT::nxv4i32,
/*192259*/          OPC_MoveParent,
/*192260*/          OPC_RecordChild3, // #2 = $Zs1
/*192261*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*192263*/          OPC_CheckType, MVT::nxv4i1,
/*192265*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192267*/          OPC_EmitConvertToTarget, 1,
/*192269*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 504:{ *:[iPTR] }, PPR_3b:{ *:[nxv4i1] }:$Pg, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), ZPR:{ *:[nxv4i32] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLO_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } PPR_3b:{ *:[nxv4i1] }:$Pg, ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*192279*/        /*Scope*/ 20, /*->192300*/
/*192280*/          OPC_RecordChild2, // #1 = $Op2
/*192281*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*192283*/          OPC_RecordChild3, // #2 = $Op3
/*192284*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*192286*/          OPC_CheckType, MVT::nxv4i1,
/*192288*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192290*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZZ_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 504:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CMPHI_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*192300*/        0, /*End of Scope*/
/*192301*/      /*Scope*/ 99, /*->192401*/
/*192302*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*192304*/        OPC_Scope, 36, /*->192342*/ // 3 children in Scope
/*192306*/          OPC_RecordChild2, // #1 = $Zs1
/*192307*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*192309*/          OPC_MoveChild3,
/*192310*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*192313*/          OPC_RecordChild0, // #2 = $imm
/*192314*/          OPC_MoveChild0,
/*192315*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192318*/          OPC_CheckPredicate, 27, // Predicate_imm0_127_64b
/*192320*/          OPC_CheckType, MVT::i64,
/*192322*/          OPC_MoveParent,
/*192323*/          OPC_CheckType, MVT::nxv2i64,
/*192325*/          OPC_MoveParent,
/*192326*/          OPC_CheckType, MVT::nxv2i1,
/*192328*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192330*/          OPC_EmitConvertToTarget, 2,
/*192332*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 504:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)) - Complexity = 15
                    // Dst: (CMPHI_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)
/*192342*/        /*Scope*/ 36, /*->192379*/
/*192343*/          OPC_MoveChild2,
/*192344*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*192347*/          OPC_RecordChild0, // #1 = $imm
/*192348*/          OPC_MoveChild0,
/*192349*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192352*/          OPC_CheckPredicate, 27, // Predicate_imm0_127_64b
/*192354*/          OPC_CheckType, MVT::i64,
/*192356*/          OPC_MoveParent,
/*192357*/          OPC_CheckType, MVT::nxv2i64,
/*192359*/          OPC_MoveParent,
/*192360*/          OPC_RecordChild3, // #2 = $Zs1
/*192361*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*192363*/          OPC_CheckType, MVT::nxv2i1,
/*192365*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192367*/          OPC_EmitConvertToTarget, 1,
/*192369*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 504:{ *:[iPTR] }, PPR_3b:{ *:[nxv2i1] }:$Pg, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm), ZPR:{ *:[nxv2i64] }:$Zs1) - Complexity = 15
                    // Dst: (CMPLO_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } PPR_3b:{ *:[nxv2i1] }:$Pg, ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)
/*192379*/        /*Scope*/ 20, /*->192400*/
/*192380*/          OPC_RecordChild2, // #1 = $Op2
/*192381*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*192383*/          OPC_RecordChild3, // #2 = $Op3
/*192384*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*192386*/          OPC_CheckType, MVT::nxv2i1,
/*192388*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192390*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZZ_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 504:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CMPHI_PPzZZ_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*192400*/        0, /*End of Scope*/
/*192401*/      0, /*End of Scope*/
/*192402*/    /*Scope*/ 81, /*->192484*/
/*192403*/      OPC_CheckChild0Integer, 112|128,2/*368*/, 
/*192406*/      OPC_RecordChild1, // #0 = $Rn
/*192407*/      OPC_Scope, 24, /*->192433*/ // 3 children in Scope
/*192409*/        OPC_CheckChild1Type, MVT::v8i16,
/*192411*/        OPC_RecordChild2, // #1 = $imm
/*192412*/        OPC_MoveChild2,
/*192413*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192416*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*192418*/        OPC_MoveParent,
/*192419*/        OPC_CheckType, MVT::v8i8,
/*192421*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192423*/        OPC_EmitConvertToTarget, 1,
/*192425*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 368:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm) - Complexity = 12
                  // Dst: (RSHRNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192433*/      /*Scope*/ 24, /*->192458*/
/*192434*/        OPC_CheckChild1Type, MVT::v4i32,
/*192436*/        OPC_RecordChild2, // #1 = $imm
/*192437*/        OPC_MoveChild2,
/*192438*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192441*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*192443*/        OPC_MoveParent,
/*192444*/        OPC_CheckType, MVT::v4i16,
/*192446*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192448*/        OPC_EmitConvertToTarget, 1,
/*192450*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 368:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm) - Complexity = 12
                  // Dst: (RSHRNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192458*/      /*Scope*/ 24, /*->192483*/
/*192459*/        OPC_CheckChild1Type, MVT::v2i64,
/*192461*/        OPC_RecordChild2, // #1 = $imm
/*192462*/        OPC_MoveChild2,
/*192463*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192466*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*192468*/        OPC_MoveParent,
/*192469*/        OPC_CheckType, MVT::v2i32,
/*192471*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192473*/        OPC_EmitConvertToTarget, 1,
/*192475*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 368:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm) - Complexity = 12
                  // Dst: (RSHRNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192483*/      0, /*End of Scope*/
/*192484*/    /*Scope*/ 108|128,1/*236*/, /*->192722*/
/*192486*/      OPC_CheckChild0Integer, 81|128,3/*465*/, 
/*192489*/      OPC_RecordChild1, // #0 = $Rd
/*192490*/      OPC_Scope, 28, /*->192520*/ // 8 children in Scope
/*192492*/        OPC_CheckChild1Type, MVT::v8i8,
/*192494*/        OPC_RecordChild2, // #1 = $Rn
/*192495*/        OPC_CheckChild2Type, MVT::v8i8,
/*192497*/        OPC_RecordChild3, // #2 = $imm
/*192498*/        OPC_MoveChild3,
/*192499*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192502*/        OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*192504*/        OPC_MoveParent,
/*192505*/        OPC_CheckType, MVT::v8i8,
/*192507*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192509*/        OPC_EmitConvertToTarget, 2,
/*192511*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SLIv8i8_shift), 0,
                      MVT::v8i8, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 465:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 12
                  // Dst: (SLIv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192520*/      /*Scope*/ 28, /*->192549*/
/*192521*/        OPC_CheckChild1Type, MVT::v16i8,
/*192523*/        OPC_RecordChild2, // #1 = $Rn
/*192524*/        OPC_CheckChild2Type, MVT::v16i8,
/*192526*/        OPC_RecordChild3, // #2 = $imm
/*192527*/        OPC_MoveChild3,
/*192528*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192531*/        OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*192533*/        OPC_MoveParent,
/*192534*/        OPC_CheckType, MVT::v16i8,
/*192536*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192538*/        OPC_EmitConvertToTarget, 2,
/*192540*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SLIv16i8_shift), 0,
                      MVT::v16i8, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 465:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 12
                  // Dst: (SLIv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192549*/      /*Scope*/ 28, /*->192578*/
/*192550*/        OPC_CheckChild1Type, MVT::v4i16,
/*192552*/        OPC_RecordChild2, // #1 = $Rn
/*192553*/        OPC_CheckChild2Type, MVT::v4i16,
/*192555*/        OPC_RecordChild3, // #2 = $imm
/*192556*/        OPC_MoveChild3,
/*192557*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192560*/        OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*192562*/        OPC_MoveParent,
/*192563*/        OPC_CheckType, MVT::v4i16,
/*192565*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192567*/        OPC_EmitConvertToTarget, 2,
/*192569*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SLIv4i16_shift), 0,
                      MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 465:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 12
                  // Dst: (SLIv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192578*/      /*Scope*/ 28, /*->192607*/
/*192579*/        OPC_CheckChild1Type, MVT::v8i16,
/*192581*/        OPC_RecordChild2, // #1 = $Rn
/*192582*/        OPC_CheckChild2Type, MVT::v8i16,
/*192584*/        OPC_RecordChild3, // #2 = $imm
/*192585*/        OPC_MoveChild3,
/*192586*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192589*/        OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*192591*/        OPC_MoveParent,
/*192592*/        OPC_CheckType, MVT::v8i16,
/*192594*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192596*/        OPC_EmitConvertToTarget, 2,
/*192598*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SLIv8i16_shift), 0,
                      MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 465:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 12
                  // Dst: (SLIv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192607*/      /*Scope*/ 28, /*->192636*/
/*192608*/        OPC_CheckChild1Type, MVT::v2i32,
/*192610*/        OPC_RecordChild2, // #1 = $Rn
/*192611*/        OPC_CheckChild2Type, MVT::v2i32,
/*192613*/        OPC_RecordChild3, // #2 = $imm
/*192614*/        OPC_MoveChild3,
/*192615*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192618*/        OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*192620*/        OPC_MoveParent,
/*192621*/        OPC_CheckType, MVT::v2i32,
/*192623*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192625*/        OPC_EmitConvertToTarget, 2,
/*192627*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SLIv2i32_shift), 0,
                      MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 465:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 12
                  // Dst: (SLIv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192636*/      /*Scope*/ 28, /*->192665*/
/*192637*/        OPC_CheckChild1Type, MVT::v4i32,
/*192639*/        OPC_RecordChild2, // #1 = $Rn
/*192640*/        OPC_CheckChild2Type, MVT::v4i32,
/*192642*/        OPC_RecordChild3, // #2 = $imm
/*192643*/        OPC_MoveChild3,
/*192644*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192647*/        OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*192649*/        OPC_MoveParent,
/*192650*/        OPC_CheckType, MVT::v4i32,
/*192652*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192654*/        OPC_EmitConvertToTarget, 2,
/*192656*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SLIv4i32_shift), 0,
                      MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 465:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 12
                  // Dst: (SLIv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192665*/      /*Scope*/ 28, /*->192694*/
/*192666*/        OPC_CheckChild1Type, MVT::v2i64,
/*192668*/        OPC_RecordChild2, // #1 = $Rn
/*192669*/        OPC_CheckChild2Type, MVT::v2i64,
/*192671*/        OPC_RecordChild3, // #2 = $imm
/*192672*/        OPC_MoveChild3,
/*192673*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192676*/        OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*192678*/        OPC_MoveParent,
/*192679*/        OPC_CheckType, MVT::v2i64,
/*192681*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192683*/        OPC_EmitConvertToTarget, 2,
/*192685*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SLIv2i64_shift), 0,
                      MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 465:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 12
                  // Dst: (SLIv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192694*/      /*Scope*/ 26, /*->192721*/
/*192695*/        OPC_CheckChild1Type, MVT::v1i64,
/*192697*/        OPC_RecordChild2, // #1 = $Rn
/*192698*/        OPC_CheckChild2Type, MVT::v1i64,
/*192700*/        OPC_RecordChild3, // #2 = $imm
/*192701*/        OPC_MoveChild3,
/*192702*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192705*/        OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*192707*/        OPC_MoveParent,
/*192708*/        OPC_CheckType, MVT::v1i64,
/*192710*/        OPC_EmitConvertToTarget, 2,
/*192712*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SLId), 0,
                      MVT::v1i64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 465:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 12
                  // Dst: (SLId:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm)
/*192721*/      0, /*End of Scope*/
/*192722*/    /*Scope*/ 108|128,1/*236*/, /*->192960*/
/*192724*/      OPC_CheckChild0Integer, 82|128,3/*466*/, 
/*192727*/      OPC_RecordChild1, // #0 = $Rd
/*192728*/      OPC_Scope, 28, /*->192758*/ // 8 children in Scope
/*192730*/        OPC_CheckChild1Type, MVT::v8i8,
/*192732*/        OPC_RecordChild2, // #1 = $Rn
/*192733*/        OPC_CheckChild2Type, MVT::v8i8,
/*192735*/        OPC_RecordChild3, // #2 = $imm
/*192736*/        OPC_MoveChild3,
/*192737*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192740*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*192742*/        OPC_MoveParent,
/*192743*/        OPC_CheckType, MVT::v8i8,
/*192745*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192747*/        OPC_EmitConvertToTarget, 2,
/*192749*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRIv8i8_shift), 0,
                      MVT::v8i8, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 466:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 12
                  // Dst: (SRIv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192758*/      /*Scope*/ 28, /*->192787*/
/*192759*/        OPC_CheckChild1Type, MVT::v16i8,
/*192761*/        OPC_RecordChild2, // #1 = $Rn
/*192762*/        OPC_CheckChild2Type, MVT::v16i8,
/*192764*/        OPC_RecordChild3, // #2 = $imm
/*192765*/        OPC_MoveChild3,
/*192766*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192769*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*192771*/        OPC_MoveParent,
/*192772*/        OPC_CheckType, MVT::v16i8,
/*192774*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192776*/        OPC_EmitConvertToTarget, 2,
/*192778*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRIv16i8_shift), 0,
                      MVT::v16i8, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 466:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 12
                  // Dst: (SRIv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192787*/      /*Scope*/ 28, /*->192816*/
/*192788*/        OPC_CheckChild1Type, MVT::v4i16,
/*192790*/        OPC_RecordChild2, // #1 = $Rn
/*192791*/        OPC_CheckChild2Type, MVT::v4i16,
/*192793*/        OPC_RecordChild3, // #2 = $imm
/*192794*/        OPC_MoveChild3,
/*192795*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192798*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*192800*/        OPC_MoveParent,
/*192801*/        OPC_CheckType, MVT::v4i16,
/*192803*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192805*/        OPC_EmitConvertToTarget, 2,
/*192807*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRIv4i16_shift), 0,
                      MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 466:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 12
                  // Dst: (SRIv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192816*/      /*Scope*/ 28, /*->192845*/
/*192817*/        OPC_CheckChild1Type, MVT::v8i16,
/*192819*/        OPC_RecordChild2, // #1 = $Rn
/*192820*/        OPC_CheckChild2Type, MVT::v8i16,
/*192822*/        OPC_RecordChild3, // #2 = $imm
/*192823*/        OPC_MoveChild3,
/*192824*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192827*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*192829*/        OPC_MoveParent,
/*192830*/        OPC_CheckType, MVT::v8i16,
/*192832*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192834*/        OPC_EmitConvertToTarget, 2,
/*192836*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRIv8i16_shift), 0,
                      MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 466:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 12
                  // Dst: (SRIv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192845*/      /*Scope*/ 28, /*->192874*/
/*192846*/        OPC_CheckChild1Type, MVT::v2i32,
/*192848*/        OPC_RecordChild2, // #1 = $Rn
/*192849*/        OPC_CheckChild2Type, MVT::v2i32,
/*192851*/        OPC_RecordChild3, // #2 = $imm
/*192852*/        OPC_MoveChild3,
/*192853*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192856*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*192858*/        OPC_MoveParent,
/*192859*/        OPC_CheckType, MVT::v2i32,
/*192861*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192863*/        OPC_EmitConvertToTarget, 2,
/*192865*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRIv2i32_shift), 0,
                      MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 466:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (SRIv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192874*/      /*Scope*/ 28, /*->192903*/
/*192875*/        OPC_CheckChild1Type, MVT::v4i32,
/*192877*/        OPC_RecordChild2, // #1 = $Rn
/*192878*/        OPC_CheckChild2Type, MVT::v4i32,
/*192880*/        OPC_RecordChild3, // #2 = $imm
/*192881*/        OPC_MoveChild3,
/*192882*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192885*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*192887*/        OPC_MoveParent,
/*192888*/        OPC_CheckType, MVT::v4i32,
/*192890*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192892*/        OPC_EmitConvertToTarget, 2,
/*192894*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRIv4i32_shift), 0,
                      MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 466:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 12
                  // Dst: (SRIv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192903*/      /*Scope*/ 28, /*->192932*/
/*192904*/        OPC_CheckChild1Type, MVT::v2i64,
/*192906*/        OPC_RecordChild2, // #1 = $Rn
/*192907*/        OPC_CheckChild2Type, MVT::v2i64,
/*192909*/        OPC_RecordChild3, // #2 = $imm
/*192910*/        OPC_MoveChild3,
/*192911*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192914*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*192916*/        OPC_MoveParent,
/*192917*/        OPC_CheckType, MVT::v2i64,
/*192919*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*192921*/        OPC_EmitConvertToTarget, 2,
/*192923*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRIv2i64_shift), 0,
                      MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 466:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                  // Dst: (SRIv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*192932*/      /*Scope*/ 26, /*->192959*/
/*192933*/        OPC_CheckChild1Type, MVT::v1i64,
/*192935*/        OPC_RecordChild2, // #1 = $Rn
/*192936*/        OPC_CheckChild2Type, MVT::v1i64,
/*192938*/        OPC_RecordChild3, // #2 = $imm
/*192939*/        OPC_MoveChild3,
/*192940*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192943*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*192945*/        OPC_MoveParent,
/*192946*/        OPC_CheckType, MVT::v1i64,
/*192948*/        OPC_EmitConvertToTarget, 2,
/*192950*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRId), 0,
                      MVT::v1i64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 466:{ *:[iPTR] }, FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 12
                  // Dst: (SRId:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rd, FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*192959*/      0, /*End of Scope*/
/*192960*/    /*Scope*/ 72, /*->193033*/
/*192961*/      OPC_CheckChild0Integer, 39|128,5/*679*/, 
/*192964*/      OPC_RecordChild1, // #0 = $Op1
/*192965*/      OPC_Scope, 32, /*->192999*/ // 2 children in Scope
/*192967*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*192969*/        OPC_RecordChild2, // #1 = $Op2
/*192970*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*192972*/        OPC_RecordChild3, // #2 = $Op3
/*192973*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*192975*/        OPC_RecordChild4, // #3 = $idx
/*192976*/        OPC_MoveChild4,
/*192977*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*192980*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS32b
/*192982*/        OPC_MoveParent,
/*192983*/        OPC_CheckType, MVT::nxv4i32,
/*192985*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*192987*/        OPC_EmitConvertToTarget, 3,
/*192989*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDOT_ZZZI_S), 0,
                      MVT::nxv4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 679:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx) - Complexity = 12
                  // Dst: (SDOT_ZZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx)
/*192999*/      /*Scope*/ 32, /*->193032*/
/*193000*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193002*/        OPC_RecordChild2, // #1 = $Op2
/*193003*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*193005*/        OPC_RecordChild3, // #2 = $Op3
/*193006*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*193008*/        OPC_RecordChild4, // #3 = $idx
/*193009*/        OPC_MoveChild4,
/*193010*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*193013*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD32b
/*193015*/        OPC_MoveParent,
/*193016*/        OPC_CheckType, MVT::nxv2i64,
/*193018*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*193020*/        OPC_EmitConvertToTarget, 3,
/*193022*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDOT_ZZZI_D), 0,
                      MVT::nxv2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 679:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx) - Complexity = 12
                  // Dst: (SDOT_ZZZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx)
/*193032*/      0, /*End of Scope*/
/*193033*/    /*Scope*/ 72, /*->193106*/
/*193034*/      OPC_CheckChild0Integer, 118|128,5/*758*/, 
/*193037*/      OPC_RecordChild1, // #0 = $Op1
/*193038*/      OPC_Scope, 32, /*->193072*/ // 2 children in Scope
/*193040*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193042*/        OPC_RecordChild2, // #1 = $Op2
/*193043*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*193045*/        OPC_RecordChild3, // #2 = $Op3
/*193046*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*193048*/        OPC_RecordChild4, // #3 = $idx
/*193049*/        OPC_MoveChild4,
/*193050*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*193053*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS32b
/*193055*/        OPC_MoveParent,
/*193056*/        OPC_CheckType, MVT::nxv4i32,
/*193058*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*193060*/        OPC_EmitConvertToTarget, 3,
/*193062*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDOT_ZZZI_S), 0,
                      MVT::nxv4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 758:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx) - Complexity = 12
                  // Dst: (UDOT_ZZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx)
/*193072*/      /*Scope*/ 32, /*->193105*/
/*193073*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193075*/        OPC_RecordChild2, // #1 = $Op2
/*193076*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*193078*/        OPC_RecordChild3, // #2 = $Op3
/*193079*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*193081*/        OPC_RecordChild4, // #3 = $idx
/*193082*/        OPC_MoveChild4,
/*193083*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*193086*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD32b
/*193088*/        OPC_MoveParent,
/*193089*/        OPC_CheckType, MVT::nxv2i64,
/*193091*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*193093*/        OPC_EmitConvertToTarget, 3,
/*193095*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDOT_ZZZI_D), 0,
                      MVT::nxv2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 758:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx) - Complexity = 12
                  // Dst: (UDOT_ZZZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx)
/*193105*/      0, /*End of Scope*/
/*193106*/    /*Scope*/ 122, /*->193229*/
/*193107*/      OPC_CheckChild0Integer, 105|128,3/*489*/, 
/*193110*/      OPC_RecordChild1, // #0 = $Op1
/*193111*/      OPC_Scope, 28, /*->193141*/ // 4 children in Scope
/*193113*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*193115*/        OPC_RecordChild2, // #1 = $Op2
/*193116*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*193118*/        OPC_RecordChild3, // #2 = $Op3
/*193119*/        OPC_MoveChild3,
/*193120*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*193123*/        OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*193125*/        OPC_MoveParent,
/*193126*/        OPC_CheckType, MVT::nxv16i8,
/*193128*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*193130*/        OPC_EmitConvertToTarget, 2,
/*193132*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRD_ZPmI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 489:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (ASRD_ZPmI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$Op3)
/*193141*/      /*Scope*/ 28, /*->193170*/
/*193142*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*193144*/        OPC_RecordChild2, // #1 = $Op2
/*193145*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*193147*/        OPC_RecordChild3, // #2 = $Op3
/*193148*/        OPC_MoveChild3,
/*193149*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*193152*/        OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*193154*/        OPC_MoveParent,
/*193155*/        OPC_CheckType, MVT::nxv8i16,
/*193157*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*193159*/        OPC_EmitConvertToTarget, 2,
/*193161*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRD_ZPmI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 489:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (ASRD_ZPmI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$Op3)
/*193170*/      /*Scope*/ 28, /*->193199*/
/*193171*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*193173*/        OPC_RecordChild2, // #1 = $Op2
/*193174*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*193176*/        OPC_RecordChild3, // #2 = $Op3
/*193177*/        OPC_MoveChild3,
/*193178*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*193181*/        OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*193183*/        OPC_MoveParent,
/*193184*/        OPC_CheckType, MVT::nxv4i32,
/*193186*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*193188*/        OPC_EmitConvertToTarget, 2,
/*193190*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRD_ZPmI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 489:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (ASRD_ZPmI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$Op3)
/*193199*/      /*Scope*/ 28, /*->193228*/
/*193200*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*193202*/        OPC_RecordChild2, // #1 = $Op2
/*193203*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*193205*/        OPC_RecordChild3, // #2 = $Op3
/*193206*/        OPC_MoveChild3,
/*193207*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*193210*/        OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*193212*/        OPC_MoveParent,
/*193213*/        OPC_CheckType, MVT::nxv2i64,
/*193215*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*193217*/        OPC_EmitConvertToTarget, 2,
/*193219*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRD_ZPmI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 489:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$Op3) - Complexity = 12
                  // Dst: (ASRD_ZPmI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$Op3)
/*193228*/      0, /*End of Scope*/
/*193229*/    /*Scope*/ 75, /*->193305*/
/*193230*/      OPC_CheckChild0Integer, 82|128,5/*722*/, 
/*193233*/      OPC_RecordChild1, // #0 = $Op1
/*193234*/      OPC_Scope, 22, /*->193258*/ // 3 children in Scope
/*193236*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193238*/        OPC_RecordChild2, // #1 = $Op2
/*193239*/        OPC_MoveChild2,
/*193240*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193243*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193245*/        OPC_MoveParent,
/*193246*/        OPC_CheckType, MVT::nxv16i8,
/*193248*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193250*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNB_ZZI_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 722:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2) - Complexity = 12
                  // Dst: (SQSHRUNB_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2)
/*193258*/      /*Scope*/ 22, /*->193281*/
/*193259*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193261*/        OPC_RecordChild2, // #1 = $Op2
/*193262*/        OPC_MoveChild2,
/*193263*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193266*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193268*/        OPC_MoveParent,
/*193269*/        OPC_CheckType, MVT::nxv8i16,
/*193271*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193273*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNB_ZZI_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 722:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2) - Complexity = 12
                  // Dst: (SQSHRUNB_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2)
/*193281*/      /*Scope*/ 22, /*->193304*/
/*193282*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193284*/        OPC_RecordChild2, // #1 = $Op2
/*193285*/        OPC_MoveChild2,
/*193286*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193289*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193291*/        OPC_MoveParent,
/*193292*/        OPC_CheckType, MVT::nxv4i32,
/*193294*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193296*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNB_ZZI_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 722:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2) - Complexity = 12
                  // Dst: (SQSHRUNB_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2)
/*193304*/      0, /*End of Scope*/
/*193305*/    /*Scope*/ 75, /*->193381*/
/*193306*/      OPC_CheckChild0Integer, 78|128,5/*718*/, 
/*193309*/      OPC_RecordChild1, // #0 = $Op1
/*193310*/      OPC_Scope, 22, /*->193334*/ // 3 children in Scope
/*193312*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193314*/        OPC_RecordChild2, // #1 = $Op2
/*193315*/        OPC_MoveChild2,
/*193316*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193319*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193321*/        OPC_MoveParent,
/*193322*/        OPC_CheckType, MVT::nxv16i8,
/*193324*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193326*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNB_ZZI_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 718:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2) - Complexity = 12
                  // Dst: (SQRSHRUNB_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2)
/*193334*/      /*Scope*/ 22, /*->193357*/
/*193335*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193337*/        OPC_RecordChild2, // #1 = $Op2
/*193338*/        OPC_MoveChild2,
/*193339*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193342*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193344*/        OPC_MoveParent,
/*193345*/        OPC_CheckType, MVT::nxv8i16,
/*193347*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193349*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNB_ZZI_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 718:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2) - Complexity = 12
                  // Dst: (SQRSHRUNB_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2)
/*193357*/      /*Scope*/ 22, /*->193380*/
/*193358*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193360*/        OPC_RecordChild2, // #1 = $Op2
/*193361*/        OPC_MoveChild2,
/*193362*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193365*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193367*/        OPC_MoveParent,
/*193368*/        OPC_CheckType, MVT::nxv4i32,
/*193370*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193372*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNB_ZZI_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 718:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2) - Complexity = 12
                  // Dst: (SQRSHRUNB_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2)
/*193380*/      0, /*End of Scope*/
/*193381*/    /*Scope*/ 75, /*->193457*/
/*193382*/      OPC_CheckChild0Integer, 40|128,5/*680*/, 
/*193385*/      OPC_RecordChild1, // #0 = $Op1
/*193386*/      OPC_Scope, 22, /*->193410*/ // 3 children in Scope
/*193388*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193390*/        OPC_RecordChild2, // #1 = $Op2
/*193391*/        OPC_MoveChild2,
/*193392*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193395*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193397*/        OPC_MoveParent,
/*193398*/        OPC_CheckType, MVT::nxv16i8,
/*193400*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193402*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNB_ZZI_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 680:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2) - Complexity = 12
                  // Dst: (SHRNB_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2)
/*193410*/      /*Scope*/ 22, /*->193433*/
/*193411*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193413*/        OPC_RecordChild2, // #1 = $Op2
/*193414*/        OPC_MoveChild2,
/*193415*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193418*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193420*/        OPC_MoveParent,
/*193421*/        OPC_CheckType, MVT::nxv8i16,
/*193423*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193425*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNB_ZZI_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 680:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2) - Complexity = 12
                  // Dst: (SHRNB_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2)
/*193433*/      /*Scope*/ 22, /*->193456*/
/*193434*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193436*/        OPC_RecordChild2, // #1 = $Op2
/*193437*/        OPC_MoveChild2,
/*193438*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193441*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193443*/        OPC_MoveParent,
/*193444*/        OPC_CheckType, MVT::nxv4i32,
/*193446*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193448*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNB_ZZI_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 680:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2) - Complexity = 12
                  // Dst: (SHRNB_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2)
/*193456*/      0, /*End of Scope*/
/*193457*/    /*Scope*/ 75, /*->193533*/
/*193458*/      OPC_CheckChild0Integer, 25|128,5/*665*/, 
/*193461*/      OPC_RecordChild1, // #0 = $Op1
/*193462*/      OPC_Scope, 22, /*->193486*/ // 3 children in Scope
/*193464*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193466*/        OPC_RecordChild2, // #1 = $Op2
/*193467*/        OPC_MoveChild2,
/*193468*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193471*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193473*/        OPC_MoveParent,
/*193474*/        OPC_CheckType, MVT::nxv16i8,
/*193476*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193478*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNB_ZZI_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 665:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2) - Complexity = 12
                  // Dst: (RSHRNB_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2)
/*193486*/      /*Scope*/ 22, /*->193509*/
/*193487*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193489*/        OPC_RecordChild2, // #1 = $Op2
/*193490*/        OPC_MoveChild2,
/*193491*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193494*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193496*/        OPC_MoveParent,
/*193497*/        OPC_CheckType, MVT::nxv8i16,
/*193499*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193501*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNB_ZZI_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 665:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2) - Complexity = 12
                  // Dst: (RSHRNB_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2)
/*193509*/      /*Scope*/ 22, /*->193532*/
/*193510*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193512*/        OPC_RecordChild2, // #1 = $Op2
/*193513*/        OPC_MoveChild2,
/*193514*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193517*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193519*/        OPC_MoveParent,
/*193520*/        OPC_CheckType, MVT::nxv4i32,
/*193522*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193524*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNB_ZZI_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 665:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2) - Complexity = 12
                  // Dst: (RSHRNB_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2)
/*193532*/      0, /*End of Scope*/
/*193533*/    /*Scope*/ 75, /*->193609*/
/*193534*/      OPC_CheckChild0Integer, 80|128,5/*720*/, 
/*193537*/      OPC_RecordChild1, // #0 = $Op1
/*193538*/      OPC_Scope, 22, /*->193562*/ // 3 children in Scope
/*193540*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193542*/        OPC_RecordChild2, // #1 = $Op2
/*193543*/        OPC_MoveChild2,
/*193544*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193547*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193549*/        OPC_MoveParent,
/*193550*/        OPC_CheckType, MVT::nxv16i8,
/*193552*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193554*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNB_ZZI_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 720:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2) - Complexity = 12
                  // Dst: (SQSHRNB_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2)
/*193562*/      /*Scope*/ 22, /*->193585*/
/*193563*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193565*/        OPC_RecordChild2, // #1 = $Op2
/*193566*/        OPC_MoveChild2,
/*193567*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193570*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193572*/        OPC_MoveParent,
/*193573*/        OPC_CheckType, MVT::nxv8i16,
/*193575*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193577*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNB_ZZI_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 720:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2) - Complexity = 12
                  // Dst: (SQSHRNB_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2)
/*193585*/      /*Scope*/ 22, /*->193608*/
/*193586*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193588*/        OPC_RecordChild2, // #1 = $Op2
/*193589*/        OPC_MoveChild2,
/*193590*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193593*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193595*/        OPC_MoveParent,
/*193596*/        OPC_CheckType, MVT::nxv4i32,
/*193598*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193600*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNB_ZZI_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 720:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2) - Complexity = 12
                  // Dst: (SQSHRNB_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2)
/*193608*/      0, /*End of Scope*/
/*193609*/    /*Scope*/ 75, /*->193685*/
/*193610*/      OPC_CheckChild0Integer, 76|128,5/*716*/, 
/*193613*/      OPC_RecordChild1, // #0 = $Op1
/*193614*/      OPC_Scope, 22, /*->193638*/ // 3 children in Scope
/*193616*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193618*/        OPC_RecordChild2, // #1 = $Op2
/*193619*/        OPC_MoveChild2,
/*193620*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193623*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193625*/        OPC_MoveParent,
/*193626*/        OPC_CheckType, MVT::nxv16i8,
/*193628*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193630*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNB_ZZI_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 716:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2) - Complexity = 12
                  // Dst: (SQRSHRNB_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2)
/*193638*/      /*Scope*/ 22, /*->193661*/
/*193639*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193641*/        OPC_RecordChild2, // #1 = $Op2
/*193642*/        OPC_MoveChild2,
/*193643*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193646*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193648*/        OPC_MoveParent,
/*193649*/        OPC_CheckType, MVT::nxv8i16,
/*193651*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193653*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNB_ZZI_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 716:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2) - Complexity = 12
                  // Dst: (SQRSHRNB_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2)
/*193661*/      /*Scope*/ 22, /*->193684*/
/*193662*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193664*/        OPC_RecordChild2, // #1 = $Op2
/*193665*/        OPC_MoveChild2,
/*193666*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193669*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193671*/        OPC_MoveParent,
/*193672*/        OPC_CheckType, MVT::nxv4i32,
/*193674*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193676*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNB_ZZI_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 716:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2) - Complexity = 12
                  // Dst: (SQRSHRNB_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2)
/*193684*/      0, /*End of Scope*/
/*193685*/    /*Scope*/ 75, /*->193761*/
/*193686*/      OPC_CheckChild0Integer, 26|128,6/*794*/, 
/*193689*/      OPC_RecordChild1, // #0 = $Op1
/*193690*/      OPC_Scope, 22, /*->193714*/ // 3 children in Scope
/*193692*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193694*/        OPC_RecordChild2, // #1 = $Op2
/*193695*/        OPC_MoveChild2,
/*193696*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193699*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193701*/        OPC_MoveParent,
/*193702*/        OPC_CheckType, MVT::nxv16i8,
/*193704*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193706*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNB_ZZI_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 794:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2) - Complexity = 12
                  // Dst: (UQSHRNB_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2)
/*193714*/      /*Scope*/ 22, /*->193737*/
/*193715*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193717*/        OPC_RecordChild2, // #1 = $Op2
/*193718*/        OPC_MoveChild2,
/*193719*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193722*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193724*/        OPC_MoveParent,
/*193725*/        OPC_CheckType, MVT::nxv8i16,
/*193727*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193729*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNB_ZZI_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 794:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2) - Complexity = 12
                  // Dst: (UQSHRNB_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2)
/*193737*/      /*Scope*/ 22, /*->193760*/
/*193738*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193740*/        OPC_RecordChild2, // #1 = $Op2
/*193741*/        OPC_MoveChild2,
/*193742*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193745*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193747*/        OPC_MoveParent,
/*193748*/        OPC_CheckType, MVT::nxv4i32,
/*193750*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193752*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNB_ZZI_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 794:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2) - Complexity = 12
                  // Dst: (UQSHRNB_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2)
/*193760*/      0, /*End of Scope*/
/*193761*/    /*Scope*/ 75, /*->193837*/
/*193762*/      OPC_CheckChild0Integer, 24|128,6/*792*/, 
/*193765*/      OPC_RecordChild1, // #0 = $Op1
/*193766*/      OPC_Scope, 22, /*->193790*/ // 3 children in Scope
/*193768*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193770*/        OPC_RecordChild2, // #1 = $Op2
/*193771*/        OPC_MoveChild2,
/*193772*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193775*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193777*/        OPC_MoveParent,
/*193778*/        OPC_CheckType, MVT::nxv16i8,
/*193780*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193782*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNB_ZZI_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 792:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2) - Complexity = 12
                  // Dst: (UQRSHRNB_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op2)
/*193790*/      /*Scope*/ 22, /*->193813*/
/*193791*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193793*/        OPC_RecordChild2, // #1 = $Op2
/*193794*/        OPC_MoveChild2,
/*193795*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193798*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193800*/        OPC_MoveParent,
/*193801*/        OPC_CheckType, MVT::nxv8i16,
/*193803*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193805*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNB_ZZI_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 792:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2) - Complexity = 12
                  // Dst: (UQRSHRNB_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op2)
/*193813*/      /*Scope*/ 22, /*->193836*/
/*193814*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*193816*/        OPC_RecordChild2, // #1 = $Op2
/*193817*/        OPC_MoveChild2,
/*193818*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193821*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193823*/        OPC_MoveParent,
/*193824*/        OPC_CheckType, MVT::nxv4i32,
/*193826*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193828*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNB_ZZI_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 792:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2) - Complexity = 12
                  // Dst: (UQRSHRNB_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op2)
/*193836*/      0, /*End of Scope*/
/*193837*/    /*Scope*/ 87, /*->193925*/
/*193838*/      OPC_CheckChild0Integer, 83|128,5/*723*/, 
/*193841*/      OPC_RecordChild1, // #0 = $Op1
/*193842*/      OPC_Scope, 26, /*->193870*/ // 3 children in Scope
/*193844*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*193846*/        OPC_RecordChild2, // #1 = $Op2
/*193847*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*193849*/        OPC_RecordChild3, // #2 = $Op3
/*193850*/        OPC_MoveChild3,
/*193851*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193854*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193856*/        OPC_MoveParent,
/*193857*/        OPC_CheckType, MVT::nxv16i8,
/*193859*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193861*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNT_ZZI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 723:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (SQSHRUNT_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3)
/*193870*/      /*Scope*/ 26, /*->193897*/
/*193871*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193873*/        OPC_RecordChild2, // #1 = $Op2
/*193874*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*193876*/        OPC_RecordChild3, // #2 = $Op3
/*193877*/        OPC_MoveChild3,
/*193878*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193881*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193883*/        OPC_MoveParent,
/*193884*/        OPC_CheckType, MVT::nxv8i16,
/*193886*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193888*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNT_ZZI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 723:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (SQSHRUNT_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3)
/*193897*/      /*Scope*/ 26, /*->193924*/
/*193898*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193900*/        OPC_RecordChild2, // #1 = $Op2
/*193901*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*193903*/        OPC_RecordChild3, // #2 = $Op3
/*193904*/        OPC_MoveChild3,
/*193905*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193908*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193910*/        OPC_MoveParent,
/*193911*/        OPC_CheckType, MVT::nxv4i32,
/*193913*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193915*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNT_ZZI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 723:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (SQSHRUNT_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3)
/*193924*/      0, /*End of Scope*/
/*193925*/    /*Scope*/ 87, /*->194013*/
/*193926*/      OPC_CheckChild0Integer, 79|128,5/*719*/, 
/*193929*/      OPC_RecordChild1, // #0 = $Op1
/*193930*/      OPC_Scope, 26, /*->193958*/ // 3 children in Scope
/*193932*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*193934*/        OPC_RecordChild2, // #1 = $Op2
/*193935*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*193937*/        OPC_RecordChild3, // #2 = $Op3
/*193938*/        OPC_MoveChild3,
/*193939*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193942*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*193944*/        OPC_MoveParent,
/*193945*/        OPC_CheckType, MVT::nxv16i8,
/*193947*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193949*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNT_ZZI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 719:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (SQRSHRUNT_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3)
/*193958*/      /*Scope*/ 26, /*->193985*/
/*193959*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*193961*/        OPC_RecordChild2, // #1 = $Op2
/*193962*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*193964*/        OPC_RecordChild3, // #2 = $Op3
/*193965*/        OPC_MoveChild3,
/*193966*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193969*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*193971*/        OPC_MoveParent,
/*193972*/        OPC_CheckType, MVT::nxv8i16,
/*193974*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*193976*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNT_ZZI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 719:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (SQRSHRUNT_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3)
/*193985*/      /*Scope*/ 26, /*->194012*/
/*193986*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*193988*/        OPC_RecordChild2, // #1 = $Op2
/*193989*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*193991*/        OPC_RecordChild3, // #2 = $Op3
/*193992*/        OPC_MoveChild3,
/*193993*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*193996*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*193998*/        OPC_MoveParent,
/*193999*/        OPC_CheckType, MVT::nxv4i32,
/*194001*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194003*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNT_ZZI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 719:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (SQRSHRUNT_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3)
/*194012*/      0, /*End of Scope*/
/*194013*/    /*Scope*/ 87, /*->194101*/
/*194014*/      OPC_CheckChild0Integer, 41|128,5/*681*/, 
/*194017*/      OPC_RecordChild1, // #0 = $Op1
/*194018*/      OPC_Scope, 26, /*->194046*/ // 3 children in Scope
/*194020*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*194022*/        OPC_RecordChild2, // #1 = $Op2
/*194023*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*194025*/        OPC_RecordChild3, // #2 = $Op3
/*194026*/        OPC_MoveChild3,
/*194027*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194030*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*194032*/        OPC_MoveParent,
/*194033*/        OPC_CheckType, MVT::nxv16i8,
/*194035*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194037*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNT_ZZI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 681:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (SHRNT_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3)
/*194046*/      /*Scope*/ 26, /*->194073*/
/*194047*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*194049*/        OPC_RecordChild2, // #1 = $Op2
/*194050*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*194052*/        OPC_RecordChild3, // #2 = $Op3
/*194053*/        OPC_MoveChild3,
/*194054*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194057*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*194059*/        OPC_MoveParent,
/*194060*/        OPC_CheckType, MVT::nxv8i16,
/*194062*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194064*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNT_ZZI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 681:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (SHRNT_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3)
/*194073*/      /*Scope*/ 26, /*->194100*/
/*194074*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*194076*/        OPC_RecordChild2, // #1 = $Op2
/*194077*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*194079*/        OPC_RecordChild3, // #2 = $Op3
/*194080*/        OPC_MoveChild3,
/*194081*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194084*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*194086*/        OPC_MoveParent,
/*194087*/        OPC_CheckType, MVT::nxv4i32,
/*194089*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194091*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNT_ZZI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 681:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (SHRNT_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3)
/*194100*/      0, /*End of Scope*/
/*194101*/    /*Scope*/ 87, /*->194189*/
/*194102*/      OPC_CheckChild0Integer, 26|128,5/*666*/, 
/*194105*/      OPC_RecordChild1, // #0 = $Op1
/*194106*/      OPC_Scope, 26, /*->194134*/ // 3 children in Scope
/*194108*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*194110*/        OPC_RecordChild2, // #1 = $Op2
/*194111*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*194113*/        OPC_RecordChild3, // #2 = $Op3
/*194114*/        OPC_MoveChild3,
/*194115*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194118*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*194120*/        OPC_MoveParent,
/*194121*/        OPC_CheckType, MVT::nxv16i8,
/*194123*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194125*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNT_ZZI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 666:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (RSHRNT_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3)
/*194134*/      /*Scope*/ 26, /*->194161*/
/*194135*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*194137*/        OPC_RecordChild2, // #1 = $Op2
/*194138*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*194140*/        OPC_RecordChild3, // #2 = $Op3
/*194141*/        OPC_MoveChild3,
/*194142*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194145*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*194147*/        OPC_MoveParent,
/*194148*/        OPC_CheckType, MVT::nxv8i16,
/*194150*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194152*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNT_ZZI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 666:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (RSHRNT_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3)
/*194161*/      /*Scope*/ 26, /*->194188*/
/*194162*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*194164*/        OPC_RecordChild2, // #1 = $Op2
/*194165*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*194167*/        OPC_RecordChild3, // #2 = $Op3
/*194168*/        OPC_MoveChild3,
/*194169*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194172*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*194174*/        OPC_MoveParent,
/*194175*/        OPC_CheckType, MVT::nxv4i32,
/*194177*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194179*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNT_ZZI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 666:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (RSHRNT_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3)
/*194188*/      0, /*End of Scope*/
/*194189*/    /*Scope*/ 87, /*->194277*/
/*194190*/      OPC_CheckChild0Integer, 81|128,5/*721*/, 
/*194193*/      OPC_RecordChild1, // #0 = $Op1
/*194194*/      OPC_Scope, 26, /*->194222*/ // 3 children in Scope
/*194196*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*194198*/        OPC_RecordChild2, // #1 = $Op2
/*194199*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*194201*/        OPC_RecordChild3, // #2 = $Op3
/*194202*/        OPC_MoveChild3,
/*194203*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194206*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*194208*/        OPC_MoveParent,
/*194209*/        OPC_CheckType, MVT::nxv16i8,
/*194211*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194213*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNT_ZZI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 721:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (SQSHRNT_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3)
/*194222*/      /*Scope*/ 26, /*->194249*/
/*194223*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*194225*/        OPC_RecordChild2, // #1 = $Op2
/*194226*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*194228*/        OPC_RecordChild3, // #2 = $Op3
/*194229*/        OPC_MoveChild3,
/*194230*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194233*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*194235*/        OPC_MoveParent,
/*194236*/        OPC_CheckType, MVT::nxv8i16,
/*194238*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194240*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNT_ZZI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 721:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (SQSHRNT_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3)
/*194249*/      /*Scope*/ 26, /*->194276*/
/*194250*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*194252*/        OPC_RecordChild2, // #1 = $Op2
/*194253*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*194255*/        OPC_RecordChild3, // #2 = $Op3
/*194256*/        OPC_MoveChild3,
/*194257*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194260*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*194262*/        OPC_MoveParent,
/*194263*/        OPC_CheckType, MVT::nxv4i32,
/*194265*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194267*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNT_ZZI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 721:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (SQSHRNT_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3)
/*194276*/      0, /*End of Scope*/
/*194277*/    /*Scope*/ 87, /*->194365*/
/*194278*/      OPC_CheckChild0Integer, 77|128,5/*717*/, 
/*194281*/      OPC_RecordChild1, // #0 = $Op1
/*194282*/      OPC_Scope, 26, /*->194310*/ // 3 children in Scope
/*194284*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*194286*/        OPC_RecordChild2, // #1 = $Op2
/*194287*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*194289*/        OPC_RecordChild3, // #2 = $Op3
/*194290*/        OPC_MoveChild3,
/*194291*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194294*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*194296*/        OPC_MoveParent,
/*194297*/        OPC_CheckType, MVT::nxv16i8,
/*194299*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194301*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNT_ZZI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 717:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (SQRSHRNT_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3)
/*194310*/      /*Scope*/ 26, /*->194337*/
/*194311*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*194313*/        OPC_RecordChild2, // #1 = $Op2
/*194314*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*194316*/        OPC_RecordChild3, // #2 = $Op3
/*194317*/        OPC_MoveChild3,
/*194318*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194321*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*194323*/        OPC_MoveParent,
/*194324*/        OPC_CheckType, MVT::nxv8i16,
/*194326*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194328*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNT_ZZI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 717:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (SQRSHRNT_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3)
/*194337*/      /*Scope*/ 26, /*->194364*/
/*194338*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*194340*/        OPC_RecordChild2, // #1 = $Op2
/*194341*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*194343*/        OPC_RecordChild3, // #2 = $Op3
/*194344*/        OPC_MoveChild3,
/*194345*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194348*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*194350*/        OPC_MoveParent,
/*194351*/        OPC_CheckType, MVT::nxv4i32,
/*194353*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194355*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNT_ZZI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 717:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (SQRSHRNT_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3)
/*194364*/      0, /*End of Scope*/
/*194365*/    /*Scope*/ 87, /*->194453*/
/*194366*/      OPC_CheckChild0Integer, 27|128,6/*795*/, 
/*194369*/      OPC_RecordChild1, // #0 = $Op1
/*194370*/      OPC_Scope, 26, /*->194398*/ // 3 children in Scope
/*194372*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*194374*/        OPC_RecordChild2, // #1 = $Op2
/*194375*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*194377*/        OPC_RecordChild3, // #2 = $Op3
/*194378*/        OPC_MoveChild3,
/*194379*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194382*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*194384*/        OPC_MoveParent,
/*194385*/        OPC_CheckType, MVT::nxv16i8,
/*194387*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194389*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNT_ZZI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 795:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (UQSHRNT_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3)
/*194398*/      /*Scope*/ 26, /*->194425*/
/*194399*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*194401*/        OPC_RecordChild2, // #1 = $Op2
/*194402*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*194404*/        OPC_RecordChild3, // #2 = $Op3
/*194405*/        OPC_MoveChild3,
/*194406*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194409*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*194411*/        OPC_MoveParent,
/*194412*/        OPC_CheckType, MVT::nxv8i16,
/*194414*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194416*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNT_ZZI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 795:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (UQSHRNT_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3)
/*194425*/      /*Scope*/ 26, /*->194452*/
/*194426*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*194428*/        OPC_RecordChild2, // #1 = $Op2
/*194429*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*194431*/        OPC_RecordChild3, // #2 = $Op3
/*194432*/        OPC_MoveChild3,
/*194433*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194436*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*194438*/        OPC_MoveParent,
/*194439*/        OPC_CheckType, MVT::nxv4i32,
/*194441*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194443*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNT_ZZI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 795:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (UQSHRNT_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3)
/*194452*/      0, /*End of Scope*/
/*194453*/    /*Scope*/ 87, /*->194541*/
/*194454*/      OPC_CheckChild0Integer, 25|128,6/*793*/, 
/*194457*/      OPC_RecordChild1, // #0 = $Op1
/*194458*/      OPC_Scope, 26, /*->194486*/ // 3 children in Scope
/*194460*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*194462*/        OPC_RecordChild2, // #1 = $Op2
/*194463*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*194465*/        OPC_RecordChild3, // #2 = $Op3
/*194466*/        OPC_MoveChild3,
/*194467*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194470*/        OPC_CheckPredicate, 11, // Predicate_tvecshiftR8
/*194472*/        OPC_MoveParent,
/*194473*/        OPC_CheckType, MVT::nxv16i8,
/*194475*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194477*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNT_ZZI_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 793:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3) - Complexity = 12
                  // Dst: (UQRSHRNT_ZZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR8>>:$Op3)
/*194486*/      /*Scope*/ 26, /*->194513*/
/*194487*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*194489*/        OPC_RecordChild2, // #1 = $Op2
/*194490*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*194492*/        OPC_RecordChild3, // #2 = $Op3
/*194493*/        OPC_MoveChild3,
/*194494*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194497*/        OPC_CheckPredicate, 12, // Predicate_tvecshiftR16
/*194499*/        OPC_MoveParent,
/*194500*/        OPC_CheckType, MVT::nxv8i16,
/*194502*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194504*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNT_ZZI_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 793:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3) - Complexity = 12
                  // Dst: (UQRSHRNT_ZZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR16>>:$Op3)
/*194513*/      /*Scope*/ 26, /*->194540*/
/*194514*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*194516*/        OPC_RecordChild2, // #1 = $Op2
/*194517*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*194519*/        OPC_RecordChild3, // #2 = $Op3
/*194520*/        OPC_MoveChild3,
/*194521*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*194524*/        OPC_CheckPredicate, 13, // Predicate_tvecshiftR32
/*194526*/        OPC_MoveParent,
/*194527*/        OPC_CheckType, MVT::nxv4i32,
/*194529*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*194531*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNT_ZZI_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 793:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3) - Complexity = 12
                  // Dst: (UQRSHRNT_ZZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, (timm:{ *:[i32] })<<P:Predicate_tvecshiftR32>>:$Op3)
/*194540*/      0, /*End of Scope*/
/*194541*/    /*Scope*/ 84, /*->194626*/
/*194542*/      OPC_CheckChild0Integer, 55|128,2/*311*/, 
/*194545*/      OPC_RecordChild1, // #0 = $Rn
/*194546*/      OPC_SwitchType /*6 cases */, 11, MVT::v8i8,// ->194560
/*194549*/        OPC_CheckChild1Type, MVT::v8i8,
/*194551*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194553*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 311:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                  // Dst: (CLSv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*194560*/      /*SwitchType*/ 11, MVT::v16i8,// ->194573
/*194562*/        OPC_CheckChild1Type, MVT::v16i8,
/*194564*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194566*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 311:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (CLSv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*194573*/      /*SwitchType*/ 11, MVT::v4i16,// ->194586
/*194575*/        OPC_CheckChild1Type, MVT::v4i16,
/*194577*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194579*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 311:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                  // Dst: (CLSv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*194586*/      /*SwitchType*/ 11, MVT::v8i16,// ->194599
/*194588*/        OPC_CheckChild1Type, MVT::v8i16,
/*194590*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194592*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSv8i16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 311:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (CLSv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*194599*/      /*SwitchType*/ 11, MVT::v2i32,// ->194612
/*194601*/        OPC_CheckChild1Type, MVT::v2i32,
/*194603*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194605*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 311:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (CLSv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*194612*/      /*SwitchType*/ 11, MVT::v4i32,// ->194625
/*194614*/        OPC_CheckChild1Type, MVT::v4i32,
/*194616*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194618*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSv4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 311:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (CLSv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*194625*/      0, // EndSwitchType
/*194626*/    /*Scope*/ 11, /*->194638*/
/*194627*/      OPC_CheckChild0Integer, 77|128,3/*461*/, 
/*194630*/      OPC_RecordChild1, // #0 = $Rn
/*194631*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNv4i16), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[v4i16] } 461:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn) - Complexity = 8
                // Dst: (FCVTNv4i16:{ *:[v4i16] } V128:{ *:[v4f32] }:$Rn)
/*194638*/    /*Scope*/ 32, /*->194671*/
/*194639*/      OPC_CheckChild0Integer, 111|128,2/*367*/, 
/*194642*/      OPC_RecordChild1, // #0 = $Rn
/*194643*/      OPC_SwitchType /*2 cases */, 11, MVT::v8i8,// ->194657
/*194646*/        OPC_CheckChild1Type, MVT::v8i8,
/*194648*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194650*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RBITv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 367:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                  // Dst: (RBITv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*194657*/      /*SwitchType*/ 11, MVT::v16i8,// ->194670
/*194659*/        OPC_CheckChild1Type, MVT::v16i8,
/*194661*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194663*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RBITv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 367:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (RBITv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*194670*/      0, // EndSwitchType
/*194671*/    /*Scope*/ 84, /*->194756*/
/*194672*/      OPC_CheckChild0Integer, 115|128,2/*371*/, 
/*194675*/      OPC_RecordChild1, // #0 = $Rn
/*194676*/      OPC_SwitchType /*6 cases */, 11, MVT::v4i16,// ->194690
/*194679*/        OPC_CheckChild1Type, MVT::v8i8,
/*194681*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194683*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLPv8i8_v4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 371:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                  // Dst: (SADDLPv8i8_v4i16:{ *:[v4i16] } V64:{ *:[v8i8] }:$Rn)
/*194690*/      /*SwitchType*/ 11, MVT::v8i16,// ->194703
/*194692*/        OPC_CheckChild1Type, MVT::v16i8,
/*194694*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194696*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLPv16i8_v8i16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 371:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (SADDLPv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn)
/*194703*/      /*SwitchType*/ 11, MVT::v2i32,// ->194716
/*194705*/        OPC_CheckChild1Type, MVT::v4i16,
/*194707*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194709*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLPv4i16_v2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 371:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                  // Dst: (SADDLPv4i16_v2i32:{ *:[v2i32] } V64:{ *:[v4i16] }:$Rn)
/*194716*/      /*SwitchType*/ 11, MVT::v4i32,// ->194729
/*194718*/        OPC_CheckChild1Type, MVT::v8i16,
/*194720*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194722*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLPv8i16_v4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 371:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (SADDLPv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn)
/*194729*/      /*SwitchType*/ 11, MVT::v1i64,// ->194742
/*194731*/        OPC_CheckChild1Type, MVT::v2i32,
/*194733*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194735*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLPv2i32_v1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 371:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (SADDLPv2i32_v1i64:{ *:[v1i64] } V64:{ *:[v2i32] }:$Rn)
/*194742*/      /*SwitchType*/ 11, MVT::v2i64,// ->194755
/*194744*/        OPC_CheckChild1Type, MVT::v4i32,
/*194746*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194748*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SADDLPv4i32_v2i64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 371:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (SADDLPv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn)
/*194755*/      0, // EndSwitchType
/*194756*/    /*Scope*/ 45, /*->194802*/
/*194757*/      OPC_CheckChild0Integer, 19|128,3/*403*/, 
/*194760*/      OPC_RecordChild1, // #0 = $Rn
/*194761*/      OPC_SwitchType /*3 cases */, 11, MVT::v8i8,// ->194775
/*194764*/        OPC_CheckChild1Type, MVT::v8i16,
/*194766*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194768*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 403:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (SQXTNv8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn)
/*194775*/      /*SwitchType*/ 11, MVT::v4i16,// ->194788
/*194777*/        OPC_CheckChild1Type, MVT::v4i32,
/*194779*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194781*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 403:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (SQXTNv4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn)
/*194788*/      /*SwitchType*/ 11, MVT::v2i32,// ->194801
/*194790*/        OPC_CheckChild1Type, MVT::v2i64,
/*194792*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194794*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 403:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn) - Complexity = 8
                  // Dst: (SQXTNv2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn)
/*194801*/      0, // EndSwitchType
/*194802*/    /*Scope*/ 45, /*->194848*/
/*194803*/      OPC_CheckChild0Integer, 20|128,3/*404*/, 
/*194806*/      OPC_RecordChild1, // #0 = $Rn
/*194807*/      OPC_SwitchType /*3 cases */, 11, MVT::v8i8,// ->194821
/*194810*/        OPC_CheckChild1Type, MVT::v8i16,
/*194812*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194814*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 404:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (SQXTUNv8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn)
/*194821*/      /*SwitchType*/ 11, MVT::v4i16,// ->194834
/*194823*/        OPC_CheckChild1Type, MVT::v4i32,
/*194825*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194827*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 404:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (SQXTUNv4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn)
/*194834*/      /*SwitchType*/ 11, MVT::v2i32,// ->194847
/*194836*/        OPC_CheckChild1Type, MVT::v2i64,
/*194838*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194840*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 404:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn) - Complexity = 8
                  // Dst: (SQXTUNv2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn)
/*194847*/      0, // EndSwitchType
/*194848*/    /*Scope*/ 84, /*->194933*/
/*194849*/      OPC_CheckChild0Integer, 45|128,3/*429*/, 
/*194852*/      OPC_RecordChild1, // #0 = $Rn
/*194853*/      OPC_SwitchType /*6 cases */, 11, MVT::v4i16,// ->194867
/*194856*/        OPC_CheckChild1Type, MVT::v8i8,
/*194858*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194860*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLPv8i8_v4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 429:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 8
                  // Dst: (UADDLPv8i8_v4i16:{ *:[v4i16] } V64:{ *:[v8i8] }:$Rn)
/*194867*/      /*SwitchType*/ 11, MVT::v8i16,// ->194880
/*194869*/        OPC_CheckChild1Type, MVT::v16i8,
/*194871*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194873*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLPv16i8_v8i16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 429:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (UADDLPv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn)
/*194880*/      /*SwitchType*/ 11, MVT::v2i32,// ->194893
/*194882*/        OPC_CheckChild1Type, MVT::v4i16,
/*194884*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194886*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLPv4i16_v2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 429:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                  // Dst: (UADDLPv4i16_v2i32:{ *:[v2i32] } V64:{ *:[v4i16] }:$Rn)
/*194893*/      /*SwitchType*/ 11, MVT::v4i32,// ->194906
/*194895*/        OPC_CheckChild1Type, MVT::v8i16,
/*194897*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194899*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLPv8i16_v4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 429:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (UADDLPv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn)
/*194906*/      /*SwitchType*/ 11, MVT::v1i64,// ->194919
/*194908*/        OPC_CheckChild1Type, MVT::v2i32,
/*194910*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194912*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLPv2i32_v1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v1i64] } 429:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (UADDLPv2i32_v1i64:{ *:[v1i64] } V64:{ *:[v2i32] }:$Rn)
/*194919*/      /*SwitchType*/ 11, MVT::v2i64,// ->194932
/*194921*/        OPC_CheckChild1Type, MVT::v4i32,
/*194923*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194925*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UADDLPv4i32_v2i64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 429:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (UADDLPv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn)
/*194932*/      0, // EndSwitchType
/*194933*/    /*Scope*/ 45, /*->194979*/
/*194934*/      OPC_CheckChild0Integer, 64|128,3/*448*/, 
/*194937*/      OPC_RecordChild1, // #0 = $Rn
/*194938*/      OPC_SwitchType /*3 cases */, 11, MVT::v8i8,// ->194952
/*194941*/        OPC_CheckChild1Type, MVT::v8i16,
/*194943*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194945*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 448:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 8
                  // Dst: (UQXTNv8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn)
/*194952*/      /*SwitchType*/ 11, MVT::v4i16,// ->194965
/*194954*/        OPC_CheckChild1Type, MVT::v4i32,
/*194956*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194958*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 448:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (UQXTNv4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn)
/*194965*/      /*SwitchType*/ 11, MVT::v2i32,// ->194978
/*194967*/        OPC_CheckChild1Type, MVT::v2i64,
/*194969*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194971*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 448:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn) - Complexity = 8
                  // Dst: (UQXTNv2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn)
/*194978*/      0, // EndSwitchType
/*194979*/    /*Scope*/ 32, /*->195012*/
/*194980*/      OPC_CheckChild0Integer, 65|128,3/*449*/, 
/*194983*/      OPC_RecordChild1, // #0 = $Rn
/*194984*/      OPC_SwitchType /*2 cases */, 11, MVT::v2i32,// ->194998
/*194987*/        OPC_CheckChild1Type, MVT::v2i32,
/*194989*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*194991*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URECPEv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 449:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (URECPEv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*194998*/      /*SwitchType*/ 11, MVT::v4i32,// ->195011
/*195000*/        OPC_CheckChild1Type, MVT::v4i32,
/*195002*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195004*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URECPEv4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 449:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (URECPEv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*195011*/      0, // EndSwitchType
/*195012*/    /*Scope*/ 32, /*->195045*/
/*195013*/      OPC_CheckChild0Integer, 68|128,3/*452*/, 
/*195016*/      OPC_RecordChild1, // #0 = $Rn
/*195017*/      OPC_SwitchType /*2 cases */, 11, MVT::v2i32,// ->195031
/*195020*/        OPC_CheckChild1Type, MVT::v2i32,
/*195022*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195024*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSQRTEv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 452:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 8
                  // Dst: (URSQRTEv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*195031*/      /*SwitchType*/ 11, MVT::v4i32,// ->195044
/*195033*/        OPC_CheckChild1Type, MVT::v4i32,
/*195035*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195037*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSQRTEv4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 452:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                  // Dst: (URSQRTEv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*195044*/      0, // EndSwitchType
/*195045*/    /*Scope*/ 125, /*->195171*/
/*195046*/      OPC_CheckChild0Integer, 54|128,2/*310*/, 
/*195049*/      OPC_RecordChild1, // #0 = $Rn
/*195050*/      OPC_SwitchType /*7 cases */, 15, MVT::v8i8,// ->195068
/*195053*/        OPC_CheckChild1Type, MVT::v8i8,
/*195055*/        OPC_RecordChild2, // #1 = $Rm
/*195056*/        OPC_CheckChild2Type, MVT::v8i8,
/*195058*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195060*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 310:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (ADDPv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195068*/      /*SwitchType*/ 15, MVT::v16i8,// ->195085
/*195070*/        OPC_CheckChild1Type, MVT::v16i8,
/*195072*/        OPC_RecordChild2, // #1 = $Rm
/*195073*/        OPC_CheckChild2Type, MVT::v16i8,
/*195075*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195077*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 310:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (ADDPv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195085*/      /*SwitchType*/ 15, MVT::v4i16,// ->195102
/*195087*/        OPC_CheckChild1Type, MVT::v4i16,
/*195089*/        OPC_RecordChild2, // #1 = $Rm
/*195090*/        OPC_CheckChild2Type, MVT::v4i16,
/*195092*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195094*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 310:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (ADDPv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*195102*/      /*SwitchType*/ 15, MVT::v8i16,// ->195119
/*195104*/        OPC_CheckChild1Type, MVT::v8i16,
/*195106*/        OPC_RecordChild2, // #1 = $Rm
/*195107*/        OPC_CheckChild2Type, MVT::v8i16,
/*195109*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195111*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 310:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (ADDPv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*195119*/      /*SwitchType*/ 15, MVT::v2i32,// ->195136
/*195121*/        OPC_CheckChild1Type, MVT::v2i32,
/*195123*/        OPC_RecordChild2, // #1 = $Rm
/*195124*/        OPC_CheckChild2Type, MVT::v2i32,
/*195126*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195128*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 310:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (ADDPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*195136*/      /*SwitchType*/ 15, MVT::v4i32,// ->195153
/*195138*/        OPC_CheckChild1Type, MVT::v4i32,
/*195140*/        OPC_RecordChild2, // #1 = $Rm
/*195141*/        OPC_CheckChild2Type, MVT::v4i32,
/*195143*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195145*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 310:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (ADDPv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*195153*/      /*SwitchType*/ 15, MVT::v2i64,// ->195170
/*195155*/        OPC_CheckChild1Type, MVT::v2i64,
/*195157*/        OPC_RecordChild2, // #1 = $Rm
/*195158*/        OPC_CheckChild2Type, MVT::v2i64,
/*195160*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195162*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i64] } 310:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (ADDPv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*195170*/      0, // EndSwitchType
/*195171*/    /*Scope*/ 40, /*->195212*/
/*195172*/      OPC_CheckChild0Integer, 107|128,2/*363*/, 
/*195175*/      OPC_RecordChild1, // #0 = $Rn
/*195176*/      OPC_SwitchType /*2 cases */, 15, MVT::v8i8,// ->195194
/*195179*/        OPC_CheckChild1Type, MVT::v8i8,
/*195181*/        OPC_RecordChild2, // #1 = $Rm
/*195182*/        OPC_CheckChild2Type, MVT::v8i8,
/*195184*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195186*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PMULv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 363:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (PMULv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195194*/      /*SwitchType*/ 15, MVT::v16i8,// ->195211
/*195196*/        OPC_CheckChild1Type, MVT::v16i8,
/*195198*/        OPC_RecordChild2, // #1 = $Rm
/*195199*/        OPC_CheckChild2Type, MVT::v16i8,
/*195201*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195203*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PMULv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 363:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (PMULv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195211*/      0, // EndSwitchType
/*195212*/    /*Scope*/ 108, /*->195321*/
/*195213*/      OPC_CheckChild0Integer, 114|128,2/*370*/, 
/*195216*/      OPC_RecordChild1, // #0 = $Rn
/*195217*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->195235
/*195220*/        OPC_CheckChild1Type, MVT::v8i8,
/*195222*/        OPC_RecordChild2, // #1 = $Rm
/*195223*/        OPC_CheckChild2Type, MVT::v8i8,
/*195225*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195227*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SABDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195235*/      /*SwitchType*/ 15, MVT::v16i8,// ->195252
/*195237*/        OPC_CheckChild1Type, MVT::v16i8,
/*195239*/        OPC_RecordChild2, // #1 = $Rm
/*195240*/        OPC_CheckChild2Type, MVT::v16i8,
/*195242*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195244*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 370:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SABDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195252*/      /*SwitchType*/ 15, MVT::v4i16,// ->195269
/*195254*/        OPC_CheckChild1Type, MVT::v4i16,
/*195256*/        OPC_RecordChild2, // #1 = $Rm
/*195257*/        OPC_CheckChild2Type, MVT::v4i16,
/*195259*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195261*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SABDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*195269*/      /*SwitchType*/ 15, MVT::v8i16,// ->195286
/*195271*/        OPC_CheckChild1Type, MVT::v8i16,
/*195273*/        OPC_RecordChild2, // #1 = $Rm
/*195274*/        OPC_CheckChild2Type, MVT::v8i16,
/*195276*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195278*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 370:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SABDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*195286*/      /*SwitchType*/ 15, MVT::v2i32,// ->195303
/*195288*/        OPC_CheckChild1Type, MVT::v2i32,
/*195290*/        OPC_RecordChild2, // #1 = $Rm
/*195291*/        OPC_CheckChild2Type, MVT::v2i32,
/*195293*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195295*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SABDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*195303*/      /*SwitchType*/ 15, MVT::v4i32,// ->195320
/*195305*/        OPC_CheckChild1Type, MVT::v4i32,
/*195307*/        OPC_RecordChild2, // #1 = $Rm
/*195308*/        OPC_CheckChild2Type, MVT::v4i32,
/*195310*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195312*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 370:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SABDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*195320*/      0, // EndSwitchType
/*195321*/    /*Scope*/ 108, /*->195430*/
/*195322*/      OPC_CheckChild0Integer, 122|128,2/*378*/, 
/*195325*/      OPC_RecordChild1, // #0 = $Rn
/*195326*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->195344
/*195329*/        OPC_CheckChild1Type, MVT::v8i8,
/*195331*/        OPC_RecordChild2, // #1 = $Rm
/*195332*/        OPC_CheckChild2Type, MVT::v8i8,
/*195334*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195336*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 378:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SHADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195344*/      /*SwitchType*/ 15, MVT::v16i8,// ->195361
/*195346*/        OPC_CheckChild1Type, MVT::v16i8,
/*195348*/        OPC_RecordChild2, // #1 = $Rm
/*195349*/        OPC_CheckChild2Type, MVT::v16i8,
/*195351*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195353*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 378:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SHADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195361*/      /*SwitchType*/ 15, MVT::v4i16,// ->195378
/*195363*/        OPC_CheckChild1Type, MVT::v4i16,
/*195365*/        OPC_RecordChild2, // #1 = $Rm
/*195366*/        OPC_CheckChild2Type, MVT::v4i16,
/*195368*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195370*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 378:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SHADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*195378*/      /*SwitchType*/ 15, MVT::v8i16,// ->195395
/*195380*/        OPC_CheckChild1Type, MVT::v8i16,
/*195382*/        OPC_RecordChild2, // #1 = $Rm
/*195383*/        OPC_CheckChild2Type, MVT::v8i16,
/*195385*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195387*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 378:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SHADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*195395*/      /*SwitchType*/ 15, MVT::v2i32,// ->195412
/*195397*/        OPC_CheckChild1Type, MVT::v2i32,
/*195399*/        OPC_RecordChild2, // #1 = $Rm
/*195400*/        OPC_CheckChild2Type, MVT::v2i32,
/*195402*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195404*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 378:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SHADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*195412*/      /*SwitchType*/ 15, MVT::v4i32,// ->195429
/*195414*/        OPC_CheckChild1Type, MVT::v4i32,
/*195416*/        OPC_RecordChild2, // #1 = $Rm
/*195417*/        OPC_CheckChild2Type, MVT::v4i32,
/*195419*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195421*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 378:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SHADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*195429*/      0, // EndSwitchType
/*195430*/    /*Scope*/ 108, /*->195539*/
/*195431*/      OPC_CheckChild0Integer, 124|128,2/*380*/, 
/*195434*/      OPC_RecordChild1, // #0 = $Rn
/*195435*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->195453
/*195438*/        OPC_CheckChild1Type, MVT::v8i8,
/*195440*/        OPC_RecordChild2, // #1 = $Rm
/*195441*/        OPC_CheckChild2Type, MVT::v8i8,
/*195443*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195445*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHSUBv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 380:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SHSUBv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195453*/      /*SwitchType*/ 15, MVT::v16i8,// ->195470
/*195455*/        OPC_CheckChild1Type, MVT::v16i8,
/*195457*/        OPC_RecordChild2, // #1 = $Rm
/*195458*/        OPC_CheckChild2Type, MVT::v16i8,
/*195460*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195462*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHSUBv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 380:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SHSUBv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195470*/      /*SwitchType*/ 15, MVT::v4i16,// ->195487
/*195472*/        OPC_CheckChild1Type, MVT::v4i16,
/*195474*/        OPC_RecordChild2, // #1 = $Rm
/*195475*/        OPC_CheckChild2Type, MVT::v4i16,
/*195477*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195479*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHSUBv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 380:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SHSUBv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*195487*/      /*SwitchType*/ 15, MVT::v8i16,// ->195504
/*195489*/        OPC_CheckChild1Type, MVT::v8i16,
/*195491*/        OPC_RecordChild2, // #1 = $Rm
/*195492*/        OPC_CheckChild2Type, MVT::v8i16,
/*195494*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195496*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHSUBv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 380:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SHSUBv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*195504*/      /*SwitchType*/ 15, MVT::v2i32,// ->195521
/*195506*/        OPC_CheckChild1Type, MVT::v2i32,
/*195508*/        OPC_RecordChild2, // #1 = $Rm
/*195509*/        OPC_CheckChild2Type, MVT::v2i32,
/*195511*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195513*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHSUBv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 380:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SHSUBv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*195521*/      /*SwitchType*/ 15, MVT::v4i32,// ->195538
/*195523*/        OPC_CheckChild1Type, MVT::v4i32,
/*195525*/        OPC_RecordChild2, // #1 = $Rm
/*195526*/        OPC_CheckChild2Type, MVT::v4i32,
/*195528*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195530*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHSUBv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 380:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SHSUBv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*195538*/      0, // EndSwitchType
/*195539*/    /*Scope*/ 108, /*->195648*/
/*195540*/      OPC_CheckChild0Integer, 126|128,2/*382*/, 
/*195543*/      OPC_RecordChild1, // #0 = $Rn
/*195544*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->195562
/*195547*/        OPC_CheckChild1Type, MVT::v8i8,
/*195549*/        OPC_RecordChild2, // #1 = $Rm
/*195550*/        OPC_CheckChild2Type, MVT::v8i8,
/*195552*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195554*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXPv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 382:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SMAXPv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195562*/      /*SwitchType*/ 15, MVT::v16i8,// ->195579
/*195564*/        OPC_CheckChild1Type, MVT::v16i8,
/*195566*/        OPC_RecordChild2, // #1 = $Rm
/*195567*/        OPC_CheckChild2Type, MVT::v16i8,
/*195569*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195571*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXPv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 382:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SMAXPv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195579*/      /*SwitchType*/ 15, MVT::v4i16,// ->195596
/*195581*/        OPC_CheckChild1Type, MVT::v4i16,
/*195583*/        OPC_RecordChild2, // #1 = $Rm
/*195584*/        OPC_CheckChild2Type, MVT::v4i16,
/*195586*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195588*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXPv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 382:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SMAXPv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*195596*/      /*SwitchType*/ 15, MVT::v8i16,// ->195613
/*195598*/        OPC_CheckChild1Type, MVT::v8i16,
/*195600*/        OPC_RecordChild2, // #1 = $Rm
/*195601*/        OPC_CheckChild2Type, MVT::v8i16,
/*195603*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195605*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXPv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 382:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SMAXPv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*195613*/      /*SwitchType*/ 15, MVT::v2i32,// ->195630
/*195615*/        OPC_CheckChild1Type, MVT::v2i32,
/*195617*/        OPC_RecordChild2, // #1 = $Rm
/*195618*/        OPC_CheckChild2Type, MVT::v2i32,
/*195620*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195622*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXPv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 382:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SMAXPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*195630*/      /*SwitchType*/ 15, MVT::v4i32,// ->195647
/*195632*/        OPC_CheckChild1Type, MVT::v4i32,
/*195634*/        OPC_RecordChild2, // #1 = $Rm
/*195635*/        OPC_CheckChild2Type, MVT::v4i32,
/*195637*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195639*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXPv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 382:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SMAXPv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*195647*/      0, // EndSwitchType
/*195648*/    /*Scope*/ 108, /*->195757*/
/*195649*/      OPC_CheckChild0Integer, 1|128,3/*385*/, 
/*195652*/      OPC_RecordChild1, // #0 = $Rn
/*195653*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->195671
/*195656*/        OPC_CheckChild1Type, MVT::v8i8,
/*195658*/        OPC_RecordChild2, // #1 = $Rm
/*195659*/        OPC_CheckChild2Type, MVT::v8i8,
/*195661*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195663*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINPv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 385:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SMINPv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195671*/      /*SwitchType*/ 15, MVT::v16i8,// ->195688
/*195673*/        OPC_CheckChild1Type, MVT::v16i8,
/*195675*/        OPC_RecordChild2, // #1 = $Rm
/*195676*/        OPC_CheckChild2Type, MVT::v16i8,
/*195678*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195680*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINPv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 385:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SMINPv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195688*/      /*SwitchType*/ 15, MVT::v4i16,// ->195705
/*195690*/        OPC_CheckChild1Type, MVT::v4i16,
/*195692*/        OPC_RecordChild2, // #1 = $Rm
/*195693*/        OPC_CheckChild2Type, MVT::v4i16,
/*195695*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195697*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINPv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 385:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SMINPv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*195705*/      /*SwitchType*/ 15, MVT::v8i16,// ->195722
/*195707*/        OPC_CheckChild1Type, MVT::v8i16,
/*195709*/        OPC_RecordChild2, // #1 = $Rm
/*195710*/        OPC_CheckChild2Type, MVT::v8i16,
/*195712*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195714*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINPv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 385:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SMINPv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*195722*/      /*SwitchType*/ 15, MVT::v2i32,// ->195739
/*195724*/        OPC_CheckChild1Type, MVT::v2i32,
/*195726*/        OPC_RecordChild2, // #1 = $Rm
/*195727*/        OPC_CheckChild2Type, MVT::v2i32,
/*195729*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195731*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINPv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 385:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SMINPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*195739*/      /*SwitchType*/ 15, MVT::v4i32,// ->195756
/*195741*/        OPC_CheckChild1Type, MVT::v4i32,
/*195743*/        OPC_RecordChild2, // #1 = $Rm
/*195744*/        OPC_CheckChild2Type, MVT::v4i32,
/*195746*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195748*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINPv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 385:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SMINPv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*195756*/      0, // EndSwitchType
/*195757*/    /*Scope*/ 108, /*->195866*/
/*195758*/      OPC_CheckChild0Integer, 21|128,3/*405*/, 
/*195761*/      OPC_RecordChild1, // #0 = $Rn
/*195762*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->195780
/*195765*/        OPC_CheckChild1Type, MVT::v8i8,
/*195767*/        OPC_RecordChild2, // #1 = $Rm
/*195768*/        OPC_CheckChild2Type, MVT::v8i8,
/*195770*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195772*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRHADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 405:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (SRHADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195780*/      /*SwitchType*/ 15, MVT::v16i8,// ->195797
/*195782*/        OPC_CheckChild1Type, MVT::v16i8,
/*195784*/        OPC_RecordChild2, // #1 = $Rm
/*195785*/        OPC_CheckChild2Type, MVT::v16i8,
/*195787*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195789*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRHADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 405:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (SRHADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195797*/      /*SwitchType*/ 15, MVT::v4i16,// ->195814
/*195799*/        OPC_CheckChild1Type, MVT::v4i16,
/*195801*/        OPC_RecordChild2, // #1 = $Rm
/*195802*/        OPC_CheckChild2Type, MVT::v4i16,
/*195804*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195806*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRHADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 405:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (SRHADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*195814*/      /*SwitchType*/ 15, MVT::v8i16,// ->195831
/*195816*/        OPC_CheckChild1Type, MVT::v8i16,
/*195818*/        OPC_RecordChild2, // #1 = $Rm
/*195819*/        OPC_CheckChild2Type, MVT::v8i16,
/*195821*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195823*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRHADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 405:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SRHADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*195831*/      /*SwitchType*/ 15, MVT::v2i32,// ->195848
/*195833*/        OPC_CheckChild1Type, MVT::v2i32,
/*195835*/        OPC_RecordChild2, // #1 = $Rm
/*195836*/        OPC_CheckChild2Type, MVT::v2i32,
/*195838*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195840*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRHADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 405:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (SRHADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*195848*/      /*SwitchType*/ 15, MVT::v4i32,// ->195865
/*195850*/        OPC_CheckChild1Type, MVT::v4i32,
/*195852*/        OPC_RecordChild2, // #1 = $Rm
/*195853*/        OPC_CheckChild2Type, MVT::v4i32,
/*195855*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195857*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRHADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 405:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SRHADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*195865*/      0, // EndSwitchType
/*195866*/    /*Scope*/ 108, /*->195975*/
/*195867*/      OPC_CheckChild0Integer, 44|128,3/*428*/, 
/*195870*/      OPC_RecordChild1, // #0 = $Rn
/*195871*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->195889
/*195874*/        OPC_CheckChild1Type, MVT::v8i8,
/*195876*/        OPC_RecordChild2, // #1 = $Rm
/*195877*/        OPC_CheckChild2Type, MVT::v8i8,
/*195879*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195881*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UABDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195889*/      /*SwitchType*/ 15, MVT::v16i8,// ->195906
/*195891*/        OPC_CheckChild1Type, MVT::v16i8,
/*195893*/        OPC_RecordChild2, // #1 = $Rm
/*195894*/        OPC_CheckChild2Type, MVT::v16i8,
/*195896*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195898*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 428:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UABDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*195906*/      /*SwitchType*/ 15, MVT::v4i16,// ->195923
/*195908*/        OPC_CheckChild1Type, MVT::v4i16,
/*195910*/        OPC_RecordChild2, // #1 = $Rm
/*195911*/        OPC_CheckChild2Type, MVT::v4i16,
/*195913*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195915*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UABDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*195923*/      /*SwitchType*/ 15, MVT::v8i16,// ->195940
/*195925*/        OPC_CheckChild1Type, MVT::v8i16,
/*195927*/        OPC_RecordChild2, // #1 = $Rm
/*195928*/        OPC_CheckChild2Type, MVT::v8i16,
/*195930*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195932*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 428:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UABDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*195940*/      /*SwitchType*/ 15, MVT::v2i32,// ->195957
/*195942*/        OPC_CheckChild1Type, MVT::v2i32,
/*195944*/        OPC_RecordChild2, // #1 = $Rm
/*195945*/        OPC_CheckChild2Type, MVT::v2i32,
/*195947*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195949*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UABDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*195957*/      /*SwitchType*/ 15, MVT::v4i32,// ->195974
/*195959*/        OPC_CheckChild1Type, MVT::v4i32,
/*195961*/        OPC_RecordChild2, // #1 = $Rm
/*195962*/        OPC_CheckChild2Type, MVT::v4i32,
/*195964*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195966*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 428:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UABDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*195974*/      0, // EndSwitchType
/*195975*/    /*Scope*/ 108, /*->196084*/
/*195976*/      OPC_CheckChild0Integer, 49|128,3/*433*/, 
/*195979*/      OPC_RecordChild1, // #0 = $Rn
/*195980*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->195998
/*195983*/        OPC_CheckChild1Type, MVT::v8i8,
/*195985*/        OPC_RecordChild2, // #1 = $Rm
/*195986*/        OPC_CheckChild2Type, MVT::v8i8,
/*195988*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*195990*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 433:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UHADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*195998*/      /*SwitchType*/ 15, MVT::v16i8,// ->196015
/*196000*/        OPC_CheckChild1Type, MVT::v16i8,
/*196002*/        OPC_RecordChild2, // #1 = $Rm
/*196003*/        OPC_CheckChild2Type, MVT::v16i8,
/*196005*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196007*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 433:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UHADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*196015*/      /*SwitchType*/ 15, MVT::v4i16,// ->196032
/*196017*/        OPC_CheckChild1Type, MVT::v4i16,
/*196019*/        OPC_RecordChild2, // #1 = $Rm
/*196020*/        OPC_CheckChild2Type, MVT::v4i16,
/*196022*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196024*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 433:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UHADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*196032*/      /*SwitchType*/ 15, MVT::v8i16,// ->196049
/*196034*/        OPC_CheckChild1Type, MVT::v8i16,
/*196036*/        OPC_RecordChild2, // #1 = $Rm
/*196037*/        OPC_CheckChild2Type, MVT::v8i16,
/*196039*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196041*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 433:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UHADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196049*/      /*SwitchType*/ 15, MVT::v2i32,// ->196066
/*196051*/        OPC_CheckChild1Type, MVT::v2i32,
/*196053*/        OPC_RecordChild2, // #1 = $Rm
/*196054*/        OPC_CheckChild2Type, MVT::v2i32,
/*196056*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196058*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 433:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UHADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*196066*/      /*SwitchType*/ 15, MVT::v4i32,// ->196083
/*196068*/        OPC_CheckChild1Type, MVT::v4i32,
/*196070*/        OPC_RecordChild2, // #1 = $Rm
/*196071*/        OPC_CheckChild2Type, MVT::v4i32,
/*196073*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196075*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 433:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UHADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196083*/      0, // EndSwitchType
/*196084*/    /*Scope*/ 108, /*->196193*/
/*196085*/      OPC_CheckChild0Integer, 50|128,3/*434*/, 
/*196088*/      OPC_RecordChild1, // #0 = $Rn
/*196089*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->196107
/*196092*/        OPC_CheckChild1Type, MVT::v8i8,
/*196094*/        OPC_RecordChild2, // #1 = $Rm
/*196095*/        OPC_CheckChild2Type, MVT::v8i8,
/*196097*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196099*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHSUBv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 434:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UHSUBv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*196107*/      /*SwitchType*/ 15, MVT::v16i8,// ->196124
/*196109*/        OPC_CheckChild1Type, MVT::v16i8,
/*196111*/        OPC_RecordChild2, // #1 = $Rm
/*196112*/        OPC_CheckChild2Type, MVT::v16i8,
/*196114*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196116*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHSUBv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 434:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UHSUBv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*196124*/      /*SwitchType*/ 15, MVT::v4i16,// ->196141
/*196126*/        OPC_CheckChild1Type, MVT::v4i16,
/*196128*/        OPC_RecordChild2, // #1 = $Rm
/*196129*/        OPC_CheckChild2Type, MVT::v4i16,
/*196131*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196133*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHSUBv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 434:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UHSUBv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*196141*/      /*SwitchType*/ 15, MVT::v8i16,// ->196158
/*196143*/        OPC_CheckChild1Type, MVT::v8i16,
/*196145*/        OPC_RecordChild2, // #1 = $Rm
/*196146*/        OPC_CheckChild2Type, MVT::v8i16,
/*196148*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196150*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHSUBv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 434:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UHSUBv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196158*/      /*SwitchType*/ 15, MVT::v2i32,// ->196175
/*196160*/        OPC_CheckChild1Type, MVT::v2i32,
/*196162*/        OPC_RecordChild2, // #1 = $Rm
/*196163*/        OPC_CheckChild2Type, MVT::v2i32,
/*196165*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196167*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHSUBv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 434:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UHSUBv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*196175*/      /*SwitchType*/ 15, MVT::v4i32,// ->196192
/*196177*/        OPC_CheckChild1Type, MVT::v4i32,
/*196179*/        OPC_RecordChild2, // #1 = $Rm
/*196180*/        OPC_CheckChild2Type, MVT::v4i32,
/*196182*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196184*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UHSUBv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 434:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UHSUBv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196192*/      0, // EndSwitchType
/*196193*/    /*Scope*/ 108, /*->196302*/
/*196194*/      OPC_CheckChild0Integer, 52|128,3/*436*/, 
/*196197*/      OPC_RecordChild1, // #0 = $Rn
/*196198*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->196216
/*196201*/        OPC_CheckChild1Type, MVT::v8i8,
/*196203*/        OPC_RecordChild2, // #1 = $Rm
/*196204*/        OPC_CheckChild2Type, MVT::v8i8,
/*196206*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196208*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXPv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 436:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UMAXPv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*196216*/      /*SwitchType*/ 15, MVT::v16i8,// ->196233
/*196218*/        OPC_CheckChild1Type, MVT::v16i8,
/*196220*/        OPC_RecordChild2, // #1 = $Rm
/*196221*/        OPC_CheckChild2Type, MVT::v16i8,
/*196223*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196225*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXPv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 436:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UMAXPv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*196233*/      /*SwitchType*/ 15, MVT::v4i16,// ->196250
/*196235*/        OPC_CheckChild1Type, MVT::v4i16,
/*196237*/        OPC_RecordChild2, // #1 = $Rm
/*196238*/        OPC_CheckChild2Type, MVT::v4i16,
/*196240*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196242*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXPv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 436:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UMAXPv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*196250*/      /*SwitchType*/ 15, MVT::v8i16,// ->196267
/*196252*/        OPC_CheckChild1Type, MVT::v8i16,
/*196254*/        OPC_RecordChild2, // #1 = $Rm
/*196255*/        OPC_CheckChild2Type, MVT::v8i16,
/*196257*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196259*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXPv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 436:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UMAXPv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196267*/      /*SwitchType*/ 15, MVT::v2i32,// ->196284
/*196269*/        OPC_CheckChild1Type, MVT::v2i32,
/*196271*/        OPC_RecordChild2, // #1 = $Rm
/*196272*/        OPC_CheckChild2Type, MVT::v2i32,
/*196274*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196276*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXPv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 436:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UMAXPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*196284*/      /*SwitchType*/ 15, MVT::v4i32,// ->196301
/*196286*/        OPC_CheckChild1Type, MVT::v4i32,
/*196288*/        OPC_RecordChild2, // #1 = $Rm
/*196289*/        OPC_CheckChild2Type, MVT::v4i32,
/*196291*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196293*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXPv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 436:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UMAXPv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196301*/      0, // EndSwitchType
/*196302*/    /*Scope*/ 108, /*->196411*/
/*196303*/      OPC_CheckChild0Integer, 55|128,3/*439*/, 
/*196306*/      OPC_RecordChild1, // #0 = $Rn
/*196307*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->196325
/*196310*/        OPC_CheckChild1Type, MVT::v8i8,
/*196312*/        OPC_RecordChild2, // #1 = $Rm
/*196313*/        OPC_CheckChild2Type, MVT::v8i8,
/*196315*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196317*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINPv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 439:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (UMINPv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*196325*/      /*SwitchType*/ 15, MVT::v16i8,// ->196342
/*196327*/        OPC_CheckChild1Type, MVT::v16i8,
/*196329*/        OPC_RecordChild2, // #1 = $Rm
/*196330*/        OPC_CheckChild2Type, MVT::v16i8,
/*196332*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196334*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINPv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 439:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (UMINPv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*196342*/      /*SwitchType*/ 15, MVT::v4i16,// ->196359
/*196344*/        OPC_CheckChild1Type, MVT::v4i16,
/*196346*/        OPC_RecordChild2, // #1 = $Rm
/*196347*/        OPC_CheckChild2Type, MVT::v4i16,
/*196349*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196351*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINPv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 439:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (UMINPv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*196359*/      /*SwitchType*/ 15, MVT::v8i16,// ->196376
/*196361*/        OPC_CheckChild1Type, MVT::v8i16,
/*196363*/        OPC_RecordChild2, // #1 = $Rm
/*196364*/        OPC_CheckChild2Type, MVT::v8i16,
/*196366*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196368*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINPv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 439:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (UMINPv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196376*/      /*SwitchType*/ 15, MVT::v2i32,// ->196393
/*196378*/        OPC_CheckChild1Type, MVT::v2i32,
/*196380*/        OPC_RecordChild2, // #1 = $Rm
/*196381*/        OPC_CheckChild2Type, MVT::v2i32,
/*196383*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196385*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINPv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 439:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (UMINPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*196393*/      /*SwitchType*/ 15, MVT::v4i32,// ->196410
/*196395*/        OPC_CheckChild1Type, MVT::v4i32,
/*196397*/        OPC_RecordChild2, // #1 = $Rm
/*196398*/        OPC_CheckChild2Type, MVT::v4i32,
/*196400*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196402*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINPv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 439:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (UMINPv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196410*/      0, // EndSwitchType
/*196411*/    /*Scope*/ 108, /*->196520*/
/*196412*/      OPC_CheckChild0Integer, 66|128,3/*450*/, 
/*196415*/      OPC_RecordChild1, // #0 = $Rn
/*196416*/      OPC_SwitchType /*6 cases */, 15, MVT::v8i8,// ->196434
/*196419*/        OPC_CheckChild1Type, MVT::v8i8,
/*196421*/        OPC_RecordChild2, // #1 = $Rm
/*196422*/        OPC_CheckChild2Type, MVT::v8i8,
/*196424*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196426*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URHADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 450:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 8
                  // Dst: (URHADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*196434*/      /*SwitchType*/ 15, MVT::v16i8,// ->196451
/*196436*/        OPC_CheckChild1Type, MVT::v16i8,
/*196438*/        OPC_RecordChild2, // #1 = $Rm
/*196439*/        OPC_CheckChild2Type, MVT::v16i8,
/*196441*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196443*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URHADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 450:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 8
                  // Dst: (URHADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*196451*/      /*SwitchType*/ 15, MVT::v4i16,// ->196468
/*196453*/        OPC_CheckChild1Type, MVT::v4i16,
/*196455*/        OPC_RecordChild2, // #1 = $Rm
/*196456*/        OPC_CheckChild2Type, MVT::v4i16,
/*196458*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196460*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URHADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 450:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 8
                  // Dst: (URHADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*196468*/      /*SwitchType*/ 15, MVT::v8i16,// ->196485
/*196470*/        OPC_CheckChild1Type, MVT::v8i16,
/*196472*/        OPC_RecordChild2, // #1 = $Rm
/*196473*/        OPC_CheckChild2Type, MVT::v8i16,
/*196475*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196477*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URHADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i16] } 450:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (URHADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196485*/      /*SwitchType*/ 15, MVT::v2i32,// ->196502
/*196487*/        OPC_CheckChild1Type, MVT::v2i32,
/*196489*/        OPC_RecordChild2, // #1 = $Rm
/*196490*/        OPC_CheckChild2Type, MVT::v2i32,
/*196492*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196494*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URHADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 450:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 8
                  // Dst: (URHADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*196502*/      /*SwitchType*/ 15, MVT::v4i32,// ->196519
/*196504*/        OPC_CheckChild1Type, MVT::v4i32,
/*196506*/        OPC_RecordChild2, // #1 = $Rm
/*196507*/        OPC_CheckChild2Type, MVT::v4i32,
/*196509*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196511*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URHADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i32] } 450:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (URHADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196519*/      0, // EndSwitchType
/*196520*/    /*Scope*/ 57, /*->196578*/
/*196521*/      OPC_CheckChild0Integer, 53|128,2/*309*/, 
/*196524*/      OPC_RecordChild1, // #0 = $Rn
/*196525*/      OPC_SwitchType /*3 cases */, 15, MVT::v8i8,// ->196543
/*196528*/        OPC_CheckChild1Type, MVT::v8i16,
/*196530*/        OPC_RecordChild2, // #1 = $Rm
/*196531*/        OPC_CheckChild2Type, MVT::v8i16,
/*196533*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196535*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv8i16_v8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 309:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (ADDHNv8i16_v8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196543*/      /*SwitchType*/ 15, MVT::v4i16,// ->196560
/*196545*/        OPC_CheckChild1Type, MVT::v4i32,
/*196547*/        OPC_RecordChild2, // #1 = $Rm
/*196548*/        OPC_CheckChild2Type, MVT::v4i32,
/*196550*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196552*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv4i32_v4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 309:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (ADDHNv4i32_v4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196560*/      /*SwitchType*/ 15, MVT::v2i32,// ->196577
/*196562*/        OPC_CheckChild1Type, MVT::v2i64,
/*196564*/        OPC_RecordChild2, // #1 = $Rm
/*196565*/        OPC_CheckChild2Type, MVT::v2i64,
/*196567*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196569*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv2i64_v2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 309:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (ADDHNv2i64_v2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*196577*/      0, // EndSwitchType
/*196578*/    /*Scope*/ 57, /*->196636*/
/*196579*/      OPC_CheckChild0Integer, 34|128,3/*418*/, 
/*196582*/      OPC_RecordChild1, // #0 = $Rn
/*196583*/      OPC_SwitchType /*3 cases */, 15, MVT::v8i8,// ->196601
/*196586*/        OPC_CheckChild1Type, MVT::v8i16,
/*196588*/        OPC_RecordChild2, // #1 = $Rm
/*196589*/        OPC_CheckChild2Type, MVT::v8i16,
/*196591*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196593*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv8i16_v8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 418:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (SUBHNv8i16_v8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196601*/      /*SwitchType*/ 15, MVT::v4i16,// ->196618
/*196603*/        OPC_CheckChild1Type, MVT::v4i32,
/*196605*/        OPC_RecordChild2, // #1 = $Rm
/*196606*/        OPC_CheckChild2Type, MVT::v4i32,
/*196608*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196610*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv4i32_v4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 418:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (SUBHNv4i32_v4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196618*/      /*SwitchType*/ 15, MVT::v2i32,// ->196635
/*196620*/        OPC_CheckChild1Type, MVT::v2i64,
/*196622*/        OPC_RecordChild2, // #1 = $Rm
/*196623*/        OPC_CheckChild2Type, MVT::v2i64,
/*196625*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196627*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv2i64_v2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 418:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (SUBHNv2i64_v2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*196635*/      0, // EndSwitchType
/*196636*/    /*Scope*/ 57, /*->196694*/
/*196637*/      OPC_CheckChild0Integer, 110|128,2/*366*/, 
/*196640*/      OPC_RecordChild1, // #0 = $Rn
/*196641*/      OPC_SwitchType /*3 cases */, 15, MVT::v8i8,// ->196659
/*196644*/        OPC_CheckChild1Type, MVT::v8i16,
/*196646*/        OPC_RecordChild2, // #1 = $Rm
/*196647*/        OPC_CheckChild2Type, MVT::v8i16,
/*196649*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196651*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNv8i16_v8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 366:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (RADDHNv8i16_v8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196659*/      /*SwitchType*/ 15, MVT::v4i16,// ->196676
/*196661*/        OPC_CheckChild1Type, MVT::v4i32,
/*196663*/        OPC_RecordChild2, // #1 = $Rm
/*196664*/        OPC_CheckChild2Type, MVT::v4i32,
/*196666*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196668*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNv4i32_v4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 366:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (RADDHNv4i32_v4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196676*/      /*SwitchType*/ 15, MVT::v2i32,// ->196693
/*196678*/        OPC_CheckChild1Type, MVT::v2i64,
/*196680*/        OPC_RecordChild2, // #1 = $Rm
/*196681*/        OPC_CheckChild2Type, MVT::v2i64,
/*196683*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196685*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNv2i64_v2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 366:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (RADDHNv2i64_v2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*196693*/      0, // EndSwitchType
/*196694*/    /*Scope*/ 57, /*->196752*/
/*196695*/      OPC_CheckChild0Integer, 113|128,2/*369*/, 
/*196698*/      OPC_RecordChild1, // #0 = $Rn
/*196699*/      OPC_SwitchType /*3 cases */, 15, MVT::v8i8,// ->196717
/*196702*/        OPC_CheckChild1Type, MVT::v8i16,
/*196704*/        OPC_RecordChild2, // #1 = $Rm
/*196705*/        OPC_CheckChild2Type, MVT::v8i16,
/*196707*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196709*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNv8i16_v8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 369:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 8
                  // Dst: (RSUBHNv8i16_v8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*196717*/      /*SwitchType*/ 15, MVT::v4i16,// ->196734
/*196719*/        OPC_CheckChild1Type, MVT::v4i32,
/*196721*/        OPC_RecordChild2, // #1 = $Rm
/*196722*/        OPC_CheckChild2Type, MVT::v4i32,
/*196724*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196726*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNv4i32_v4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4i16] } 369:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                  // Dst: (RSUBHNv4i32_v4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196734*/      /*SwitchType*/ 15, MVT::v2i32,// ->196751
/*196736*/        OPC_CheckChild1Type, MVT::v2i64,
/*196738*/        OPC_RecordChild2, // #1 = $Rm
/*196739*/        OPC_CheckChild2Type, MVT::v2i64,
/*196741*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*196743*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNv2i64_v2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2i32] } 369:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 8
                  // Dst: (RSUBHNv2i64_v2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*196751*/      0, // EndSwitchType
/*196752*/    /*Scope*/ 31, /*->196784*/
/*196753*/      OPC_CheckChild0Integer, 36|128,3/*420*/, 
/*196756*/      OPC_RecordChild1, // #0 = $Rn
/*196757*/      OPC_RecordChild2, // #1 = $Ri
/*196758*/      OPC_SwitchType /*2 cases */, 10, MVT::v8i8,// ->196771
/*196761*/        OPC_CheckChild2Type, MVT::v8i8,
/*196763*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBLv8i8One), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 420:{ *:[iPTR] }, VecListOne128:{ *:[v16i8] }:$Rn, V64:{ *:[v8i8] }:$Ri) - Complexity = 8
                  // Dst: (TBLv8i8One:{ *:[v8i8] } VecListOne128:{ *:[v16i8] }:$Rn, V64:{ *:[v8i8] }:$Ri)
/*196771*/      /*SwitchType*/ 10, MVT::v16i8,// ->196783
/*196773*/        OPC_CheckChild2Type, MVT::v16i8,
/*196775*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBLv16i8One), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 420:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Ri, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (TBLv16i8One:{ *:[v16i8] } V128:{ *:[v16i8] }:$Ri, V128:{ *:[v16i8] }:$Rn)
/*196783*/      0, // EndSwitchType
/*196784*/    /*Scope*/ 40, /*->196825*/
/*196785*/      OPC_CheckChild0Integer, 40|128,3/*424*/, 
/*196788*/      OPC_RecordChild1, // #0 = $Rd
/*196789*/      OPC_SwitchType /*2 cases */, 15, MVT::v8i8,// ->196807
/*196792*/        OPC_CheckChild1Type, MVT::v8i8,
/*196794*/        OPC_RecordChild2, // #1 = $Rn
/*196795*/        OPC_RecordChild3, // #2 = $Ri
/*196796*/        OPC_CheckChild3Type, MVT::v8i8,
/*196798*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBXv8i8One), 0,
                      MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8i8] } 424:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rd, VecListOne128:{ *:[v16i8] }:$Rn, V64:{ *:[v8i8] }:$Ri) - Complexity = 8
                  // Dst: (TBXv8i8One:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, VecListOne128:{ *:[v16i8] }:$Rn, V64:{ *:[v8i8] }:$Ri)
/*196807*/      /*SwitchType*/ 15, MVT::v16i8,// ->196824
/*196809*/        OPC_CheckChild1Type, MVT::v16i8,
/*196811*/        OPC_RecordChild2, // #1 = $Ri
/*196812*/        OPC_RecordChild3, // #2 = $Rn
/*196813*/        OPC_CheckChild3Type, MVT::v16i8,
/*196815*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBXv16i8One), 0,
                      MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v16i8] } 424:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Ri, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                  // Dst: (TBXv16i8One:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Ri, V128:{ *:[v16i8] }:$Rn)
/*196824*/      0, // EndSwitchType
/*196825*/    /*Scope*/ 15, /*->196841*/
/*196826*/      OPC_CheckChild0Integer, 25|128,2/*281*/, 
/*196829*/      OPC_RecordChild1, // #0 = $Rd
/*196830*/      OPC_RecordChild2, // #1 = $Rn
/*196831*/      OPC_CheckPatternPredicate, 16, // (Subtarget->hasAES())
/*196833*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::AESErr), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[v16i8] } 281:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                // Dst: (AESErr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn)
/*196841*/    /*Scope*/ 15, /*->196857*/
/*196842*/      OPC_CheckChild0Integer, 24|128,2/*280*/, 
/*196845*/      OPC_RecordChild1, // #0 = $Rd
/*196846*/      OPC_RecordChild2, // #1 = $Rn
/*196847*/      OPC_CheckPatternPredicate, 16, // (Subtarget->hasAES())
/*196849*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::AESDrr), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[v16i8] } 280:{ *:[iPTR] }, V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn) - Complexity = 8
                // Dst: (AESDrr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn)
/*196857*/    /*Scope*/ 17, /*->196875*/
/*196858*/      OPC_CheckChild0Integer, 28|128,2/*284*/, 
/*196861*/      OPC_RecordChild1, // #0 = $Rd
/*196862*/      OPC_RecordChild2, // #1 = $Rn
/*196863*/      OPC_RecordChild3, // #2 = $Rm
/*196864*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*196866*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA1Crrr), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 284:{ *:[iPTR] }, FPR128:{ *:[v4i32] }:$Rd, FPR32:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                // Dst: (SHA1Crrr:{ *:[v4i32] } FPR128:{ *:[v4i32] }:$Rd, FPR32:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196875*/    /*Scope*/ 17, /*->196893*/
/*196876*/      OPC_CheckChild0Integer, 31|128,2/*287*/, 
/*196879*/      OPC_RecordChild1, // #0 = $Rd
/*196880*/      OPC_RecordChild2, // #1 = $Rn
/*196881*/      OPC_RecordChild3, // #2 = $Rm
/*196882*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*196884*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA1Prrr), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 287:{ *:[iPTR] }, FPR128:{ *:[v4i32] }:$Rd, FPR32:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                // Dst: (SHA1Prrr:{ *:[v4i32] } FPR128:{ *:[v4i32] }:$Rd, FPR32:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196893*/    /*Scope*/ 17, /*->196911*/
/*196894*/      OPC_CheckChild0Integer, 30|128,2/*286*/, 
/*196897*/      OPC_RecordChild1, // #0 = $Rd
/*196898*/      OPC_RecordChild2, // #1 = $Rn
/*196899*/      OPC_RecordChild3, // #2 = $Rm
/*196900*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*196902*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA1Mrrr), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 286:{ *:[iPTR] }, FPR128:{ *:[v4i32] }:$Rd, FPR32:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                // Dst: (SHA1Mrrr:{ *:[v4i32] } FPR128:{ *:[v4i32] }:$Rd, FPR32:{ *:[i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196911*/    /*Scope*/ 17, /*->196929*/
/*196912*/      OPC_CheckChild0Integer, 32|128,2/*288*/, 
/*196915*/      OPC_RecordChild1, // #0 = $Rd
/*196916*/      OPC_RecordChild2, // #1 = $Rn
/*196917*/      OPC_RecordChild3, // #2 = $Rm
/*196918*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*196920*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA1SU0rrr), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 288:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                // Dst: (SHA1SU0rrr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196929*/    /*Scope*/ 17, /*->196947*/
/*196930*/      OPC_CheckChild0Integer, 34|128,2/*290*/, 
/*196933*/      OPC_RecordChild1, // #0 = $Rd
/*196934*/      OPC_RecordChild2, // #1 = $Rn
/*196935*/      OPC_RecordChild3, // #2 = $Rm
/*196936*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*196938*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA256Hrrr), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 290:{ *:[iPTR] }, FPR128:{ *:[v4i32] }:$Rd, FPR128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                // Dst: (SHA256Hrrr:{ *:[v4i32] } FPR128:{ *:[v4i32] }:$Rd, FPR128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196947*/    /*Scope*/ 17, /*->196965*/
/*196948*/      OPC_CheckChild0Integer, 35|128,2/*291*/, 
/*196951*/      OPC_RecordChild1, // #0 = $Rd
/*196952*/      OPC_RecordChild2, // #1 = $Rn
/*196953*/      OPC_RecordChild3, // #2 = $Rm
/*196954*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*196956*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA256H2rrr), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 291:{ *:[iPTR] }, FPR128:{ *:[v4i32] }:$Rd, FPR128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                // Dst: (SHA256H2rrr:{ *:[v4i32] } FPR128:{ *:[v4i32] }:$Rd, FPR128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196965*/    /*Scope*/ 17, /*->196983*/
/*196966*/      OPC_CheckChild0Integer, 37|128,2/*293*/, 
/*196969*/      OPC_RecordChild1, // #0 = $Rd
/*196970*/      OPC_RecordChild2, // #1 = $Rn
/*196971*/      OPC_RecordChild3, // #2 = $Rm
/*196972*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*196974*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA256SU1rrr), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 293:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 8
                // Dst: (SHA256SU1rrr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*196983*/    /*Scope*/ 15, /*->196999*/
/*196984*/      OPC_CheckChild0Integer, 33|128,2/*289*/, 
/*196987*/      OPC_RecordChild1, // #0 = $Rd
/*196988*/      OPC_RecordChild2, // #1 = $Rn
/*196989*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*196991*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA1SU1rr), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 289:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                // Dst: (SHA1SU1rr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn)
/*196999*/    /*Scope*/ 15, /*->197015*/
/*197000*/      OPC_CheckChild0Integer, 36|128,2/*292*/, 
/*197003*/      OPC_RecordChild1, // #0 = $Rd
/*197004*/      OPC_RecordChild2, // #1 = $Rn
/*197005*/      OPC_CheckPatternPredicate, 14, // (Subtarget->hasSHA2())
/*197007*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHA256SU0rr), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[v4i32] } 292:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn) - Complexity = 8
                // Dst: (SHA256SU0rr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn)
/*197015*/    /*Scope*/ 90, /*->197106*/
/*197016*/      OPC_CheckChild0Integer, 97|128,3/*481*/, 
/*197019*/      OPC_RecordChild1, // #0 = $Op1
/*197020*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->197042
/*197023*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197025*/        OPC_RecordChild2, // #1 = $Op2
/*197026*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197028*/        OPC_RecordChild3, // #2 = $Op3
/*197029*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197031*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197033*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 481:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (ADD_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*197042*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->197063
/*197044*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197046*/        OPC_RecordChild2, // #1 = $Op2
/*197047*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197049*/        OPC_RecordChild3, // #2 = $Op3
/*197050*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197052*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197054*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 481:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (ADD_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*197063*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->197084
/*197065*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197067*/        OPC_RecordChild2, // #1 = $Op2
/*197068*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197070*/        OPC_RecordChild3, // #2 = $Op3
/*197071*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197073*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197075*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 481:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (ADD_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*197084*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->197105
/*197086*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197088*/        OPC_RecordChild2, // #1 = $Op2
/*197089*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197091*/        OPC_RecordChild3, // #2 = $Op3
/*197092*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197094*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197096*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADD_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 481:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (ADD_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*197105*/      0, // EndSwitchType
/*197106*/    /*Scope*/ 90, /*->197197*/
/*197107*/      OPC_CheckChild0Integer, 96|128,5/*736*/, 
/*197110*/      OPC_RecordChild1, // #0 = $Op1
/*197111*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->197133
/*197114*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197116*/        OPC_RecordChild2, // #1 = $Op2
/*197117*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197119*/        OPC_RecordChild3, // #2 = $Op3
/*197120*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197122*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197124*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 736:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (SUB_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*197133*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->197154
/*197135*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197137*/        OPC_RecordChild2, // #1 = $Op2
/*197138*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197140*/        OPC_RecordChild3, // #2 = $Op3
/*197141*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197143*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197145*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 736:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SUB_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*197154*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->197175
/*197156*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197158*/        OPC_RecordChild2, // #1 = $Op2
/*197159*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197161*/        OPC_RecordChild3, // #2 = $Op3
/*197162*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197164*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197166*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 736:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SUB_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*197175*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->197196
/*197177*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197179*/        OPC_RecordChild2, // #1 = $Op2
/*197180*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197182*/        OPC_RecordChild3, // #2 = $Op3
/*197183*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197185*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197187*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 736:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SUB_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*197196*/      0, // EndSwitchType
/*197197*/    /*Scope*/ 90, /*->197288*/
/*197198*/      OPC_CheckChild0Integer, 99|128,5/*739*/, 
/*197201*/      OPC_RecordChild1, // #0 = $Op1
/*197202*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->197224
/*197205*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197207*/        OPC_RecordChild2, // #1 = $Op2
/*197208*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197210*/        OPC_RecordChild3, // #2 = $Op3
/*197211*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197213*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197215*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBR_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 739:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (SUBR_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*197224*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->197245
/*197226*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197228*/        OPC_RecordChild2, // #1 = $Op2
/*197229*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197231*/        OPC_RecordChild3, // #2 = $Op3
/*197232*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197234*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197236*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBR_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 739:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SUBR_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*197245*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->197266
/*197247*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197249*/        OPC_RecordChild2, // #1 = $Op2
/*197250*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197252*/        OPC_RecordChild3, // #2 = $Op3
/*197253*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197255*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197257*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBR_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 739:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SUBR_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*197266*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->197287
/*197268*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197270*/        OPC_RecordChild2, // #1 = $Op2
/*197271*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197273*/        OPC_RecordChild3, // #2 = $Op3
/*197274*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197276*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197278*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBR_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 739:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SUBR_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*197287*/      0, // EndSwitchType
/*197288*/    /*Scope*/ 90, /*->197379*/
/*197289*/      OPC_CheckChild0Integer, 7|128,5/*647*/, 
/*197292*/      OPC_RecordChild1, // #0 = $Op1
/*197293*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->197315
/*197296*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197298*/        OPC_RecordChild2, // #1 = $Op2
/*197299*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197301*/        OPC_RecordChild3, // #2 = $Op3
/*197302*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197304*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197306*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 647:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (ORR_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*197315*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->197336
/*197317*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197319*/        OPC_RecordChild2, // #1 = $Op2
/*197320*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197322*/        OPC_RecordChild3, // #2 = $Op3
/*197323*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197325*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197327*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 647:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (ORR_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*197336*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->197357
/*197338*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197340*/        OPC_RecordChild2, // #1 = $Op2
/*197341*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197343*/        OPC_RecordChild3, // #2 = $Op3
/*197344*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197346*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197348*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 647:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (ORR_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*197357*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->197378
/*197359*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197361*/        OPC_RecordChild2, // #1 = $Op2
/*197362*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197364*/        OPC_RecordChild3, // #2 = $Op3
/*197365*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197367*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197369*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 647:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (ORR_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*197378*/      0, // EndSwitchType
/*197379*/    /*Scope*/ 90, /*->197470*/
/*197380*/      OPC_CheckChild0Integer, 10|128,4/*522*/, 
/*197383*/      OPC_RecordChild1, // #0 = $Op1
/*197384*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->197406
/*197387*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197389*/        OPC_RecordChild2, // #1 = $Op2
/*197390*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197392*/        OPC_RecordChild3, // #2 = $Op3
/*197393*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197395*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197397*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 522:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (EOR_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*197406*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->197427
/*197408*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197410*/        OPC_RecordChild2, // #1 = $Op2
/*197411*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197413*/        OPC_RecordChild3, // #2 = $Op3
/*197414*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197416*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197418*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 522:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (EOR_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*197427*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->197448
/*197429*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197431*/        OPC_RecordChild2, // #1 = $Op2
/*197432*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197434*/        OPC_RecordChild3, // #2 = $Op3
/*197435*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197437*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197439*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 522:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (EOR_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*197448*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->197469
/*197450*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197452*/        OPC_RecordChild2, // #1 = $Op2
/*197453*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197455*/        OPC_RecordChild3, // #2 = $Op3
/*197456*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197458*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197460*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 522:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (EOR_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*197469*/      0, // EndSwitchType
/*197470*/    /*Scope*/ 90, /*->197561*/
/*197471*/      OPC_CheckChild0Integer, 100|128,3/*484*/, 
/*197474*/      OPC_RecordChild1, // #0 = $Op1
/*197475*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->197497
/*197478*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197480*/        OPC_RecordChild2, // #1 = $Op2
/*197481*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197483*/        OPC_RecordChild3, // #2 = $Op3
/*197484*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197486*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197488*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 484:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (AND_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*197497*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->197518
/*197499*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197501*/        OPC_RecordChild2, // #1 = $Op2
/*197502*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197504*/        OPC_RecordChild3, // #2 = $Op3
/*197505*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197507*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197509*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 484:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (AND_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*197518*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->197539
/*197520*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197522*/        OPC_RecordChild2, // #1 = $Op2
/*197523*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197525*/        OPC_RecordChild3, // #2 = $Op3
/*197526*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197528*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197530*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 484:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (AND_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*197539*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->197560
/*197541*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197543*/        OPC_RecordChild2, // #1 = $Op2
/*197544*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197546*/        OPC_RecordChild3, // #2 = $Op3
/*197547*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197549*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197551*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 484:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (AND_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*197560*/      0, // EndSwitchType
/*197561*/    /*Scope*/ 90, /*->197652*/
/*197562*/      OPC_CheckChild0Integer, 106|128,3/*490*/, 
/*197565*/      OPC_RecordChild1, // #0 = $Op1
/*197566*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->197588
/*197569*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197571*/        OPC_RecordChild2, // #1 = $Op2
/*197572*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197574*/        OPC_RecordChild3, // #2 = $Op3
/*197575*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197577*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197579*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BIC_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 490:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (BIC_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*197588*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->197609
/*197590*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197592*/        OPC_RecordChild2, // #1 = $Op2
/*197593*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197595*/        OPC_RecordChild3, // #2 = $Op3
/*197596*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197598*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197600*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BIC_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 490:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (BIC_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*197609*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->197630
/*197611*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197613*/        OPC_RecordChild2, // #1 = $Op2
/*197614*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197616*/        OPC_RecordChild3, // #2 = $Op3
/*197617*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197619*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197621*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BIC_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 490:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (BIC_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*197630*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->197651
/*197632*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197634*/        OPC_RecordChild2, // #1 = $Op2
/*197635*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197637*/        OPC_RecordChild3, // #2 = $Op3
/*197638*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197640*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197642*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BIC_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 490:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (BIC_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*197651*/      0, // EndSwitchType
/*197652*/    /*Scope*/ 106, /*->197759*/
/*197653*/      OPC_CheckChild0Integer, 125|128,4/*637*/, 
/*197656*/      OPC_RecordChild1, // #0 = $Op1
/*197657*/      OPC_SwitchType /*4 cases */, 23, MVT::nxv16i8,// ->197683
/*197660*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197662*/        OPC_RecordChild2, // #1 = $Op2
/*197663*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197665*/        OPC_RecordChild3, // #2 = $Op3
/*197666*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197668*/        OPC_RecordChild4, // #3 = $Op4
/*197669*/        OPC_CheckChild4Type, MVT::nxv16i8,
/*197671*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197673*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MAD_ZPmZZ_B), 0,
                      MVT::nxv16i8, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 637:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3, nxv16i8:{ *:[nxv16i8] }:$Op4) - Complexity = 8
                  // Dst: (MAD_ZPmZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3, ?:{ *:[nxv16i8] }:$Op4)
/*197683*/      /*SwitchType*/ 23, MVT::nxv8i16,// ->197708
/*197685*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197687*/        OPC_RecordChild2, // #1 = $Op2
/*197688*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197690*/        OPC_RecordChild3, // #2 = $Op3
/*197691*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197693*/        OPC_RecordChild4, // #3 = $Op4
/*197694*/        OPC_CheckChild4Type, MVT::nxv8i16,
/*197696*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197698*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MAD_ZPmZZ_H), 0,
                      MVT::nxv8i16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 637:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3, nxv8i16:{ *:[nxv8i16] }:$Op4) - Complexity = 8
                  // Dst: (MAD_ZPmZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3, ?:{ *:[nxv8i16] }:$Op4)
/*197708*/      /*SwitchType*/ 23, MVT::nxv4i32,// ->197733
/*197710*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197712*/        OPC_RecordChild2, // #1 = $Op2
/*197713*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197715*/        OPC_RecordChild3, // #2 = $Op3
/*197716*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197718*/        OPC_RecordChild4, // #3 = $Op4
/*197719*/        OPC_CheckChild4Type, MVT::nxv4i32,
/*197721*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197723*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MAD_ZPmZZ_S), 0,
                      MVT::nxv4i32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 637:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3, nxv4i32:{ *:[nxv4i32] }:$Op4) - Complexity = 8
                  // Dst: (MAD_ZPmZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3, ?:{ *:[nxv4i32] }:$Op4)
/*197733*/      /*SwitchType*/ 23, MVT::nxv2i64,// ->197758
/*197735*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197737*/        OPC_RecordChild2, // #1 = $Op2
/*197738*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197740*/        OPC_RecordChild3, // #2 = $Op3
/*197741*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197743*/        OPC_RecordChild4, // #3 = $Op4
/*197744*/        OPC_CheckChild4Type, MVT::nxv2i64,
/*197746*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197748*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MAD_ZPmZZ_D), 0,
                      MVT::nxv2i64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 637:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3, nxv2i64:{ *:[nxv2i64] }:$Op4) - Complexity = 8
                  // Dst: (MAD_ZPmZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3, ?:{ *:[nxv2i64] }:$Op4)
/*197758*/      0, // EndSwitchType
/*197759*/    /*Scope*/ 106, /*->197866*/
/*197760*/      OPC_CheckChild0Integer, 0|128,5/*640*/, 
/*197763*/      OPC_RecordChild1, // #0 = $Op1
/*197764*/      OPC_SwitchType /*4 cases */, 23, MVT::nxv16i8,// ->197790
/*197767*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197769*/        OPC_RecordChild2, // #1 = $Op2
/*197770*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197772*/        OPC_RecordChild3, // #2 = $Op3
/*197773*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197775*/        OPC_RecordChild4, // #3 = $Op4
/*197776*/        OPC_CheckChild4Type, MVT::nxv16i8,
/*197778*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197780*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSB_ZPmZZ_B), 0,
                      MVT::nxv16i8, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 640:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3, nxv16i8:{ *:[nxv16i8] }:$Op4) - Complexity = 8
                  // Dst: (MSB_ZPmZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3, ?:{ *:[nxv16i8] }:$Op4)
/*197790*/      /*SwitchType*/ 23, MVT::nxv8i16,// ->197815
/*197792*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197794*/        OPC_RecordChild2, // #1 = $Op2
/*197795*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197797*/        OPC_RecordChild3, // #2 = $Op3
/*197798*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197800*/        OPC_RecordChild4, // #3 = $Op4
/*197801*/        OPC_CheckChild4Type, MVT::nxv8i16,
/*197803*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197805*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSB_ZPmZZ_H), 0,
                      MVT::nxv8i16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 640:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3, nxv8i16:{ *:[nxv8i16] }:$Op4) - Complexity = 8
                  // Dst: (MSB_ZPmZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3, ?:{ *:[nxv8i16] }:$Op4)
/*197815*/      /*SwitchType*/ 23, MVT::nxv4i32,// ->197840
/*197817*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197819*/        OPC_RecordChild2, // #1 = $Op2
/*197820*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197822*/        OPC_RecordChild3, // #2 = $Op3
/*197823*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197825*/        OPC_RecordChild4, // #3 = $Op4
/*197826*/        OPC_CheckChild4Type, MVT::nxv4i32,
/*197828*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197830*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSB_ZPmZZ_S), 0,
                      MVT::nxv4i32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 640:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3, nxv4i32:{ *:[nxv4i32] }:$Op4) - Complexity = 8
                  // Dst: (MSB_ZPmZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3, ?:{ *:[nxv4i32] }:$Op4)
/*197840*/      /*SwitchType*/ 23, MVT::nxv2i64,// ->197865
/*197842*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197844*/        OPC_RecordChild2, // #1 = $Op2
/*197845*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197847*/        OPC_RecordChild3, // #2 = $Op3
/*197848*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197850*/        OPC_RecordChild4, // #3 = $Op4
/*197851*/        OPC_CheckChild4Type, MVT::nxv2i64,
/*197853*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197855*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSB_ZPmZZ_D), 0,
                      MVT::nxv2i64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 640:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3, nxv2i64:{ *:[nxv2i64] }:$Op4) - Complexity = 8
                  // Dst: (MSB_ZPmZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3, ?:{ *:[nxv2i64] }:$Op4)
/*197865*/      0, // EndSwitchType
/*197866*/    /*Scope*/ 106, /*->197973*/
/*197867*/      OPC_CheckChild0Integer, 126|128,4/*638*/, 
/*197870*/      OPC_RecordChild1, // #0 = $Op1
/*197871*/      OPC_SwitchType /*4 cases */, 23, MVT::nxv16i8,// ->197897
/*197874*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197876*/        OPC_RecordChild2, // #1 = $Op2
/*197877*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197879*/        OPC_RecordChild3, // #2 = $Op3
/*197880*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197882*/        OPC_RecordChild4, // #3 = $Op4
/*197883*/        OPC_CheckChild4Type, MVT::nxv16i8,
/*197885*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197887*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MLA_ZPmZZ_B), 0,
                      MVT::nxv16i8, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 638:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3, nxv16i8:{ *:[nxv16i8] }:$Op4) - Complexity = 8
                  // Dst: (MLA_ZPmZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3, ?:{ *:[nxv16i8] }:$Op4)
/*197897*/      /*SwitchType*/ 23, MVT::nxv8i16,// ->197922
/*197899*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*197901*/        OPC_RecordChild2, // #1 = $Op2
/*197902*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*197904*/        OPC_RecordChild3, // #2 = $Op3
/*197905*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*197907*/        OPC_RecordChild4, // #3 = $Op4
/*197908*/        OPC_CheckChild4Type, MVT::nxv8i16,
/*197910*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197912*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MLA_ZPmZZ_H), 0,
                      MVT::nxv8i16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 638:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3, nxv8i16:{ *:[nxv8i16] }:$Op4) - Complexity = 8
                  // Dst: (MLA_ZPmZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3, ?:{ *:[nxv8i16] }:$Op4)
/*197922*/      /*SwitchType*/ 23, MVT::nxv4i32,// ->197947
/*197924*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*197926*/        OPC_RecordChild2, // #1 = $Op2
/*197927*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*197929*/        OPC_RecordChild3, // #2 = $Op3
/*197930*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*197932*/        OPC_RecordChild4, // #3 = $Op4
/*197933*/        OPC_CheckChild4Type, MVT::nxv4i32,
/*197935*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197937*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MLA_ZPmZZ_S), 0,
                      MVT::nxv4i32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 638:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3, nxv4i32:{ *:[nxv4i32] }:$Op4) - Complexity = 8
                  // Dst: (MLA_ZPmZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3, ?:{ *:[nxv4i32] }:$Op4)
/*197947*/      /*SwitchType*/ 23, MVT::nxv2i64,// ->197972
/*197949*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*197951*/        OPC_RecordChild2, // #1 = $Op2
/*197952*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*197954*/        OPC_RecordChild3, // #2 = $Op3
/*197955*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*197957*/        OPC_RecordChild4, // #3 = $Op4
/*197958*/        OPC_CheckChild4Type, MVT::nxv2i64,
/*197960*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197962*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MLA_ZPmZZ_D), 0,
                      MVT::nxv2i64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 638:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3, nxv2i64:{ *:[nxv2i64] }:$Op4) - Complexity = 8
                  // Dst: (MLA_ZPmZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3, ?:{ *:[nxv2i64] }:$Op4)
/*197972*/      0, // EndSwitchType
/*197973*/    /*Scope*/ 106, /*->198080*/
/*197974*/      OPC_CheckChild0Integer, 127|128,4/*639*/, 
/*197977*/      OPC_RecordChild1, // #0 = $Op1
/*197978*/      OPC_SwitchType /*4 cases */, 23, MVT::nxv16i8,// ->198004
/*197981*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*197983*/        OPC_RecordChild2, // #1 = $Op2
/*197984*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*197986*/        OPC_RecordChild3, // #2 = $Op3
/*197987*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*197989*/        OPC_RecordChild4, // #3 = $Op4
/*197990*/        OPC_CheckChild4Type, MVT::nxv16i8,
/*197992*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*197994*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MLS_ZPmZZ_B), 0,
                      MVT::nxv16i8, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 639:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3, nxv16i8:{ *:[nxv16i8] }:$Op4) - Complexity = 8
                  // Dst: (MLS_ZPmZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3, ?:{ *:[nxv16i8] }:$Op4)
/*198004*/      /*SwitchType*/ 23, MVT::nxv8i16,// ->198029
/*198006*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*198008*/        OPC_RecordChild2, // #1 = $Op2
/*198009*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*198011*/        OPC_RecordChild3, // #2 = $Op3
/*198012*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198014*/        OPC_RecordChild4, // #3 = $Op4
/*198015*/        OPC_CheckChild4Type, MVT::nxv8i16,
/*198017*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198019*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MLS_ZPmZZ_H), 0,
                      MVT::nxv8i16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 639:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3, nxv8i16:{ *:[nxv8i16] }:$Op4) - Complexity = 8
                  // Dst: (MLS_ZPmZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3, ?:{ *:[nxv8i16] }:$Op4)
/*198029*/      /*SwitchType*/ 23, MVT::nxv4i32,// ->198054
/*198031*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*198033*/        OPC_RecordChild2, // #1 = $Op2
/*198034*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*198036*/        OPC_RecordChild3, // #2 = $Op3
/*198037*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198039*/        OPC_RecordChild4, // #3 = $Op4
/*198040*/        OPC_CheckChild4Type, MVT::nxv4i32,
/*198042*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198044*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MLS_ZPmZZ_S), 0,
                      MVT::nxv4i32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 639:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3, nxv4i32:{ *:[nxv4i32] }:$Op4) - Complexity = 8
                  // Dst: (MLS_ZPmZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3, ?:{ *:[nxv4i32] }:$Op4)
/*198054*/      /*SwitchType*/ 23, MVT::nxv2i64,// ->198079
/*198056*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*198058*/        OPC_RecordChild2, // #1 = $Op2
/*198059*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*198061*/        OPC_RecordChild3, // #2 = $Op3
/*198062*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198064*/        OPC_RecordChild4, // #3 = $Op4
/*198065*/        OPC_CheckChild4Type, MVT::nxv2i64,
/*198067*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198069*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MLS_ZPmZZ_D), 0,
                      MVT::nxv2i64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 639:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3, nxv2i64:{ *:[nxv2i64] }:$Op4) - Complexity = 8
                  // Dst: (MLS_ZPmZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3, ?:{ *:[nxv2i64] }:$Op4)
/*198079*/      0, // EndSwitchType
/*198080*/    /*Scope*/ 90, /*->198171*/
/*198081*/      OPC_CheckChild0Integer, 1|128,5/*641*/, 
/*198084*/      OPC_RecordChild1, // #0 = $Op1
/*198085*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->198107
/*198088*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*198090*/        OPC_RecordChild2, // #1 = $Op2
/*198091*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*198093*/        OPC_RecordChild3, // #2 = $Op3
/*198094*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*198096*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198098*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 641:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (MUL_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*198107*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->198128
/*198109*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*198111*/        OPC_RecordChild2, // #1 = $Op2
/*198112*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*198114*/        OPC_RecordChild3, // #2 = $Op3
/*198115*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198117*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198119*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 641:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (MUL_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*198128*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->198149
/*198130*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*198132*/        OPC_RecordChild2, // #1 = $Op2
/*198133*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*198135*/        OPC_RecordChild3, // #2 = $Op3
/*198136*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198138*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198140*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 641:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (MUL_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198149*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198170
/*198151*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*198153*/        OPC_RecordChild2, // #1 = $Op2
/*198154*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*198156*/        OPC_RecordChild3, // #2 = $Op3
/*198157*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198159*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198161*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 641:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (MUL_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198170*/      0, // EndSwitchType
/*198171*/    /*Scope*/ 90, /*->198262*/
/*198172*/      OPC_CheckChild0Integer, 46|128,5/*686*/, 
/*198175*/      OPC_RecordChild1, // #0 = $Op1
/*198176*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->198198
/*198179*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*198181*/        OPC_RecordChild2, // #1 = $Op2
/*198182*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*198184*/        OPC_RecordChild3, // #2 = $Op3
/*198185*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*198187*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198189*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULH_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 686:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (SMULH_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*198198*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->198219
/*198200*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*198202*/        OPC_RecordChild2, // #1 = $Op2
/*198203*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*198205*/        OPC_RecordChild3, // #2 = $Op3
/*198206*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198208*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198210*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULH_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 686:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SMULH_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*198219*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->198240
/*198221*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*198223*/        OPC_RecordChild2, // #1 = $Op2
/*198224*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*198226*/        OPC_RecordChild3, // #2 = $Op3
/*198227*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198229*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198231*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULH_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 686:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SMULH_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198240*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198261
/*198242*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*198244*/        OPC_RecordChild2, // #1 = $Op2
/*198245*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*198247*/        OPC_RecordChild3, // #2 = $Op3
/*198248*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198250*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198252*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULH_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 686:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SMULH_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198261*/      0, // EndSwitchType
/*198262*/    /*Scope*/ 90, /*->198353*/
/*198263*/      OPC_CheckChild0Integer, 123|128,5/*763*/, 
/*198266*/      OPC_RecordChild1, // #0 = $Op1
/*198267*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->198289
/*198270*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*198272*/        OPC_RecordChild2, // #1 = $Op2
/*198273*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*198275*/        OPC_RecordChild3, // #2 = $Op3
/*198276*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*198278*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198280*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULH_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 763:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (UMULH_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*198289*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->198310
/*198291*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*198293*/        OPC_RecordChild2, // #1 = $Op2
/*198294*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*198296*/        OPC_RecordChild3, // #2 = $Op3
/*198297*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198299*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198301*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULH_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 763:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (UMULH_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*198310*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->198331
/*198312*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*198314*/        OPC_RecordChild2, // #1 = $Op2
/*198315*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*198317*/        OPC_RecordChild3, // #2 = $Op3
/*198318*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198320*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198322*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULH_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 763:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UMULH_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198331*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198352
/*198333*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*198335*/        OPC_RecordChild2, // #1 = $Op2
/*198336*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*198338*/        OPC_RecordChild3, // #2 = $Op3
/*198339*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198341*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198343*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULH_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 763:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UMULH_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198352*/      0, // EndSwitchType
/*198353*/    /*Scope*/ 48, /*->198402*/
/*198354*/      OPC_CheckChild0Integer, 36|128,5/*676*/, 
/*198357*/      OPC_RecordChild1, // #0 = $Op1
/*198358*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->198380
/*198361*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*198363*/        OPC_RecordChild2, // #1 = $Op2
/*198364*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*198366*/        OPC_RecordChild3, // #2 = $Op3
/*198367*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198369*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198371*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDIV_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 676:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SDIV_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198380*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198401
/*198382*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*198384*/        OPC_RecordChild2, // #1 = $Op2
/*198385*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*198387*/        OPC_RecordChild3, // #2 = $Op3
/*198388*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198390*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198392*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDIV_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 676:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SDIV_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198401*/      0, // EndSwitchType
/*198402*/    /*Scope*/ 48, /*->198451*/
/*198403*/      OPC_CheckChild0Integer, 115|128,5/*755*/, 
/*198406*/      OPC_RecordChild1, // #0 = $Op1
/*198407*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->198429
/*198410*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*198412*/        OPC_RecordChild2, // #1 = $Op2
/*198413*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*198415*/        OPC_RecordChild3, // #2 = $Op3
/*198416*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198418*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198420*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDIV_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 755:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UDIV_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198429*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198450
/*198431*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*198433*/        OPC_RecordChild2, // #1 = $Op2
/*198434*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*198436*/        OPC_RecordChild3, // #2 = $Op3
/*198437*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198439*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198441*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDIV_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 755:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UDIV_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198450*/      0, // EndSwitchType
/*198451*/    /*Scope*/ 48, /*->198500*/
/*198452*/      OPC_CheckChild0Integer, 37|128,5/*677*/, 
/*198455*/      OPC_RecordChild1, // #0 = $Op1
/*198456*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->198478
/*198459*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*198461*/        OPC_RecordChild2, // #1 = $Op2
/*198462*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*198464*/        OPC_RecordChild3, // #2 = $Op3
/*198465*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198467*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198469*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDIVR_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 677:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SDIVR_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198478*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198499
/*198480*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*198482*/        OPC_RecordChild2, // #1 = $Op2
/*198483*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*198485*/        OPC_RecordChild3, // #2 = $Op3
/*198486*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198488*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198490*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDIVR_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 677:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SDIVR_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198499*/      0, // EndSwitchType
/*198500*/    /*Scope*/ 48, /*->198549*/
/*198501*/      OPC_CheckChild0Integer, 116|128,5/*756*/, 
/*198504*/      OPC_RecordChild1, // #0 = $Op1
/*198505*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->198527
/*198508*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*198510*/        OPC_RecordChild2, // #1 = $Op2
/*198511*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*198513*/        OPC_RecordChild3, // #2 = $Op3
/*198514*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198516*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198518*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDIVR_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 756:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UDIVR_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198527*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198548
/*198529*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*198531*/        OPC_RecordChild2, // #1 = $Op2
/*198532*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*198534*/        OPC_RecordChild3, // #2 = $Op3
/*198535*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198537*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198539*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDIVR_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 756:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UDIVR_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198548*/      0, // EndSwitchType
/*198549*/    /*Scope*/ 48, /*->198598*/
/*198550*/      OPC_CheckChild0Integer, 38|128,5/*678*/, 
/*198553*/      OPC_RecordChild1, // #0 = $Op1
/*198554*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->198576
/*198557*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*198559*/        OPC_RecordChild2, // #1 = $Op2
/*198560*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*198562*/        OPC_RecordChild3, // #2 = $Op3
/*198563*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*198565*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198567*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDOT_ZZZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 678:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (SDOT_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*198576*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198597
/*198578*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*198580*/        OPC_RecordChild2, // #1 = $Op2
/*198581*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*198583*/        OPC_RecordChild3, // #2 = $Op3
/*198584*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198586*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198588*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDOT_ZZZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 678:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SDOT_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*198597*/      0, // EndSwitchType
/*198598*/    /*Scope*/ 48, /*->198647*/
/*198599*/      OPC_CheckChild0Integer, 117|128,5/*757*/, 
/*198602*/      OPC_RecordChild1, // #0 = $Op1
/*198603*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->198625
/*198606*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*198608*/        OPC_RecordChild2, // #1 = $Op2
/*198609*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*198611*/        OPC_RecordChild3, // #2 = $Op3
/*198612*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*198614*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198616*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDOT_ZZZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 757:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (UDOT_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*198625*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198646
/*198627*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*198629*/        OPC_RecordChild2, // #1 = $Op2
/*198630*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*198632*/        OPC_RecordChild3, // #2 = $Op3
/*198633*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198635*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198637*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDOT_ZZZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 757:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (UDOT_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*198646*/      0, // EndSwitchType
/*198647*/    /*Scope*/ 69, /*->198717*/
/*198648*/      OPC_CheckChild0Integer, 102|128,5/*742*/, 
/*198651*/      OPC_RecordChild1, // #0 = $Op1
/*198652*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i16,// ->198674
/*198655*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*198657*/        OPC_RecordChild2, // #1 = $Op2
/*198658*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*198660*/        OPC_RecordChild3, // #2 = $Op3
/*198661*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198663*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198665*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTB_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 742:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SXTB_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*198674*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->198695
/*198676*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*198678*/        OPC_RecordChild2, // #1 = $Op2
/*198679*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*198681*/        OPC_RecordChild3, // #2 = $Op3
/*198682*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198684*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198686*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTB_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 742:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SXTB_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198695*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198716
/*198697*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*198699*/        OPC_RecordChild2, // #1 = $Op2
/*198700*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*198702*/        OPC_RecordChild3, // #2 = $Op3
/*198703*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198705*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198707*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTB_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 742:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SXTB_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198716*/      0, // EndSwitchType
/*198717*/    /*Scope*/ 69, /*->198787*/
/*198718*/      OPC_CheckChild0Integer, 32|128,6/*800*/, 
/*198721*/      OPC_RecordChild1, // #0 = $Op1
/*198722*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i16,// ->198744
/*198725*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*198727*/        OPC_RecordChild2, // #1 = $Op2
/*198728*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*198730*/        OPC_RecordChild3, // #2 = $Op3
/*198731*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198733*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198735*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UXTB_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 800:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (UXTB_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*198744*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->198765
/*198746*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*198748*/        OPC_RecordChild2, // #1 = $Op2
/*198749*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*198751*/        OPC_RecordChild3, // #2 = $Op3
/*198752*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198754*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198756*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UXTB_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 800:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UXTB_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198765*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198786
/*198767*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*198769*/        OPC_RecordChild2, // #1 = $Op2
/*198770*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*198772*/        OPC_RecordChild3, // #2 = $Op3
/*198773*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198775*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198777*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UXTB_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 800:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UXTB_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198786*/      0, // EndSwitchType
/*198787*/    /*Scope*/ 48, /*->198836*/
/*198788*/      OPC_CheckChild0Integer, 103|128,5/*743*/, 
/*198791*/      OPC_RecordChild1, // #0 = $Op1
/*198792*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->198814
/*198795*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*198797*/        OPC_RecordChild2, // #1 = $Op2
/*198798*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*198800*/        OPC_RecordChild3, // #2 = $Op3
/*198801*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198803*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198805*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTH_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 743:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SXTH_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198814*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198835
/*198816*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*198818*/        OPC_RecordChild2, // #1 = $Op2
/*198819*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*198821*/        OPC_RecordChild3, // #2 = $Op3
/*198822*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198824*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198826*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTH_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 743:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SXTH_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198835*/      0, // EndSwitchType
/*198836*/    /*Scope*/ 48, /*->198885*/
/*198837*/      OPC_CheckChild0Integer, 33|128,6/*801*/, 
/*198840*/      OPC_RecordChild1, // #0 = $Op1
/*198841*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->198863
/*198844*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*198846*/        OPC_RecordChild2, // #1 = $Op2
/*198847*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*198849*/        OPC_RecordChild3, // #2 = $Op3
/*198850*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198852*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198854*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UXTH_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 801:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UXTH_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*198863*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->198884
/*198865*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*198867*/        OPC_RecordChild2, // #1 = $Op2
/*198868*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*198870*/        OPC_RecordChild3, // #2 = $Op3
/*198871*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*198873*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198875*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UXTH_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 801:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UXTH_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198884*/      0, // EndSwitchType
/*198885*/    /*Scope*/ 25, /*->198911*/
/*198886*/      OPC_CheckChild0Integer, 104|128,5/*744*/, 
/*198889*/      OPC_RecordChild1, // #0 = $Op1
/*198890*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*198892*/      OPC_RecordChild2, // #1 = $Op2
/*198893*/      OPC_CheckChild2Type, MVT::nxv2i1,
/*198895*/      OPC_RecordChild3, // #2 = $Op3
/*198896*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*198898*/      OPC_CheckType, MVT::nxv2i64,
/*198900*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198902*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTW_ZPmZ_D), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 744:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                // Dst: (SXTW_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198911*/    /*Scope*/ 25, /*->198937*/
/*198912*/      OPC_CheckChild0Integer, 34|128,6/*802*/, 
/*198915*/      OPC_RecordChild1, // #0 = $Op1
/*198916*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*198918*/      OPC_RecordChild2, // #1 = $Op2
/*198919*/      OPC_CheckChild2Type, MVT::nxv2i1,
/*198921*/      OPC_RecordChild3, // #2 = $Op3
/*198922*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*198924*/      OPC_CheckType, MVT::nxv2i64,
/*198926*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198928*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UXTW_ZPmZ_D), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 802:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                // Dst: (UXTW_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*198937*/    /*Scope*/ 90, /*->199028*/
/*198938*/      OPC_CheckChild0Integer, 96|128,3/*480*/, 
/*198941*/      OPC_RecordChild1, // #0 = $Op1
/*198942*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->198964
/*198945*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*198947*/        OPC_RecordChild2, // #1 = $Op2
/*198948*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*198950*/        OPC_RecordChild3, // #2 = $Op3
/*198951*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*198953*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198955*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABS_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 480:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (ABS_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*198964*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->198985
/*198966*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*198968*/        OPC_RecordChild2, // #1 = $Op2
/*198969*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*198971*/        OPC_RecordChild3, // #2 = $Op3
/*198972*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*198974*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198976*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABS_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 480:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (ABS_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*198985*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->199006
/*198987*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*198989*/        OPC_RecordChild2, // #1 = $Op2
/*198990*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*198992*/        OPC_RecordChild3, // #2 = $Op3
/*198993*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*198995*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*198997*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABS_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 480:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (ABS_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199006*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->199027
/*199008*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*199010*/        OPC_RecordChild2, // #1 = $Op2
/*199011*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*199013*/        OPC_RecordChild3, // #2 = $Op3
/*199014*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*199016*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199018*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABS_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 480:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (ABS_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*199027*/      0, // EndSwitchType
/*199028*/    /*Scope*/ 90, /*->199119*/
/*199029*/      OPC_CheckChild0Integer, 3|128,5/*643*/, 
/*199032*/      OPC_RecordChild1, // #0 = $Op1
/*199033*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->199055
/*199036*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*199038*/        OPC_RecordChild2, // #1 = $Op2
/*199039*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*199041*/        OPC_RecordChild3, // #2 = $Op3
/*199042*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*199044*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199046*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEG_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 643:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (NEG_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*199055*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->199076
/*199057*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*199059*/        OPC_RecordChild2, // #1 = $Op2
/*199060*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*199062*/        OPC_RecordChild3, // #2 = $Op3
/*199063*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*199065*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199067*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEG_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 643:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (NEG_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*199076*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->199097
/*199078*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*199080*/        OPC_RecordChild2, // #1 = $Op2
/*199081*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*199083*/        OPC_RecordChild3, // #2 = $Op3
/*199084*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*199086*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199088*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEG_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 643:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (NEG_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199097*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->199118
/*199099*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*199101*/        OPC_RecordChild2, // #1 = $Op2
/*199102*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*199104*/        OPC_RecordChild3, // #2 = $Op3
/*199105*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*199107*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199109*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEG_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 643:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (NEG_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*199118*/      0, // EndSwitchType
/*199119*/    /*Scope*/ 13|128,1/*141*/, /*->199262*/
/*199121*/      OPC_CheckChild0Integer, 112|128,3/*496*/, 
/*199124*/      OPC_RecordChild1, // #0 = $Op1
/*199125*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->199147
/*199128*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*199130*/        OPC_RecordChild2, // #1 = $Op2
/*199131*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*199133*/        OPC_RecordChild3, // #2 = $Op3
/*199134*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*199136*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199138*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLS_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 496:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (CLS_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*199147*/      /*SwitchType*/ 36, MVT::nxv8i16,// ->199185
/*199149*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*199151*/        OPC_RecordChild2, // #1 = $Op2
/*199152*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*199154*/        OPC_RecordChild3, // #2 = $Op3
/*199155*/        OPC_Scope, 13, /*->199170*/ // 2 children in Scope
/*199157*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*199159*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199161*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLS_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 496:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CLS_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*199170*/        /*Scope*/ 13, /*->199184*/
/*199171*/          OPC_CheckChild3Type, MVT::nxv8f16,
/*199173*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199175*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLS_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 496:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                    // Dst: (CLS_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*199184*/        0, /*End of Scope*/
/*199185*/      /*SwitchType*/ 36, MVT::nxv4i32,// ->199223
/*199187*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*199189*/        OPC_RecordChild2, // #1 = $Op2
/*199190*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*199192*/        OPC_RecordChild3, // #2 = $Op3
/*199193*/        OPC_Scope, 13, /*->199208*/ // 2 children in Scope
/*199195*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*199197*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199199*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLS_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 496:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CLS_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199208*/        /*Scope*/ 13, /*->199222*/
/*199209*/          OPC_CheckChild3Type, MVT::nxv4f32,
/*199211*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199213*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLS_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 496:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                    // Dst: (CLS_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*199222*/        0, /*End of Scope*/
/*199223*/      /*SwitchType*/ 36, MVT::nxv2i64,// ->199261
/*199225*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*199227*/        OPC_RecordChild2, // #1 = $Op2
/*199228*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*199230*/        OPC_RecordChild3, // #2 = $Op3
/*199231*/        OPC_Scope, 13, /*->199246*/ // 2 children in Scope
/*199233*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*199235*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199237*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLS_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 496:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CLS_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*199246*/        /*Scope*/ 13, /*->199260*/
/*199247*/          OPC_CheckChild3Type, MVT::nxv2f64,
/*199249*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199251*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLS_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 496:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                    // Dst: (CLS_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*199260*/        0, /*End of Scope*/
/*199261*/      0, // EndSwitchType
/*199262*/    /*Scope*/ 13|128,1/*141*/, /*->199405*/
/*199264*/      OPC_CheckChild0Integer, 113|128,3/*497*/, 
/*199267*/      OPC_RecordChild1, // #0 = $Op1
/*199268*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->199290
/*199271*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*199273*/        OPC_RecordChild2, // #1 = $Op2
/*199274*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*199276*/        OPC_RecordChild3, // #2 = $Op3
/*199277*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*199279*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199281*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZ_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 497:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (CLZ_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*199290*/      /*SwitchType*/ 36, MVT::nxv8i16,// ->199328
/*199292*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*199294*/        OPC_RecordChild2, // #1 = $Op2
/*199295*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*199297*/        OPC_RecordChild3, // #2 = $Op3
/*199298*/        OPC_Scope, 13, /*->199313*/ // 2 children in Scope
/*199300*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*199302*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199304*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZ_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 497:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CLZ_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*199313*/        /*Scope*/ 13, /*->199327*/
/*199314*/          OPC_CheckChild3Type, MVT::nxv8f16,
/*199316*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199318*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZ_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 497:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                    // Dst: (CLZ_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*199327*/        0, /*End of Scope*/
/*199328*/      /*SwitchType*/ 36, MVT::nxv4i32,// ->199366
/*199330*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*199332*/        OPC_RecordChild2, // #1 = $Op2
/*199333*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*199335*/        OPC_RecordChild3, // #2 = $Op3
/*199336*/        OPC_Scope, 13, /*->199351*/ // 2 children in Scope
/*199338*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*199340*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199342*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZ_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 497:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CLZ_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199351*/        /*Scope*/ 13, /*->199365*/
/*199352*/          OPC_CheckChild3Type, MVT::nxv4f32,
/*199354*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199356*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZ_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 497:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                    // Dst: (CLZ_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*199365*/        0, /*End of Scope*/
/*199366*/      /*SwitchType*/ 36, MVT::nxv2i64,// ->199404
/*199368*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*199370*/        OPC_RecordChild2, // #1 = $Op2
/*199371*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*199373*/        OPC_RecordChild3, // #2 = $Op3
/*199374*/        OPC_Scope, 13, /*->199389*/ // 2 children in Scope
/*199376*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*199378*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199380*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZ_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 497:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CLZ_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*199389*/        /*Scope*/ 13, /*->199403*/
/*199390*/          OPC_CheckChild3Type, MVT::nxv2f64,
/*199392*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199394*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZ_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 497:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                    // Dst: (CLZ_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*199403*/        0, /*End of Scope*/
/*199404*/      0, // EndSwitchType
/*199405*/    /*Scope*/ 13|128,1/*141*/, /*->199548*/
/*199407*/      OPC_CheckChild0Integer, 3|128,4/*515*/, 
/*199410*/      OPC_RecordChild1, // #0 = $Op1
/*199411*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->199433
/*199414*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*199416*/        OPC_RecordChild2, // #1 = $Op2
/*199417*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*199419*/        OPC_RecordChild3, // #2 = $Op3
/*199420*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*199422*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199424*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNT_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 515:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (CNT_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*199433*/      /*SwitchType*/ 36, MVT::nxv8i16,// ->199471
/*199435*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*199437*/        OPC_RecordChild2, // #1 = $Op2
/*199438*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*199440*/        OPC_RecordChild3, // #2 = $Op3
/*199441*/        OPC_Scope, 13, /*->199456*/ // 2 children in Scope
/*199443*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*199445*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199447*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNT_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 515:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CNT_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*199456*/        /*Scope*/ 13, /*->199470*/
/*199457*/          OPC_CheckChild3Type, MVT::nxv8f16,
/*199459*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199461*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNT_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 515:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                    // Dst: (CNT_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*199470*/        0, /*End of Scope*/
/*199471*/      /*SwitchType*/ 36, MVT::nxv4i32,// ->199509
/*199473*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*199475*/        OPC_RecordChild2, // #1 = $Op2
/*199476*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*199478*/        OPC_RecordChild3, // #2 = $Op3
/*199479*/        OPC_Scope, 13, /*->199494*/ // 2 children in Scope
/*199481*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*199483*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199485*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNT_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 515:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CNT_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199494*/        /*Scope*/ 13, /*->199508*/
/*199495*/          OPC_CheckChild3Type, MVT::nxv4f32,
/*199497*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199499*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNT_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 515:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                    // Dst: (CNT_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*199508*/        0, /*End of Scope*/
/*199509*/      /*SwitchType*/ 36, MVT::nxv2i64,// ->199547
/*199511*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*199513*/        OPC_RecordChild2, // #1 = $Op2
/*199514*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*199516*/        OPC_RecordChild3, // #2 = $Op3
/*199517*/        OPC_Scope, 13, /*->199532*/ // 2 children in Scope
/*199519*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*199521*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199523*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNT_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 515:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CNT_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*199532*/        /*Scope*/ 13, /*->199546*/
/*199533*/          OPC_CheckChild3Type, MVT::nxv2f64,
/*199535*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199537*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNT_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 515:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                    // Dst: (CNT_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*199546*/        0, /*End of Scope*/
/*199547*/      0, // EndSwitchType
/*199548*/    /*Scope*/ 13|128,1/*141*/, /*->199691*/
/*199550*/      OPC_CheckChild0Integer, 2|128,4/*514*/, 
/*199553*/      OPC_RecordChild1, // #0 = $Op1
/*199554*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->199576
/*199557*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*199559*/        OPC_RecordChild2, // #1 = $Op2
/*199560*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*199562*/        OPC_RecordChild3, // #2 = $Op3
/*199563*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*199565*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199567*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNOT_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 514:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (CNOT_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*199576*/      /*SwitchType*/ 36, MVT::nxv8i16,// ->199614
/*199578*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*199580*/        OPC_RecordChild2, // #1 = $Op2
/*199581*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*199583*/        OPC_RecordChild3, // #2 = $Op3
/*199584*/        OPC_Scope, 13, /*->199599*/ // 2 children in Scope
/*199586*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*199588*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199590*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNOT_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 514:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CNOT_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*199599*/        /*Scope*/ 13, /*->199613*/
/*199600*/          OPC_CheckChild3Type, MVT::nxv8f16,
/*199602*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199604*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNOT_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 514:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                    // Dst: (CNOT_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*199613*/        0, /*End of Scope*/
/*199614*/      /*SwitchType*/ 36, MVT::nxv4i32,// ->199652
/*199616*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*199618*/        OPC_RecordChild2, // #1 = $Op2
/*199619*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*199621*/        OPC_RecordChild3, // #2 = $Op3
/*199622*/        OPC_Scope, 13, /*->199637*/ // 2 children in Scope
/*199624*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*199626*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199628*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNOT_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 514:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CNOT_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199637*/        /*Scope*/ 13, /*->199651*/
/*199638*/          OPC_CheckChild3Type, MVT::nxv4f32,
/*199640*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199642*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNOT_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 514:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                    // Dst: (CNOT_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*199651*/        0, /*End of Scope*/
/*199652*/      /*SwitchType*/ 36, MVT::nxv2i64,// ->199690
/*199654*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*199656*/        OPC_RecordChild2, // #1 = $Op2
/*199657*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*199659*/        OPC_RecordChild3, // #2 = $Op3
/*199660*/        OPC_Scope, 13, /*->199675*/ // 2 children in Scope
/*199662*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*199664*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199666*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNOT_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 514:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CNOT_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*199675*/        /*Scope*/ 13, /*->199689*/
/*199676*/          OPC_CheckChild3Type, MVT::nxv2f64,
/*199678*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199680*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNOT_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 514:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                    // Dst: (CNOT_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*199689*/        0, /*End of Scope*/
/*199690*/      0, // EndSwitchType
/*199691*/    /*Scope*/ 13|128,1/*141*/, /*->199834*/
/*199693*/      OPC_CheckChild0Integer, 5|128,5/*645*/, 
/*199696*/      OPC_RecordChild1, // #0 = $Op1
/*199697*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->199719
/*199700*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*199702*/        OPC_RecordChild2, // #1 = $Op2
/*199703*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*199705*/        OPC_RecordChild3, // #2 = $Op3
/*199706*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*199708*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199710*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOT_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 645:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (NOT_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*199719*/      /*SwitchType*/ 36, MVT::nxv8i16,// ->199757
/*199721*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*199723*/        OPC_RecordChild2, // #1 = $Op2
/*199724*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*199726*/        OPC_RecordChild3, // #2 = $Op3
/*199727*/        OPC_Scope, 13, /*->199742*/ // 2 children in Scope
/*199729*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*199731*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199733*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOT_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 645:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (NOT_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*199742*/        /*Scope*/ 13, /*->199756*/
/*199743*/          OPC_CheckChild3Type, MVT::nxv8f16,
/*199745*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199747*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOT_ZPmZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 645:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                    // Dst: (NOT_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*199756*/        0, /*End of Scope*/
/*199757*/      /*SwitchType*/ 36, MVT::nxv4i32,// ->199795
/*199759*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*199761*/        OPC_RecordChild2, // #1 = $Op2
/*199762*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*199764*/        OPC_RecordChild3, // #2 = $Op3
/*199765*/        OPC_Scope, 13, /*->199780*/ // 2 children in Scope
/*199767*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*199769*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199771*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOT_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 645:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (NOT_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199780*/        /*Scope*/ 13, /*->199794*/
/*199781*/          OPC_CheckChild3Type, MVT::nxv4f32,
/*199783*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199785*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOT_ZPmZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 645:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                    // Dst: (NOT_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*199794*/        0, /*End of Scope*/
/*199795*/      /*SwitchType*/ 36, MVT::nxv2i64,// ->199833
/*199797*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*199799*/        OPC_RecordChild2, // #1 = $Op2
/*199800*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*199802*/        OPC_RecordChild3, // #2 = $Op3
/*199803*/        OPC_Scope, 13, /*->199818*/ // 2 children in Scope
/*199805*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*199807*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199809*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOT_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 645:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (NOT_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*199818*/        /*Scope*/ 13, /*->199832*/
/*199819*/          OPC_CheckChild3Type, MVT::nxv2f64,
/*199821*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199823*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOT_ZPmZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 645:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                    // Dst: (NOT_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*199832*/        0, /*End of Scope*/
/*199833*/      0, // EndSwitchType
/*199834*/    /*Scope*/ 90, /*->199925*/
/*199835*/      OPC_CheckChild0Integer, 42|128,5/*682*/, 
/*199838*/      OPC_RecordChild1, // #0 = $Op1
/*199839*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->199861
/*199842*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*199844*/        OPC_RecordChild2, // #1 = $Op2
/*199845*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*199847*/        OPC_RecordChild3, // #2 = $Op3
/*199848*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*199850*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199852*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 682:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (SMAX_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*199861*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->199882
/*199863*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*199865*/        OPC_RecordChild2, // #1 = $Op2
/*199866*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*199868*/        OPC_RecordChild3, // #2 = $Op3
/*199869*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*199871*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199873*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 682:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SMAX_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*199882*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->199903
/*199884*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*199886*/        OPC_RecordChild2, // #1 = $Op2
/*199887*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*199889*/        OPC_RecordChild3, // #2 = $Op3
/*199890*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*199892*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199894*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 682:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SMAX_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199903*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->199924
/*199905*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*199907*/        OPC_RecordChild2, // #1 = $Op2
/*199908*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*199910*/        OPC_RecordChild3, // #2 = $Op3
/*199911*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*199913*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199915*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 682:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SMAX_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*199924*/      0, // EndSwitchType
/*199925*/    /*Scope*/ 90, /*->200016*/
/*199926*/      OPC_CheckChild0Integer, 119|128,5/*759*/, 
/*199929*/      OPC_RecordChild1, // #0 = $Op1
/*199930*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->199952
/*199933*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*199935*/        OPC_RecordChild2, // #1 = $Op2
/*199936*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*199938*/        OPC_RecordChild3, // #2 = $Op3
/*199939*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*199941*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199943*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 759:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (UMAX_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*199952*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->199973
/*199954*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*199956*/        OPC_RecordChild2, // #1 = $Op2
/*199957*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*199959*/        OPC_RecordChild3, // #2 = $Op3
/*199960*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*199962*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199964*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 759:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (UMAX_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*199973*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->199994
/*199975*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*199977*/        OPC_RecordChild2, // #1 = $Op2
/*199978*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*199980*/        OPC_RecordChild3, // #2 = $Op3
/*199981*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*199983*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*199985*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 759:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UMAX_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*199994*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->200015
/*199996*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*199998*/        OPC_RecordChild2, // #1 = $Op2
/*199999*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*200001*/        OPC_RecordChild3, // #2 = $Op3
/*200002*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*200004*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200006*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 759:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UMAX_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200015*/      0, // EndSwitchType
/*200016*/    /*Scope*/ 90, /*->200107*/
/*200017*/      OPC_CheckChild0Integer, 44|128,5/*684*/, 
/*200020*/      OPC_RecordChild1, // #0 = $Op1
/*200021*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->200043
/*200024*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*200026*/        OPC_RecordChild2, // #1 = $Op2
/*200027*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*200029*/        OPC_RecordChild3, // #2 = $Op3
/*200030*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*200032*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200034*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 684:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (SMIN_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*200043*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->200064
/*200045*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*200047*/        OPC_RecordChild2, // #1 = $Op2
/*200048*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*200050*/        OPC_RecordChild3, // #2 = $Op3
/*200051*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*200053*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200055*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 684:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SMIN_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*200064*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->200085
/*200066*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*200068*/        OPC_RecordChild2, // #1 = $Op2
/*200069*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*200071*/        OPC_RecordChild3, // #2 = $Op3
/*200072*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*200074*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200076*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 684:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SMIN_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*200085*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->200106
/*200087*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*200089*/        OPC_RecordChild2, // #1 = $Op2
/*200090*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*200092*/        OPC_RecordChild3, // #2 = $Op3
/*200093*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*200095*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200097*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 684:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SMIN_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200106*/      0, // EndSwitchType
/*200107*/    /*Scope*/ 90, /*->200198*/
/*200108*/      OPC_CheckChild0Integer, 121|128,5/*761*/, 
/*200111*/      OPC_RecordChild1, // #0 = $Op1
/*200112*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->200134
/*200115*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*200117*/        OPC_RecordChild2, // #1 = $Op2
/*200118*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*200120*/        OPC_RecordChild3, // #2 = $Op3
/*200121*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*200123*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200125*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 761:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (UMIN_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*200134*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->200155
/*200136*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*200138*/        OPC_RecordChild2, // #1 = $Op2
/*200139*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*200141*/        OPC_RecordChild3, // #2 = $Op3
/*200142*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*200144*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200146*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 761:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (UMIN_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*200155*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->200176
/*200157*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*200159*/        OPC_RecordChild2, // #1 = $Op2
/*200160*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*200162*/        OPC_RecordChild3, // #2 = $Op3
/*200163*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*200165*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200167*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 761:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UMIN_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*200176*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->200197
/*200178*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*200180*/        OPC_RecordChild2, // #1 = $Op2
/*200181*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*200183*/        OPC_RecordChild3, // #2 = $Op3
/*200184*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*200186*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200188*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 761:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UMIN_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200197*/      0, // EndSwitchType
/*200198*/    /*Scope*/ 90, /*->200289*/
/*200199*/      OPC_CheckChild0Integer, 29|128,5/*669*/, 
/*200202*/      OPC_RecordChild1, // #0 = $Op1
/*200203*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->200225
/*200206*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*200208*/        OPC_RecordChild2, // #1 = $Op2
/*200209*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*200211*/        OPC_RecordChild3, // #2 = $Op3
/*200212*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*200214*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200216*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABD_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 669:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (SABD_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*200225*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->200246
/*200227*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*200229*/        OPC_RecordChild2, // #1 = $Op2
/*200230*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*200232*/        OPC_RecordChild3, // #2 = $Op3
/*200233*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*200235*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200237*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABD_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 669:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SABD_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*200246*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->200267
/*200248*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*200250*/        OPC_RecordChild2, // #1 = $Op2
/*200251*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*200253*/        OPC_RecordChild3, // #2 = $Op3
/*200254*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*200256*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200258*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABD_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 669:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SABD_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*200267*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->200288
/*200269*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*200271*/        OPC_RecordChild2, // #1 = $Op2
/*200272*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*200274*/        OPC_RecordChild3, // #2 = $Op3
/*200275*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*200277*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200279*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABD_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 669:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SABD_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200288*/      0, // EndSwitchType
/*200289*/    /*Scope*/ 90, /*->200380*/
/*200290*/      OPC_CheckChild0Integer, 108|128,5/*748*/, 
/*200293*/      OPC_RecordChild1, // #0 = $Op1
/*200294*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->200316
/*200297*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*200299*/        OPC_RecordChild2, // #1 = $Op2
/*200300*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*200302*/        OPC_RecordChild3, // #2 = $Op3
/*200303*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*200305*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200307*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABD_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 748:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (UABD_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*200316*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->200337
/*200318*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*200320*/        OPC_RecordChild2, // #1 = $Op2
/*200321*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*200323*/        OPC_RecordChild3, // #2 = $Op3
/*200324*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*200326*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200328*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABD_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 748:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (UABD_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*200337*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->200358
/*200339*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*200341*/        OPC_RecordChild2, // #1 = $Op2
/*200342*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*200344*/        OPC_RecordChild3, // #2 = $Op3
/*200345*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*200347*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200349*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABD_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 748:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UABD_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*200358*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->200379
/*200360*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*200362*/        OPC_RecordChild2, // #1 = $Op2
/*200363*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*200365*/        OPC_RecordChild3, // #2 = $Op3
/*200366*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*200368*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200370*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABD_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 748:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UABD_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200379*/      0, // EndSwitchType
/*200380*/    /*Scope*/ 26|128,1/*154*/, /*->200536*/
/*200382*/      OPC_CheckChild0Integer, 47|128,5/*687*/, 
/*200385*/      OPC_RecordChild1, // #0 = $Op1
/*200386*/      OPC_Scope, 21, /*->200409*/ // 4 children in Scope
/*200388*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*200390*/        OPC_RecordChild2, // #1 = $Op2
/*200391*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*200393*/        OPC_RecordChild3, // #2 = $Op3
/*200394*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*200396*/        OPC_CheckType, MVT::nxv16i8,
/*200398*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200400*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SPLICE_ZPZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 687:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (SPLICE_ZPZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*200409*/      /*Scope*/ 41, /*->200451*/
/*200410*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*200412*/        OPC_RecordChild2, // #1 = $Op2
/*200413*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv8i16,// ->200432
/*200416*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*200418*/          OPC_RecordChild3, // #2 = $Op3
/*200419*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*200421*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200423*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SPLICE_ZPZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 687:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (SPLICE_ZPZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*200432*/        /*SwitchType*/ 16, MVT::nxv8f16,// ->200450
/*200434*/          OPC_CheckChild2Type, MVT::nxv8f16,
/*200436*/          OPC_RecordChild3, // #2 = $Op3
/*200437*/          OPC_CheckChild3Type, MVT::nxv8f16,
/*200439*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200441*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SPLICE_ZPZ_H), 0,
                        MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 687:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                    // Dst: (SPLICE_ZPZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*200450*/        0, // EndSwitchType
/*200451*/      /*Scope*/ 41, /*->200493*/
/*200452*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*200454*/        OPC_RecordChild2, // #1 = $Op2
/*200455*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv4i32,// ->200474
/*200458*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*200460*/          OPC_RecordChild3, // #2 = $Op3
/*200461*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*200463*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200465*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SPLICE_ZPZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 687:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (SPLICE_ZPZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*200474*/        /*SwitchType*/ 16, MVT::nxv4f32,// ->200492
/*200476*/          OPC_CheckChild2Type, MVT::nxv4f32,
/*200478*/          OPC_RecordChild3, // #2 = $Op3
/*200479*/          OPC_CheckChild3Type, MVT::nxv4f32,
/*200481*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200483*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SPLICE_ZPZ_S), 0,
                        MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 687:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                    // Dst: (SPLICE_ZPZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*200492*/        0, // EndSwitchType
/*200493*/      /*Scope*/ 41, /*->200535*/
/*200494*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*200496*/        OPC_RecordChild2, // #1 = $Op2
/*200497*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv2i64,// ->200516
/*200500*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*200502*/          OPC_RecordChild3, // #2 = $Op3
/*200503*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*200505*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200507*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SPLICE_ZPZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 687:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (SPLICE_ZPZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200516*/        /*SwitchType*/ 16, MVT::nxv2f64,// ->200534
/*200518*/          OPC_CheckChild2Type, MVT::nxv2f64,
/*200520*/          OPC_RecordChild3, // #2 = $Op3
/*200521*/          OPC_CheckChild3Type, MVT::nxv2f64,
/*200523*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200525*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SPLICE_ZPZ_D), 0,
                        MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 687:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                    // Dst: (SPLICE_ZPZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*200534*/        0, // EndSwitchType
/*200535*/      0, /*End of Scope*/
/*200536*/    /*Scope*/ 74, /*->200611*/
/*200537*/      OPC_CheckChild0Integer, 9|128,4/*521*/, 
/*200540*/      OPC_RecordChild1, // #0 = $Op1
/*200541*/      OPC_Scope, 33, /*->200576*/ // 2 children in Scope
/*200543*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*200545*/        OPC_RecordChild2, // #1 = $Op2
/*200546*/        OPC_SwitchType /*2 cases */, 12, MVT::nxv4i32,// ->200561
/*200549*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*200551*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200553*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::COMPACT_ZPZ_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 521:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                    // Dst: (COMPACT_ZPZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*200561*/        /*SwitchType*/ 12, MVT::nxv4f32,// ->200575
/*200563*/          OPC_CheckChild2Type, MVT::nxv4f32,
/*200565*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200567*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::COMPACT_ZPZ_S), 0,
                        MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 521:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 8
                    // Dst: (COMPACT_ZPZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*200575*/        0, // EndSwitchType
/*200576*/      /*Scope*/ 33, /*->200610*/
/*200577*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*200579*/        OPC_RecordChild2, // #1 = $Op2
/*200580*/        OPC_SwitchType /*2 cases */, 12, MVT::nxv2i64,// ->200595
/*200583*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*200585*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200587*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::COMPACT_ZPZ_D), 0,
                        MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 521:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                    // Dst: (COMPACT_ZPZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*200595*/        /*SwitchType*/ 12, MVT::nxv2f64,// ->200609
/*200597*/          OPC_CheckChild2Type, MVT::nxv2f64,
/*200599*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200601*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::COMPACT_ZPZ_D), 0,
                        MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 521:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 8
                    // Dst: (COMPACT_ZPZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*200609*/        0, // EndSwitchType
/*200610*/      0, /*End of Scope*/
/*200611*/    /*Scope*/ 90, /*->200702*/
/*200612*/      OPC_CheckChild0Integer, 20|128,5/*660*/, 
/*200615*/      OPC_RecordChild1, // #0 = $Op1
/*200616*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->200638
/*200619*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*200621*/        OPC_RecordChild2, // #1 = $Op2
/*200622*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*200624*/        OPC_RecordChild3, // #2 = $Op3
/*200625*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*200627*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200629*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RBIT_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 660:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (RBIT_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*200638*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->200659
/*200640*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*200642*/        OPC_RecordChild2, // #1 = $Op2
/*200643*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*200645*/        OPC_RecordChild3, // #2 = $Op3
/*200646*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*200648*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200650*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RBIT_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 660:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (RBIT_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*200659*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->200680
/*200661*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*200663*/        OPC_RecordChild2, // #1 = $Op2
/*200664*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*200666*/        OPC_RecordChild3, // #2 = $Op3
/*200667*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*200669*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200671*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RBIT_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 660:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (RBIT_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*200680*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->200701
/*200682*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*200684*/        OPC_RecordChild2, // #1 = $Op2
/*200685*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*200687*/        OPC_RecordChild3, // #2 = $Op3
/*200688*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*200690*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200692*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RBIT_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 660:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (RBIT_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200701*/      0, // EndSwitchType
/*200702*/    /*Scope*/ 69, /*->200772*/
/*200703*/      OPC_CheckChild0Integer, 22|128,5/*662*/, 
/*200706*/      OPC_RecordChild1, // #0 = $Op1
/*200707*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i16,// ->200729
/*200710*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*200712*/        OPC_RecordChild2, // #1 = $Op2
/*200713*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*200715*/        OPC_RecordChild3, // #2 = $Op3
/*200716*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*200718*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200720*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVB_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 662:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (REVB_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*200729*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->200750
/*200731*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*200733*/        OPC_RecordChild2, // #1 = $Op2
/*200734*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*200736*/        OPC_RecordChild3, // #2 = $Op3
/*200737*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*200739*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200741*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVB_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 662:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (REVB_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*200750*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->200771
/*200752*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*200754*/        OPC_RecordChild2, // #1 = $Op2
/*200755*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*200757*/        OPC_RecordChild3, // #2 = $Op3
/*200758*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*200760*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200762*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVB_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 662:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (REVB_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200771*/      0, // EndSwitchType
/*200772*/    /*Scope*/ 48, /*->200821*/
/*200773*/      OPC_CheckChild0Integer, 23|128,5/*663*/, 
/*200776*/      OPC_RecordChild1, // #0 = $Op1
/*200777*/      OPC_SwitchType /*2 cases */, 19, MVT::nxv4i32,// ->200799
/*200780*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*200782*/        OPC_RecordChild2, // #1 = $Op2
/*200783*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*200785*/        OPC_RecordChild3, // #2 = $Op3
/*200786*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*200788*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200790*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVH_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 663:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (REVH_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*200799*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->200820
/*200801*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*200803*/        OPC_RecordChild2, // #1 = $Op2
/*200804*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*200806*/        OPC_RecordChild3, // #2 = $Op3
/*200807*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*200809*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200811*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVH_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 663:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (REVH_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200820*/      0, // EndSwitchType
/*200821*/    /*Scope*/ 25, /*->200847*/
/*200822*/      OPC_CheckChild0Integer, 24|128,5/*664*/, 
/*200825*/      OPC_RecordChild1, // #0 = $Op1
/*200826*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*200828*/      OPC_RecordChild2, // #1 = $Op2
/*200829*/      OPC_CheckChild2Type, MVT::nxv2i1,
/*200831*/      OPC_RecordChild3, // #2 = $Op3
/*200832*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*200834*/      OPC_CheckType, MVT::nxv2i64,
/*200836*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200838*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVW_ZPmZ_D), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 664:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                // Dst: (REVW_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*200847*/    /*Scope*/ 45, /*->200893*/
/*200848*/      OPC_CheckChild0Integer, 17|128,5/*657*/, 
/*200851*/      OPC_RecordChild1, // #0 = $Op1
/*200852*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv8i1,// ->200866
/*200855*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*200857*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200859*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PUNPKLO_PP), 0,
                      MVT::nxv8i1, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 657:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1) - Complexity = 8
                  // Dst: (PUNPKLO_PP:{ *:[nxv8i1] } ?:{ *:[nxv16i1] }:$Op1)
/*200866*/      /*SwitchType*/ 11, MVT::nxv4i1,// ->200879
/*200868*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*200870*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200872*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PUNPKLO_PP), 0,
                      MVT::nxv4i1, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 657:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1) - Complexity = 8
                  // Dst: (PUNPKLO_PP:{ *:[nxv4i1] } ?:{ *:[nxv8i1] }:$Op1)
/*200879*/      /*SwitchType*/ 11, MVT::nxv2i1,// ->200892
/*200881*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*200883*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200885*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PUNPKLO_PP), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 657:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1) - Complexity = 8
                  // Dst: (PUNPKLO_PP:{ *:[nxv2i1] } ?:{ *:[nxv4i1] }:$Op1)
/*200892*/      0, // EndSwitchType
/*200893*/    /*Scope*/ 45, /*->200939*/
/*200894*/      OPC_CheckChild0Integer, 16|128,5/*656*/, 
/*200897*/      OPC_RecordChild1, // #0 = $Op1
/*200898*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv8i1,// ->200912
/*200901*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*200903*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200905*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PUNPKHI_PP), 0,
                      MVT::nxv8i1, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 656:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1) - Complexity = 8
                  // Dst: (PUNPKHI_PP:{ *:[nxv8i1] } ?:{ *:[nxv16i1] }:$Op1)
/*200912*/      /*SwitchType*/ 11, MVT::nxv4i1,// ->200925
/*200914*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*200916*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200918*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PUNPKHI_PP), 0,
                      MVT::nxv4i1, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 656:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1) - Complexity = 8
                  // Dst: (PUNPKHI_PP:{ *:[nxv4i1] } ?:{ *:[nxv8i1] }:$Op1)
/*200925*/      /*SwitchType*/ 11, MVT::nxv2i1,// ->200938
/*200927*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*200929*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200931*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::PUNPKHI_PP), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 656:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1) - Complexity = 8
                  // Dst: (PUNPKHI_PP:{ *:[nxv2i1] } ?:{ *:[nxv4i1] }:$Op1)
/*200938*/      0, // EndSwitchType
/*200939*/    /*Scope*/ 22, /*->200962*/
/*200940*/      OPC_CheckChild0Integer, 10|128,5/*650*/, 
/*200943*/      OPC_RecordChild1, // #0 = $Op1
/*200944*/      OPC_CheckChild1Type, MVT::nxv16i1,
/*200946*/      OPC_RecordChild2, // #1 = $Op2
/*200947*/      OPC_CheckChild2Type, MVT::nxv16i1,
/*200949*/      OPC_CheckType, MVT::nxv16i1,
/*200951*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200953*/      OPC_MorphNodeTo2, TARGET_VAL(AArch64::PFIRST_B), 0,
                    MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 650:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 8
                // Dst: (PFIRST_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*200962*/    /*Scope*/ 78, /*->201041*/
/*200963*/      OPC_CheckChild0Integer, 11|128,5/*651*/, 
/*200966*/      OPC_RecordChild1, // #0 = $Op1
/*200967*/      OPC_SwitchType /*4 cases */, 16, MVT::nxv16i1,// ->200986
/*200970*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*200972*/        OPC_RecordChild2, // #1 = $Op2
/*200973*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*200975*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200977*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::PNEXT_B), 0,
                      MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 651:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 8
                  // Dst: (PNEXT_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*200986*/      /*SwitchType*/ 16, MVT::nxv8i1,// ->201004
/*200988*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*200990*/        OPC_RecordChild2, // #1 = $Op2
/*200991*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*200993*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*200995*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::PNEXT_H), 0,
                      MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 651:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 8
                  // Dst: (PNEXT_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*201004*/      /*SwitchType*/ 16, MVT::nxv4i1,// ->201022
/*201006*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201008*/        OPC_RecordChild2, // #1 = $Op2
/*201009*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*201011*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201013*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::PNEXT_S), 0,
                      MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 651:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 8
                  // Dst: (PNEXT_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*201022*/      /*SwitchType*/ 16, MVT::nxv2i1,// ->201040
/*201024*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201026*/        OPC_RecordChild2, // #1 = $Op2
/*201027*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*201029*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201031*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::PNEXT_D), 0,
                      MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 651:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 8
                  // Dst: (PNEXT_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*201040*/      0, // EndSwitchType
/*201041*/    /*Scope*/ 90, /*->201132*/
/*201042*/      OPC_CheckChild0Integer, 101|128,3/*485*/, 
/*201045*/      OPC_RecordChild1, // #0 = $Op1
/*201046*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i1,// ->201068
/*201049*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201051*/        OPC_RecordChild2, // #1 = $Op2
/*201052*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*201054*/        OPC_RecordChild3, // #2 = $Op3
/*201055*/        OPC_CheckChild3Type, MVT::nxv16i1,
/*201057*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201059*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_PPzPP), 0,
                      MVT::nxv16i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 485:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i1:{ *:[nxv16i1] }:$Op3) - Complexity = 8
                  // Dst: (AND_PPzPP:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i1] }:$Op3)
/*201068*/      /*SwitchType*/ 19, MVT::nxv8i1,// ->201089
/*201070*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201072*/        OPC_RecordChild2, // #1 = $Op2
/*201073*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*201075*/        OPC_RecordChild3, // #2 = $Op3
/*201076*/        OPC_CheckChild3Type, MVT::nxv8i1,
/*201078*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201080*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_PPzPP), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 485:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i1:{ *:[nxv8i1] }:$Op3) - Complexity = 8
                  // Dst: (AND_PPzPP:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i1] }:$Op3)
/*201089*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->201110
/*201091*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201093*/        OPC_RecordChild2, // #1 = $Op2
/*201094*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*201096*/        OPC_RecordChild3, // #2 = $Op3
/*201097*/        OPC_CheckChild3Type, MVT::nxv4i1,
/*201099*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201101*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_PPzPP), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 485:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i1:{ *:[nxv4i1] }:$Op3) - Complexity = 8
                  // Dst: (AND_PPzPP:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i1] }:$Op3)
/*201110*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->201131
/*201112*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201114*/        OPC_RecordChild2, // #1 = $Op2
/*201115*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*201117*/        OPC_RecordChild3, // #2 = $Op3
/*201118*/        OPC_CheckChild3Type, MVT::nxv2i1,
/*201120*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201122*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_PPzPP), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 485:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i1:{ *:[nxv2i1] }:$Op3) - Complexity = 8
                  // Dst: (AND_PPzPP:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i1] }:$Op3)
/*201131*/      0, // EndSwitchType
/*201132*/    /*Scope*/ 90, /*->201223*/
/*201133*/      OPC_CheckChild0Integer, 107|128,3/*491*/, 
/*201136*/      OPC_RecordChild1, // #0 = $Op1
/*201137*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i1,// ->201159
/*201140*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201142*/        OPC_RecordChild2, // #1 = $Op2
/*201143*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*201145*/        OPC_RecordChild3, // #2 = $Op3
/*201146*/        OPC_CheckChild3Type, MVT::nxv16i1,
/*201148*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201150*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BIC_PPzPP), 0,
                      MVT::nxv16i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 491:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i1:{ *:[nxv16i1] }:$Op3) - Complexity = 8
                  // Dst: (BIC_PPzPP:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i1] }:$Op3)
/*201159*/      /*SwitchType*/ 19, MVT::nxv8i1,// ->201180
/*201161*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201163*/        OPC_RecordChild2, // #1 = $Op2
/*201164*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*201166*/        OPC_RecordChild3, // #2 = $Op3
/*201167*/        OPC_CheckChild3Type, MVT::nxv8i1,
/*201169*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201171*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BIC_PPzPP), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 491:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i1:{ *:[nxv8i1] }:$Op3) - Complexity = 8
                  // Dst: (BIC_PPzPP:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i1] }:$Op3)
/*201180*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->201201
/*201182*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201184*/        OPC_RecordChild2, // #1 = $Op2
/*201185*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*201187*/        OPC_RecordChild3, // #2 = $Op3
/*201188*/        OPC_CheckChild3Type, MVT::nxv4i1,
/*201190*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201192*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BIC_PPzPP), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 491:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i1:{ *:[nxv4i1] }:$Op3) - Complexity = 8
                  // Dst: (BIC_PPzPP:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i1] }:$Op3)
/*201201*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->201222
/*201203*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201205*/        OPC_RecordChild2, // #1 = $Op2
/*201206*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*201208*/        OPC_RecordChild3, // #2 = $Op3
/*201209*/        OPC_CheckChild3Type, MVT::nxv2i1,
/*201211*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201213*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BIC_PPzPP), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 491:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i1:{ *:[nxv2i1] }:$Op3) - Complexity = 8
                  // Dst: (BIC_PPzPP:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i1] }:$Op3)
/*201222*/      0, // EndSwitchType
/*201223*/    /*Scope*/ 90, /*->201314*/
/*201224*/      OPC_CheckChild0Integer, 11|128,4/*523*/, 
/*201227*/      OPC_RecordChild1, // #0 = $Op1
/*201228*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i1,// ->201250
/*201231*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201233*/        OPC_RecordChild2, // #1 = $Op2
/*201234*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*201236*/        OPC_RecordChild3, // #2 = $Op3
/*201237*/        OPC_CheckChild3Type, MVT::nxv16i1,
/*201239*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201241*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_PPzPP), 0,
                      MVT::nxv16i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 523:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i1:{ *:[nxv16i1] }:$Op3) - Complexity = 8
                  // Dst: (EOR_PPzPP:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i1] }:$Op3)
/*201250*/      /*SwitchType*/ 19, MVT::nxv8i1,// ->201271
/*201252*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201254*/        OPC_RecordChild2, // #1 = $Op2
/*201255*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*201257*/        OPC_RecordChild3, // #2 = $Op3
/*201258*/        OPC_CheckChild3Type, MVT::nxv8i1,
/*201260*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201262*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_PPzPP), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 523:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i1:{ *:[nxv8i1] }:$Op3) - Complexity = 8
                  // Dst: (EOR_PPzPP:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i1] }:$Op3)
/*201271*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->201292
/*201273*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201275*/        OPC_RecordChild2, // #1 = $Op2
/*201276*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*201278*/        OPC_RecordChild3, // #2 = $Op3
/*201279*/        OPC_CheckChild3Type, MVT::nxv4i1,
/*201281*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201283*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_PPzPP), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 523:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i1:{ *:[nxv4i1] }:$Op3) - Complexity = 8
                  // Dst: (EOR_PPzPP:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i1] }:$Op3)
/*201292*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->201313
/*201294*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201296*/        OPC_RecordChild2, // #1 = $Op2
/*201297*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*201299*/        OPC_RecordChild3, // #2 = $Op3
/*201300*/        OPC_CheckChild3Type, MVT::nxv2i1,
/*201302*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201304*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_PPzPP), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 523:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i1:{ *:[nxv2i1] }:$Op3) - Complexity = 8
                  // Dst: (EOR_PPzPP:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i1] }:$Op3)
/*201313*/      0, // EndSwitchType
/*201314*/    /*Scope*/ 90, /*->201405*/
/*201315*/      OPC_CheckChild0Integer, 8|128,5/*648*/, 
/*201318*/      OPC_RecordChild1, // #0 = $Op1
/*201319*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i1,// ->201341
/*201322*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201324*/        OPC_RecordChild2, // #1 = $Op2
/*201325*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*201327*/        OPC_RecordChild3, // #2 = $Op3
/*201328*/        OPC_CheckChild3Type, MVT::nxv16i1,
/*201330*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201332*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_PPzPP), 0,
                      MVT::nxv16i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 648:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i1:{ *:[nxv16i1] }:$Op3) - Complexity = 8
                  // Dst: (ORR_PPzPP:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i1] }:$Op3)
/*201341*/      /*SwitchType*/ 19, MVT::nxv8i1,// ->201362
/*201343*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201345*/        OPC_RecordChild2, // #1 = $Op2
/*201346*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*201348*/        OPC_RecordChild3, // #2 = $Op3
/*201349*/        OPC_CheckChild3Type, MVT::nxv8i1,
/*201351*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201353*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_PPzPP), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 648:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i1:{ *:[nxv8i1] }:$Op3) - Complexity = 8
                  // Dst: (ORR_PPzPP:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i1] }:$Op3)
/*201362*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->201383
/*201364*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201366*/        OPC_RecordChild2, // #1 = $Op2
/*201367*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*201369*/        OPC_RecordChild3, // #2 = $Op3
/*201370*/        OPC_CheckChild3Type, MVT::nxv4i1,
/*201372*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201374*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_PPzPP), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 648:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i1:{ *:[nxv4i1] }:$Op3) - Complexity = 8
                  // Dst: (ORR_PPzPP:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i1] }:$Op3)
/*201383*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->201404
/*201385*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201387*/        OPC_RecordChild2, // #1 = $Op2
/*201388*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*201390*/        OPC_RecordChild3, // #2 = $Op3
/*201391*/        OPC_CheckChild3Type, MVT::nxv2i1,
/*201393*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201395*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_PPzPP), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 648:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i1:{ *:[nxv2i1] }:$Op3) - Complexity = 8
                  // Dst: (ORR_PPzPP:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i1] }:$Op3)
/*201404*/      0, // EndSwitchType
/*201405*/    /*Scope*/ 90, /*->201496*/
/*201406*/      OPC_CheckChild0Integer, 6|128,5/*646*/, 
/*201409*/      OPC_RecordChild1, // #0 = $Op1
/*201410*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i1,// ->201432
/*201413*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201415*/        OPC_RecordChild2, // #1 = $Op2
/*201416*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*201418*/        OPC_RecordChild3, // #2 = $Op3
/*201419*/        OPC_CheckChild3Type, MVT::nxv16i1,
/*201421*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201423*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORN_PPzPP), 0,
                      MVT::nxv16i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 646:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i1:{ *:[nxv16i1] }:$Op3) - Complexity = 8
                  // Dst: (ORN_PPzPP:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i1] }:$Op3)
/*201432*/      /*SwitchType*/ 19, MVT::nxv8i1,// ->201453
/*201434*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201436*/        OPC_RecordChild2, // #1 = $Op2
/*201437*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*201439*/        OPC_RecordChild3, // #2 = $Op3
/*201440*/        OPC_CheckChild3Type, MVT::nxv8i1,
/*201442*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201444*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORN_PPzPP), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 646:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i1:{ *:[nxv8i1] }:$Op3) - Complexity = 8
                  // Dst: (ORN_PPzPP:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i1] }:$Op3)
/*201453*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->201474
/*201455*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201457*/        OPC_RecordChild2, // #1 = $Op2
/*201458*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*201460*/        OPC_RecordChild3, // #2 = $Op3
/*201461*/        OPC_CheckChild3Type, MVT::nxv4i1,
/*201463*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201465*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORN_PPzPP), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 646:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i1:{ *:[nxv4i1] }:$Op3) - Complexity = 8
                  // Dst: (ORN_PPzPP:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i1] }:$Op3)
/*201474*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->201495
/*201476*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201478*/        OPC_RecordChild2, // #1 = $Op2
/*201479*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*201481*/        OPC_RecordChild3, // #2 = $Op3
/*201482*/        OPC_CheckChild3Type, MVT::nxv2i1,
/*201484*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201486*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORN_PPzPP), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 646:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i1:{ *:[nxv2i1] }:$Op3) - Complexity = 8
                  // Dst: (ORN_PPzPP:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i1] }:$Op3)
/*201495*/      0, // EndSwitchType
/*201496*/    /*Scope*/ 90, /*->201587*/
/*201497*/      OPC_CheckChild0Integer, 4|128,5/*644*/, 
/*201500*/      OPC_RecordChild1, // #0 = $Op1
/*201501*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i1,// ->201523
/*201504*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201506*/        OPC_RecordChild2, // #1 = $Op2
/*201507*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*201509*/        OPC_RecordChild3, // #2 = $Op3
/*201510*/        OPC_CheckChild3Type, MVT::nxv16i1,
/*201512*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201514*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOR_PPzPP), 0,
                      MVT::nxv16i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 644:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i1:{ *:[nxv16i1] }:$Op3) - Complexity = 8
                  // Dst: (NOR_PPzPP:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i1] }:$Op3)
/*201523*/      /*SwitchType*/ 19, MVT::nxv8i1,// ->201544
/*201525*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201527*/        OPC_RecordChild2, // #1 = $Op2
/*201528*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*201530*/        OPC_RecordChild3, // #2 = $Op3
/*201531*/        OPC_CheckChild3Type, MVT::nxv8i1,
/*201533*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201535*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOR_PPzPP), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 644:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i1:{ *:[nxv8i1] }:$Op3) - Complexity = 8
                  // Dst: (NOR_PPzPP:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i1] }:$Op3)
/*201544*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->201565
/*201546*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201548*/        OPC_RecordChild2, // #1 = $Op2
/*201549*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*201551*/        OPC_RecordChild3, // #2 = $Op3
/*201552*/        OPC_CheckChild3Type, MVT::nxv4i1,
/*201554*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201556*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOR_PPzPP), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 644:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i1:{ *:[nxv4i1] }:$Op3) - Complexity = 8
                  // Dst: (NOR_PPzPP:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i1] }:$Op3)
/*201565*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->201586
/*201567*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201569*/        OPC_RecordChild2, // #1 = $Op2
/*201570*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*201572*/        OPC_RecordChild3, // #2 = $Op3
/*201573*/        OPC_CheckChild3Type, MVT::nxv2i1,
/*201575*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201577*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOR_PPzPP), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 644:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i1:{ *:[nxv2i1] }:$Op3) - Complexity = 8
                  // Dst: (NOR_PPzPP:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i1] }:$Op3)
/*201586*/      0, // EndSwitchType
/*201587*/    /*Scope*/ 90, /*->201678*/
/*201588*/      OPC_CheckChild0Integer, 2|128,5/*642*/, 
/*201591*/      OPC_RecordChild1, // #0 = $Op1
/*201592*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i1,// ->201614
/*201595*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201597*/        OPC_RecordChild2, // #1 = $Op2
/*201598*/        OPC_CheckChild2Type, MVT::nxv16i1,
/*201600*/        OPC_RecordChild3, // #2 = $Op3
/*201601*/        OPC_CheckChild3Type, MVT::nxv16i1,
/*201603*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201605*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NAND_PPzPP), 0,
                      MVT::nxv16i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 642:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i1:{ *:[nxv16i1] }:$Op3) - Complexity = 8
                  // Dst: (NAND_PPzPP:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i1] }:$Op3)
/*201614*/      /*SwitchType*/ 19, MVT::nxv8i1,// ->201635
/*201616*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201618*/        OPC_RecordChild2, // #1 = $Op2
/*201619*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*201621*/        OPC_RecordChild3, // #2 = $Op3
/*201622*/        OPC_CheckChild3Type, MVT::nxv8i1,
/*201624*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201626*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NAND_PPzPP), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 642:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i1:{ *:[nxv8i1] }:$Op3) - Complexity = 8
                  // Dst: (NAND_PPzPP:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i1] }:$Op3)
/*201635*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->201656
/*201637*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201639*/        OPC_RecordChild2, // #1 = $Op2
/*201640*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*201642*/        OPC_RecordChild3, // #2 = $Op3
/*201643*/        OPC_CheckChild3Type, MVT::nxv4i1,
/*201645*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201647*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NAND_PPzPP), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 642:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i1:{ *:[nxv4i1] }:$Op3) - Complexity = 8
                  // Dst: (NAND_PPzPP:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i1] }:$Op3)
/*201656*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->201677
/*201658*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201660*/        OPC_RecordChild2, // #1 = $Op2
/*201661*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*201663*/        OPC_RecordChild3, // #2 = $Op3
/*201664*/        OPC_CheckChild3Type, MVT::nxv2i1,
/*201666*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201668*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NAND_PPzPP), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 642:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i1:{ *:[nxv2i1] }:$Op3) - Complexity = 8
                  // Dst: (NAND_PPzPP:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i1] }:$Op3)
/*201677*/      0, // EndSwitchType
/*201678*/    /*Scope*/ 26|128,1/*154*/, /*->201834*/
/*201680*/      OPC_CheckChild0Integer, 108|128,3/*492*/, 
/*201683*/      OPC_RecordChild1, // #0 = $Op1
/*201684*/      OPC_Scope, 21, /*->201707*/ // 4 children in Scope
/*201686*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201688*/        OPC_RecordChild2, // #1 = $Op2
/*201689*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*201691*/        OPC_RecordChild3, // #2 = $Op3
/*201692*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*201694*/        OPC_CheckType, MVT::nxv16i8,
/*201696*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201698*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_ZPZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 492:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (CLASTA_ZPZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*201707*/      /*Scope*/ 41, /*->201749*/
/*201708*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201710*/        OPC_RecordChild2, // #1 = $Op2
/*201711*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv8i16,// ->201730
/*201714*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*201716*/          OPC_RecordChild3, // #2 = $Op3
/*201717*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*201719*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201721*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_ZPZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 492:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CLASTA_ZPZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*201730*/        /*SwitchType*/ 16, MVT::nxv8f16,// ->201748
/*201732*/          OPC_CheckChild2Type, MVT::nxv8f16,
/*201734*/          OPC_RecordChild3, // #2 = $Op3
/*201735*/          OPC_CheckChild3Type, MVT::nxv8f16,
/*201737*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201739*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_ZPZ_H), 0,
                        MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 492:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                    // Dst: (CLASTA_ZPZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*201748*/        0, // EndSwitchType
/*201749*/      /*Scope*/ 41, /*->201791*/
/*201750*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201752*/        OPC_RecordChild2, // #1 = $Op2
/*201753*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv4i32,// ->201772
/*201756*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*201758*/          OPC_RecordChild3, // #2 = $Op3
/*201759*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*201761*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201763*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_ZPZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 492:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CLASTA_ZPZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*201772*/        /*SwitchType*/ 16, MVT::nxv4f32,// ->201790
/*201774*/          OPC_CheckChild2Type, MVT::nxv4f32,
/*201776*/          OPC_RecordChild3, // #2 = $Op3
/*201777*/          OPC_CheckChild3Type, MVT::nxv4f32,
/*201779*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201781*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_ZPZ_S), 0,
                        MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 492:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                    // Dst: (CLASTA_ZPZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*201790*/        0, // EndSwitchType
/*201791*/      /*Scope*/ 41, /*->201833*/
/*201792*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201794*/        OPC_RecordChild2, // #1 = $Op2
/*201795*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv2i64,// ->201814
/*201798*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*201800*/          OPC_RecordChild3, // #2 = $Op3
/*201801*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*201803*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201805*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_ZPZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 492:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CLASTA_ZPZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*201814*/        /*SwitchType*/ 16, MVT::nxv2f64,// ->201832
/*201816*/          OPC_CheckChild2Type, MVT::nxv2f64,
/*201818*/          OPC_RecordChild3, // #2 = $Op3
/*201819*/          OPC_CheckChild3Type, MVT::nxv2f64,
/*201821*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201823*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_ZPZ_D), 0,
                        MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 492:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                    // Dst: (CLASTA_ZPZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*201832*/        0, // EndSwitchType
/*201833*/      0, /*End of Scope*/
/*201834*/    /*Scope*/ 26|128,1/*154*/, /*->201990*/
/*201836*/      OPC_CheckChild0Integer, 110|128,3/*494*/, 
/*201839*/      OPC_RecordChild1, // #0 = $Op1
/*201840*/      OPC_Scope, 21, /*->201863*/ // 4 children in Scope
/*201842*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*201844*/        OPC_RecordChild2, // #1 = $Op2
/*201845*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*201847*/        OPC_RecordChild3, // #2 = $Op3
/*201848*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*201850*/        OPC_CheckType, MVT::nxv16i8,
/*201852*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201854*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_ZPZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 494:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (CLASTB_ZPZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*201863*/      /*Scope*/ 41, /*->201905*/
/*201864*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*201866*/        OPC_RecordChild2, // #1 = $Op2
/*201867*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv8i16,// ->201886
/*201870*/          OPC_CheckChild2Type, MVT::nxv8i16,
/*201872*/          OPC_RecordChild3, // #2 = $Op3
/*201873*/          OPC_CheckChild3Type, MVT::nxv8i16,
/*201875*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201877*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_ZPZ_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 494:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                    // Dst: (CLASTB_ZPZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*201886*/        /*SwitchType*/ 16, MVT::nxv8f16,// ->201904
/*201888*/          OPC_CheckChild2Type, MVT::nxv8f16,
/*201890*/          OPC_RecordChild3, // #2 = $Op3
/*201891*/          OPC_CheckChild3Type, MVT::nxv8f16,
/*201893*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201895*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_ZPZ_H), 0,
                        MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 494:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                    // Dst: (CLASTB_ZPZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*201904*/        0, // EndSwitchType
/*201905*/      /*Scope*/ 41, /*->201947*/
/*201906*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*201908*/        OPC_RecordChild2, // #1 = $Op2
/*201909*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv4i32,// ->201928
/*201912*/          OPC_CheckChild2Type, MVT::nxv4i32,
/*201914*/          OPC_RecordChild3, // #2 = $Op3
/*201915*/          OPC_CheckChild3Type, MVT::nxv4i32,
/*201917*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201919*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_ZPZ_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 494:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                    // Dst: (CLASTB_ZPZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*201928*/        /*SwitchType*/ 16, MVT::nxv4f32,// ->201946
/*201930*/          OPC_CheckChild2Type, MVT::nxv4f32,
/*201932*/          OPC_RecordChild3, // #2 = $Op3
/*201933*/          OPC_CheckChild3Type, MVT::nxv4f32,
/*201935*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201937*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_ZPZ_S), 0,
                        MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 494:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                    // Dst: (CLASTB_ZPZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*201946*/        0, // EndSwitchType
/*201947*/      /*Scope*/ 41, /*->201989*/
/*201948*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*201950*/        OPC_RecordChild2, // #1 = $Op2
/*201951*/        OPC_SwitchType /*2 cases */, 16, MVT::nxv2i64,// ->201970
/*201954*/          OPC_CheckChild2Type, MVT::nxv2i64,
/*201956*/          OPC_RecordChild3, // #2 = $Op3
/*201957*/          OPC_CheckChild3Type, MVT::nxv2i64,
/*201959*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201961*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_ZPZ_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 494:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                    // Dst: (CLASTB_ZPZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*201970*/        /*SwitchType*/ 16, MVT::nxv2f64,// ->201988
/*201972*/          OPC_CheckChild2Type, MVT::nxv2f64,
/*201974*/          OPC_RecordChild3, // #2 = $Op3
/*201975*/          OPC_CheckChild3Type, MVT::nxv2f64,
/*201977*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*201979*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_ZPZ_D), 0,
                        MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 494:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                    // Dst: (CLASTB_ZPZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*201988*/        0, // EndSwitchType
/*201989*/      0, /*End of Scope*/
/*201990*/    /*Scope*/ 66, /*->202057*/
/*201991*/      OPC_CheckChild0Integer, 115|128,3/*499*/, 
/*201994*/      OPC_RecordChild1, // #0 = $Op1
/*201995*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202016
/*201998*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202000*/        OPC_RecordChild2, // #1 = $Op2
/*202001*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202003*/        OPC_RecordChild3, // #2 = $Op3
/*202004*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202006*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 499:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPEQ_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202016*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202036
/*202018*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202020*/        OPC_RecordChild2, // #1 = $Op2
/*202021*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202023*/        OPC_RecordChild3, // #2 = $Op3
/*202024*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202026*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 499:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPEQ_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202036*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202056
/*202038*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202040*/        OPC_RecordChild2, // #1 = $Op2
/*202041*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202043*/        OPC_RecordChild3, // #2 = $Op3
/*202044*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202046*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 499:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPEQ_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202056*/      0, // EndSwitchType
/*202057*/    /*Scope*/ 66, /*->202124*/
/*202058*/      OPC_CheckChild0Integer, 1|128,4/*513*/, 
/*202061*/      OPC_RecordChild1, // #0 = $Op1
/*202062*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202083
/*202065*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202067*/        OPC_RecordChild2, // #1 = $Op2
/*202068*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202070*/        OPC_RecordChild3, // #2 = $Op3
/*202071*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202073*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 513:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPNE_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202083*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202103
/*202085*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202087*/        OPC_RecordChild2, // #1 = $Op2
/*202088*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202090*/        OPC_RecordChild3, // #2 = $Op3
/*202091*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202093*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 513:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPNE_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202103*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202123
/*202105*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202107*/        OPC_RecordChild2, // #1 = $Op2
/*202108*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202110*/        OPC_RecordChild3, // #2 = $Op3
/*202111*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202113*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 513:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPNE_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202123*/      0, // EndSwitchType
/*202124*/    /*Scope*/ 66, /*->202191*/
/*202125*/      OPC_CheckChild0Integer, 117|128,3/*501*/, 
/*202128*/      OPC_RecordChild1, // #0 = $Op1
/*202129*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202150
/*202132*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202134*/        OPC_RecordChild2, // #1 = $Op2
/*202135*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202137*/        OPC_RecordChild3, // #2 = $Op3
/*202138*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202140*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 501:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPGE_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202150*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202170
/*202152*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202154*/        OPC_RecordChild2, // #1 = $Op2
/*202155*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202157*/        OPC_RecordChild3, // #2 = $Op3
/*202158*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202160*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 501:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPGE_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202170*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202190
/*202172*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202174*/        OPC_RecordChild2, // #1 = $Op2
/*202175*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202177*/        OPC_RecordChild3, // #2 = $Op3
/*202178*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202180*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 501:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPGE_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202190*/      0, // EndSwitchType
/*202191*/    /*Scope*/ 66, /*->202258*/
/*202192*/      OPC_CheckChild0Integer, 119|128,3/*503*/, 
/*202195*/      OPC_RecordChild1, // #0 = $Op1
/*202196*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202217
/*202199*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202201*/        OPC_RecordChild2, // #1 = $Op2
/*202202*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202204*/        OPC_RecordChild3, // #2 = $Op3
/*202205*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202207*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 503:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPGT_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202217*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202237
/*202219*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202221*/        OPC_RecordChild2, // #1 = $Op2
/*202222*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202224*/        OPC_RecordChild3, // #2 = $Op3
/*202225*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202227*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 503:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPGT_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202237*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202257
/*202239*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202241*/        OPC_RecordChild2, // #1 = $Op2
/*202242*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202244*/        OPC_RecordChild3, // #2 = $Op3
/*202245*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202247*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 503:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPGT_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202257*/      0, // EndSwitchType
/*202258*/    /*Scope*/ 66, /*->202325*/
/*202259*/      OPC_CheckChild0Integer, 127|128,3/*511*/, 
/*202262*/      OPC_RecordChild1, // #0 = $Op1
/*202263*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202284
/*202266*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202268*/        OPC_RecordChild2, // #1 = $Op2
/*202269*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202271*/        OPC_RecordChild3, // #2 = $Op3
/*202272*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202274*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 511:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLT_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202284*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202304
/*202286*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202288*/        OPC_RecordChild2, // #1 = $Op2
/*202289*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202291*/        OPC_RecordChild3, // #2 = $Op3
/*202292*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202294*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 511:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLT_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202304*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202324
/*202306*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202308*/        OPC_RecordChild2, // #1 = $Op2
/*202309*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202311*/        OPC_RecordChild3, // #2 = $Op3
/*202312*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202314*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 511:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLT_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202324*/      0, // EndSwitchType
/*202325*/    /*Scope*/ 66, /*->202392*/
/*202326*/      OPC_CheckChild0Integer, 124|128,3/*508*/, 
/*202329*/      OPC_RecordChild1, // #0 = $Op1
/*202330*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202351
/*202333*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202335*/        OPC_RecordChild2, // #1 = $Op2
/*202336*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202338*/        OPC_RecordChild3, // #2 = $Op3
/*202339*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202341*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 508:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLE_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202351*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202371
/*202353*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202355*/        OPC_RecordChild2, // #1 = $Op2
/*202356*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202358*/        OPC_RecordChild3, // #2 = $Op3
/*202359*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202361*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 508:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLE_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202371*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202391
/*202373*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202375*/        OPC_RecordChild2, // #1 = $Op2
/*202376*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202378*/        OPC_RecordChild3, // #2 = $Op3
/*202379*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202381*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 508:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLE_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202391*/      0, // EndSwitchType
/*202392*/    /*Scope*/ 66, /*->202459*/
/*202393*/      OPC_CheckChild0Integer, 123|128,3/*507*/, 
/*202396*/      OPC_RecordChild1, // #0 = $Op1
/*202397*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202418
/*202400*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202402*/        OPC_RecordChild2, // #1 = $Op2
/*202403*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202405*/        OPC_RecordChild3, // #2 = $Op3
/*202406*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202408*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 507:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPHS_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202418*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202438
/*202420*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202422*/        OPC_RecordChild2, // #1 = $Op2
/*202423*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202425*/        OPC_RecordChild3, // #2 = $Op3
/*202426*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202428*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 507:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPHS_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202438*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202458
/*202440*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202442*/        OPC_RecordChild2, // #1 = $Op2
/*202443*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202445*/        OPC_RecordChild3, // #2 = $Op3
/*202446*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202448*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 507:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPHS_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202458*/      0, // EndSwitchType
/*202459*/    /*Scope*/ 66, /*->202526*/
/*202460*/      OPC_CheckChild0Integer, 121|128,3/*505*/, 
/*202463*/      OPC_RecordChild1, // #0 = $Op1
/*202464*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202485
/*202467*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202469*/        OPC_RecordChild2, // #1 = $Op2
/*202470*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202472*/        OPC_RecordChild3, // #2 = $Op3
/*202473*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202475*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 505:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPHI_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202485*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202505
/*202487*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202489*/        OPC_RecordChild2, // #1 = $Op2
/*202490*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202492*/        OPC_RecordChild3, // #2 = $Op3
/*202493*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202495*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 505:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPHI_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202505*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202525
/*202507*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202509*/        OPC_RecordChild2, // #1 = $Op2
/*202510*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202512*/        OPC_RecordChild3, // #2 = $Op3
/*202513*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202515*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 505:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPHI_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202525*/      0, // EndSwitchType
/*202526*/    /*Scope*/ 66, /*->202593*/
/*202527*/      OPC_CheckChild0Integer, 125|128,3/*509*/, 
/*202530*/      OPC_RecordChild1, // #0 = $Op1
/*202531*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202552
/*202534*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202536*/        OPC_RecordChild2, // #1 = $Op2
/*202537*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202539*/        OPC_RecordChild3, // #2 = $Op3
/*202540*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202542*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 509:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLO_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202552*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202572
/*202554*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202556*/        OPC_RecordChild2, // #1 = $Op2
/*202557*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202559*/        OPC_RecordChild3, // #2 = $Op3
/*202560*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202562*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 509:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLO_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202572*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202592
/*202574*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202576*/        OPC_RecordChild2, // #1 = $Op2
/*202577*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202579*/        OPC_RecordChild3, // #2 = $Op3
/*202580*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202582*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 509:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLO_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202592*/      0, // EndSwitchType
/*202593*/    /*Scope*/ 66, /*->202660*/
/*202594*/      OPC_CheckChild0Integer, 126|128,3/*510*/, 
/*202597*/      OPC_RecordChild1, // #0 = $Op1
/*202598*/      OPC_SwitchType /*3 cases */, 18, MVT::nxv16i1,// ->202619
/*202601*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*202603*/        OPC_RecordChild2, // #1 = $Op2
/*202604*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*202606*/        OPC_RecordChild3, // #2 = $Op3
/*202607*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202609*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_WIDE_PPzZZ_B), 0,
                      MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 510:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLS_WIDE_PPzZZ_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202619*/      /*SwitchType*/ 18, MVT::nxv8i1,// ->202639
/*202621*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202623*/        OPC_RecordChild2, // #1 = $Op2
/*202624*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*202626*/        OPC_RecordChild3, // #2 = $Op3
/*202627*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202629*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_WIDE_PPzZZ_H), 0,
                      MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 510:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLS_WIDE_PPzZZ_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202639*/      /*SwitchType*/ 18, MVT::nxv4i1,// ->202659
/*202641*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202643*/        OPC_RecordChild2, // #1 = $Op2
/*202644*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*202646*/        OPC_RecordChild3, // #2 = $Op3
/*202647*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202649*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_WIDE_PPzZZ_S), 0,
                      MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 510:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (CMPLS_WIDE_PPzZZ_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*202659*/      0, // EndSwitchType
/*202660*/    /*Scope*/ 69, /*->202730*/
/*202661*/      OPC_CheckChild0Integer, 26|128,4/*538*/, 
/*202664*/      OPC_RecordChild1, // #0 = $Op1
/*202665*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i1,// ->202687
/*202668*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202670*/        OPC_RecordChild2, // #1 = $Op2
/*202671*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*202673*/        OPC_RecordChild3, // #2 = $Op3
/*202674*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*202676*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202678*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGE_PPzZZ_H), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 538:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FCMGE_PPzZZ_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*202687*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->202708
/*202689*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202691*/        OPC_RecordChild2, // #1 = $Op2
/*202692*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*202694*/        OPC_RecordChild3, // #2 = $Op3
/*202695*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*202697*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202699*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGE_PPzZZ_S), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 538:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FCMGE_PPzZZ_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*202708*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->202729
/*202710*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*202712*/        OPC_RecordChild2, // #1 = $Op2
/*202713*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*202715*/        OPC_RecordChild3, // #2 = $Op3
/*202716*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*202718*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202720*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGE_PPzZZ_D), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 538:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FCMGE_PPzZZ_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*202729*/      0, // EndSwitchType
/*202730*/    /*Scope*/ 69, /*->202800*/
/*202731*/      OPC_CheckChild0Integer, 27|128,4/*539*/, 
/*202734*/      OPC_RecordChild1, // #0 = $Op1
/*202735*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i1,// ->202757
/*202738*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202740*/        OPC_RecordChild2, // #1 = $Op2
/*202741*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*202743*/        OPC_RecordChild3, // #2 = $Op3
/*202744*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*202746*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202748*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGT_PPzZZ_H), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 539:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FCMGT_PPzZZ_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*202757*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->202778
/*202759*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202761*/        OPC_RecordChild2, // #1 = $Op2
/*202762*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*202764*/        OPC_RecordChild3, // #2 = $Op3
/*202765*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*202767*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202769*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGT_PPzZZ_S), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 539:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FCMGT_PPzZZ_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*202778*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->202799
/*202780*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*202782*/        OPC_RecordChild2, // #1 = $Op2
/*202783*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*202785*/        OPC_RecordChild3, // #2 = $Op3
/*202786*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*202788*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202790*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGT_PPzZZ_D), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 539:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FCMGT_PPzZZ_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*202799*/      0, // EndSwitchType
/*202800*/    /*Scope*/ 69, /*->202870*/
/*202801*/      OPC_CheckChild0Integer, 25|128,4/*537*/, 
/*202804*/      OPC_RecordChild1, // #0 = $Op1
/*202805*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i1,// ->202827
/*202808*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202810*/        OPC_RecordChild2, // #1 = $Op2
/*202811*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*202813*/        OPC_RecordChild3, // #2 = $Op3
/*202814*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*202816*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202818*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQ_PPzZZ_H), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 537:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FCMEQ_PPzZZ_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*202827*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->202848
/*202829*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202831*/        OPC_RecordChild2, // #1 = $Op2
/*202832*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*202834*/        OPC_RecordChild3, // #2 = $Op3
/*202835*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*202837*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202839*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQ_PPzZZ_S), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 537:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FCMEQ_PPzZZ_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*202848*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->202869
/*202850*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*202852*/        OPC_RecordChild2, // #1 = $Op2
/*202853*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*202855*/        OPC_RecordChild3, // #2 = $Op3
/*202856*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*202858*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202860*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQ_PPzZZ_D), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 537:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FCMEQ_PPzZZ_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*202869*/      0, // EndSwitchType
/*202870*/    /*Scope*/ 69, /*->202940*/
/*202871*/      OPC_CheckChild0Integer, 28|128,4/*540*/, 
/*202874*/      OPC_RecordChild1, // #0 = $Op1
/*202875*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i1,// ->202897
/*202878*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202880*/        OPC_RecordChild2, // #1 = $Op2
/*202881*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*202883*/        OPC_RecordChild3, // #2 = $Op3
/*202884*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*202886*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202888*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMNE_PPzZZ_H), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 540:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FCMNE_PPzZZ_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*202897*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->202918
/*202899*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202901*/        OPC_RecordChild2, // #1 = $Op2
/*202902*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*202904*/        OPC_RecordChild3, // #2 = $Op3
/*202905*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*202907*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202909*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMNE_PPzZZ_S), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 540:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FCMNE_PPzZZ_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*202918*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->202939
/*202920*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*202922*/        OPC_RecordChild2, // #1 = $Op2
/*202923*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*202925*/        OPC_RecordChild3, // #2 = $Op3
/*202926*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*202928*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202930*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMNE_PPzZZ_D), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 540:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FCMNE_PPzZZ_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*202939*/      0, // EndSwitchType
/*202940*/    /*Scope*/ 69, /*->203010*/
/*202941*/      OPC_CheckChild0Integer, 29|128,4/*541*/, 
/*202944*/      OPC_RecordChild1, // #0 = $Op1
/*202945*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i1,// ->202967
/*202948*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*202950*/        OPC_RecordChild2, // #1 = $Op2
/*202951*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*202953*/        OPC_RecordChild3, // #2 = $Op3
/*202954*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*202956*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202958*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMUO_PPzZZ_H), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 541:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FCMUO_PPzZZ_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*202967*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->202988
/*202969*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*202971*/        OPC_RecordChild2, // #1 = $Op2
/*202972*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*202974*/        OPC_RecordChild3, // #2 = $Op3
/*202975*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*202977*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*202979*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMUO_PPzZZ_S), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 541:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FCMUO_PPzZZ_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*202988*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->203009
/*202990*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*202992*/        OPC_RecordChild2, // #1 = $Op2
/*202993*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*202995*/        OPC_RecordChild3, // #2 = $Op3
/*202996*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*202998*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203000*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMUO_PPzZZ_D), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 541:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FCMUO_PPzZZ_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*203009*/      0, // EndSwitchType
/*203010*/    /*Scope*/ 69, /*->203080*/
/*203011*/      OPC_CheckChild0Integer, 16|128,4/*528*/, 
/*203014*/      OPC_RecordChild1, // #0 = $Op1
/*203015*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i1,// ->203037
/*203018*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*203020*/        OPC_RecordChild2, // #1 = $Op2
/*203021*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*203023*/        OPC_RecordChild3, // #2 = $Op3
/*203024*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*203026*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203028*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGE_PPzZZ_H), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 528:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FACGE_PPzZZ_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*203037*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->203058
/*203039*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*203041*/        OPC_RecordChild2, // #1 = $Op2
/*203042*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*203044*/        OPC_RecordChild3, // #2 = $Op3
/*203045*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*203047*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203049*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGE_PPzZZ_S), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 528:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FACGE_PPzZZ_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*203058*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->203079
/*203060*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*203062*/        OPC_RecordChild2, // #1 = $Op2
/*203063*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*203065*/        OPC_RecordChild3, // #2 = $Op3
/*203066*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*203068*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203070*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGE_PPzZZ_D), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 528:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FACGE_PPzZZ_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*203079*/      0, // EndSwitchType
/*203080*/    /*Scope*/ 69, /*->203150*/
/*203081*/      OPC_CheckChild0Integer, 17|128,4/*529*/, 
/*203084*/      OPC_RecordChild1, // #0 = $Op1
/*203085*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i1,// ->203107
/*203088*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*203090*/        OPC_RecordChild2, // #1 = $Op2
/*203091*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*203093*/        OPC_RecordChild3, // #2 = $Op3
/*203094*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*203096*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203098*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGT_PPzZZ_H), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 529:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FACGT_PPzZZ_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*203107*/      /*SwitchType*/ 19, MVT::nxv4i1,// ->203128
/*203109*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*203111*/        OPC_RecordChild2, // #1 = $Op2
/*203112*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*203114*/        OPC_RecordChild3, // #2 = $Op3
/*203115*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*203117*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203119*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGT_PPzZZ_S), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 529:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FACGT_PPzZZ_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*203128*/      /*SwitchType*/ 19, MVT::nxv2i1,// ->203149
/*203130*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*203132*/        OPC_RecordChild2, // #1 = $Op2
/*203133*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*203135*/        OPC_RecordChild3, // #2 = $Op3
/*203136*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*203138*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203140*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FACGT_PPzZZ_D), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 529:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FACGT_PPzZZ_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*203149*/      0, // EndSwitchType
/*203150*/    /*Scope*/ 126, /*->203277*/
/*203151*/      OPC_CheckChild0Integer, 44|128,6/*812*/, 
/*203154*/      OPC_RecordChild1, // #0 = $Op1
/*203155*/      OPC_Scope, 59, /*->203216*/ // 2 children in Scope
/*203157*/        OPC_CheckChild1Type, MVT::i32,
/*203159*/        OPC_RecordChild2, // #1 = $Op2
/*203160*/        OPC_CheckChild2Type, MVT::i32,
/*203162*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->203176
/*203165*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203167*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELT_PWW_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 812:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELT_PWW_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203176*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->203189
/*203178*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203180*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELT_PWW_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 812:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELT_PWW_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203189*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->203202
/*203191*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203193*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELT_PWW_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 812:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELT_PWW_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203202*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->203215
/*203204*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203206*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELT_PWW_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 812:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELT_PWW_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203215*/        0, // EndSwitchType
/*203216*/      /*Scope*/ 59, /*->203276*/
/*203217*/        OPC_CheckChild1Type, MVT::i64,
/*203219*/        OPC_RecordChild2, // #1 = $Op2
/*203220*/        OPC_CheckChild2Type, MVT::i64,
/*203222*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->203236
/*203225*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203227*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELT_PXX_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 812:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELT_PXX_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203236*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->203249
/*203238*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203240*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELT_PXX_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 812:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELT_PXX_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203249*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->203262
/*203251*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203253*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELT_PXX_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 812:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELT_PXX_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203262*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->203275
/*203264*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203266*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELT_PXX_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 812:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELT_PXX_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203275*/        0, // EndSwitchType
/*203276*/      0, /*End of Scope*/
/*203277*/    /*Scope*/ 126, /*->203404*/
/*203278*/      OPC_CheckChild0Integer, 41|128,6/*809*/, 
/*203281*/      OPC_RecordChild1, // #0 = $Op1
/*203282*/      OPC_Scope, 59, /*->203343*/ // 2 children in Scope
/*203284*/        OPC_CheckChild1Type, MVT::i32,
/*203286*/        OPC_RecordChild2, // #1 = $Op2
/*203287*/        OPC_CheckChild2Type, MVT::i32,
/*203289*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->203303
/*203292*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203294*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELE_PWW_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 809:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELE_PWW_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203303*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->203316
/*203305*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203307*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELE_PWW_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 809:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELE_PWW_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203316*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->203329
/*203318*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203320*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELE_PWW_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 809:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELE_PWW_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203329*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->203342
/*203331*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203333*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELE_PWW_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 809:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELE_PWW_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203342*/        0, // EndSwitchType
/*203343*/      /*Scope*/ 59, /*->203403*/
/*203344*/        OPC_CheckChild1Type, MVT::i64,
/*203346*/        OPC_RecordChild2, // #1 = $Op2
/*203347*/        OPC_CheckChild2Type, MVT::i64,
/*203349*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->203363
/*203352*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203354*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELE_PXX_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 809:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELE_PXX_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203363*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->203376
/*203365*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203367*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELE_PXX_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 809:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELE_PXX_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203376*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->203389
/*203378*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203380*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELE_PXX_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 809:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELE_PXX_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203389*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->203402
/*203391*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203393*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELE_PXX_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 809:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELE_PXX_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203402*/        0, // EndSwitchType
/*203403*/      0, /*End of Scope*/
/*203404*/    /*Scope*/ 126, /*->203531*/
/*203405*/      OPC_CheckChild0Integer, 42|128,6/*810*/, 
/*203408*/      OPC_RecordChild1, // #0 = $Op1
/*203409*/      OPC_Scope, 59, /*->203470*/ // 2 children in Scope
/*203411*/        OPC_CheckChild1Type, MVT::i32,
/*203413*/        OPC_RecordChild2, // #1 = $Op2
/*203414*/        OPC_CheckChild2Type, MVT::i32,
/*203416*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->203430
/*203419*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203421*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELO_PWW_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 810:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELO_PWW_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203430*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->203443
/*203432*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203434*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELO_PWW_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 810:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELO_PWW_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203443*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->203456
/*203445*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203447*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELO_PWW_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 810:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELO_PWW_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203456*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->203469
/*203458*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203460*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELO_PWW_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 810:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELO_PWW_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203469*/        0, // EndSwitchType
/*203470*/      /*Scope*/ 59, /*->203530*/
/*203471*/        OPC_CheckChild1Type, MVT::i64,
/*203473*/        OPC_RecordChild2, // #1 = $Op2
/*203474*/        OPC_CheckChild2Type, MVT::i64,
/*203476*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->203490
/*203479*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203481*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELO_PXX_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 810:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELO_PXX_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203490*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->203503
/*203492*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203494*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELO_PXX_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 810:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELO_PXX_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203503*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->203516
/*203505*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203507*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELO_PXX_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 810:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELO_PXX_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203516*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->203529
/*203518*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203520*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELO_PXX_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 810:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELO_PXX_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203529*/        0, // EndSwitchType
/*203530*/      0, /*End of Scope*/
/*203531*/    /*Scope*/ 126, /*->203658*/
/*203532*/      OPC_CheckChild0Integer, 43|128,6/*811*/, 
/*203535*/      OPC_RecordChild1, // #0 = $Op1
/*203536*/      OPC_Scope, 59, /*->203597*/ // 2 children in Scope
/*203538*/        OPC_CheckChild1Type, MVT::i32,
/*203540*/        OPC_RecordChild2, // #1 = $Op2
/*203541*/        OPC_CheckChild2Type, MVT::i32,
/*203543*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->203557
/*203546*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203548*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELS_PWW_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 811:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELS_PWW_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203557*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->203570
/*203559*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203561*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELS_PWW_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 811:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELS_PWW_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203570*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->203583
/*203572*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203574*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELS_PWW_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 811:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELS_PWW_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203583*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->203596
/*203585*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203587*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELS_PWW_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 811:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILELS_PWW_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*203596*/        0, // EndSwitchType
/*203597*/      /*Scope*/ 59, /*->203657*/
/*203598*/        OPC_CheckChild1Type, MVT::i64,
/*203600*/        OPC_RecordChild2, // #1 = $Op2
/*203601*/        OPC_CheckChild2Type, MVT::i64,
/*203603*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->203617
/*203606*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203608*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELS_PXX_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 811:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELS_PXX_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203617*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->203630
/*203619*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203621*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELS_PXX_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 811:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELS_PXX_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203630*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->203643
/*203632*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203634*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELS_PXX_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 811:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELS_PXX_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203643*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->203656
/*203645*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203647*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILELS_PXX_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 811:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILELS_PXX_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*203656*/        0, // EndSwitchType
/*203657*/      0, /*End of Scope*/
/*203658*/    /*Scope*/ 57, /*->203716*/
/*203659*/      OPC_CheckChild0Integer, 70|128,5/*710*/, 
/*203662*/      OPC_RecordChild1, // #0 = $Op1
/*203663*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv8i16,// ->203681
/*203666*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*203668*/        OPC_RecordChild2, // #1 = $Op2
/*203669*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*203671*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203673*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_ZP_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 710:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 8
                  // Dst: (SQINCP_ZP_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*203681*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->203698
/*203683*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*203685*/        OPC_RecordChild2, // #1 = $Op2
/*203686*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*203688*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203690*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_ZP_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 710:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 8
                  // Dst: (SQINCP_ZP_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*203698*/      /*SwitchType*/ 15, MVT::nxv2i64,// ->203715
/*203700*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*203702*/        OPC_RecordChild2, // #1 = $Op2
/*203703*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*203705*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203707*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_ZP_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 710:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 8
                  // Dst: (SQINCP_ZP_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*203715*/      0, // EndSwitchType
/*203716*/    /*Scope*/ 57, /*->203774*/
/*203717*/      OPC_CheckChild0Integer, 18|128,6/*786*/, 
/*203720*/      OPC_RecordChild1, // #0 = $Op1
/*203721*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv8i16,// ->203739
/*203724*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*203726*/        OPC_RecordChild2, // #1 = $Op2
/*203727*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*203729*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203731*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_ZP_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 786:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 8
                  // Dst: (UQINCP_ZP_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*203739*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->203756
/*203741*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*203743*/        OPC_RecordChild2, // #1 = $Op2
/*203744*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*203746*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203748*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_ZP_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 786:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 8
                  // Dst: (UQINCP_ZP_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*203756*/      /*SwitchType*/ 15, MVT::nxv2i64,// ->203773
/*203758*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*203760*/        OPC_RecordChild2, // #1 = $Op2
/*203761*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*203763*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203765*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQINCP_ZP_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 786:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 8
                  // Dst: (UQINCP_ZP_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*203773*/      0, // EndSwitchType
/*203774*/    /*Scope*/ 57, /*->203832*/
/*203775*/      OPC_CheckChild0Integer, 56|128,5/*696*/, 
/*203778*/      OPC_RecordChild1, // #0 = $Op1
/*203779*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv8i16,// ->203797
/*203782*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*203784*/        OPC_RecordChild2, // #1 = $Op2
/*203785*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*203787*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203789*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_ZP_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 696:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 8
                  // Dst: (SQDECP_ZP_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*203797*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->203814
/*203799*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*203801*/        OPC_RecordChild2, // #1 = $Op2
/*203802*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*203804*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203806*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_ZP_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 696:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 8
                  // Dst: (SQDECP_ZP_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*203814*/      /*SwitchType*/ 15, MVT::nxv2i64,// ->203831
/*203816*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*203818*/        OPC_RecordChild2, // #1 = $Op2
/*203819*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*203821*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203823*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_ZP_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 696:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 8
                  // Dst: (SQDECP_ZP_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*203831*/      0, // EndSwitchType
/*203832*/    /*Scope*/ 57, /*->203890*/
/*203833*/      OPC_CheckChild0Integer, 4|128,6/*772*/, 
/*203836*/      OPC_RecordChild1, // #0 = $Op1
/*203837*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv8i16,// ->203855
/*203840*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*203842*/        OPC_RecordChild2, // #1 = $Op2
/*203843*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*203845*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203847*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_ZP_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 772:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 8
                  // Dst: (UQDECP_ZP_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*203855*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->203872
/*203857*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*203859*/        OPC_RecordChild2, // #1 = $Op2
/*203860*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*203862*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203864*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_ZP_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 772:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 8
                  // Dst: (UQDECP_ZP_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*203872*/      /*SwitchType*/ 15, MVT::nxv2i64,// ->203889
/*203874*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*203876*/        OPC_RecordChild2, // #1 = $Op2
/*203877*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*203879*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203881*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQDECP_ZP_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 772:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 8
                  // Dst: (UQDECP_ZP_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*203889*/      0, // EndSwitchType
/*203890*/    /*Scope*/ 90, /*->203981*/
/*203891*/      OPC_CheckChild0Integer, 103|128,3/*487*/, 
/*203894*/      OPC_RecordChild1, // #0 = $Op1
/*203895*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->203917
/*203898*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*203900*/        OPC_RecordChild2, // #1 = $Op2
/*203901*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*203903*/        OPC_RecordChild3, // #2 = $Op3
/*203904*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*203906*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203908*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASR_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 487:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (ASR_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*203917*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->203938
/*203919*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*203921*/        OPC_RecordChild2, // #1 = $Op2
/*203922*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*203924*/        OPC_RecordChild3, // #2 = $Op3
/*203925*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*203927*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203929*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASR_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 487:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (ASR_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*203938*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->203959
/*203940*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*203942*/        OPC_RecordChild2, // #1 = $Op2
/*203943*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*203945*/        OPC_RecordChild3, // #2 = $Op3
/*203946*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*203948*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203950*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASR_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 487:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (ASR_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*203959*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->203980
/*203961*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*203963*/        OPC_RecordChild2, // #1 = $Op2
/*203964*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*203966*/        OPC_RecordChild3, // #2 = $Op3
/*203967*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*203969*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203971*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASR_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 487:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (ASR_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*203980*/      0, // EndSwitchType
/*203981*/    /*Scope*/ 90, /*->204072*/
/*203982*/      OPC_CheckChild0Integer, 123|128,4/*635*/, 
/*203985*/      OPC_RecordChild1, // #0 = $Op1
/*203986*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->204008
/*203989*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*203991*/        OPC_RecordChild2, // #1 = $Op2
/*203992*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*203994*/        OPC_RecordChild3, // #2 = $Op3
/*203995*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*203997*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*203999*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSR_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 635:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (LSR_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*204008*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->204029
/*204010*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*204012*/        OPC_RecordChild2, // #1 = $Op2
/*204013*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204015*/        OPC_RecordChild3, // #2 = $Op3
/*204016*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*204018*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204020*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSR_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 635:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (LSR_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*204029*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->204050
/*204031*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*204033*/        OPC_RecordChild2, // #1 = $Op2
/*204034*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204036*/        OPC_RecordChild3, // #2 = $Op3
/*204037*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*204039*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204041*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSR_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 635:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (LSR_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*204050*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->204071
/*204052*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*204054*/        OPC_RecordChild2, // #1 = $Op2
/*204055*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*204057*/        OPC_RecordChild3, // #2 = $Op3
/*204058*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*204060*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204062*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSR_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 635:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (LSR_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204071*/      0, // EndSwitchType
/*204072*/    /*Scope*/ 90, /*->204163*/
/*204073*/      OPC_CheckChild0Integer, 121|128,4/*633*/, 
/*204076*/      OPC_RecordChild1, // #0 = $Op1
/*204077*/      OPC_SwitchType /*4 cases */, 19, MVT::nxv16i8,// ->204099
/*204080*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*204082*/        OPC_RecordChild2, // #1 = $Op2
/*204083*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*204085*/        OPC_RecordChild3, // #2 = $Op3
/*204086*/        OPC_CheckChild3Type, MVT::nxv16i8,
/*204088*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204090*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSL_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 633:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 8
                  // Dst: (LSL_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*204099*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->204120
/*204101*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*204103*/        OPC_RecordChild2, // #1 = $Op2
/*204104*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204106*/        OPC_RecordChild3, // #2 = $Op3
/*204107*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*204109*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204111*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSL_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 633:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (LSL_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*204120*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->204141
/*204122*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*204124*/        OPC_RecordChild2, // #1 = $Op2
/*204125*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204127*/        OPC_RecordChild3, // #2 = $Op3
/*204128*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*204130*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204132*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSL_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 633:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (LSL_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*204141*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->204162
/*204143*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*204145*/        OPC_RecordChild2, // #1 = $Op2
/*204146*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*204148*/        OPC_RecordChild3, // #2 = $Op3
/*204149*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*204151*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204153*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSL_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 633:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (LSL_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204162*/      0, // EndSwitchType
/*204163*/    /*Scope*/ 63, /*->204227*/
/*204164*/      OPC_CheckChild0Integer, 104|128,3/*488*/, 
/*204167*/      OPC_RecordChild1, // #0 = $Op1
/*204168*/      OPC_SwitchType /*3 cases */, 17, MVT::nxv16i8,// ->204188
/*204171*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*204173*/        OPC_RecordChild2, // #1 = $Op2
/*204174*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*204176*/        OPC_RecordChild3, // #2 = $Op3
/*204177*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204179*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASR_WIDE_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 488:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (ASR_WIDE_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204188*/      /*SwitchType*/ 17, MVT::nxv8i16,// ->204207
/*204190*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*204192*/        OPC_RecordChild2, // #1 = $Op2
/*204193*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204195*/        OPC_RecordChild3, // #2 = $Op3
/*204196*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204198*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASR_WIDE_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 488:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (ASR_WIDE_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204207*/      /*SwitchType*/ 17, MVT::nxv4i32,// ->204226
/*204209*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*204211*/        OPC_RecordChild2, // #1 = $Op2
/*204212*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204214*/        OPC_RecordChild3, // #2 = $Op3
/*204215*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204217*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASR_WIDE_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 488:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (ASR_WIDE_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204226*/      0, // EndSwitchType
/*204227*/    /*Scope*/ 63, /*->204291*/
/*204228*/      OPC_CheckChild0Integer, 124|128,4/*636*/, 
/*204231*/      OPC_RecordChild1, // #0 = $Op1
/*204232*/      OPC_SwitchType /*3 cases */, 17, MVT::nxv16i8,// ->204252
/*204235*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*204237*/        OPC_RecordChild2, // #1 = $Op2
/*204238*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*204240*/        OPC_RecordChild3, // #2 = $Op3
/*204241*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204243*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSR_WIDE_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 636:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (LSR_WIDE_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204252*/      /*SwitchType*/ 17, MVT::nxv8i16,// ->204271
/*204254*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*204256*/        OPC_RecordChild2, // #1 = $Op2
/*204257*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204259*/        OPC_RecordChild3, // #2 = $Op3
/*204260*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204262*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSR_WIDE_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 636:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (LSR_WIDE_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204271*/      /*SwitchType*/ 17, MVT::nxv4i32,// ->204290
/*204273*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*204275*/        OPC_RecordChild2, // #1 = $Op2
/*204276*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204278*/        OPC_RecordChild3, // #2 = $Op3
/*204279*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204281*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSR_WIDE_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 636:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (LSR_WIDE_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204290*/      0, // EndSwitchType
/*204291*/    /*Scope*/ 63, /*->204355*/
/*204292*/      OPC_CheckChild0Integer, 122|128,4/*634*/, 
/*204295*/      OPC_RecordChild1, // #0 = $Op1
/*204296*/      OPC_SwitchType /*3 cases */, 17, MVT::nxv16i8,// ->204316
/*204299*/        OPC_CheckChild1Type, MVT::nxv16i1,
/*204301*/        OPC_RecordChild2, // #1 = $Op2
/*204302*/        OPC_CheckChild2Type, MVT::nxv16i8,
/*204304*/        OPC_RecordChild3, // #2 = $Op3
/*204305*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204307*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSL_WIDE_ZPmZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 634:{ *:[iPTR] }, nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (LSL_WIDE_ZPmZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204316*/      /*SwitchType*/ 17, MVT::nxv8i16,// ->204335
/*204318*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*204320*/        OPC_RecordChild2, // #1 = $Op2
/*204321*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204323*/        OPC_RecordChild3, // #2 = $Op3
/*204324*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204326*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSL_WIDE_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 634:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (LSL_WIDE_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204335*/      /*SwitchType*/ 17, MVT::nxv4i32,// ->204354
/*204337*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*204339*/        OPC_RecordChild2, // #1 = $Op2
/*204340*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204342*/        OPC_RecordChild3, // #2 = $Op3
/*204343*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204345*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSL_WIDE_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 634:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (LSL_WIDE_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204354*/      0, // EndSwitchType
/*204355*/    /*Scope*/ 69, /*->204425*/
/*204356*/      OPC_CheckChild0Integer, 43|128,4/*555*/, 
/*204359*/      OPC_RecordChild1, // #0 = $Op1
/*204360*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i16,// ->204382
/*204363*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*204365*/        OPC_RecordChild2, // #1 = $Op2
/*204366*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*204368*/        OPC_RecordChild3, // #2 = $Op3
/*204369*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*204371*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204373*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoH), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 555:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FCVTZS_ZPmZ_HtoH:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*204382*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->204403
/*204384*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*204386*/        OPC_RecordChild2, // #1 = $Op2
/*204387*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*204389*/        OPC_RecordChild3, // #2 = $Op3
/*204390*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*204392*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204394*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoS), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 555:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FCVTZS_ZPmZ_StoS:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*204403*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->204424
/*204405*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*204407*/        OPC_RecordChild2, // #1 = $Op2
/*204408*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*204410*/        OPC_RecordChild3, // #2 = $Op3
/*204411*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*204413*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204415*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZS_ZPmZ_DtoD), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 555:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FCVTZS_ZPmZ_DtoD:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*204424*/      0, // EndSwitchType
/*204425*/    /*Scope*/ 69, /*->204495*/
/*204426*/      OPC_CheckChild0Integer, 48|128,4/*560*/, 
/*204429*/      OPC_RecordChild1, // #0 = $Op1
/*204430*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i16,// ->204452
/*204433*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*204435*/        OPC_RecordChild2, // #1 = $Op2
/*204436*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*204438*/        OPC_RecordChild3, // #2 = $Op3
/*204439*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*204441*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204443*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoH), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 560:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FCVTZU_ZPmZ_HtoH:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*204452*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->204473
/*204454*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*204456*/        OPC_RecordChild2, // #1 = $Op2
/*204457*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*204459*/        OPC_RecordChild3, // #2 = $Op3
/*204460*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*204462*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204464*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoS), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 560:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FCVTZU_ZPmZ_StoS:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*204473*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->204494
/*204475*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*204477*/        OPC_RecordChild2, // #1 = $Op2
/*204478*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*204480*/        OPC_RecordChild3, // #2 = $Op3
/*204481*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*204483*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204485*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZU_ZPmZ_DtoD), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 560:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FCVTZU_ZPmZ_DtoD:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*204494*/      0, // EndSwitchType
/*204495*/    /*Scope*/ 17, /*->204513*/
/*204496*/      OPC_CheckChild0Integer, 45|128,4/*557*/, 
/*204499*/      OPC_RecordChild1, // #0 = $Op1
/*204500*/      OPC_RecordChild2, // #1 = $Op2
/*204501*/      OPC_RecordChild3, // #2 = $Op3
/*204502*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204504*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZS_ZPmZ_DtoS), 0,
                    MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 557:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                // Dst: (FCVTZS_ZPmZ_DtoS:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*204513*/    /*Scope*/ 17, /*->204531*/
/*204514*/      OPC_CheckChild0Integer, 50|128,4/*562*/, 
/*204517*/      OPC_RecordChild1, // #0 = $Op1
/*204518*/      OPC_RecordChild2, // #1 = $Op2
/*204519*/      OPC_RecordChild3, // #2 = $Op3
/*204520*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204522*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZU_ZPmZ_DtoS), 0,
                    MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 562:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                // Dst: (FCVTZU_ZPmZ_DtoS:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*204531*/    /*Scope*/ 17, /*->204549*/
/*204532*/      OPC_CheckChild0Integer, 47|128,4/*559*/, 
/*204535*/      OPC_RecordChild1, // #0 = $Op1
/*204536*/      OPC_RecordChild2, // #1 = $Op2
/*204537*/      OPC_RecordChild3, // #2 = $Op3
/*204538*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204540*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZS_ZPmZ_StoD), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 559:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                // Dst: (FCVTZS_ZPmZ_StoD:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*204549*/    /*Scope*/ 17, /*->204567*/
/*204550*/      OPC_CheckChild0Integer, 44|128,4/*556*/, 
/*204553*/      OPC_RecordChild1, // #0 = $Op1
/*204554*/      OPC_RecordChild2, // #1 = $Op2
/*204555*/      OPC_RecordChild3, // #2 = $Op3
/*204556*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204558*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoS), 0,
                    MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 556:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FCVTZS_ZPmZ_HtoS:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*204567*/    /*Scope*/ 17, /*->204585*/
/*204568*/      OPC_CheckChild0Integer, 46|128,4/*558*/, 
/*204571*/      OPC_RecordChild1, // #0 = $Op1
/*204572*/      OPC_RecordChild2, // #1 = $Op2
/*204573*/      OPC_RecordChild3, // #2 = $Op3
/*204574*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204576*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZS_ZPmZ_HtoD), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 558:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FCVTZS_ZPmZ_HtoD:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*204585*/    /*Scope*/ 17, /*->204603*/
/*204586*/      OPC_CheckChild0Integer, 49|128,4/*561*/, 
/*204589*/      OPC_RecordChild1, // #0 = $Op1
/*204590*/      OPC_RecordChild2, // #1 = $Op2
/*204591*/      OPC_RecordChild3, // #2 = $Op3
/*204592*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204594*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoS), 0,
                    MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 561:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FCVTZU_ZPmZ_HtoS:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*204603*/    /*Scope*/ 17, /*->204621*/
/*204604*/      OPC_CheckChild0Integer, 51|128,4/*563*/, 
/*204607*/      OPC_RecordChild1, // #0 = $Op1
/*204608*/      OPC_RecordChild2, // #1 = $Op2
/*204609*/      OPC_RecordChild3, // #2 = $Op3
/*204610*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204612*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZU_ZPmZ_HtoD), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 563:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FCVTZU_ZPmZ_HtoD:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*204621*/    /*Scope*/ 17, /*->204639*/
/*204622*/      OPC_CheckChild0Integer, 52|128,4/*564*/, 
/*204625*/      OPC_RecordChild1, // #0 = $Op1
/*204626*/      OPC_RecordChild2, // #1 = $Op2
/*204627*/      OPC_RecordChild3, // #2 = $Op3
/*204628*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*204630*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZU_ZPmZ_StoD), 0,
                    MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 564:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                // Dst: (FCVTZU_ZPmZ_StoD:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*204639*/    /*Scope*/ 57, /*->204697*/
/*204640*/      OPC_CheckChild0Integer, 98|128,3/*482*/, 
/*204643*/      OPC_RecordChild1, // #0 = $Op1
/*204644*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv16i8,// ->204662
/*204647*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*204649*/        OPC_RecordChild2, // #1 = $Op2
/*204650*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204652*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204654*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNB_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 482:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (ADDHNB_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*204662*/      /*SwitchType*/ 15, MVT::nxv8i16,// ->204679
/*204664*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*204666*/        OPC_RecordChild2, // #1 = $Op2
/*204667*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204669*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204671*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNB_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 482:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (ADDHNB_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*204679*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->204696
/*204681*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*204683*/        OPC_RecordChild2, // #1 = $Op2
/*204684*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*204686*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204688*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNB_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 482:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (ADDHNB_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*204696*/      0, // EndSwitchType
/*204697*/    /*Scope*/ 57, /*->204755*/
/*204698*/      OPC_CheckChild0Integer, 18|128,5/*658*/, 
/*204701*/      OPC_RecordChild1, // #0 = $Op1
/*204702*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv16i8,// ->204720
/*204705*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*204707*/        OPC_RecordChild2, // #1 = $Op2
/*204708*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204710*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204712*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNB_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 658:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (RADDHNB_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*204720*/      /*SwitchType*/ 15, MVT::nxv8i16,// ->204737
/*204722*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*204724*/        OPC_RecordChild2, // #1 = $Op2
/*204725*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204727*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204729*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNB_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 658:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (RADDHNB_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*204737*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->204754
/*204739*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*204741*/        OPC_RecordChild2, // #1 = $Op2
/*204742*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*204744*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204746*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNB_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 658:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (RADDHNB_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*204754*/      0, // EndSwitchType
/*204755*/    /*Scope*/ 57, /*->204813*/
/*204756*/      OPC_CheckChild0Integer, 97|128,5/*737*/, 
/*204759*/      OPC_RecordChild1, // #0 = $Op1
/*204760*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv16i8,// ->204778
/*204763*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*204765*/        OPC_RecordChild2, // #1 = $Op2
/*204766*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204768*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204770*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNB_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 737:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (SUBHNB_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*204778*/      /*SwitchType*/ 15, MVT::nxv8i16,// ->204795
/*204780*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*204782*/        OPC_RecordChild2, // #1 = $Op2
/*204783*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204785*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204787*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNB_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 737:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (SUBHNB_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*204795*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->204812
/*204797*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*204799*/        OPC_RecordChild2, // #1 = $Op2
/*204800*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*204802*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204804*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNB_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 737:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (SUBHNB_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*204812*/      0, // EndSwitchType
/*204813*/    /*Scope*/ 57, /*->204871*/
/*204814*/      OPC_CheckChild0Integer, 27|128,5/*667*/, 
/*204817*/      OPC_RecordChild1, // #0 = $Op1
/*204818*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv16i8,// ->204836
/*204821*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*204823*/        OPC_RecordChild2, // #1 = $Op2
/*204824*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204826*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204828*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNB_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 667:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (RSUBHNB_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*204836*/      /*SwitchType*/ 15, MVT::nxv8i16,// ->204853
/*204838*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*204840*/        OPC_RecordChild2, // #1 = $Op2
/*204841*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204843*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204845*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNB_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 667:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (RSUBHNB_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*204853*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->204870
/*204855*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*204857*/        OPC_RecordChild2, // #1 = $Op2
/*204858*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*204860*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204862*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNB_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 667:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (RSUBHNB_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*204870*/      0, // EndSwitchType
/*204871*/    /*Scope*/ 69, /*->204941*/
/*204872*/      OPC_CheckChild0Integer, 99|128,3/*483*/, 
/*204875*/      OPC_RecordChild1, // #0 = $Op1
/*204876*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv16i8,// ->204898
/*204879*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*204881*/        OPC_RecordChild2, // #1 = $Op2
/*204882*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204884*/        OPC_RecordChild3, // #2 = $Op3
/*204885*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*204887*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204889*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNT_ZZZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 483:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (ADDHNT_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*204898*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->204919
/*204900*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*204902*/        OPC_RecordChild2, // #1 = $Op2
/*204903*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204905*/        OPC_RecordChild3, // #2 = $Op3
/*204906*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*204908*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204910*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNT_ZZZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 483:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (ADDHNT_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*204919*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->204940
/*204921*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*204923*/        OPC_RecordChild2, // #1 = $Op2
/*204924*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*204926*/        OPC_RecordChild3, // #2 = $Op3
/*204927*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*204929*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204931*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNT_ZZZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 483:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (ADDHNT_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*204940*/      0, // EndSwitchType
/*204941*/    /*Scope*/ 69, /*->205011*/
/*204942*/      OPC_CheckChild0Integer, 19|128,5/*659*/, 
/*204945*/      OPC_RecordChild1, // #0 = $Op1
/*204946*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv16i8,// ->204968
/*204949*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*204951*/        OPC_RecordChild2, // #1 = $Op2
/*204952*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*204954*/        OPC_RecordChild3, // #2 = $Op3
/*204955*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*204957*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204959*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNT_ZZZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 659:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (RADDHNT_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*204968*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->204989
/*204970*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*204972*/        OPC_RecordChild2, // #1 = $Op2
/*204973*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*204975*/        OPC_RecordChild3, // #2 = $Op3
/*204976*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*204978*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*204980*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNT_ZZZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 659:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (RADDHNT_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*204989*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->205010
/*204991*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*204993*/        OPC_RecordChild2, // #1 = $Op2
/*204994*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*204996*/        OPC_RecordChild3, // #2 = $Op3
/*204997*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*204999*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205001*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNT_ZZZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 659:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (RADDHNT_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*205010*/      0, // EndSwitchType
/*205011*/    /*Scope*/ 69, /*->205081*/
/*205012*/      OPC_CheckChild0Integer, 98|128,5/*738*/, 
/*205015*/      OPC_RecordChild1, // #0 = $Op1
/*205016*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv16i8,// ->205038
/*205019*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*205021*/        OPC_RecordChild2, // #1 = $Op2
/*205022*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*205024*/        OPC_RecordChild3, // #2 = $Op3
/*205025*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*205027*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205029*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNT_ZZZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 738:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SUBHNT_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*205038*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->205059
/*205040*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205042*/        OPC_RecordChild2, // #1 = $Op2
/*205043*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*205045*/        OPC_RecordChild3, // #2 = $Op3
/*205046*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*205048*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205050*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNT_ZZZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 738:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SUBHNT_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*205059*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->205080
/*205061*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205063*/        OPC_RecordChild2, // #1 = $Op2
/*205064*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*205066*/        OPC_RecordChild3, // #2 = $Op3
/*205067*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*205069*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205071*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNT_ZZZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 738:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SUBHNT_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*205080*/      0, // EndSwitchType
/*205081*/    /*Scope*/ 69, /*->205151*/
/*205082*/      OPC_CheckChild0Integer, 28|128,5/*668*/, 
/*205085*/      OPC_RecordChild1, // #0 = $Op1
/*205086*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv16i8,// ->205108
/*205089*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*205091*/        OPC_RecordChild2, // #1 = $Op2
/*205092*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*205094*/        OPC_RecordChild3, // #2 = $Op3
/*205095*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*205097*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205099*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNT_ZZZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 668:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (RSUBHNT_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*205108*/      /*SwitchType*/ 19, MVT::nxv8i16,// ->205129
/*205110*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205112*/        OPC_RecordChild2, // #1 = $Op2
/*205113*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*205115*/        OPC_RecordChild3, // #2 = $Op3
/*205116*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*205118*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205120*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNT_ZZZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 668:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (RSUBHNT_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*205129*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->205150
/*205131*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205133*/        OPC_RecordChild2, // #1 = $Op2
/*205134*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*205136*/        OPC_RecordChild3, // #2 = $Op3
/*205137*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*205139*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205141*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNT_ZZZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 668:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (RSUBHNT_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*205150*/      0, // EndSwitchType
/*205151*/    /*Scope*/ 45, /*->205197*/
/*205152*/      OPC_CheckChild0Integer, 84|128,5/*724*/, 
/*205155*/      OPC_RecordChild1, // #0 = $Op1
/*205156*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv16i8,// ->205170
/*205159*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205161*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205163*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNB_ZZ_B), 0,
                      MVT::nxv16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 724:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 8
                  // Dst: (SQXTNB_ZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1)
/*205170*/      /*SwitchType*/ 11, MVT::nxv8i16,// ->205183
/*205172*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205174*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205176*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNB_ZZ_H), 0,
                      MVT::nxv8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 724:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 8
                  // Dst: (SQXTNB_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1)
/*205183*/      /*SwitchType*/ 11, MVT::nxv4i32,// ->205196
/*205185*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*205187*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205189*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNB_ZZ_S), 0,
                      MVT::nxv4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 724:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1) - Complexity = 8
                  // Dst: (SQXTNB_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1)
/*205196*/      0, // EndSwitchType
/*205197*/    /*Scope*/ 45, /*->205243*/
/*205198*/      OPC_CheckChild0Integer, 28|128,6/*796*/, 
/*205201*/      OPC_RecordChild1, // #0 = $Op1
/*205202*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv16i8,// ->205216
/*205205*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205207*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205209*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNB_ZZ_B), 0,
                      MVT::nxv16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 796:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 8
                  // Dst: (UQXTNB_ZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1)
/*205216*/      /*SwitchType*/ 11, MVT::nxv8i16,// ->205229
/*205218*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205220*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205222*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNB_ZZ_H), 0,
                      MVT::nxv8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 796:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 8
                  // Dst: (UQXTNB_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1)
/*205229*/      /*SwitchType*/ 11, MVT::nxv4i32,// ->205242
/*205231*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*205233*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205235*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNB_ZZ_S), 0,
                      MVT::nxv4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 796:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1) - Complexity = 8
                  // Dst: (UQXTNB_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1)
/*205242*/      0, // EndSwitchType
/*205243*/    /*Scope*/ 45, /*->205289*/
/*205244*/      OPC_CheckChild0Integer, 86|128,5/*726*/, 
/*205247*/      OPC_RecordChild1, // #0 = $Op1
/*205248*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv16i8,// ->205262
/*205251*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205253*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205255*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNB_ZZ_B), 0,
                      MVT::nxv16i8, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 726:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 8
                  // Dst: (SQXTUNB_ZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv8i16] }:$Op1)
/*205262*/      /*SwitchType*/ 11, MVT::nxv8i16,// ->205275
/*205264*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205266*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205268*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNB_ZZ_H), 0,
                      MVT::nxv8i16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 726:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 8
                  // Dst: (SQXTUNB_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv4i32] }:$Op1)
/*205275*/      /*SwitchType*/ 11, MVT::nxv4i32,// ->205288
/*205277*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*205279*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205281*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNB_ZZ_S), 0,
                      MVT::nxv4i32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 726:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1) - Complexity = 8
                  // Dst: (SQXTUNB_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv2i64] }:$Op1)
/*205288*/      0, // EndSwitchType
/*205289*/    /*Scope*/ 57, /*->205347*/
/*205290*/      OPC_CheckChild0Integer, 85|128,5/*725*/, 
/*205293*/      OPC_RecordChild1, // #0 = $Op1
/*205294*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv16i8,// ->205312
/*205297*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*205299*/        OPC_RecordChild2, // #1 = $Op2
/*205300*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*205302*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205304*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNT_ZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 725:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (SQXTNT_ZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*205312*/      /*SwitchType*/ 15, MVT::nxv8i16,// ->205329
/*205314*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205316*/        OPC_RecordChild2, // #1 = $Op2
/*205317*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*205319*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205321*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNT_ZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 725:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (SQXTNT_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*205329*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->205346
/*205331*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205333*/        OPC_RecordChild2, // #1 = $Op2
/*205334*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*205336*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205338*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNT_ZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 725:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (SQXTNT_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*205346*/      0, // EndSwitchType
/*205347*/    /*Scope*/ 57, /*->205405*/
/*205348*/      OPC_CheckChild0Integer, 29|128,6/*797*/, 
/*205351*/      OPC_RecordChild1, // #0 = $Op1
/*205352*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv16i8,// ->205370
/*205355*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*205357*/        OPC_RecordChild2, // #1 = $Op2
/*205358*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*205360*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205362*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNT_ZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 797:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (UQXTNT_ZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*205370*/      /*SwitchType*/ 15, MVT::nxv8i16,// ->205387
/*205372*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205374*/        OPC_RecordChild2, // #1 = $Op2
/*205375*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*205377*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205379*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNT_ZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 797:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (UQXTNT_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*205387*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->205404
/*205389*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205391*/        OPC_RecordChild2, // #1 = $Op2
/*205392*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*205394*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205396*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNT_ZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 797:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (UQXTNT_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*205404*/      0, // EndSwitchType
/*205405*/    /*Scope*/ 57, /*->205463*/
/*205406*/      OPC_CheckChild0Integer, 87|128,5/*727*/, 
/*205409*/      OPC_RecordChild1, // #0 = $Op1
/*205410*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv16i8,// ->205428
/*205413*/        OPC_CheckChild1Type, MVT::nxv16i8,
/*205415*/        OPC_RecordChild2, // #1 = $Op2
/*205416*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*205418*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205420*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNT_ZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv16i8] } 727:{ *:[iPTR] }, nxv16i8:{ *:[nxv16i8] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (SQXTUNT_ZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*205428*/      /*SwitchType*/ 15, MVT::nxv8i16,// ->205445
/*205430*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205432*/        OPC_RecordChild2, // #1 = $Op2
/*205433*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*205435*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205437*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNT_ZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 727:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (SQXTUNT_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*205445*/      /*SwitchType*/ 15, MVT::nxv4i32,// ->205462
/*205447*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205449*/        OPC_RecordChild2, // #1 = $Op2
/*205450*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*205452*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205454*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNT_ZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 727:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (SQXTUNT_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*205462*/      0, // EndSwitchType
/*205463*/    /*Scope*/ 69, /*->205533*/
/*205464*/      OPC_CheckChild0Integer, 56|128,4/*568*/, 
/*205467*/      OPC_RecordChild1, // #0 = $Op1
/*205468*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8i16,// ->205490
/*205471*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*205473*/        OPC_RecordChild2, // #1 = $Op2
/*205474*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*205476*/        OPC_RecordChild3, // #2 = $Op3
/*205477*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*205479*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205481*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FLOGB_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8i16] } 568:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FLOGB_ZPmZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*205490*/      /*SwitchType*/ 19, MVT::nxv4i32,// ->205511
/*205492*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*205494*/        OPC_RecordChild2, // #1 = $Op2
/*205495*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*205497*/        OPC_RecordChild3, // #2 = $Op3
/*205498*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*205500*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205502*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FLOGB_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4i32] } 568:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FLOGB_ZPmZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*205511*/      /*SwitchType*/ 19, MVT::nxv2i64,// ->205532
/*205513*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*205515*/        OPC_RecordChild2, // #1 = $Op2
/*205516*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*205518*/        OPC_RecordChild3, // #2 = $Op3
/*205519*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*205521*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205523*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FLOGB_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2i64] } 568:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FLOGB_ZPmZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*205532*/      0, // EndSwitchType
/*205533*/    /*Scope*/ 126, /*->205660*/
/*205534*/      OPC_CheckChild0Integer, 37|128,6/*805*/, 
/*205537*/      OPC_RecordChild1, // #0 = $Op1
/*205538*/      OPC_Scope, 59, /*->205599*/ // 2 children in Scope
/*205540*/        OPC_CheckChild1Type, MVT::i32,
/*205542*/        OPC_RecordChild2, // #1 = $Op2
/*205543*/        OPC_CheckChild2Type, MVT::i32,
/*205545*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->205559
/*205548*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205550*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGE_PWW_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 805:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGE_PWW_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205559*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->205572
/*205561*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205563*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGE_PWW_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 805:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGE_PWW_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205572*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->205585
/*205574*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205576*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGE_PWW_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 805:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGE_PWW_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205585*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->205598
/*205587*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205589*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGE_PWW_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 805:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGE_PWW_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205598*/        0, // EndSwitchType
/*205599*/      /*Scope*/ 59, /*->205659*/
/*205600*/        OPC_CheckChild1Type, MVT::i64,
/*205602*/        OPC_RecordChild2, // #1 = $Op2
/*205603*/        OPC_CheckChild2Type, MVT::i64,
/*205605*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->205619
/*205608*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205610*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGE_PXX_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 805:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGE_PXX_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205619*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->205632
/*205621*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205623*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGE_PXX_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 805:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGE_PXX_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205632*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->205645
/*205634*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205636*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGE_PXX_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 805:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGE_PXX_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205645*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->205658
/*205647*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205649*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGE_PXX_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 805:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGE_PXX_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205658*/        0, // EndSwitchType
/*205659*/      0, /*End of Scope*/
/*205660*/    /*Scope*/ 126, /*->205787*/
/*205661*/      OPC_CheckChild0Integer, 38|128,6/*806*/, 
/*205664*/      OPC_RecordChild1, // #0 = $Op1
/*205665*/      OPC_Scope, 59, /*->205726*/ // 2 children in Scope
/*205667*/        OPC_CheckChild1Type, MVT::i32,
/*205669*/        OPC_RecordChild2, // #1 = $Op2
/*205670*/        OPC_CheckChild2Type, MVT::i32,
/*205672*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->205686
/*205675*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205677*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGT_PWW_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 806:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGT_PWW_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205686*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->205699
/*205688*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205690*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGT_PWW_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 806:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGT_PWW_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205699*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->205712
/*205701*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205703*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGT_PWW_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 806:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGT_PWW_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205712*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->205725
/*205714*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205716*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGT_PWW_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 806:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGT_PWW_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205725*/        0, // EndSwitchType
/*205726*/      /*Scope*/ 59, /*->205786*/
/*205727*/        OPC_CheckChild1Type, MVT::i64,
/*205729*/        OPC_RecordChild2, // #1 = $Op2
/*205730*/        OPC_CheckChild2Type, MVT::i64,
/*205732*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->205746
/*205735*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205737*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGT_PXX_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 806:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGT_PXX_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205746*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->205759
/*205748*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205750*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGT_PXX_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 806:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGT_PXX_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205759*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->205772
/*205761*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205763*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGT_PXX_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 806:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGT_PXX_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205772*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->205785
/*205774*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205776*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEGT_PXX_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 806:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEGT_PXX_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205785*/        0, // EndSwitchType
/*205786*/      0, /*End of Scope*/
/*205787*/    /*Scope*/ 126, /*->205914*/
/*205788*/      OPC_CheckChild0Integer, 40|128,6/*808*/, 
/*205791*/      OPC_RecordChild1, // #0 = $Op1
/*205792*/      OPC_Scope, 59, /*->205853*/ // 2 children in Scope
/*205794*/        OPC_CheckChild1Type, MVT::i32,
/*205796*/        OPC_RecordChild2, // #1 = $Op2
/*205797*/        OPC_CheckChild2Type, MVT::i32,
/*205799*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->205813
/*205802*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205804*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHS_PWW_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 808:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHS_PWW_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205813*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->205826
/*205815*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205817*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHS_PWW_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 808:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHS_PWW_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205826*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->205839
/*205828*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205830*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHS_PWW_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 808:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHS_PWW_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205839*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->205852
/*205841*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205843*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHS_PWW_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 808:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHS_PWW_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205852*/        0, // EndSwitchType
/*205853*/      /*Scope*/ 59, /*->205913*/
/*205854*/        OPC_CheckChild1Type, MVT::i64,
/*205856*/        OPC_RecordChild2, // #1 = $Op2
/*205857*/        OPC_CheckChild2Type, MVT::i64,
/*205859*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->205873
/*205862*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205864*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHS_PXX_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 808:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHS_PXX_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205873*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->205886
/*205875*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205877*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHS_PXX_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 808:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHS_PXX_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205886*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->205899
/*205888*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205890*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHS_PXX_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 808:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHS_PXX_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205899*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->205912
/*205901*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205903*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHS_PXX_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 808:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHS_PXX_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*205912*/        0, // EndSwitchType
/*205913*/      0, /*End of Scope*/
/*205914*/    /*Scope*/ 126, /*->206041*/
/*205915*/      OPC_CheckChild0Integer, 39|128,6/*807*/, 
/*205918*/      OPC_RecordChild1, // #0 = $Op1
/*205919*/      OPC_Scope, 59, /*->205980*/ // 2 children in Scope
/*205921*/        OPC_CheckChild1Type, MVT::i32,
/*205923*/        OPC_RecordChild2, // #1 = $Op2
/*205924*/        OPC_CheckChild2Type, MVT::i32,
/*205926*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->205940
/*205929*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205931*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHI_PWW_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 807:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHI_PWW_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205940*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->205953
/*205942*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205944*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHI_PWW_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 807:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHI_PWW_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205953*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->205966
/*205955*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205957*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHI_PWW_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 807:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHI_PWW_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205966*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->205979
/*205968*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205970*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHI_PWW_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 807:{ *:[iPTR] }, i32:{ *:[i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHI_PWW_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*205979*/        0, // EndSwitchType
/*205980*/      /*Scope*/ 59, /*->206040*/
/*205981*/        OPC_CheckChild1Type, MVT::i64,
/*205983*/        OPC_RecordChild2, // #1 = $Op2
/*205984*/        OPC_CheckChild2Type, MVT::i64,
/*205986*/        OPC_SwitchType /*4 cases */, 11, MVT::nxv16i1,// ->206000
/*205989*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*205991*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHI_PXX_B), 0,
                        MVT::nxv16i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv16i1] } 807:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHI_PXX_B:{ *:[nxv16i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*206000*/        /*SwitchType*/ 11, MVT::nxv8i1,// ->206013
/*206002*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*206004*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHI_PXX_H), 0,
                        MVT::nxv8i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv8i1] } 807:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHI_PXX_H:{ *:[nxv8i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*206013*/        /*SwitchType*/ 11, MVT::nxv4i1,// ->206026
/*206015*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*206017*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHI_PXX_S), 0,
                        MVT::nxv4i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv4i1] } 807:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHI_PXX_S:{ *:[nxv4i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*206026*/        /*SwitchType*/ 11, MVT::nxv2i1,// ->206039
/*206028*/          OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*206030*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::WHILEHI_PXX_D), 0,
                        MVT::nxv2i1, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (intrinsic_wo_chain:{ *:[nxv2i1] } 807:{ *:[iPTR] }, i64:{ *:[i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 8
                    // Dst: (WHILEHI_PXX_D:{ *:[nxv2i1] }:{ *:[i32] } ?:{ *:[i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*206039*/        0, // EndSwitchType
/*206040*/      0, /*End of Scope*/
/*206041*/    /*Scope*/ 32, /*->206074*/
/*206042*/      OPC_CheckChild0Integer, 80|128,3/*464*/, 
/*206045*/      OPC_Scope, 17, /*->206064*/ // 2 children in Scope
/*206047*/        OPC_MoveChild1,
/*206048*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*206051*/        OPC_RecordChild0, // #0 = $Rn
/*206052*/        OPC_CheckChild1Integer, 4, 
/*206054*/        OPC_CheckChild1Type, MVT::i64,
/*206056*/        OPC_MoveParent,
/*206057*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTLv8i16), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 464:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })) - Complexity = 16
                  // Dst: (FCVTLv8i16:{ *:[v4f32] } V128:{ *:[v8i16] }:$Rn)
/*206064*/      /*Scope*/ 8, /*->206073*/
/*206065*/        OPC_RecordChild1, // #0 = $Rn
/*206066*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTLv4i16), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 464:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 8
                  // Dst: (FCVTLv4i16:{ *:[v4f32] } V64:{ *:[v4i16] }:$Rn)
/*206073*/      0, /*End of Scope*/
/*206074*/    /*Scope*/ 100, /*->206175*/
/*206075*/      OPC_CheckChild0Integer, 24|128,4/*536*/, 
/*206078*/      OPC_RecordChild1, // #0 = $Op1
/*206079*/      OPC_Scope, 46, /*->206127*/ // 2 children in Scope
/*206081*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*206083*/        OPC_RecordChild2, // #1 = $Op2
/*206084*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*206086*/        OPC_RecordChild3, // #2 = $Op3
/*206087*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*206089*/        OPC_RecordChild4, // #3 = $idx
/*206090*/        OPC_MoveChild4,
/*206091*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206094*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS32b
/*206096*/        OPC_MoveParent,
/*206097*/        OPC_RecordChild5, // #4 = $imm
/*206098*/        OPC_MoveChild5,
/*206099*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206102*/        OPC_CheckPredicate, 32, // Predicate_complexrotateop
/*206104*/        OPC_MoveParent,
/*206105*/        OPC_CheckType, MVT::nxv8f16,
/*206107*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206109*/        OPC_EmitConvertToTarget, 3,
/*206111*/        OPC_EmitConvertToTarget, 4,
/*206113*/        OPC_EmitNodeXForm, 1, 6, // anonymous_2604
/*206116*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLA_ZZZI_H), 0,
                      MVT::nxv8f16, 5/*#Ops*/, 0, 1, 2, 5, 7, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 536:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx, (imm:{ *:[i32] })<<P:Predicate_complexrotateop>><<X:anonymous_2604>>:$imm) - Complexity = 16
                  // Dst: (FCMLA_ZZZI_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx, (anonymous_2604:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_complexrotateop>>:$imm))
/*206127*/      /*Scope*/ 46, /*->206174*/
/*206128*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*206130*/        OPC_RecordChild2, // #1 = $Op2
/*206131*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*206133*/        OPC_RecordChild3, // #2 = $Op3
/*206134*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*206136*/        OPC_RecordChild4, // #3 = $idx
/*206137*/        OPC_MoveChild4,
/*206138*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206141*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD32b
/*206143*/        OPC_MoveParent,
/*206144*/        OPC_RecordChild5, // #4 = $imm
/*206145*/        OPC_MoveChild5,
/*206146*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206149*/        OPC_CheckPredicate, 32, // Predicate_complexrotateop
/*206151*/        OPC_MoveParent,
/*206152*/        OPC_CheckType, MVT::nxv4f32,
/*206154*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206156*/        OPC_EmitConvertToTarget, 3,
/*206158*/        OPC_EmitConvertToTarget, 4,
/*206160*/        OPC_EmitNodeXForm, 1, 6, // anonymous_2604
/*206163*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLA_ZZZI_S), 0,
                      MVT::nxv4f32, 5/*#Ops*/, 0, 1, 2, 5, 7, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 536:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx, (imm:{ *:[i32] })<<P:Predicate_complexrotateop>><<X:anonymous_2604>>:$imm) - Complexity = 16
                  // Dst: (FCMLA_ZZZI_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx, (anonymous_2604:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_complexrotateop>>:$imm))
/*206174*/      0, /*End of Scope*/
/*206175*/    /*Scope*/ 2|128,1/*130*/, /*->206307*/
/*206177*/      OPC_CheckChild0Integer, 84|128,2/*340*/, 
/*206180*/      OPC_RecordChild1, // #0 = $Rd
/*206181*/      OPC_Scope, 61, /*->206244*/ // 2 children in Scope
/*206183*/        OPC_CheckChild1Type, MVT::v2f32,
/*206185*/        OPC_RecordChild2, // #1 = $Rn
/*206186*/        OPC_CheckChild2Type, MVT::v4f16,
/*206188*/        OPC_Scope, 36, /*->206226*/ // 2 children in Scope
/*206190*/          OPC_MoveChild3,
/*206191*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*206194*/          OPC_RecordChild0, // #2 = $Rm
/*206195*/          OPC_CheckChild0Type, MVT::v8f16,
/*206197*/          OPC_RecordChild1, // #3 = $idx
/*206198*/          OPC_MoveChild1,
/*206199*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206202*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*206204*/          OPC_CheckType, MVT::i64,
/*206206*/          OPC_MoveParent,
/*206207*/          OPC_CheckType, MVT::v4f16,
/*206209*/          OPC_MoveParent,
/*206210*/          OPC_CheckType, MVT::v2f32,
/*206212*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206214*/          OPC_EmitConvertToTarget, 3,
/*206216*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLALlanev4f16), 0,
                        MVT::v2f32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 340:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, (AArch64duplane16:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMLALlanev4f16:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*206226*/        /*Scope*/ 16, /*->206243*/
/*206227*/          OPC_RecordChild3, // #2 = $Rm
/*206228*/          OPC_CheckChild3Type, MVT::v4f16,
/*206230*/          OPC_CheckType, MVT::v2f32,
/*206232*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206234*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLALv4f16), 0,
                        MVT::v2f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 340:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                    // Dst: (FMLALv4f16:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*206243*/        0, /*End of Scope*/
/*206244*/      /*Scope*/ 61, /*->206306*/
/*206245*/        OPC_CheckChild1Type, MVT::v4f32,
/*206247*/        OPC_RecordChild2, // #1 = $Rn
/*206248*/        OPC_CheckChild2Type, MVT::v8f16,
/*206250*/        OPC_Scope, 36, /*->206288*/ // 2 children in Scope
/*206252*/          OPC_MoveChild3,
/*206253*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*206256*/          OPC_RecordChild0, // #2 = $Rm
/*206257*/          OPC_CheckChild0Type, MVT::v8f16,
/*206259*/          OPC_RecordChild1, // #3 = $idx
/*206260*/          OPC_MoveChild1,
/*206261*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206264*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*206266*/          OPC_CheckType, MVT::i64,
/*206268*/          OPC_MoveParent,
/*206269*/          OPC_CheckType, MVT::v8f16,
/*206271*/          OPC_MoveParent,
/*206272*/          OPC_CheckType, MVT::v4f32,
/*206274*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206276*/          OPC_EmitConvertToTarget, 3,
/*206278*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLALlanev8f16), 0,
                        MVT::v4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 340:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, (AArch64duplane16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMLALlanev8f16:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*206288*/        /*Scope*/ 16, /*->206305*/
/*206289*/          OPC_RecordChild3, // #2 = $Rm
/*206290*/          OPC_CheckChild3Type, MVT::v8f16,
/*206292*/          OPC_CheckType, MVT::v4f32,
/*206294*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206296*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLALv8f16), 0,
                        MVT::v4f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 340:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                    // Dst: (FMLALv8f16:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*206305*/        0, /*End of Scope*/
/*206306*/      0, /*End of Scope*/
/*206307*/    /*Scope*/ 2|128,1/*130*/, /*->206439*/
/*206309*/      OPC_CheckChild0Integer, 86|128,2/*342*/, 
/*206312*/      OPC_RecordChild1, // #0 = $Rd
/*206313*/      OPC_Scope, 61, /*->206376*/ // 2 children in Scope
/*206315*/        OPC_CheckChild1Type, MVT::v2f32,
/*206317*/        OPC_RecordChild2, // #1 = $Rn
/*206318*/        OPC_CheckChild2Type, MVT::v4f16,
/*206320*/        OPC_Scope, 36, /*->206358*/ // 2 children in Scope
/*206322*/          OPC_MoveChild3,
/*206323*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*206326*/          OPC_RecordChild0, // #2 = $Rm
/*206327*/          OPC_CheckChild0Type, MVT::v8f16,
/*206329*/          OPC_RecordChild1, // #3 = $idx
/*206330*/          OPC_MoveChild1,
/*206331*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206334*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*206336*/          OPC_CheckType, MVT::i64,
/*206338*/          OPC_MoveParent,
/*206339*/          OPC_CheckType, MVT::v4f16,
/*206341*/          OPC_MoveParent,
/*206342*/          OPC_CheckType, MVT::v2f32,
/*206344*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206346*/          OPC_EmitConvertToTarget, 3,
/*206348*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSLlanev4f16), 0,
                        MVT::v2f32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 342:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, (AArch64duplane16:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMLSLlanev4f16:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*206358*/        /*Scope*/ 16, /*->206375*/
/*206359*/          OPC_RecordChild3, // #2 = $Rm
/*206360*/          OPC_CheckChild3Type, MVT::v4f16,
/*206362*/          OPC_CheckType, MVT::v2f32,
/*206364*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206366*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSLv4f16), 0,
                        MVT::v2f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 342:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                    // Dst: (FMLSLv4f16:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*206375*/        0, /*End of Scope*/
/*206376*/      /*Scope*/ 61, /*->206438*/
/*206377*/        OPC_CheckChild1Type, MVT::v4f32,
/*206379*/        OPC_RecordChild2, // #1 = $Rn
/*206380*/        OPC_CheckChild2Type, MVT::v8f16,
/*206382*/        OPC_Scope, 36, /*->206420*/ // 2 children in Scope
/*206384*/          OPC_MoveChild3,
/*206385*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*206388*/          OPC_RecordChild0, // #2 = $Rm
/*206389*/          OPC_CheckChild0Type, MVT::v8f16,
/*206391*/          OPC_RecordChild1, // #3 = $idx
/*206392*/          OPC_MoveChild1,
/*206393*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206396*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*206398*/          OPC_CheckType, MVT::i64,
/*206400*/          OPC_MoveParent,
/*206401*/          OPC_CheckType, MVT::v8f16,
/*206403*/          OPC_MoveParent,
/*206404*/          OPC_CheckType, MVT::v4f32,
/*206406*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206408*/          OPC_EmitConvertToTarget, 3,
/*206410*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSLlanev8f16), 0,
                        MVT::v4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 342:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, (AArch64duplane16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMLSLlanev8f16:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*206420*/        /*Scope*/ 16, /*->206437*/
/*206421*/          OPC_RecordChild3, // #2 = $Rm
/*206422*/          OPC_CheckChild3Type, MVT::v8f16,
/*206424*/          OPC_CheckType, MVT::v4f32,
/*206426*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206428*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSLv8f16), 0,
                        MVT::v4f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 342:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                    // Dst: (FMLSLv8f16:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*206437*/        0, /*End of Scope*/
/*206438*/      0, /*End of Scope*/
/*206439*/    /*Scope*/ 2|128,1/*130*/, /*->206571*/
/*206441*/      OPC_CheckChild0Integer, 85|128,2/*341*/, 
/*206444*/      OPC_RecordChild1, // #0 = $Rd
/*206445*/      OPC_Scope, 61, /*->206508*/ // 2 children in Scope
/*206447*/        OPC_CheckChild1Type, MVT::v2f32,
/*206449*/        OPC_RecordChild2, // #1 = $Rn
/*206450*/        OPC_CheckChild2Type, MVT::v4f16,
/*206452*/        OPC_Scope, 36, /*->206490*/ // 2 children in Scope
/*206454*/          OPC_MoveChild3,
/*206455*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*206458*/          OPC_RecordChild0, // #2 = $Rm
/*206459*/          OPC_CheckChild0Type, MVT::v8f16,
/*206461*/          OPC_RecordChild1, // #3 = $idx
/*206462*/          OPC_MoveChild1,
/*206463*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206466*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*206468*/          OPC_CheckType, MVT::i64,
/*206470*/          OPC_MoveParent,
/*206471*/          OPC_CheckType, MVT::v4f16,
/*206473*/          OPC_MoveParent,
/*206474*/          OPC_CheckType, MVT::v2f32,
/*206476*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206478*/          OPC_EmitConvertToTarget, 3,
/*206480*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAL2lanev4f16), 0,
                        MVT::v2f32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 341:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, (AArch64duplane16:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMLAL2lanev4f16:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*206490*/        /*Scope*/ 16, /*->206507*/
/*206491*/          OPC_RecordChild3, // #2 = $Rm
/*206492*/          OPC_CheckChild3Type, MVT::v4f16,
/*206494*/          OPC_CheckType, MVT::v2f32,
/*206496*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206498*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAL2v4f16), 0,
                        MVT::v2f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 341:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                    // Dst: (FMLAL2v4f16:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*206507*/        0, /*End of Scope*/
/*206508*/      /*Scope*/ 61, /*->206570*/
/*206509*/        OPC_CheckChild1Type, MVT::v4f32,
/*206511*/        OPC_RecordChild2, // #1 = $Rn
/*206512*/        OPC_CheckChild2Type, MVT::v8f16,
/*206514*/        OPC_Scope, 36, /*->206552*/ // 2 children in Scope
/*206516*/          OPC_MoveChild3,
/*206517*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*206520*/          OPC_RecordChild0, // #2 = $Rm
/*206521*/          OPC_CheckChild0Type, MVT::v8f16,
/*206523*/          OPC_RecordChild1, // #3 = $idx
/*206524*/          OPC_MoveChild1,
/*206525*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206528*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*206530*/          OPC_CheckType, MVT::i64,
/*206532*/          OPC_MoveParent,
/*206533*/          OPC_CheckType, MVT::v8f16,
/*206535*/          OPC_MoveParent,
/*206536*/          OPC_CheckType, MVT::v4f32,
/*206538*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206540*/          OPC_EmitConvertToTarget, 3,
/*206542*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAL2lanev8f16), 0,
                        MVT::v4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 341:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, (AArch64duplane16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMLAL2lanev8f16:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*206552*/        /*Scope*/ 16, /*->206569*/
/*206553*/          OPC_RecordChild3, // #2 = $Rm
/*206554*/          OPC_CheckChild3Type, MVT::v8f16,
/*206556*/          OPC_CheckType, MVT::v4f32,
/*206558*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206560*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAL2v8f16), 0,
                        MVT::v4f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 341:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                    // Dst: (FMLAL2v8f16:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*206569*/        0, /*End of Scope*/
/*206570*/      0, /*End of Scope*/
/*206571*/    /*Scope*/ 2|128,1/*130*/, /*->206703*/
/*206573*/      OPC_CheckChild0Integer, 87|128,2/*343*/, 
/*206576*/      OPC_RecordChild1, // #0 = $Rd
/*206577*/      OPC_Scope, 61, /*->206640*/ // 2 children in Scope
/*206579*/        OPC_CheckChild1Type, MVT::v2f32,
/*206581*/        OPC_RecordChild2, // #1 = $Rn
/*206582*/        OPC_CheckChild2Type, MVT::v4f16,
/*206584*/        OPC_Scope, 36, /*->206622*/ // 2 children in Scope
/*206586*/          OPC_MoveChild3,
/*206587*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*206590*/          OPC_RecordChild0, // #2 = $Rm
/*206591*/          OPC_CheckChild0Type, MVT::v8f16,
/*206593*/          OPC_RecordChild1, // #3 = $idx
/*206594*/          OPC_MoveChild1,
/*206595*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206598*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*206600*/          OPC_CheckType, MVT::i64,
/*206602*/          OPC_MoveParent,
/*206603*/          OPC_CheckType, MVT::v4f16,
/*206605*/          OPC_MoveParent,
/*206606*/          OPC_CheckType, MVT::v2f32,
/*206608*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206610*/          OPC_EmitConvertToTarget, 3,
/*206612*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSL2lanev4f16), 0,
                        MVT::v2f32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 343:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, (AArch64duplane16:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMLSL2lanev4f16:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*206622*/        /*Scope*/ 16, /*->206639*/
/*206623*/          OPC_RecordChild3, // #2 = $Rm
/*206624*/          OPC_CheckChild3Type, MVT::v4f16,
/*206626*/          OPC_CheckType, MVT::v2f32,
/*206628*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206630*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSL2v4f16), 0,
                        MVT::v2f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v2f32] } 343:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                    // Dst: (FMLSL2v4f16:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*206639*/        0, /*End of Scope*/
/*206640*/      /*Scope*/ 61, /*->206702*/
/*206641*/        OPC_CheckChild1Type, MVT::v4f32,
/*206643*/        OPC_RecordChild2, // #1 = $Rn
/*206644*/        OPC_CheckChild2Type, MVT::v8f16,
/*206646*/        OPC_Scope, 36, /*->206684*/ // 2 children in Scope
/*206648*/          OPC_MoveChild3,
/*206649*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*206652*/          OPC_RecordChild0, // #2 = $Rm
/*206653*/          OPC_CheckChild0Type, MVT::v8f16,
/*206655*/          OPC_RecordChild1, // #3 = $idx
/*206656*/          OPC_MoveChild1,
/*206657*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206660*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*206662*/          OPC_CheckType, MVT::i64,
/*206664*/          OPC_MoveParent,
/*206665*/          OPC_CheckType, MVT::v8f16,
/*206667*/          OPC_MoveParent,
/*206668*/          OPC_CheckType, MVT::v4f32,
/*206670*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206672*/          OPC_EmitConvertToTarget, 3,
/*206674*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSL2lanev8f16), 0,
                        MVT::v4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 343:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, (AArch64duplane16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 15
                    // Dst: (FMLSL2lanev8f16:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*206684*/        /*Scope*/ 16, /*->206701*/
/*206685*/          OPC_RecordChild3, // #2 = $Rm
/*206686*/          OPC_CheckChild3Type, MVT::v8f16,
/*206688*/          OPC_CheckType, MVT::v4f32,
/*206690*/          OPC_CheckPatternPredicate, 18, // (Subtarget->hasFP16FML()) && (Subtarget->hasNEON())
/*206692*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSL2v8f16), 0,
                        MVT::v4f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (intrinsic_wo_chain:{ *:[v4f32] } 343:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                    // Dst: (FMLSL2v8f16:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*206701*/        0, /*End of Scope*/
/*206702*/      0, /*End of Scope*/
/*206703*/    /*Scope*/ 114, /*->206818*/
/*206704*/      OPC_CheckChild0Integer, 22|128,4/*534*/, 
/*206707*/      OPC_RecordChild1, // #0 = $Op1
/*206708*/      OPC_Scope, 35, /*->206745*/ // 3 children in Scope
/*206710*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*206712*/        OPC_RecordChild2, // #1 = $Op2
/*206713*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*206715*/        OPC_RecordChild3, // #2 = $Op3
/*206716*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*206718*/        OPC_RecordChild4, // #3 = $imm
/*206719*/        OPC_MoveChild4,
/*206720*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206723*/        OPC_CheckPredicate, 32, // Predicate_complexrotateopodd
/*206725*/        OPC_MoveParent,
/*206726*/        OPC_CheckType, MVT::nxv8f16,
/*206728*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206730*/        OPC_EmitConvertToTarget, 3,
/*206732*/        OPC_EmitNodeXForm, 2, 4, // anonymous_2606
/*206735*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADD_ZPmZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 5, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 534:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_complexrotateopodd>><<X:anonymous_2606>>:$imm) - Complexity = 12
                  // Dst: (FCADD_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, (anonymous_2606:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_complexrotateopodd>>:$imm))
/*206745*/      /*Scope*/ 35, /*->206781*/
/*206746*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*206748*/        OPC_RecordChild2, // #1 = $Op2
/*206749*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*206751*/        OPC_RecordChild3, // #2 = $Op3
/*206752*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*206754*/        OPC_RecordChild4, // #3 = $imm
/*206755*/        OPC_MoveChild4,
/*206756*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206759*/        OPC_CheckPredicate, 32, // Predicate_complexrotateopodd
/*206761*/        OPC_MoveParent,
/*206762*/        OPC_CheckType, MVT::nxv4f32,
/*206764*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206766*/        OPC_EmitConvertToTarget, 3,
/*206768*/        OPC_EmitNodeXForm, 2, 4, // anonymous_2606
/*206771*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADD_ZPmZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 5, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 534:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_complexrotateopodd>><<X:anonymous_2606>>:$imm) - Complexity = 12
                  // Dst: (FCADD_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, (anonymous_2606:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_complexrotateopodd>>:$imm))
/*206781*/      /*Scope*/ 35, /*->206817*/
/*206782*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*206784*/        OPC_RecordChild2, // #1 = $Op2
/*206785*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*206787*/        OPC_RecordChild3, // #2 = $Op3
/*206788*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*206790*/        OPC_RecordChild4, // #3 = $imm
/*206791*/        OPC_MoveChild4,
/*206792*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206795*/        OPC_CheckPredicate, 32, // Predicate_complexrotateopodd
/*206797*/        OPC_MoveParent,
/*206798*/        OPC_CheckType, MVT::nxv2f64,
/*206800*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206802*/        OPC_EmitConvertToTarget, 3,
/*206804*/        OPC_EmitNodeXForm, 2, 4, // anonymous_2606
/*206807*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADD_ZPmZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 5, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 534:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_complexrotateopodd>><<X:anonymous_2606>>:$imm) - Complexity = 12
                  // Dst: (FCADD_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, (anonymous_2606:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_complexrotateopodd>>:$imm))
/*206817*/      0, /*End of Scope*/
/*206818*/    /*Scope*/ 126, /*->206945*/
/*206819*/      OPC_CheckChild0Integer, 23|128,4/*535*/, 
/*206822*/      OPC_RecordChild1, // #0 = $Op1
/*206823*/      OPC_Scope, 39, /*->206864*/ // 3 children in Scope
/*206825*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*206827*/        OPC_RecordChild2, // #1 = $Op2
/*206828*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*206830*/        OPC_RecordChild3, // #2 = $Op3
/*206831*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*206833*/        OPC_RecordChild4, // #3 = $Op4
/*206834*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*206836*/        OPC_RecordChild5, // #4 = $imm
/*206837*/        OPC_MoveChild5,
/*206838*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206841*/        OPC_CheckPredicate, 32, // Predicate_complexrotateop
/*206843*/        OPC_MoveParent,
/*206844*/        OPC_CheckType, MVT::nxv8f16,
/*206846*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206848*/        OPC_EmitConvertToTarget, 4,
/*206850*/        OPC_EmitNodeXForm, 1, 5, // anonymous_2604
/*206853*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLA_ZPmZZ_H), 0,
                      MVT::nxv8f16, 5/*#Ops*/, 0, 1, 2, 3, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 535:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4, (imm:{ *:[i32] })<<P:Predicate_complexrotateop>><<X:anonymous_2604>>:$imm) - Complexity = 12
                  // Dst: (FCMLA_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4, (anonymous_2604:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_complexrotateop>>:$imm))
/*206864*/      /*Scope*/ 39, /*->206904*/
/*206865*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*206867*/        OPC_RecordChild2, // #1 = $Op2
/*206868*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*206870*/        OPC_RecordChild3, // #2 = $Op3
/*206871*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*206873*/        OPC_RecordChild4, // #3 = $Op4
/*206874*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*206876*/        OPC_RecordChild5, // #4 = $imm
/*206877*/        OPC_MoveChild5,
/*206878*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206881*/        OPC_CheckPredicate, 32, // Predicate_complexrotateop
/*206883*/        OPC_MoveParent,
/*206884*/        OPC_CheckType, MVT::nxv4f32,
/*206886*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206888*/        OPC_EmitConvertToTarget, 4,
/*206890*/        OPC_EmitNodeXForm, 1, 5, // anonymous_2604
/*206893*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLA_ZPmZZ_S), 0,
                      MVT::nxv4f32, 5/*#Ops*/, 0, 1, 2, 3, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 535:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4, (imm:{ *:[i32] })<<P:Predicate_complexrotateop>><<X:anonymous_2604>>:$imm) - Complexity = 12
                  // Dst: (FCMLA_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4, (anonymous_2604:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_complexrotateop>>:$imm))
/*206904*/      /*Scope*/ 39, /*->206944*/
/*206905*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*206907*/        OPC_RecordChild2, // #1 = $Op2
/*206908*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*206910*/        OPC_RecordChild3, // #2 = $Op3
/*206911*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*206913*/        OPC_RecordChild4, // #3 = $Op4
/*206914*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*206916*/        OPC_RecordChild5, // #4 = $imm
/*206917*/        OPC_MoveChild5,
/*206918*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206921*/        OPC_CheckPredicate, 32, // Predicate_complexrotateop
/*206923*/        OPC_MoveParent,
/*206924*/        OPC_CheckType, MVT::nxv2f64,
/*206926*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206928*/        OPC_EmitConvertToTarget, 4,
/*206930*/        OPC_EmitNodeXForm, 1, 5, // anonymous_2604
/*206933*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLA_ZPmZZ_D), 0,
                      MVT::nxv2f64, 5/*#Ops*/, 0, 1, 2, 3, 6, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 535:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4, (imm:{ *:[i32] })<<P:Predicate_complexrotateop>><<X:anonymous_2604>>:$imm) - Complexity = 12
                  // Dst: (FCMLA_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4, (anonymous_2604:{ *:[i32] } (imm:{ *:[i32] })<<P:Predicate_complexrotateop>>:$imm))
/*206944*/      0, /*End of Scope*/
/*206945*/    /*Scope*/ 93, /*->207039*/
/*206946*/      OPC_CheckChild0Integer, 107|128,4/*619*/, 
/*206949*/      OPC_RecordChild1, // #0 = $Zn
/*206950*/      OPC_Scope, 28, /*->206980*/ // 3 children in Scope
/*206952*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*206954*/        OPC_RecordChild2, // #1 = $Zm
/*206955*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*206957*/        OPC_RecordChild3, // #2 = $imm
/*206958*/        OPC_MoveChild3,
/*206959*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206962*/        OPC_CheckPredicate, 33, // Predicate_imm32_0_7
/*206964*/        OPC_MoveParent,
/*206965*/        OPC_CheckType, MVT::nxv8f16,
/*206967*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206969*/        OPC_EmitConvertToTarget, 2,
/*206971*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTMAD_ZZI_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 619:{ *:[iPTR] }, ZPR16:{ *:[nxv8f16] }:$Zn, ZPR16:{ *:[nxv8f16] }:$Zm, (imm:{ *:[i32] })<<P:Predicate_imm32_0_7>>:$imm) - Complexity = 12
                  // Dst: (FTMAD_ZZI_H:{ *:[nxv8f16] } ZPR16:{ *:[nxv8f16] }:$Zn, ZPR16:{ *:[nxv8f16] }:$Zm, (imm:{ *:[i32] })<<P:Predicate_imm32_0_7>>:$imm)
/*206980*/      /*Scope*/ 28, /*->207009*/
/*206981*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*206983*/        OPC_RecordChild2, // #1 = $Zm
/*206984*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*206986*/        OPC_RecordChild3, // #2 = $imm
/*206987*/        OPC_MoveChild3,
/*206988*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*206991*/        OPC_CheckPredicate, 33, // Predicate_imm32_0_7
/*206993*/        OPC_MoveParent,
/*206994*/        OPC_CheckType, MVT::nxv4f32,
/*206996*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*206998*/        OPC_EmitConvertToTarget, 2,
/*207000*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTMAD_ZZI_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 619:{ *:[iPTR] }, ZPR32:{ *:[nxv4f32] }:$Zn, ZPR32:{ *:[nxv4f32] }:$Zm, (imm:{ *:[i32] })<<P:Predicate_imm32_0_7>>:$imm) - Complexity = 12
                  // Dst: (FTMAD_ZZI_S:{ *:[nxv4f32] } ZPR32:{ *:[nxv4f32] }:$Zn, ZPR32:{ *:[nxv4f32] }:$Zm, (imm:{ *:[i32] })<<P:Predicate_imm32_0_7>>:$imm)
/*207009*/      /*Scope*/ 28, /*->207038*/
/*207010*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*207012*/        OPC_RecordChild2, // #1 = $Zm
/*207013*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*207015*/        OPC_RecordChild3, // #2 = $imm
/*207016*/        OPC_MoveChild3,
/*207017*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207020*/        OPC_CheckPredicate, 33, // Predicate_imm32_0_7
/*207022*/        OPC_MoveParent,
/*207023*/        OPC_CheckType, MVT::nxv2f64,
/*207025*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207027*/        OPC_EmitConvertToTarget, 2,
/*207029*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTMAD_ZZI_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 619:{ *:[iPTR] }, ZPR64:{ *:[nxv2f64] }:$Zn, ZPR64:{ *:[nxv2f64] }:$Zm, (imm:{ *:[i32] })<<P:Predicate_imm32_0_7>>:$imm) - Complexity = 12
                  // Dst: (FTMAD_ZZI_D:{ *:[nxv2f64] } ZPR64:{ *:[nxv2f64] }:$Zn, ZPR64:{ *:[nxv2f64] }:$Zm, (imm:{ *:[i32] })<<P:Predicate_imm32_0_7>>:$imm)
/*207038*/      0, /*End of Scope*/
/*207039*/    /*Scope*/ 105, /*->207145*/
/*207040*/      OPC_CheckChild0Integer, 71|128,4/*583*/, 
/*207043*/      OPC_RecordChild1, // #0 = $Op1
/*207044*/      OPC_Scope, 32, /*->207078*/ // 3 children in Scope
/*207046*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*207048*/        OPC_RecordChild2, // #1 = $Op2
/*207049*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*207051*/        OPC_RecordChild3, // #2 = $Op3
/*207052*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*207054*/        OPC_RecordChild4, // #3 = $idx
/*207055*/        OPC_MoveChild4,
/*207056*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207059*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH32b
/*207061*/        OPC_MoveParent,
/*207062*/        OPC_CheckType, MVT::nxv8f16,
/*207064*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207066*/        OPC_EmitConvertToTarget, 3,
/*207068*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLA_ZZZI_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 583:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$idx) - Complexity = 12
                  // Dst: (FMLA_ZZZI_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$idx)
/*207078*/      /*Scope*/ 32, /*->207111*/
/*207079*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*207081*/        OPC_RecordChild2, // #1 = $Op2
/*207082*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*207084*/        OPC_RecordChild3, // #2 = $Op3
/*207085*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*207087*/        OPC_RecordChild4, // #3 = $idx
/*207088*/        OPC_MoveChild4,
/*207089*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207092*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS32b
/*207094*/        OPC_MoveParent,
/*207095*/        OPC_CheckType, MVT::nxv4f32,
/*207097*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207099*/        OPC_EmitConvertToTarget, 3,
/*207101*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLA_ZZZI_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 583:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx) - Complexity = 12
                  // Dst: (FMLA_ZZZI_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx)
/*207111*/      /*Scope*/ 32, /*->207144*/
/*207112*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*207114*/        OPC_RecordChild2, // #1 = $Op2
/*207115*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*207117*/        OPC_RecordChild3, // #2 = $Op3
/*207118*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*207120*/        OPC_RecordChild4, // #3 = $idx
/*207121*/        OPC_MoveChild4,
/*207122*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207125*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD32b
/*207127*/        OPC_MoveParent,
/*207128*/        OPC_CheckType, MVT::nxv2f64,
/*207130*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207132*/        OPC_EmitConvertToTarget, 3,
/*207134*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLA_ZZZI_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 583:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx) - Complexity = 12
                  // Dst: (FMLA_ZZZI_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx)
/*207144*/      0, /*End of Scope*/
/*207145*/    /*Scope*/ 105, /*->207251*/
/*207146*/      OPC_CheckChild0Integer, 77|128,4/*589*/, 
/*207149*/      OPC_RecordChild1, // #0 = $Op1
/*207150*/      OPC_Scope, 32, /*->207184*/ // 3 children in Scope
/*207152*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*207154*/        OPC_RecordChild2, // #1 = $Op2
/*207155*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*207157*/        OPC_RecordChild3, // #2 = $Op3
/*207158*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*207160*/        OPC_RecordChild4, // #3 = $idx
/*207161*/        OPC_MoveChild4,
/*207162*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207165*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH32b
/*207167*/        OPC_MoveParent,
/*207168*/        OPC_CheckType, MVT::nxv8f16,
/*207170*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207172*/        OPC_EmitConvertToTarget, 3,
/*207174*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLS_ZZZI_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 589:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$idx) - Complexity = 12
                  // Dst: (FMLS_ZZZI_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$idx)
/*207184*/      /*Scope*/ 32, /*->207217*/
/*207185*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*207187*/        OPC_RecordChild2, // #1 = $Op2
/*207188*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*207190*/        OPC_RecordChild3, // #2 = $Op3
/*207191*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*207193*/        OPC_RecordChild4, // #3 = $idx
/*207194*/        OPC_MoveChild4,
/*207195*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207198*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS32b
/*207200*/        OPC_MoveParent,
/*207201*/        OPC_CheckType, MVT::nxv4f32,
/*207203*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207205*/        OPC_EmitConvertToTarget, 3,
/*207207*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLS_ZZZI_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 589:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx) - Complexity = 12
                  // Dst: (FMLS_ZZZI_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx)
/*207217*/      /*Scope*/ 32, /*->207250*/
/*207218*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*207220*/        OPC_RecordChild2, // #1 = $Op2
/*207221*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*207223*/        OPC_RecordChild3, // #2 = $Op3
/*207224*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*207226*/        OPC_RecordChild4, // #3 = $idx
/*207227*/        OPC_MoveChild4,
/*207228*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207231*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD32b
/*207233*/        OPC_MoveParent,
/*207234*/        OPC_CheckType, MVT::nxv2f64,
/*207236*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207238*/        OPC_EmitConvertToTarget, 3,
/*207240*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLS_ZZZI_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 4, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 589:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx) - Complexity = 12
                  // Dst: (FMLS_ZZZI_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx)
/*207250*/      0, /*End of Scope*/
/*207251*/    /*Scope*/ 93, /*->207345*/
/*207252*/      OPC_CheckChild0Integer, 84|128,4/*596*/, 
/*207255*/      OPC_RecordChild1, // #0 = $Op1
/*207256*/      OPC_Scope, 28, /*->207286*/ // 3 children in Scope
/*207258*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*207260*/        OPC_RecordChild2, // #1 = $Op2
/*207261*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*207263*/        OPC_RecordChild3, // #2 = $idx
/*207264*/        OPC_MoveChild3,
/*207265*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207268*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH32b
/*207270*/        OPC_MoveParent,
/*207271*/        OPC_CheckType, MVT::nxv8f16,
/*207273*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207275*/        OPC_EmitConvertToTarget, 2,
/*207277*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZZZI_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 596:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$idx) - Complexity = 12
                  // Dst: (FMUL_ZZZI_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$idx)
/*207286*/      /*Scope*/ 28, /*->207315*/
/*207287*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*207289*/        OPC_RecordChild2, // #1 = $Op2
/*207290*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*207292*/        OPC_RecordChild3, // #2 = $idx
/*207293*/        OPC_MoveChild3,
/*207294*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207297*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS32b
/*207299*/        OPC_MoveParent,
/*207300*/        OPC_CheckType, MVT::nxv4f32,
/*207302*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207304*/        OPC_EmitConvertToTarget, 2,
/*207306*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZZZI_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 596:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx) - Complexity = 12
                  // Dst: (FMUL_ZZZI_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_VectorIndexS32b>>:$idx)
/*207315*/      /*Scope*/ 28, /*->207344*/
/*207316*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*207318*/        OPC_RecordChild2, // #1 = $Op2
/*207319*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*207321*/        OPC_RecordChild3, // #2 = $idx
/*207322*/        OPC_MoveChild3,
/*207323*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207326*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD32b
/*207328*/        OPC_MoveParent,
/*207329*/        OPC_CheckType, MVT::nxv2f64,
/*207331*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*207333*/        OPC_EmitConvertToTarget, 2,
/*207335*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZZZI_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 596:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx) - Complexity = 12
                  // Dst: (FMUL_ZZZI_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_VectorIndexD32b>>:$idx)
/*207344*/      0, /*End of Scope*/
/*207345*/    /*Scope*/ 36, /*->207382*/
/*207346*/      OPC_CheckChild0Integer, 73|128,4/*585*/, 
/*207349*/      OPC_RecordChild1, // #0 = $Op1
/*207350*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*207352*/      OPC_RecordChild2, // #1 = $Op2
/*207353*/      OPC_CheckChild2Type, MVT::nxv8f16,
/*207355*/      OPC_RecordChild3, // #2 = $Op3
/*207356*/      OPC_CheckChild3Type, MVT::nxv8f16,
/*207358*/      OPC_RecordChild4, // #3 = $Op4
/*207359*/      OPC_MoveChild4,
/*207360*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207363*/      OPC_CheckPredicate, 1, // Predicate_VectorIndexH32b
/*207365*/      OPC_MoveParent,
/*207366*/      OPC_CheckType, MVT::nxv4f32,
/*207368*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*207370*/      OPC_EmitConvertToTarget, 3,
/*207372*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLALB_ZZZI_SHH), 0,
                    MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 585:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$Op4) - Complexity = 12
                // Dst: (FMLALB_ZZZI_SHH:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$Op4)
/*207382*/    /*Scope*/ 36, /*->207419*/
/*207383*/      OPC_CheckChild0Integer, 75|128,4/*587*/, 
/*207386*/      OPC_RecordChild1, // #0 = $Op1
/*207387*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*207389*/      OPC_RecordChild2, // #1 = $Op2
/*207390*/      OPC_CheckChild2Type, MVT::nxv8f16,
/*207392*/      OPC_RecordChild3, // #2 = $Op3
/*207393*/      OPC_CheckChild3Type, MVT::nxv8f16,
/*207395*/      OPC_RecordChild4, // #3 = $Op4
/*207396*/      OPC_MoveChild4,
/*207397*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207400*/      OPC_CheckPredicate, 1, // Predicate_VectorIndexH32b
/*207402*/      OPC_MoveParent,
/*207403*/      OPC_CheckType, MVT::nxv4f32,
/*207405*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*207407*/      OPC_EmitConvertToTarget, 3,
/*207409*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLALT_ZZZI_SHH), 0,
                    MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 587:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$Op4) - Complexity = 12
                // Dst: (FMLALT_ZZZI_SHH:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$Op4)
/*207419*/    /*Scope*/ 36, /*->207456*/
/*207420*/      OPC_CheckChild0Integer, 79|128,4/*591*/, 
/*207423*/      OPC_RecordChild1, // #0 = $Op1
/*207424*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*207426*/      OPC_RecordChild2, // #1 = $Op2
/*207427*/      OPC_CheckChild2Type, MVT::nxv8f16,
/*207429*/      OPC_RecordChild3, // #2 = $Op3
/*207430*/      OPC_CheckChild3Type, MVT::nxv8f16,
/*207432*/      OPC_RecordChild4, // #3 = $Op4
/*207433*/      OPC_MoveChild4,
/*207434*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207437*/      OPC_CheckPredicate, 1, // Predicate_VectorIndexH32b
/*207439*/      OPC_MoveParent,
/*207440*/      OPC_CheckType, MVT::nxv4f32,
/*207442*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*207444*/      OPC_EmitConvertToTarget, 3,
/*207446*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSLB_ZZZI_SHH), 0,
                    MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 591:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$Op4) - Complexity = 12
                // Dst: (FMLSLB_ZZZI_SHH:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$Op4)
/*207456*/    /*Scope*/ 36, /*->207493*/
/*207457*/      OPC_CheckChild0Integer, 81|128,4/*593*/, 
/*207460*/      OPC_RecordChild1, // #0 = $Op1
/*207461*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*207463*/      OPC_RecordChild2, // #1 = $Op2
/*207464*/      OPC_CheckChild2Type, MVT::nxv8f16,
/*207466*/      OPC_RecordChild3, // #2 = $Op3
/*207467*/      OPC_CheckChild3Type, MVT::nxv8f16,
/*207469*/      OPC_RecordChild4, // #3 = $Op4
/*207470*/      OPC_MoveChild4,
/*207471*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*207474*/      OPC_CheckPredicate, 1, // Predicate_VectorIndexH32b
/*207476*/      OPC_MoveParent,
/*207477*/      OPC_CheckType, MVT::nxv4f32,
/*207479*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*207481*/      OPC_EmitConvertToTarget, 3,
/*207483*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSLT_ZZZI_SHH), 0,
                    MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 4, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 593:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$Op4) - Complexity = 12
                // Dst: (FMLSLT_ZZZI_SHH:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, (imm:{ *:[i32] })<<P:Predicate_VectorIndexH32b>>:$Op4)
/*207493*/    /*Scope*/ 111, /*->207605*/
/*207494*/      OPC_CheckChild0Integer, 73|128,3/*457*/, 
/*207497*/      OPC_RecordChild1, // #0 = $Rn
/*207498*/      OPC_SwitchType /*5 cases */, 19, MVT::v4f16,// ->207520
/*207501*/        OPC_CheckChild1Type, MVT::v4f16,
/*207503*/        OPC_RecordChild2, // #1 = $Rm
/*207504*/        OPC_CheckChild2Type, MVT::v4f16,
/*207506*/        OPC_CheckPatternPredicate, 19, // (Subtarget->hasComplxNum()) && (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207508*/        OPC_EmitInteger, MVT::i32, 0, 
/*207511*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv4f16), 0,
                      MVT::v4f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 457:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm, 0:{ *:[i32] })
/*207520*/      /*SwitchType*/ 19, MVT::v8f16,// ->207541
/*207522*/        OPC_CheckChild1Type, MVT::v8f16,
/*207524*/        OPC_RecordChild2, // #1 = $Rm
/*207525*/        OPC_CheckChild2Type, MVT::v8f16,
/*207527*/        OPC_CheckPatternPredicate, 19, // (Subtarget->hasComplxNum()) && (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207529*/        OPC_EmitInteger, MVT::i32, 0, 
/*207532*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv8f16), 0,
                      MVT::v8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 457:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, 0:{ *:[i32] })
/*207541*/      /*SwitchType*/ 19, MVT::v2f32,// ->207562
/*207543*/        OPC_CheckChild1Type, MVT::v2f32,
/*207545*/        OPC_RecordChild2, // #1 = $Rm
/*207546*/        OPC_CheckChild2Type, MVT::v2f32,
/*207548*/        OPC_CheckPatternPredicate, 20, // (Subtarget->hasComplxNum()) && (Subtarget->hasNEON())
/*207550*/        OPC_EmitInteger, MVT::i32, 0, 
/*207553*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv2f32), 0,
                      MVT::v2f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 457:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm, 0:{ *:[i32] })
/*207562*/      /*SwitchType*/ 19, MVT::v4f32,// ->207583
/*207564*/        OPC_CheckChild1Type, MVT::v4f32,
/*207566*/        OPC_RecordChild2, // #1 = $Rm
/*207567*/        OPC_CheckChild2Type, MVT::v4f32,
/*207569*/        OPC_CheckPatternPredicate, 20, // (Subtarget->hasComplxNum()) && (Subtarget->hasNEON())
/*207571*/        OPC_EmitInteger, MVT::i32, 0, 
/*207574*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv4f32), 0,
                      MVT::v4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 457:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, 0:{ *:[i32] })
/*207583*/      /*SwitchType*/ 19, MVT::v2f64,// ->207604
/*207585*/        OPC_CheckChild1Type, MVT::v2f64,
/*207587*/        OPC_RecordChild2, // #1 = $Rm
/*207588*/        OPC_CheckChild2Type, MVT::v2f64,
/*207590*/        OPC_CheckPatternPredicate, 20, // (Subtarget->hasComplxNum()) && (Subtarget->hasNEON())
/*207592*/        OPC_EmitInteger, MVT::i32, 0, 
/*207595*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv2f64), 0,
                      MVT::v2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 457:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, 0:{ *:[i32] })
/*207604*/      0, // EndSwitchType
/*207605*/    /*Scope*/ 111, /*->207717*/
/*207606*/      OPC_CheckChild0Integer, 72|128,3/*456*/, 
/*207609*/      OPC_RecordChild1, // #0 = $Rn
/*207610*/      OPC_SwitchType /*5 cases */, 19, MVT::v4f16,// ->207632
/*207613*/        OPC_CheckChild1Type, MVT::v4f16,
/*207615*/        OPC_RecordChild2, // #1 = $Rm
/*207616*/        OPC_CheckChild2Type, MVT::v4f16,
/*207618*/        OPC_CheckPatternPredicate, 19, // (Subtarget->hasComplxNum()) && (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207620*/        OPC_EmitInteger, MVT::i32, 1, 
/*207623*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv4f16), 0,
                      MVT::v4f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 456:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm, 1:{ *:[i32] })
/*207632*/      /*SwitchType*/ 19, MVT::v8f16,// ->207653
/*207634*/        OPC_CheckChild1Type, MVT::v8f16,
/*207636*/        OPC_RecordChild2, // #1 = $Rm
/*207637*/        OPC_CheckChild2Type, MVT::v8f16,
/*207639*/        OPC_CheckPatternPredicate, 19, // (Subtarget->hasComplxNum()) && (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207641*/        OPC_EmitInteger, MVT::i32, 1, 
/*207644*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv8f16), 0,
                      MVT::v8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 456:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, 1:{ *:[i32] })
/*207653*/      /*SwitchType*/ 19, MVT::v2f32,// ->207674
/*207655*/        OPC_CheckChild1Type, MVT::v2f32,
/*207657*/        OPC_RecordChild2, // #1 = $Rm
/*207658*/        OPC_CheckChild2Type, MVT::v2f32,
/*207660*/        OPC_CheckPatternPredicate, 20, // (Subtarget->hasComplxNum()) && (Subtarget->hasNEON())
/*207662*/        OPC_EmitInteger, MVT::i32, 1, 
/*207665*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv2f32), 0,
                      MVT::v2f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 456:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm, 1:{ *:[i32] })
/*207674*/      /*SwitchType*/ 19, MVT::v4f32,// ->207695
/*207676*/        OPC_CheckChild1Type, MVT::v4f32,
/*207678*/        OPC_RecordChild2, // #1 = $Rm
/*207679*/        OPC_CheckChild2Type, MVT::v4f32,
/*207681*/        OPC_CheckPatternPredicate, 20, // (Subtarget->hasComplxNum()) && (Subtarget->hasNEON())
/*207683*/        OPC_EmitInteger, MVT::i32, 1, 
/*207686*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv4f32), 0,
                      MVT::v4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 456:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, 1:{ *:[i32] })
/*207695*/      /*SwitchType*/ 19, MVT::v2f64,// ->207716
/*207697*/        OPC_CheckChild1Type, MVT::v2f64,
/*207699*/        OPC_RecordChild2, // #1 = $Rm
/*207700*/        OPC_CheckChild2Type, MVT::v2f64,
/*207702*/        OPC_CheckPatternPredicate, 20, // (Subtarget->hasComplxNum()) && (Subtarget->hasNEON())
/*207704*/        OPC_EmitInteger, MVT::i32, 1, 
/*207707*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCADDv2f64), 0,
                      MVT::v2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 456:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FCADDv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, 1:{ *:[i32] })
/*207716*/      0, // EndSwitchType
/*207717*/    /*Scope*/ 17, /*->207735*/
/*207718*/      OPC_CheckChild0Integer, 69|128,2/*325*/, 
/*207721*/      OPC_RecordChild1, // #0 = $Rn
/*207722*/      OPC_CheckChild1Type, MVT::v2f64,
/*207724*/      OPC_CheckType, MVT::v2f32,
/*207726*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*207728*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTXNv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (intrinsic_wo_chain:{ *:[v2f32] } 325:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn) - Complexity = 8
                // Dst: (FCVTXNv2f32:{ *:[v2f32] } V128:{ *:[v2f64] }:$Rn)
/*207735*/    /*Scope*/ 106, /*->207842*/
/*207736*/      OPC_CheckChild0Integer, 56|128,2/*312*/, 
/*207739*/      OPC_RecordChild1, // #0 = $Rn
/*207740*/      OPC_SwitchType /*6 cases */, 15, MVT::v4f16,// ->207758
/*207743*/        OPC_CheckChild1Type, MVT::v4f16,
/*207745*/        OPC_RecordChild2, // #1 = $Rm
/*207746*/        OPC_CheckChild2Type, MVT::v4f16,
/*207748*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207750*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 312:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FABDv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*207758*/      /*SwitchType*/ 15, MVT::v8f16,// ->207775
/*207760*/        OPC_CheckChild1Type, MVT::v8f16,
/*207762*/        OPC_RecordChild2, // #1 = $Rm
/*207763*/        OPC_CheckChild2Type, MVT::v8f16,
/*207765*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207767*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 312:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FABDv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*207775*/      /*SwitchType*/ 15, MVT::v2f32,// ->207792
/*207777*/        OPC_CheckChild1Type, MVT::v2f32,
/*207779*/        OPC_RecordChild2, // #1 = $Rm
/*207780*/        OPC_CheckChild2Type, MVT::v2f32,
/*207782*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*207784*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 312:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FABDv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*207792*/      /*SwitchType*/ 15, MVT::v4f32,// ->207809
/*207794*/        OPC_CheckChild1Type, MVT::v4f32,
/*207796*/        OPC_RecordChild2, // #1 = $Rm
/*207797*/        OPC_CheckChild2Type, MVT::v4f32,
/*207799*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*207801*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 312:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FABDv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*207809*/      /*SwitchType*/ 15, MVT::v2f64,// ->207826
/*207811*/        OPC_CheckChild1Type, MVT::v2f64,
/*207813*/        OPC_RecordChild2, // #1 = $Rm
/*207814*/        OPC_CheckChild2Type, MVT::v2f64,
/*207816*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*207818*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 312:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FABDv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*207826*/      /*SwitchType*/ 13, MVT::v1f64,// ->207841
/*207828*/        OPC_CheckChild1Type, MVT::v1f64,
/*207830*/        OPC_RecordChild2, // #1 = $Rm
/*207831*/        OPC_CheckChild2Type, MVT::v1f64,
/*207833*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD64), 0,
                      MVT::v1f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v1f64] } 312:{ *:[iPTR] }, FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 8
                  // Dst: (FABD64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*207841*/      0, // EndSwitchType
/*207842*/    /*Scope*/ 91, /*->207934*/
/*207843*/      OPC_CheckChild0Integer, 59|128,2/*315*/, 
/*207846*/      OPC_RecordChild1, // #0 = $Rn
/*207847*/      OPC_SwitchType /*5 cases */, 15, MVT::v4f16,// ->207865
/*207850*/        OPC_CheckChild1Type, MVT::v4f16,
/*207852*/        OPC_RecordChild2, // #1 = $Rm
/*207853*/        OPC_CheckChild2Type, MVT::v4f16,
/*207855*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207857*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 315:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FADDPv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*207865*/      /*SwitchType*/ 15, MVT::v8f16,// ->207882
/*207867*/        OPC_CheckChild1Type, MVT::v8f16,
/*207869*/        OPC_RecordChild2, // #1 = $Rm
/*207870*/        OPC_CheckChild2Type, MVT::v8f16,
/*207872*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207874*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 315:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FADDPv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*207882*/      /*SwitchType*/ 15, MVT::v2f32,// ->207899
/*207884*/        OPC_CheckChild1Type, MVT::v2f32,
/*207886*/        OPC_RecordChild2, // #1 = $Rm
/*207887*/        OPC_CheckChild2Type, MVT::v2f32,
/*207889*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*207891*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 315:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FADDPv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*207899*/      /*SwitchType*/ 15, MVT::v4f32,// ->207916
/*207901*/        OPC_CheckChild1Type, MVT::v4f32,
/*207903*/        OPC_RecordChild2, // #1 = $Rm
/*207904*/        OPC_CheckChild2Type, MVT::v4f32,
/*207906*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*207908*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 315:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FADDPv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*207916*/      /*SwitchType*/ 15, MVT::v2f64,// ->207933
/*207918*/        OPC_CheckChild1Type, MVT::v2f64,
/*207920*/        OPC_RecordChild2, // #1 = $Rm
/*207921*/        OPC_CheckChild2Type, MVT::v2f64,
/*207923*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*207925*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 315:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FADDPv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*207933*/      0, // EndSwitchType
/*207934*/    /*Scope*/ 91, /*->208026*/
/*207935*/      OPC_CheckChild0Integer, 74|128,2/*330*/, 
/*207938*/      OPC_RecordChild1, // #0 = $Rn
/*207939*/      OPC_SwitchType /*5 cases */, 15, MVT::v4f16,// ->207957
/*207942*/        OPC_CheckChild1Type, MVT::v4f16,
/*207944*/        OPC_RecordChild2, // #1 = $Rm
/*207945*/        OPC_CheckChild2Type, MVT::v4f16,
/*207947*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207949*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMPv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 330:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FMAXNMPv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*207957*/      /*SwitchType*/ 15, MVT::v8f16,// ->207974
/*207959*/        OPC_CheckChild1Type, MVT::v8f16,
/*207961*/        OPC_RecordChild2, // #1 = $Rm
/*207962*/        OPC_CheckChild2Type, MVT::v8f16,
/*207964*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*207966*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMPv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 330:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FMAXNMPv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*207974*/      /*SwitchType*/ 15, MVT::v2f32,// ->207991
/*207976*/        OPC_CheckChild1Type, MVT::v2f32,
/*207978*/        OPC_RecordChild2, // #1 = $Rm
/*207979*/        OPC_CheckChild2Type, MVT::v2f32,
/*207981*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*207983*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMPv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 330:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FMAXNMPv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*207991*/      /*SwitchType*/ 15, MVT::v4f32,// ->208008
/*207993*/        OPC_CheckChild1Type, MVT::v4f32,
/*207995*/        OPC_RecordChild2, // #1 = $Rm
/*207996*/        OPC_CheckChild2Type, MVT::v4f32,
/*207998*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208000*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMPv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 330:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FMAXNMPv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*208008*/      /*SwitchType*/ 15, MVT::v2f64,// ->208025
/*208010*/        OPC_CheckChild1Type, MVT::v2f64,
/*208012*/        OPC_RecordChild2, // #1 = $Rm
/*208013*/        OPC_CheckChild2Type, MVT::v2f64,
/*208015*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208017*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMPv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 330:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FMAXNMPv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*208025*/      0, // EndSwitchType
/*208026*/    /*Scope*/ 91, /*->208118*/
/*208027*/      OPC_CheckChild0Integer, 76|128,2/*332*/, 
/*208030*/      OPC_RecordChild1, // #0 = $Rn
/*208031*/      OPC_SwitchType /*5 cases */, 15, MVT::v4f16,// ->208049
/*208034*/        OPC_CheckChild1Type, MVT::v4f16,
/*208036*/        OPC_RecordChild2, // #1 = $Rm
/*208037*/        OPC_CheckChild2Type, MVT::v4f16,
/*208039*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*208041*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXPv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 332:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FMAXPv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*208049*/      /*SwitchType*/ 15, MVT::v8f16,// ->208066
/*208051*/        OPC_CheckChild1Type, MVT::v8f16,
/*208053*/        OPC_RecordChild2, // #1 = $Rm
/*208054*/        OPC_CheckChild2Type, MVT::v8f16,
/*208056*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*208058*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXPv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 332:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FMAXPv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*208066*/      /*SwitchType*/ 15, MVT::v2f32,// ->208083
/*208068*/        OPC_CheckChild1Type, MVT::v2f32,
/*208070*/        OPC_RecordChild2, // #1 = $Rm
/*208071*/        OPC_CheckChild2Type, MVT::v2f32,
/*208073*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208075*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXPv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 332:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FMAXPv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*208083*/      /*SwitchType*/ 15, MVT::v4f32,// ->208100
/*208085*/        OPC_CheckChild1Type, MVT::v4f32,
/*208087*/        OPC_RecordChild2, // #1 = $Rm
/*208088*/        OPC_CheckChild2Type, MVT::v4f32,
/*208090*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208092*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXPv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 332:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FMAXPv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*208100*/      /*SwitchType*/ 15, MVT::v2f64,// ->208117
/*208102*/        OPC_CheckChild1Type, MVT::v2f64,
/*208104*/        OPC_RecordChild2, // #1 = $Rm
/*208105*/        OPC_CheckChild2Type, MVT::v2f64,
/*208107*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208109*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXPv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 332:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FMAXPv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*208117*/      0, // EndSwitchType
/*208118*/    /*Scope*/ 91, /*->208210*/
/*208119*/      OPC_CheckChild0Integer, 80|128,2/*336*/, 
/*208122*/      OPC_RecordChild1, // #0 = $Rn
/*208123*/      OPC_SwitchType /*5 cases */, 15, MVT::v4f16,// ->208141
/*208126*/        OPC_CheckChild1Type, MVT::v4f16,
/*208128*/        OPC_RecordChild2, // #1 = $Rm
/*208129*/        OPC_CheckChild2Type, MVT::v4f16,
/*208131*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*208133*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMPv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 336:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FMINNMPv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*208141*/      /*SwitchType*/ 15, MVT::v8f16,// ->208158
/*208143*/        OPC_CheckChild1Type, MVT::v8f16,
/*208145*/        OPC_RecordChild2, // #1 = $Rm
/*208146*/        OPC_CheckChild2Type, MVT::v8f16,
/*208148*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*208150*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMPv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 336:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FMINNMPv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*208158*/      /*SwitchType*/ 15, MVT::v2f32,// ->208175
/*208160*/        OPC_CheckChild1Type, MVT::v2f32,
/*208162*/        OPC_RecordChild2, // #1 = $Rm
/*208163*/        OPC_CheckChild2Type, MVT::v2f32,
/*208165*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208167*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMPv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 336:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FMINNMPv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*208175*/      /*SwitchType*/ 15, MVT::v4f32,// ->208192
/*208177*/        OPC_CheckChild1Type, MVT::v4f32,
/*208179*/        OPC_RecordChild2, // #1 = $Rm
/*208180*/        OPC_CheckChild2Type, MVT::v4f32,
/*208182*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208184*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMPv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 336:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FMINNMPv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*208192*/      /*SwitchType*/ 15, MVT::v2f64,// ->208209
/*208194*/        OPC_CheckChild1Type, MVT::v2f64,
/*208196*/        OPC_RecordChild2, // #1 = $Rm
/*208197*/        OPC_CheckChild2Type, MVT::v2f64,
/*208199*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208201*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMPv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 336:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FMINNMPv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*208209*/      0, // EndSwitchType
/*208210*/    /*Scope*/ 91, /*->208302*/
/*208211*/      OPC_CheckChild0Integer, 82|128,2/*338*/, 
/*208214*/      OPC_RecordChild1, // #0 = $Rn
/*208215*/      OPC_SwitchType /*5 cases */, 15, MVT::v4f16,// ->208233
/*208218*/        OPC_CheckChild1Type, MVT::v4f16,
/*208220*/        OPC_RecordChild2, // #1 = $Rm
/*208221*/        OPC_CheckChild2Type, MVT::v4f16,
/*208223*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*208225*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINPv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f16] } 338:{ *:[iPTR] }, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 8
                  // Dst: (FMINPv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*208233*/      /*SwitchType*/ 15, MVT::v8f16,// ->208250
/*208235*/        OPC_CheckChild1Type, MVT::v8f16,
/*208237*/        OPC_RecordChild2, // #1 = $Rm
/*208238*/        OPC_CheckChild2Type, MVT::v8f16,
/*208240*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*208242*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINPv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v8f16] } 338:{ *:[iPTR] }, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 8
                  // Dst: (FMINPv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*208250*/      /*SwitchType*/ 15, MVT::v2f32,// ->208267
/*208252*/        OPC_CheckChild1Type, MVT::v2f32,
/*208254*/        OPC_RecordChild2, // #1 = $Rm
/*208255*/        OPC_CheckChild2Type, MVT::v2f32,
/*208257*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208259*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINPv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f32] } 338:{ *:[iPTR] }, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 8
                  // Dst: (FMINPv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*208267*/      /*SwitchType*/ 15, MVT::v4f32,// ->208284
/*208269*/        OPC_CheckChild1Type, MVT::v4f32,
/*208271*/        OPC_RecordChild2, // #1 = $Rm
/*208272*/        OPC_CheckChild2Type, MVT::v4f32,
/*208274*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208276*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINPv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v4f32] } 338:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 8
                  // Dst: (FMINPv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*208284*/      /*SwitchType*/ 15, MVT::v2f64,// ->208301
/*208286*/        OPC_CheckChild1Type, MVT::v2f64,
/*208288*/        OPC_RecordChild2, // #1 = $Rm
/*208289*/        OPC_CheckChild2Type, MVT::v2f64,
/*208291*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*208293*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINPv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[v2f64] } 338:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 8
                  // Dst: (FMINPv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*208301*/      0, // EndSwitchType
/*208302*/    /*Scope*/ 69, /*->208372*/
/*208303*/      OPC_CheckChild0Integer, 15|128,4/*527*/, 
/*208306*/      OPC_RecordChild1, // #0 = $Op1
/*208307*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208329
/*208310*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*208312*/        OPC_RecordChild2, // #1 = $Op2
/*208313*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*208315*/        OPC_RecordChild3, // #2 = $Op3
/*208316*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208318*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208320*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABS_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 527:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FABS_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208329*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->208350
/*208331*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*208333*/        OPC_RecordChild2, // #1 = $Op2
/*208334*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*208336*/        OPC_RecordChild3, // #2 = $Op3
/*208337*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208339*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208341*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABS_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 527:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FABS_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*208350*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->208371
/*208352*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*208354*/        OPC_RecordChild2, // #1 = $Op2
/*208355*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*208357*/        OPC_RecordChild3, // #2 = $Op3
/*208358*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*208360*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208362*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABS_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 527:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FABS_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*208371*/      0, // EndSwitchType
/*208372*/    /*Scope*/ 69, /*->208442*/
/*208373*/      OPC_CheckChild0Integer, 86|128,4/*598*/, 
/*208376*/      OPC_RecordChild1, // #0 = $Op1
/*208377*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208399
/*208380*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*208382*/        OPC_RecordChild2, // #1 = $Op2
/*208383*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*208385*/        OPC_RecordChild3, // #2 = $Op3
/*208386*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208388*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208390*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEG_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 598:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FNEG_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208399*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->208420
/*208401*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*208403*/        OPC_RecordChild2, // #1 = $Op2
/*208404*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*208406*/        OPC_RecordChild3, // #2 = $Op3
/*208407*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208409*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208411*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEG_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 598:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FNEG_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*208420*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->208441
/*208422*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*208424*/        OPC_RecordChild2, // #1 = $Op2
/*208425*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*208427*/        OPC_RecordChild3, // #2 = $Op3
/*208428*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*208430*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208432*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEG_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 598:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FNEG_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*208441*/      0, // EndSwitchType
/*208442*/    /*Scope*/ 45, /*->208488*/
/*208443*/      OPC_CheckChild0Integer, 91|128,4/*603*/, 
/*208446*/      OPC_RecordChild1, // #0 = $Op1
/*208447*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv8f16,// ->208461
/*208450*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*208452*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208454*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPE_ZZ_H), 0,
                      MVT::nxv8f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 603:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1) - Complexity = 8
                  // Dst: (FRECPE_ZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1)
/*208461*/      /*SwitchType*/ 11, MVT::nxv4f32,// ->208474
/*208463*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*208465*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208467*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPE_ZZ_S), 0,
                      MVT::nxv4f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 603:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1) - Complexity = 8
                  // Dst: (FRECPE_ZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1)
/*208474*/      /*SwitchType*/ 11, MVT::nxv2f64,// ->208487
/*208476*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*208478*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208480*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPE_ZZ_D), 0,
                      MVT::nxv2f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 603:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1) - Complexity = 8
                  // Dst: (FRECPE_ZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1)
/*208487*/      0, // EndSwitchType
/*208488*/    /*Scope*/ 45, /*->208534*/
/*208489*/      OPC_CheckChild0Integer, 101|128,4/*613*/, 
/*208492*/      OPC_RecordChild1, // #0 = $Op1
/*208493*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv8f16,// ->208507
/*208496*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*208498*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208500*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTE_ZZ_H), 0,
                      MVT::nxv8f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 613:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1) - Complexity = 8
                  // Dst: (FRSQRTE_ZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1)
/*208507*/      /*SwitchType*/ 11, MVT::nxv4f32,// ->208520
/*208509*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*208511*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208513*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTE_ZZ_S), 0,
                      MVT::nxv4f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 613:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1) - Complexity = 8
                  // Dst: (FRSQRTE_ZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1)
/*208520*/      /*SwitchType*/ 11, MVT::nxv2f64,// ->208533
/*208522*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*208524*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208526*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTE_ZZ_D), 0,
                      MVT::nxv2f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 613:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1) - Complexity = 8
                  // Dst: (FRSQRTE_ZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1)
/*208533*/      0, // EndSwitchType
/*208534*/    /*Scope*/ 69, /*->208604*/
/*208535*/      OPC_CheckChild0Integer, 18|128,4/*530*/, 
/*208538*/      OPC_RecordChild1, // #0 = $Op1
/*208539*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208561
/*208542*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*208544*/        OPC_RecordChild2, // #1 = $Op2
/*208545*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*208547*/        OPC_RecordChild3, // #2 = $Op3
/*208548*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208550*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208552*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADD_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 530:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FADD_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208561*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->208582
/*208563*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*208565*/        OPC_RecordChild2, // #1 = $Op2
/*208566*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*208568*/        OPC_RecordChild3, // #2 = $Op3
/*208569*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208571*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208573*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADD_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 530:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FADD_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*208582*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->208603
/*208584*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*208586*/        OPC_RecordChild2, // #1 = $Op2
/*208587*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*208589*/        OPC_RecordChild3, // #2 = $Op3
/*208590*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*208592*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208594*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADD_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 530:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FADD_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*208603*/      0, // EndSwitchType
/*208604*/    /*Scope*/ 69, /*->208674*/
/*208605*/      OPC_CheckChild0Integer, 105|128,4/*617*/, 
/*208608*/      OPC_RecordChild1, // #0 = $Op1
/*208609*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208631
/*208612*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*208614*/        OPC_RecordChild2, // #1 = $Op2
/*208615*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*208617*/        OPC_RecordChild3, // #2 = $Op3
/*208618*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208620*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208622*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUB_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 617:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FSUB_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208631*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->208652
/*208633*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*208635*/        OPC_RecordChild2, // #1 = $Op2
/*208636*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*208638*/        OPC_RecordChild3, // #2 = $Op3
/*208639*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208641*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208643*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUB_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 617:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FSUB_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*208652*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->208673
/*208654*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*208656*/        OPC_RecordChild2, // #1 = $Op2
/*208657*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*208659*/        OPC_RecordChild3, // #2 = $Op3
/*208660*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*208662*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208664*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUB_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 617:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FSUB_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*208673*/      0, // EndSwitchType
/*208674*/    /*Scope*/ 69, /*->208744*/
/*208675*/      OPC_CheckChild0Integer, 83|128,4/*595*/, 
/*208678*/      OPC_RecordChild1, // #0 = $Op1
/*208679*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208701
/*208682*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*208684*/        OPC_RecordChild2, // #1 = $Op2
/*208685*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*208687*/        OPC_RecordChild3, // #2 = $Op3
/*208688*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208690*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208692*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 595:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMUL_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208701*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->208722
/*208703*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*208705*/        OPC_RecordChild2, // #1 = $Op2
/*208706*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*208708*/        OPC_RecordChild3, // #2 = $Op3
/*208709*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208711*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208713*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 595:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMUL_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*208722*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->208743
/*208724*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*208726*/        OPC_RecordChild2, // #1 = $Op2
/*208727*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*208729*/        OPC_RecordChild3, // #2 = $Op3
/*208730*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*208732*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208734*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 595:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMUL_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*208743*/      0, // EndSwitchType
/*208744*/    /*Scope*/ 69, /*->208814*/
/*208745*/      OPC_CheckChild0Integer, 106|128,4/*618*/, 
/*208748*/      OPC_RecordChild1, // #0 = $Op1
/*208749*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208771
/*208752*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*208754*/        OPC_RecordChild2, // #1 = $Op2
/*208755*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*208757*/        OPC_RecordChild3, // #2 = $Op3
/*208758*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208760*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208762*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBR_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 618:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FSUBR_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208771*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->208792
/*208773*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*208775*/        OPC_RecordChild2, // #1 = $Op2
/*208776*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*208778*/        OPC_RecordChild3, // #2 = $Op3
/*208779*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208781*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208783*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBR_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 618:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FSUBR_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*208792*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->208813
/*208794*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*208796*/        OPC_RecordChild2, // #1 = $Op2
/*208797*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*208799*/        OPC_RecordChild3, // #2 = $Op3
/*208800*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*208802*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208804*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBR_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 618:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FSUBR_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*208813*/      0, // EndSwitchType
/*208814*/    /*Scope*/ 69, /*->208884*/
/*208815*/      OPC_CheckChild0Integer, 59|128,4/*571*/, 
/*208818*/      OPC_RecordChild1, // #0 = $Op1
/*208819*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208841
/*208822*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*208824*/        OPC_RecordChild2, // #1 = $Op2
/*208825*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*208827*/        OPC_RecordChild3, // #2 = $Op3
/*208828*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208830*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208832*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNM_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 571:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMAXNM_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208841*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->208862
/*208843*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*208845*/        OPC_RecordChild2, // #1 = $Op2
/*208846*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*208848*/        OPC_RecordChild3, // #2 = $Op3
/*208849*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208851*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208853*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNM_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 571:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMAXNM_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*208862*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->208883
/*208864*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*208866*/        OPC_RecordChild2, // #1 = $Op2
/*208867*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*208869*/        OPC_RecordChild3, // #2 = $Op3
/*208870*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*208872*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208874*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNM_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 571:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMAXNM_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*208883*/      0, // EndSwitchType
/*208884*/    /*Scope*/ 69, /*->208954*/
/*208885*/      OPC_CheckChild0Integer, 65|128,4/*577*/, 
/*208888*/      OPC_RecordChild1, // #0 = $Op1
/*208889*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208911
/*208892*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*208894*/        OPC_RecordChild2, // #1 = $Op2
/*208895*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*208897*/        OPC_RecordChild3, // #2 = $Op3
/*208898*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208900*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208902*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNM_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 577:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMINNM_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208911*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->208932
/*208913*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*208915*/        OPC_RecordChild2, // #1 = $Op2
/*208916*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*208918*/        OPC_RecordChild3, // #2 = $Op3
/*208919*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208921*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208923*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNM_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 577:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMINNM_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*208932*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->208953
/*208934*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*208936*/        OPC_RecordChild2, // #1 = $Op2
/*208937*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*208939*/        OPC_RecordChild3, // #2 = $Op3
/*208940*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*208942*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208944*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNM_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 577:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMINNM_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*208953*/      0, // EndSwitchType
/*208954*/    /*Scope*/ 69, /*->209024*/
/*208955*/      OPC_CheckChild0Integer, 58|128,4/*570*/, 
/*208958*/      OPC_RecordChild1, // #0 = $Op1
/*208959*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->208981
/*208962*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*208964*/        OPC_RecordChild2, // #1 = $Op2
/*208965*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*208967*/        OPC_RecordChild3, // #2 = $Op3
/*208968*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*208970*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208972*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAX_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 570:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMAX_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*208981*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->209002
/*208983*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*208985*/        OPC_RecordChild2, // #1 = $Op2
/*208986*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*208988*/        OPC_RecordChild3, // #2 = $Op3
/*208989*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*208991*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*208993*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAX_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 570:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMAX_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*209002*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->209023
/*209004*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209006*/        OPC_RecordChild2, // #1 = $Op2
/*209007*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209009*/        OPC_RecordChild3, // #2 = $Op3
/*209010*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209012*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209014*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAX_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 570:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMAX_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*209023*/      0, // EndSwitchType
/*209024*/    /*Scope*/ 69, /*->209094*/
/*209025*/      OPC_CheckChild0Integer, 64|128,4/*576*/, 
/*209028*/      OPC_RecordChild1, // #0 = $Op1
/*209029*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->209051
/*209032*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209034*/        OPC_RecordChild2, // #1 = $Op2
/*209035*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209037*/        OPC_RecordChild3, // #2 = $Op3
/*209038*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209040*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209042*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMIN_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 576:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMIN_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*209051*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->209072
/*209053*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209055*/        OPC_RecordChild2, // #1 = $Op2
/*209056*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209058*/        OPC_RecordChild3, // #2 = $Op3
/*209059*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209061*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209063*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMIN_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 576:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMIN_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*209072*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->209093
/*209074*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209076*/        OPC_RecordChild2, // #1 = $Op2
/*209077*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209079*/        OPC_RecordChild3, // #2 = $Op3
/*209080*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209082*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209084*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMIN_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 576:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMIN_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*209093*/      0, // EndSwitchType
/*209094*/    /*Scope*/ 69, /*->209164*/
/*209095*/      OPC_CheckChild0Integer, 14|128,4/*526*/, 
/*209098*/      OPC_RecordChild1, // #0 = $Op1
/*209099*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->209121
/*209102*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209104*/        OPC_RecordChild2, // #1 = $Op2
/*209105*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209107*/        OPC_RecordChild3, // #2 = $Op3
/*209108*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209110*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209112*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 526:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FABD_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*209121*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->209142
/*209123*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209125*/        OPC_RecordChild2, // #1 = $Op2
/*209126*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209128*/        OPC_RecordChild3, // #2 = $Op3
/*209129*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209131*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209133*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 526:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FABD_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*209142*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->209163
/*209144*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209146*/        OPC_RecordChild2, // #1 = $Op2
/*209147*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209149*/        OPC_RecordChild3, // #2 = $Op3
/*209150*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209152*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209154*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 526:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FABD_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*209163*/      0, // EndSwitchType
/*209164*/    /*Scope*/ 69, /*->209234*/
/*209165*/      OPC_CheckChild0Integer, 103|128,4/*615*/, 
/*209168*/      OPC_RecordChild1, // #0 = $Op1
/*209169*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->209191
/*209172*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209174*/        OPC_RecordChild2, // #1 = $Op2
/*209175*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209177*/        OPC_RecordChild3, // #2 = $Op3
/*209178*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*209180*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209182*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSCALE_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 615:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (FSCALE_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*209191*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->209212
/*209193*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209195*/        OPC_RecordChild2, // #1 = $Op2
/*209196*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209198*/        OPC_RecordChild3, // #2 = $Op3
/*209199*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*209201*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209203*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSCALE_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 615:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (FSCALE_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*209212*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->209233
/*209214*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209216*/        OPC_RecordChild2, // #1 = $Op2
/*209217*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209219*/        OPC_RecordChild3, // #2 = $Op3
/*209220*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*209222*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209224*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSCALE_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 615:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (FSCALE_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*209233*/      0, // EndSwitchType
/*209234*/    /*Scope*/ 69, /*->209304*/
/*209235*/      OPC_CheckChild0Integer, 85|128,4/*597*/, 
/*209238*/      OPC_RecordChild1, // #0 = $Op1
/*209239*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->209261
/*209242*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209244*/        OPC_RecordChild2, // #1 = $Op2
/*209245*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209247*/        OPC_RecordChild3, // #2 = $Op3
/*209248*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209250*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209252*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULX_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 597:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMULX_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*209261*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->209282
/*209263*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209265*/        OPC_RecordChild2, // #1 = $Op2
/*209266*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209268*/        OPC_RecordChild3, // #2 = $Op3
/*209269*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209271*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209273*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULX_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 597:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMULX_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*209282*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->209303
/*209284*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209286*/        OPC_RecordChild2, // #1 = $Op2
/*209287*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209289*/        OPC_RecordChild3, // #2 = $Op3
/*209290*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209292*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209294*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULX_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 597:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMULX_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*209303*/      0, // EndSwitchType
/*209304*/    /*Scope*/ 69, /*->209374*/
/*209305*/      OPC_CheckChild0Integer, 54|128,4/*566*/, 
/*209308*/      OPC_RecordChild1, // #0 = $Op1
/*209309*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->209331
/*209312*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209314*/        OPC_RecordChild2, // #1 = $Op2
/*209315*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209317*/        OPC_RecordChild3, // #2 = $Op3
/*209318*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209320*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209322*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVR_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 566:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FDIVR_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*209331*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->209352
/*209333*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209335*/        OPC_RecordChild2, // #1 = $Op2
/*209336*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209338*/        OPC_RecordChild3, // #2 = $Op3
/*209339*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209341*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209343*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVR_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 566:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FDIVR_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*209352*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->209373
/*209354*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209356*/        OPC_RecordChild2, // #1 = $Op2
/*209357*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209359*/        OPC_RecordChild3, // #2 = $Op3
/*209360*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209362*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209364*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVR_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 566:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FDIVR_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*209373*/      0, // EndSwitchType
/*209374*/    /*Scope*/ 69, /*->209444*/
/*209375*/      OPC_CheckChild0Integer, 53|128,4/*565*/, 
/*209378*/      OPC_RecordChild1, // #0 = $Op1
/*209379*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->209401
/*209382*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209384*/        OPC_RecordChild2, // #1 = $Op2
/*209385*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209387*/        OPC_RecordChild3, // #2 = $Op3
/*209388*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209390*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209392*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIV_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 565:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FDIV_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*209401*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->209422
/*209403*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209405*/        OPC_RecordChild2, // #1 = $Op2
/*209406*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209408*/        OPC_RecordChild3, // #2 = $Op3
/*209409*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209411*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209413*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIV_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 565:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FDIV_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*209422*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->209443
/*209424*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209426*/        OPC_RecordChild2, // #1 = $Op2
/*209427*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209429*/        OPC_RecordChild3, // #2 = $Op3
/*209430*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209432*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209434*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIV_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 565:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FDIV_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*209443*/      0, // EndSwitchType
/*209444*/    /*Scope*/ 57, /*->209502*/
/*209445*/      OPC_CheckChild0Integer, 108|128,4/*620*/, 
/*209448*/      OPC_RecordChild1, // #0 = $Op1
/*209449*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv8f16,// ->209467
/*209452*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*209454*/        OPC_RecordChild2, // #1 = $Op2
/*209455*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*209457*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209459*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTSMUL_ZZZ_H), 0,
                      MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 620:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (FTSMUL_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*209467*/      /*SwitchType*/ 15, MVT::nxv4f32,// ->209484
/*209469*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*209471*/        OPC_RecordChild2, // #1 = $Op2
/*209472*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*209474*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209476*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTSMUL_ZZZ_S), 0,
                      MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 620:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (FTSMUL_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*209484*/      /*SwitchType*/ 15, MVT::nxv2f64,// ->209501
/*209486*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*209488*/        OPC_RecordChild2, // #1 = $Op2
/*209489*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*209491*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209493*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTSMUL_ZZZ_D), 0,
                      MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 620:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (FTSMUL_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*209501*/      0, // EndSwitchType
/*209502*/    /*Scope*/ 57, /*->209560*/
/*209503*/      OPC_CheckChild0Integer, 92|128,4/*604*/, 
/*209506*/      OPC_RecordChild1, // #0 = $Op1
/*209507*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv8f16,// ->209525
/*209510*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*209512*/        OPC_RecordChild2, // #1 = $Op2
/*209513*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209515*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209517*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS_ZZZ_H), 0,
                      MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 604:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 8
                  // Dst: (FRECPS_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*209525*/      /*SwitchType*/ 15, MVT::nxv4f32,// ->209542
/*209527*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*209529*/        OPC_RecordChild2, // #1 = $Op2
/*209530*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209532*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209534*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS_ZZZ_S), 0,
                      MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 604:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 8
                  // Dst: (FRECPS_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*209542*/      /*SwitchType*/ 15, MVT::nxv2f64,// ->209559
/*209544*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*209546*/        OPC_RecordChild2, // #1 = $Op2
/*209547*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209549*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209551*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS_ZZZ_D), 0,
                      MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 604:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 8
                  // Dst: (FRECPS_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*209559*/      0, // EndSwitchType
/*209560*/    /*Scope*/ 57, /*->209618*/
/*209561*/      OPC_CheckChild0Integer, 102|128,4/*614*/, 
/*209564*/      OPC_RecordChild1, // #0 = $Op1
/*209565*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv8f16,// ->209583
/*209568*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*209570*/        OPC_RecordChild2, // #1 = $Op2
/*209571*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209573*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209575*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS_ZZZ_H), 0,
                      MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 614:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 8
                  // Dst: (FRSQRTS_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*209583*/      /*SwitchType*/ 15, MVT::nxv4f32,// ->209600
/*209585*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*209587*/        OPC_RecordChild2, // #1 = $Op2
/*209588*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209590*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209592*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS_ZZZ_S), 0,
                      MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 614:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 8
                  // Dst: (FRSQRTS_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*209600*/      /*SwitchType*/ 15, MVT::nxv2f64,// ->209617
/*209602*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*209604*/        OPC_RecordChild2, // #1 = $Op2
/*209605*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209607*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209609*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS_ZZZ_D), 0,
                      MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 614:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 8
                  // Dst: (FRSQRTS_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*209617*/      0, // EndSwitchType
/*209618*/    /*Scope*/ 57, /*->209676*/
/*209619*/      OPC_CheckChild0Integer, 109|128,4/*621*/, 
/*209622*/      OPC_RecordChild1, // #0 = $Op1
/*209623*/      OPC_SwitchType /*3 cases */, 15, MVT::nxv8f16,// ->209641
/*209626*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*209628*/        OPC_RecordChild2, // #1 = $Op2
/*209629*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*209631*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209633*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTSSEL_ZZZ_H), 0,
                      MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 621:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 8
                  // Dst: (FTSSEL_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*209641*/      /*SwitchType*/ 15, MVT::nxv4f32,// ->209658
/*209643*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*209645*/        OPC_RecordChild2, // #1 = $Op2
/*209646*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*209648*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209650*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTSSEL_ZZZ_S), 0,
                      MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 621:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 8
                  // Dst: (FTSSEL_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*209658*/      /*SwitchType*/ 15, MVT::nxv2f64,// ->209675
/*209660*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*209662*/        OPC_RecordChild2, // #1 = $Op2
/*209663*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*209665*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209667*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FTSSEL_ZZZ_D), 0,
                      MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 621:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 8
                  // Dst: (FTSSEL_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*209675*/      0, // EndSwitchType
/*209676*/    /*Scope*/ 81, /*->209758*/
/*209677*/      OPC_CheckChild0Integer, 70|128,4/*582*/, 
/*209680*/      OPC_RecordChild1, // #0 = $Op1
/*209681*/      OPC_SwitchType /*3 cases */, 23, MVT::nxv8f16,// ->209707
/*209684*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209686*/        OPC_RecordChild2, // #1 = $Op2
/*209687*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209689*/        OPC_RecordChild3, // #2 = $Op3
/*209690*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209692*/        OPC_RecordChild4, // #3 = $Op4
/*209693*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*209695*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209697*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLA_ZPmZZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 582:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4) - Complexity = 8
                  // Dst: (FMLA_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4)
/*209707*/      /*SwitchType*/ 23, MVT::nxv4f32,// ->209732
/*209709*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209711*/        OPC_RecordChild2, // #1 = $Op2
/*209712*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209714*/        OPC_RecordChild3, // #2 = $Op3
/*209715*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209717*/        OPC_RecordChild4, // #3 = $Op4
/*209718*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*209720*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209722*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLA_ZPmZZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 582:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4) - Complexity = 8
                  // Dst: (FMLA_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4)
/*209732*/      /*SwitchType*/ 23, MVT::nxv2f64,// ->209757
/*209734*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209736*/        OPC_RecordChild2, // #1 = $Op2
/*209737*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209739*/        OPC_RecordChild3, // #2 = $Op3
/*209740*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209742*/        OPC_RecordChild4, // #3 = $Op4
/*209743*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*209745*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209747*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLA_ZPmZZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 582:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4) - Complexity = 8
                  // Dst: (FMLA_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4)
/*209757*/      0, // EndSwitchType
/*209758*/    /*Scope*/ 81, /*->209840*/
/*209759*/      OPC_CheckChild0Integer, 76|128,4/*588*/, 
/*209762*/      OPC_RecordChild1, // #0 = $Op1
/*209763*/      OPC_SwitchType /*3 cases */, 23, MVT::nxv8f16,// ->209789
/*209766*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209768*/        OPC_RecordChild2, // #1 = $Op2
/*209769*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209771*/        OPC_RecordChild3, // #2 = $Op3
/*209772*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209774*/        OPC_RecordChild4, // #3 = $Op4
/*209775*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*209777*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209779*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLS_ZPmZZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 588:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4) - Complexity = 8
                  // Dst: (FMLS_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4)
/*209789*/      /*SwitchType*/ 23, MVT::nxv4f32,// ->209814
/*209791*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209793*/        OPC_RecordChild2, // #1 = $Op2
/*209794*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209796*/        OPC_RecordChild3, // #2 = $Op3
/*209797*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209799*/        OPC_RecordChild4, // #3 = $Op4
/*209800*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*209802*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209804*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLS_ZPmZZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 588:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4) - Complexity = 8
                  // Dst: (FMLS_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4)
/*209814*/      /*SwitchType*/ 23, MVT::nxv2f64,// ->209839
/*209816*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209818*/        OPC_RecordChild2, // #1 = $Op2
/*209819*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209821*/        OPC_RecordChild3, // #2 = $Op3
/*209822*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209824*/        OPC_RecordChild4, // #3 = $Op4
/*209825*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*209827*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209829*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLS_ZPmZZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 588:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4) - Complexity = 8
                  // Dst: (FMLS_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4)
/*209839*/      0, // EndSwitchType
/*209840*/    /*Scope*/ 81, /*->209922*/
/*209841*/      OPC_CheckChild0Integer, 88|128,4/*600*/, 
/*209844*/      OPC_RecordChild1, // #0 = $Op1
/*209845*/      OPC_SwitchType /*3 cases */, 23, MVT::nxv8f16,// ->209871
/*209848*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209850*/        OPC_RecordChild2, // #1 = $Op2
/*209851*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209853*/        OPC_RecordChild3, // #2 = $Op3
/*209854*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209856*/        OPC_RecordChild4, // #3 = $Op4
/*209857*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*209859*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209861*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMLA_ZPmZZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 600:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4) - Complexity = 8
                  // Dst: (FNMLA_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4)
/*209871*/      /*SwitchType*/ 23, MVT::nxv4f32,// ->209896
/*209873*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209875*/        OPC_RecordChild2, // #1 = $Op2
/*209876*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209878*/        OPC_RecordChild3, // #2 = $Op3
/*209879*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209881*/        OPC_RecordChild4, // #3 = $Op4
/*209882*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*209884*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209886*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMLA_ZPmZZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 600:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4) - Complexity = 8
                  // Dst: (FNMLA_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4)
/*209896*/      /*SwitchType*/ 23, MVT::nxv2f64,// ->209921
/*209898*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209900*/        OPC_RecordChild2, // #1 = $Op2
/*209901*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209903*/        OPC_RecordChild3, // #2 = $Op3
/*209904*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209906*/        OPC_RecordChild4, // #3 = $Op4
/*209907*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*209909*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209911*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMLA_ZPmZZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 600:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4) - Complexity = 8
                  // Dst: (FNMLA_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4)
/*209921*/      0, // EndSwitchType
/*209922*/    /*Scope*/ 81, /*->210004*/
/*209923*/      OPC_CheckChild0Integer, 89|128,4/*601*/, 
/*209926*/      OPC_RecordChild1, // #0 = $Op1
/*209927*/      OPC_SwitchType /*3 cases */, 23, MVT::nxv8f16,// ->209953
/*209930*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*209932*/        OPC_RecordChild2, // #1 = $Op2
/*209933*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*209935*/        OPC_RecordChild3, // #2 = $Op3
/*209936*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*209938*/        OPC_RecordChild4, // #3 = $Op4
/*209939*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*209941*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209943*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMLS_ZPmZZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 601:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4) - Complexity = 8
                  // Dst: (FNMLS_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4)
/*209953*/      /*SwitchType*/ 23, MVT::nxv4f32,// ->209978
/*209955*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*209957*/        OPC_RecordChild2, // #1 = $Op2
/*209958*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*209960*/        OPC_RecordChild3, // #2 = $Op3
/*209961*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*209963*/        OPC_RecordChild4, // #3 = $Op4
/*209964*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*209966*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209968*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMLS_ZPmZZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 601:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4) - Complexity = 8
                  // Dst: (FNMLS_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4)
/*209978*/      /*SwitchType*/ 23, MVT::nxv2f64,// ->210003
/*209980*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*209982*/        OPC_RecordChild2, // #1 = $Op2
/*209983*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*209985*/        OPC_RecordChild3, // #2 = $Op3
/*209986*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*209988*/        OPC_RecordChild4, // #3 = $Op4
/*209989*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*209991*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*209993*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMLS_ZPmZZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 601:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4) - Complexity = 8
                  // Dst: (FNMLS_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4)
/*210003*/      0, // EndSwitchType
/*210004*/    /*Scope*/ 81, /*->210086*/
/*210005*/      OPC_CheckChild0Integer, 57|128,4/*569*/, 
/*210008*/      OPC_RecordChild1, // #0 = $Op1
/*210009*/      OPC_SwitchType /*3 cases */, 23, MVT::nxv8f16,// ->210035
/*210012*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*210014*/        OPC_RecordChild2, // #1 = $Op2
/*210015*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*210017*/        OPC_RecordChild3, // #2 = $Op3
/*210018*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*210020*/        OPC_RecordChild4, // #3 = $Op4
/*210021*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*210023*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210025*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAD_ZPmZZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 569:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4) - Complexity = 8
                  // Dst: (FMAD_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4)
/*210035*/      /*SwitchType*/ 23, MVT::nxv4f32,// ->210060
/*210037*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*210039*/        OPC_RecordChild2, // #1 = $Op2
/*210040*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*210042*/        OPC_RecordChild3, // #2 = $Op3
/*210043*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*210045*/        OPC_RecordChild4, // #3 = $Op4
/*210046*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*210048*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210050*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAD_ZPmZZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 569:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4) - Complexity = 8
                  // Dst: (FMAD_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4)
/*210060*/      /*SwitchType*/ 23, MVT::nxv2f64,// ->210085
/*210062*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*210064*/        OPC_RecordChild2, // #1 = $Op2
/*210065*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*210067*/        OPC_RecordChild3, // #2 = $Op3
/*210068*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*210070*/        OPC_RecordChild4, // #3 = $Op4
/*210071*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*210073*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210075*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAD_ZPmZZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 569:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4) - Complexity = 8
                  // Dst: (FMAD_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4)
/*210085*/      0, // EndSwitchType
/*210086*/    /*Scope*/ 81, /*->210168*/
/*210087*/      OPC_CheckChild0Integer, 82|128,4/*594*/, 
/*210090*/      OPC_RecordChild1, // #0 = $Op1
/*210091*/      OPC_SwitchType /*3 cases */, 23, MVT::nxv8f16,// ->210117
/*210094*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*210096*/        OPC_RecordChild2, // #1 = $Op2
/*210097*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*210099*/        OPC_RecordChild3, // #2 = $Op3
/*210100*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*210102*/        OPC_RecordChild4, // #3 = $Op4
/*210103*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*210105*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210107*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSB_ZPmZZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 594:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4) - Complexity = 8
                  // Dst: (FMSB_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4)
/*210117*/      /*SwitchType*/ 23, MVT::nxv4f32,// ->210142
/*210119*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*210121*/        OPC_RecordChild2, // #1 = $Op2
/*210122*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*210124*/        OPC_RecordChild3, // #2 = $Op3
/*210125*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*210127*/        OPC_RecordChild4, // #3 = $Op4
/*210128*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*210130*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210132*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSB_ZPmZZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 594:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4) - Complexity = 8
                  // Dst: (FMSB_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4)
/*210142*/      /*SwitchType*/ 23, MVT::nxv2f64,// ->210167
/*210144*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*210146*/        OPC_RecordChild2, // #1 = $Op2
/*210147*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*210149*/        OPC_RecordChild3, // #2 = $Op3
/*210150*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*210152*/        OPC_RecordChild4, // #3 = $Op4
/*210153*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*210155*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210157*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSB_ZPmZZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 594:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4) - Complexity = 8
                  // Dst: (FMSB_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4)
/*210167*/      0, // EndSwitchType
/*210168*/    /*Scope*/ 81, /*->210250*/
/*210169*/      OPC_CheckChild0Integer, 87|128,4/*599*/, 
/*210172*/      OPC_RecordChild1, // #0 = $Op1
/*210173*/      OPC_SwitchType /*3 cases */, 23, MVT::nxv8f16,// ->210199
/*210176*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*210178*/        OPC_RecordChild2, // #1 = $Op2
/*210179*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*210181*/        OPC_RecordChild3, // #2 = $Op3
/*210182*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*210184*/        OPC_RecordChild4, // #3 = $Op4
/*210185*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*210187*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210189*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMAD_ZPmZZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 599:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4) - Complexity = 8
                  // Dst: (FNMAD_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4)
/*210199*/      /*SwitchType*/ 23, MVT::nxv4f32,// ->210224
/*210201*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*210203*/        OPC_RecordChild2, // #1 = $Op2
/*210204*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*210206*/        OPC_RecordChild3, // #2 = $Op3
/*210207*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*210209*/        OPC_RecordChild4, // #3 = $Op4
/*210210*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*210212*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210214*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMAD_ZPmZZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 599:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4) - Complexity = 8
                  // Dst: (FNMAD_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4)
/*210224*/      /*SwitchType*/ 23, MVT::nxv2f64,// ->210249
/*210226*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*210228*/        OPC_RecordChild2, // #1 = $Op2
/*210229*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*210231*/        OPC_RecordChild3, // #2 = $Op3
/*210232*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*210234*/        OPC_RecordChild4, // #3 = $Op4
/*210235*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*210237*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210239*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMAD_ZPmZZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 599:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4) - Complexity = 8
                  // Dst: (FNMAD_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4)
/*210249*/      0, // EndSwitchType
/*210250*/    /*Scope*/ 81, /*->210332*/
/*210251*/      OPC_CheckChild0Integer, 90|128,4/*602*/, 
/*210254*/      OPC_RecordChild1, // #0 = $Op1
/*210255*/      OPC_SwitchType /*3 cases */, 23, MVT::nxv8f16,// ->210281
/*210258*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*210260*/        OPC_RecordChild2, // #1 = $Op2
/*210261*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*210263*/        OPC_RecordChild3, // #2 = $Op3
/*210264*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*210266*/        OPC_RecordChild4, // #3 = $Op4
/*210267*/        OPC_CheckChild4Type, MVT::nxv8f16,
/*210269*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210271*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMSB_ZPmZZ_H), 0,
                      MVT::nxv8f16, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 602:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3, nxv8f16:{ *:[nxv8f16] }:$Op4) - Complexity = 8
                  // Dst: (FNMSB_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3, ?:{ *:[nxv8f16] }:$Op4)
/*210281*/      /*SwitchType*/ 23, MVT::nxv4f32,// ->210306
/*210283*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*210285*/        OPC_RecordChild2, // #1 = $Op2
/*210286*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*210288*/        OPC_RecordChild3, // #2 = $Op3
/*210289*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*210291*/        OPC_RecordChild4, // #3 = $Op4
/*210292*/        OPC_CheckChild4Type, MVT::nxv4f32,
/*210294*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210296*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMSB_ZPmZZ_S), 0,
                      MVT::nxv4f32, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 602:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3, nxv4f32:{ *:[nxv4f32] }:$Op4) - Complexity = 8
                  // Dst: (FNMSB_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3, ?:{ *:[nxv4f32] }:$Op4)
/*210306*/      /*SwitchType*/ 23, MVT::nxv2f64,// ->210331
/*210308*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*210310*/        OPC_RecordChild2, // #1 = $Op2
/*210311*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*210313*/        OPC_RecordChild3, // #2 = $Op3
/*210314*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*210316*/        OPC_RecordChild4, // #3 = $Op4
/*210317*/        OPC_CheckChild4Type, MVT::nxv2f64,
/*210319*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210321*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMSB_ZPmZZ_D), 0,
                      MVT::nxv2f64, 4/*#Ops*/, 0, 1, 2, 3, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 602:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3, nxv2f64:{ *:[nxv2f64] }:$Op4) - Complexity = 8
                  // Dst: (FNMSB_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3, ?:{ *:[nxv2f64] }:$Op4)
/*210331*/      0, // EndSwitchType
/*210332*/    /*Scope*/ 45, /*->210378*/
/*210333*/      OPC_CheckChild0Integer, 55|128,4/*567*/, 
/*210336*/      OPC_RecordChild1, // #0 = $Op1
/*210337*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv8f16,// ->210351
/*210340*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*210342*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210344*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FEXPA_ZZ_H), 0,
                      MVT::nxv8f16, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 567:{ *:[iPTR] }, nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 8
                  // Dst: (FEXPA_ZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i16] }:$Op1)
/*210351*/      /*SwitchType*/ 11, MVT::nxv4f32,// ->210364
/*210353*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*210355*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210357*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FEXPA_ZZ_S), 0,
                      MVT::nxv4f32, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 567:{ *:[iPTR] }, nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 8
                  // Dst: (FEXPA_ZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i32] }:$Op1)
/*210364*/      /*SwitchType*/ 11, MVT::nxv2f64,// ->210377
/*210366*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*210368*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210370*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FEXPA_ZZ_D), 0,
                      MVT::nxv2f64, 1/*#Ops*/, 0, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 567:{ *:[iPTR] }, nxv2i64:{ *:[nxv2i64] }:$Op1) - Complexity = 8
                  // Dst: (FEXPA_ZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i64] }:$Op1)
/*210377*/      0, // EndSwitchType
/*210378*/    /*Scope*/ 17, /*->210396*/
/*210379*/      OPC_CheckChild0Integer, 31|128,4/*543*/, 
/*210382*/      OPC_RecordChild1, // #0 = $Op1
/*210383*/      OPC_RecordChild2, // #1 = $Op2
/*210384*/      OPC_RecordChild3, // #2 = $Op3
/*210385*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210387*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVT_ZPmZ_StoH), 0,
                    MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 543:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                // Dst: (FCVT_ZPmZ_StoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*210396*/    /*Scope*/ 17, /*->210414*/
/*210397*/      OPC_CheckChild0Integer, 33|128,4/*545*/, 
/*210400*/      OPC_RecordChild1, // #0 = $Op1
/*210401*/      OPC_RecordChild2, // #1 = $Op2
/*210402*/      OPC_RecordChild3, // #2 = $Op3
/*210403*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210405*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoS), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 545:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FCVT_ZPmZ_HtoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*210414*/    /*Scope*/ 69, /*->210484*/
/*210415*/      OPC_CheckChild0Integer, 31|128,5/*671*/, 
/*210418*/      OPC_RecordChild1, // #0 = $Op1
/*210419*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->210441
/*210422*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*210424*/        OPC_RecordChild2, // #1 = $Op2
/*210425*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*210427*/        OPC_RecordChild3, // #2 = $Op3
/*210428*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*210430*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210432*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTF_ZPmZ_HtoH), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 671:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (SCVTF_ZPmZ_HtoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*210441*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->210462
/*210443*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*210445*/        OPC_RecordChild2, // #1 = $Op2
/*210446*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*210448*/        OPC_RecordChild3, // #2 = $Op3
/*210449*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*210451*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210453*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoS), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 671:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (SCVTF_ZPmZ_StoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*210462*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->210483
/*210464*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*210466*/        OPC_RecordChild2, // #1 = $Op2
/*210467*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*210469*/        OPC_RecordChild3, // #2 = $Op3
/*210470*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*210472*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210474*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoD), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 671:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (SCVTF_ZPmZ_DtoD:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*210483*/      0, // EndSwitchType
/*210484*/    /*Scope*/ 69, /*->210554*/
/*210485*/      OPC_CheckChild0Integer, 110|128,5/*750*/, 
/*210488*/      OPC_RecordChild1, // #0 = $Op1
/*210489*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv4f32,// ->210511
/*210492*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*210494*/        OPC_RecordChild2, // #1 = $Op2
/*210495*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*210497*/        OPC_RecordChild3, // #2 = $Op3
/*210498*/        OPC_CheckChild3Type, MVT::nxv4i32,
/*210500*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210502*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoS), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 750:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                  // Dst: (UCVTF_ZPmZ_StoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*210511*/      /*SwitchType*/ 19, MVT::nxv8f16,// ->210532
/*210513*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*210515*/        OPC_RecordChild2, // #1 = $Op2
/*210516*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*210518*/        OPC_RecordChild3, // #2 = $Op3
/*210519*/        OPC_CheckChild3Type, MVT::nxv8i16,
/*210521*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210523*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTF_ZPmZ_HtoH), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 750:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 8
                  // Dst: (UCVTF_ZPmZ_HtoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*210532*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->210553
/*210534*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*210536*/        OPC_RecordChild2, // #1 = $Op2
/*210537*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*210539*/        OPC_RecordChild3, // #2 = $Op3
/*210540*/        OPC_CheckChild3Type, MVT::nxv2i64,
/*210542*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210544*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoD), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 750:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                  // Dst: (UCVTF_ZPmZ_DtoD:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*210553*/      0, // EndSwitchType
/*210554*/    /*Scope*/ 17, /*->210572*/
/*210555*/      OPC_CheckChild0Integer, 32|128,4/*544*/, 
/*210558*/      OPC_RecordChild1, // #0 = $Op1
/*210559*/      OPC_RecordChild2, // #1 = $Op2
/*210560*/      OPC_RecordChild3, // #2 = $Op3
/*210561*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210563*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoH), 0,
                    MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 544:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                // Dst: (FCVT_ZPmZ_DtoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*210572*/    /*Scope*/ 17, /*->210590*/
/*210573*/      OPC_CheckChild0Integer, 35|128,4/*547*/, 
/*210576*/      OPC_RecordChild1, // #0 = $Op1
/*210577*/      OPC_RecordChild2, // #1 = $Op2
/*210578*/      OPC_RecordChild3, // #2 = $Op3
/*210579*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210581*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVT_ZPmZ_HtoD), 0,
                    MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 547:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FCVT_ZPmZ_HtoD:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*210590*/    /*Scope*/ 17, /*->210608*/
/*210591*/      OPC_CheckChild0Integer, 34|128,4/*546*/, 
/*210594*/      OPC_RecordChild1, // #0 = $Op1
/*210595*/      OPC_RecordChild2, // #1 = $Op2
/*210596*/      OPC_RecordChild3, // #2 = $Op3
/*210597*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210599*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVT_ZPmZ_DtoS), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 546:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                // Dst: (FCVT_ZPmZ_DtoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*210608*/    /*Scope*/ 17, /*->210626*/
/*210609*/      OPC_CheckChild0Integer, 36|128,4/*548*/, 
/*210612*/      OPC_RecordChild1, // #0 = $Op1
/*210613*/      OPC_RecordChild2, // #1 = $Op2
/*210614*/      OPC_RecordChild3, // #2 = $Op3
/*210615*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210617*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVT_ZPmZ_StoD), 0,
                    MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 548:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                // Dst: (FCVT_ZPmZ_StoD:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*210626*/    /*Scope*/ 17, /*->210644*/
/*210627*/      OPC_CheckChild0Integer, 35|128,5/*675*/, 
/*210630*/      OPC_RecordChild1, // #0 = $Op1
/*210631*/      OPC_RecordChild2, // #1 = $Op2
/*210632*/      OPC_RecordChild3, // #2 = $Op3
/*210633*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210635*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoD), 0,
                    MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 675:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                // Dst: (SCVTF_ZPmZ_StoD:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*210644*/    /*Scope*/ 17, /*->210662*/
/*210645*/      OPC_CheckChild0Integer, 114|128,5/*754*/, 
/*210648*/      OPC_RecordChild1, // #0 = $Op1
/*210649*/      OPC_RecordChild2, // #1 = $Op2
/*210650*/      OPC_RecordChild3, // #2 = $Op3
/*210651*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210653*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoD), 0,
                    MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 754:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                // Dst: (UCVTF_ZPmZ_StoD:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*210662*/    /*Scope*/ 17, /*->210680*/
/*210663*/      OPC_CheckChild0Integer, 111|128,5/*751*/, 
/*210666*/      OPC_RecordChild1, // #0 = $Op1
/*210667*/      OPC_RecordChild2, // #1 = $Op2
/*210668*/      OPC_RecordChild3, // #2 = $Op3
/*210669*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210671*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTF_ZPmZ_StoH), 0,
                    MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 751:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                // Dst: (UCVTF_ZPmZ_StoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*210680*/    /*Scope*/ 17, /*->210698*/
/*210681*/      OPC_CheckChild0Integer, 34|128,5/*674*/, 
/*210684*/      OPC_RecordChild1, // #0 = $Op1
/*210685*/      OPC_RecordChild2, // #1 = $Op2
/*210686*/      OPC_RecordChild3, // #2 = $Op3
/*210687*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210689*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoS), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 674:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                // Dst: (SCVTF_ZPmZ_DtoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*210698*/    /*Scope*/ 17, /*->210716*/
/*210699*/      OPC_CheckChild0Integer, 32|128,5/*672*/, 
/*210702*/      OPC_RecordChild1, // #0 = $Op1
/*210703*/      OPC_RecordChild2, // #1 = $Op2
/*210704*/      OPC_RecordChild3, // #2 = $Op3
/*210705*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210707*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTF_ZPmZ_StoH), 0,
                    MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 672:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 8
                // Dst: (SCVTF_ZPmZ_StoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*210716*/    /*Scope*/ 17, /*->210734*/
/*210717*/      OPC_CheckChild0Integer, 33|128,5/*673*/, 
/*210720*/      OPC_RecordChild1, // #0 = $Op1
/*210721*/      OPC_RecordChild2, // #1 = $Op2
/*210722*/      OPC_RecordChild3, // #2 = $Op3
/*210723*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210725*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTF_ZPmZ_DtoH), 0,
                    MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 673:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                // Dst: (SCVTF_ZPmZ_DtoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*210734*/    /*Scope*/ 17, /*->210752*/
/*210735*/      OPC_CheckChild0Integer, 113|128,5/*753*/, 
/*210738*/      OPC_RecordChild1, // #0 = $Op1
/*210739*/      OPC_RecordChild2, // #1 = $Op2
/*210740*/      OPC_RecordChild3, // #2 = $Op3
/*210741*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210743*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoS), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 753:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                // Dst: (UCVTF_ZPmZ_DtoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*210752*/    /*Scope*/ 17, /*->210770*/
/*210753*/      OPC_CheckChild0Integer, 112|128,5/*752*/, 
/*210756*/      OPC_RecordChild1, // #0 = $Op1
/*210757*/      OPC_RecordChild2, // #1 = $Op2
/*210758*/      OPC_RecordChild3, // #2 = $Op3
/*210759*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210761*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTF_ZPmZ_DtoH), 0,
                    MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 752:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 8
                // Dst: (UCVTF_ZPmZ_DtoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*210770*/    /*Scope*/ 69, /*->210840*/
/*210771*/      OPC_CheckChild0Integer, 97|128,4/*609*/, 
/*210774*/      OPC_RecordChild1, // #0 = $Op1
/*210775*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->210797
/*210778*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*210780*/        OPC_RecordChild2, // #1 = $Op2
/*210781*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*210783*/        OPC_RecordChild3, // #2 = $Op3
/*210784*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*210786*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210788*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTN_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 609:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FRINTN_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*210797*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->210818
/*210799*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*210801*/        OPC_RecordChild2, // #1 = $Op2
/*210802*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*210804*/        OPC_RecordChild3, // #2 = $Op3
/*210805*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*210807*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210809*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTN_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 609:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FRINTN_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*210818*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->210839
/*210820*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*210822*/        OPC_RecordChild2, // #1 = $Op2
/*210823*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*210825*/        OPC_RecordChild3, // #2 = $Op3
/*210826*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*210828*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210830*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTN_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 609:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FRINTN_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*210839*/      0, // EndSwitchType
/*210840*/    /*Scope*/ 69, /*->210910*/
/*210841*/      OPC_CheckChild0Integer, 98|128,4/*610*/, 
/*210844*/      OPC_RecordChild1, // #0 = $Op1
/*210845*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->210867
/*210848*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*210850*/        OPC_RecordChild2, // #1 = $Op2
/*210851*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*210853*/        OPC_RecordChild3, // #2 = $Op3
/*210854*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*210856*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210858*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTP_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 610:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FRINTP_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*210867*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->210888
/*210869*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*210871*/        OPC_RecordChild2, // #1 = $Op2
/*210872*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*210874*/        OPC_RecordChild3, // #2 = $Op3
/*210875*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*210877*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210879*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTP_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 610:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FRINTP_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*210888*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->210909
/*210890*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*210892*/        OPC_RecordChild2, // #1 = $Op2
/*210893*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*210895*/        OPC_RecordChild3, // #2 = $Op3
/*210896*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*210898*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210900*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTP_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 610:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FRINTP_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*210909*/      0, // EndSwitchType
/*210910*/    /*Scope*/ 69, /*->210980*/
/*210911*/      OPC_CheckChild0Integer, 96|128,4/*608*/, 
/*210914*/      OPC_RecordChild1, // #0 = $Op1
/*210915*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->210937
/*210918*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*210920*/        OPC_RecordChild2, // #1 = $Op2
/*210921*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*210923*/        OPC_RecordChild3, // #2 = $Op3
/*210924*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*210926*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210928*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTM_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 608:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FRINTM_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*210937*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->210958
/*210939*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*210941*/        OPC_RecordChild2, // #1 = $Op2
/*210942*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*210944*/        OPC_RecordChild3, // #2 = $Op3
/*210945*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*210947*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210949*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTM_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 608:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FRINTM_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*210958*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->210979
/*210960*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*210962*/        OPC_RecordChild2, // #1 = $Op2
/*210963*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*210965*/        OPC_RecordChild3, // #2 = $Op3
/*210966*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*210968*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210970*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTM_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 608:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FRINTM_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*210979*/      0, // EndSwitchType
/*210980*/    /*Scope*/ 69, /*->211050*/
/*210981*/      OPC_CheckChild0Integer, 100|128,4/*612*/, 
/*210984*/      OPC_RecordChild1, // #0 = $Op1
/*210985*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211007
/*210988*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*210990*/        OPC_RecordChild2, // #1 = $Op2
/*210991*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*210993*/        OPC_RecordChild3, // #2 = $Op3
/*210994*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*210996*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*210998*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZ_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 612:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FRINTZ_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211007*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211028
/*211009*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*211011*/        OPC_RecordChild2, // #1 = $Op2
/*211012*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*211014*/        OPC_RecordChild3, // #2 = $Op3
/*211015*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211017*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211019*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZ_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 612:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FRINTZ_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211028*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211049
/*211030*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*211032*/        OPC_RecordChild2, // #1 = $Op2
/*211033*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*211035*/        OPC_RecordChild3, // #2 = $Op3
/*211036*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211038*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211040*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZ_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 612:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FRINTZ_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211049*/      0, // EndSwitchType
/*211050*/    /*Scope*/ 69, /*->211120*/
/*211051*/      OPC_CheckChild0Integer, 94|128,4/*606*/, 
/*211054*/      OPC_RecordChild1, // #0 = $Op1
/*211055*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211077
/*211058*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*211060*/        OPC_RecordChild2, // #1 = $Op2
/*211061*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*211063*/        OPC_RecordChild3, // #2 = $Op3
/*211064*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211066*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211068*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTA_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 606:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FRINTA_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211077*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211098
/*211079*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*211081*/        OPC_RecordChild2, // #1 = $Op2
/*211082*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*211084*/        OPC_RecordChild3, // #2 = $Op3
/*211085*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211087*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211089*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTA_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 606:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FRINTA_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211098*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211119
/*211100*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*211102*/        OPC_RecordChild2, // #1 = $Op2
/*211103*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*211105*/        OPC_RecordChild3, // #2 = $Op3
/*211106*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211108*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211110*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTA_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 606:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FRINTA_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211119*/      0, // EndSwitchType
/*211120*/    /*Scope*/ 69, /*->211190*/
/*211121*/      OPC_CheckChild0Integer, 99|128,4/*611*/, 
/*211124*/      OPC_RecordChild1, // #0 = $Op1
/*211125*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211147
/*211128*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*211130*/        OPC_RecordChild2, // #1 = $Op2
/*211131*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*211133*/        OPC_RecordChild3, // #2 = $Op3
/*211134*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211136*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211138*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTX_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 611:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FRINTX_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211147*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211168
/*211149*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*211151*/        OPC_RecordChild2, // #1 = $Op2
/*211152*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*211154*/        OPC_RecordChild3, // #2 = $Op3
/*211155*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211157*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211159*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTX_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 611:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FRINTX_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211168*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211189
/*211170*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*211172*/        OPC_RecordChild2, // #1 = $Op2
/*211173*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*211175*/        OPC_RecordChild3, // #2 = $Op3
/*211176*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211178*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211180*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTX_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 611:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FRINTX_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211189*/      0, // EndSwitchType
/*211190*/    /*Scope*/ 69, /*->211260*/
/*211191*/      OPC_CheckChild0Integer, 95|128,4/*607*/, 
/*211194*/      OPC_RecordChild1, // #0 = $Op1
/*211195*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211217
/*211198*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*211200*/        OPC_RecordChild2, // #1 = $Op2
/*211201*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*211203*/        OPC_RecordChild3, // #2 = $Op3
/*211204*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211206*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211208*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTI_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 607:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FRINTI_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211217*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211238
/*211219*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*211221*/        OPC_RecordChild2, // #1 = $Op2
/*211222*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*211224*/        OPC_RecordChild3, // #2 = $Op3
/*211225*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211227*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211229*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTI_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 607:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FRINTI_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211238*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211259
/*211240*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*211242*/        OPC_RecordChild2, // #1 = $Op2
/*211243*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*211245*/        OPC_RecordChild3, // #2 = $Op3
/*211246*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211248*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211250*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTI_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 607:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FRINTI_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211259*/      0, // EndSwitchType
/*211260*/    /*Scope*/ 69, /*->211330*/
/*211261*/      OPC_CheckChild0Integer, 93|128,4/*605*/, 
/*211264*/      OPC_RecordChild1, // #0 = $Op1
/*211265*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211287
/*211268*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*211270*/        OPC_RecordChild2, // #1 = $Op2
/*211271*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*211273*/        OPC_RecordChild3, // #2 = $Op3
/*211274*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211276*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211278*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPX_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 605:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FRECPX_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211287*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211308
/*211289*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*211291*/        OPC_RecordChild2, // #1 = $Op2
/*211292*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*211294*/        OPC_RecordChild3, // #2 = $Op3
/*211295*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211297*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211299*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPX_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 605:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FRECPX_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211308*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211329
/*211310*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*211312*/        OPC_RecordChild2, // #1 = $Op2
/*211313*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*211315*/        OPC_RecordChild3, // #2 = $Op3
/*211316*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211318*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211320*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPX_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 605:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FRECPX_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211329*/      0, // EndSwitchType
/*211330*/    /*Scope*/ 69, /*->211400*/
/*211331*/      OPC_CheckChild0Integer, 104|128,4/*616*/, 
/*211334*/      OPC_RecordChild1, // #0 = $Op1
/*211335*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211357
/*211338*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*211340*/        OPC_RecordChild2, // #1 = $Op2
/*211341*/        OPC_CheckChild2Type, MVT::nxv8i1,
/*211343*/        OPC_RecordChild3, // #2 = $Op3
/*211344*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211346*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211348*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRT_ZPmZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 616:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FSQRT_ZPmZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211357*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211378
/*211359*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*211361*/        OPC_RecordChild2, // #1 = $Op2
/*211362*/        OPC_CheckChild2Type, MVT::nxv4i1,
/*211364*/        OPC_RecordChild3, // #2 = $Op3
/*211365*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211367*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211369*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRT_ZPmZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 616:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FSQRT_ZPmZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211378*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211399
/*211380*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*211382*/        OPC_RecordChild2, // #1 = $Op2
/*211383*/        OPC_CheckChild2Type, MVT::nxv2i1,
/*211385*/        OPC_RecordChild3, // #2 = $Op3
/*211386*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211388*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*211390*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRT_ZPmZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 616:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FSQRT_ZPmZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211399*/      0, // EndSwitchType
/*211400*/    /*Scope*/ 17, /*->211418*/
/*211401*/      OPC_CheckChild0Integer, 42|128,4/*554*/, 
/*211404*/      OPC_RecordChild1, // #0 = $Op1
/*211405*/      OPC_RecordChild2, // #1 = $Op2
/*211406*/      OPC_RecordChild3, // #2 = $Op3
/*211407*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211409*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTXNT_ZPmZ_DtoS), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 554:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                // Dst: (FCVTXNT_ZPmZ_DtoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211418*/    /*Scope*/ 17, /*->211436*/
/*211419*/      OPC_CheckChild0Integer, 41|128,4/*553*/, 
/*211422*/      OPC_RecordChild1, // #0 = $Op1
/*211423*/      OPC_RecordChild2, // #1 = $Op2
/*211424*/      OPC_RecordChild3, // #2 = $Op3
/*211425*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211427*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTX_ZPmZ_DtoS), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 553:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                // Dst: (FCVTX_ZPmZ_DtoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211436*/    /*Scope*/ 17, /*->211454*/
/*211437*/      OPC_CheckChild0Integer, 39|128,4/*551*/, 
/*211440*/      OPC_RecordChild1, // #0 = $Op1
/*211441*/      OPC_RecordChild2, // #1 = $Op2
/*211442*/      OPC_RecordChild3, // #2 = $Op3
/*211443*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211445*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNT_ZPmZ_StoH), 0,
                    MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 551:{ *:[iPTR] }, nxv8f16:{ *:[nxv8f16] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                // Dst: (FCVTNT_ZPmZ_StoH:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211454*/    /*Scope*/ 17, /*->211472*/
/*211455*/      OPC_CheckChild0Integer, 40|128,4/*552*/, 
/*211458*/      OPC_RecordChild1, // #0 = $Op1
/*211459*/      OPC_RecordChild2, // #1 = $Op2
/*211460*/      OPC_RecordChild3, // #2 = $Op3
/*211461*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211463*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNT_ZPmZ_DtoS), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 552:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                // Dst: (FCVTNT_ZPmZ_DtoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211472*/    /*Scope*/ 17, /*->211490*/
/*211473*/      OPC_CheckChild0Integer, 37|128,4/*549*/, 
/*211476*/      OPC_RecordChild1, // #0 = $Op1
/*211477*/      OPC_RecordChild2, // #1 = $Op2
/*211478*/      OPC_RecordChild3, // #2 = $Op3
/*211479*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211481*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTLT_ZPmZ_HtoS), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 549:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FCVTLT_ZPmZ_HtoS:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211490*/    /*Scope*/ 17, /*->211508*/
/*211491*/      OPC_CheckChild0Integer, 38|128,4/*550*/, 
/*211494*/      OPC_RecordChild1, // #0 = $Op1
/*211495*/      OPC_RecordChild2, // #1 = $Op2
/*211496*/      OPC_RecordChild3, // #2 = $Op3
/*211497*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211499*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTLT_ZPmZ_StoD), 0,
                    MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 550:{ *:[iPTR] }, nxv2f64:{ *:[nxv2f64] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                // Dst: (FCVTLT_ZPmZ_StoD:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211508*/    /*Scope*/ 69, /*->211578*/
/*211509*/      OPC_CheckChild0Integer, 20|128,4/*532*/, 
/*211512*/      OPC_RecordChild1, // #0 = $Op1
/*211513*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211535
/*211516*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*211518*/        OPC_RecordChild2, // #1 = $Op2
/*211519*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*211521*/        OPC_RecordChild3, // #2 = $Op3
/*211522*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211524*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211526*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDP_ZPmZZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 532:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FADDP_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211535*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211556
/*211537*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*211539*/        OPC_RecordChild2, // #1 = $Op2
/*211540*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*211542*/        OPC_RecordChild3, // #2 = $Op3
/*211543*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211545*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211547*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDP_ZPmZZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 532:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FADDP_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211556*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211577
/*211558*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*211560*/        OPC_RecordChild2, // #1 = $Op2
/*211561*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*211563*/        OPC_RecordChild3, // #2 = $Op3
/*211564*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211566*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211568*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDP_ZPmZZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 532:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FADDP_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211577*/      0, // EndSwitchType
/*211578*/    /*Scope*/ 69, /*->211648*/
/*211579*/      OPC_CheckChild0Integer, 60|128,4/*572*/, 
/*211582*/      OPC_RecordChild1, // #0 = $Op1
/*211583*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211605
/*211586*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*211588*/        OPC_RecordChild2, // #1 = $Op2
/*211589*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*211591*/        OPC_RecordChild3, // #2 = $Op3
/*211592*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211594*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211596*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMP_ZPmZZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 572:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMAXNMP_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211605*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211626
/*211607*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*211609*/        OPC_RecordChild2, // #1 = $Op2
/*211610*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*211612*/        OPC_RecordChild3, // #2 = $Op3
/*211613*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211615*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211617*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMP_ZPmZZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 572:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMAXNMP_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211626*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211647
/*211628*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*211630*/        OPC_RecordChild2, // #1 = $Op2
/*211631*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*211633*/        OPC_RecordChild3, // #2 = $Op3
/*211634*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211636*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211638*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMP_ZPmZZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 572:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMAXNMP_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211647*/      0, // EndSwitchType
/*211648*/    /*Scope*/ 69, /*->211718*/
/*211649*/      OPC_CheckChild0Integer, 66|128,4/*578*/, 
/*211652*/      OPC_RecordChild1, // #0 = $Op1
/*211653*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211675
/*211656*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*211658*/        OPC_RecordChild2, // #1 = $Op2
/*211659*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*211661*/        OPC_RecordChild3, // #2 = $Op3
/*211662*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211664*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211666*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMP_ZPmZZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 578:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMINNMP_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211675*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211696
/*211677*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*211679*/        OPC_RecordChild2, // #1 = $Op2
/*211680*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*211682*/        OPC_RecordChild3, // #2 = $Op3
/*211683*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211685*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211687*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMP_ZPmZZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 578:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMINNMP_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211696*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211717
/*211698*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*211700*/        OPC_RecordChild2, // #1 = $Op2
/*211701*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*211703*/        OPC_RecordChild3, // #2 = $Op3
/*211704*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211706*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211708*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMP_ZPmZZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 578:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMINNMP_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211717*/      0, // EndSwitchType
/*211718*/    /*Scope*/ 69, /*->211788*/
/*211719*/      OPC_CheckChild0Integer, 62|128,4/*574*/, 
/*211722*/      OPC_RecordChild1, // #0 = $Op1
/*211723*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211745
/*211726*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*211728*/        OPC_RecordChild2, // #1 = $Op2
/*211729*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*211731*/        OPC_RecordChild3, // #2 = $Op3
/*211732*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211734*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211736*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXP_ZPmZZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 574:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMAXP_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211745*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211766
/*211747*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*211749*/        OPC_RecordChild2, // #1 = $Op2
/*211750*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*211752*/        OPC_RecordChild3, // #2 = $Op3
/*211753*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211755*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211757*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXP_ZPmZZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 574:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMAXP_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211766*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211787
/*211768*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*211770*/        OPC_RecordChild2, // #1 = $Op2
/*211771*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*211773*/        OPC_RecordChild3, // #2 = $Op3
/*211774*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211776*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211778*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXP_ZPmZZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 574:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMAXP_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211787*/      0, // EndSwitchType
/*211788*/    /*Scope*/ 69, /*->211858*/
/*211789*/      OPC_CheckChild0Integer, 68|128,4/*580*/, 
/*211792*/      OPC_RecordChild1, // #0 = $Op1
/*211793*/      OPC_SwitchType /*3 cases */, 19, MVT::nxv8f16,// ->211815
/*211796*/        OPC_CheckChild1Type, MVT::nxv8i1,
/*211798*/        OPC_RecordChild2, // #1 = $Op2
/*211799*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*211801*/        OPC_RecordChild3, // #2 = $Op3
/*211802*/        OPC_CheckChild3Type, MVT::nxv8f16,
/*211804*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211806*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINP_ZPmZZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv8f16] } 580:{ *:[iPTR] }, nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                  // Dst: (FMINP_ZPmZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211815*/      /*SwitchType*/ 19, MVT::nxv4f32,// ->211836
/*211817*/        OPC_CheckChild1Type, MVT::nxv4i1,
/*211819*/        OPC_RecordChild2, // #1 = $Op2
/*211820*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*211822*/        OPC_RecordChild3, // #2 = $Op3
/*211823*/        OPC_CheckChild3Type, MVT::nxv4f32,
/*211825*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211827*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINP_ZPmZZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 580:{ *:[iPTR] }, nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 8
                  // Dst: (FMINP_ZPmZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*211836*/      /*SwitchType*/ 19, MVT::nxv2f64,// ->211857
/*211838*/        OPC_CheckChild1Type, MVT::nxv2i1,
/*211840*/        OPC_RecordChild2, // #1 = $Op2
/*211841*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*211843*/        OPC_RecordChild3, // #2 = $Op3
/*211844*/        OPC_CheckChild3Type, MVT::nxv2f64,
/*211846*/        OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211848*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINP_ZPmZZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (intrinsic_wo_chain:{ *:[nxv2f64] } 580:{ *:[iPTR] }, nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 8
                  // Dst: (FMINP_ZPmZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*211857*/      0, // EndSwitchType
/*211858*/    /*Scope*/ 25, /*->211884*/
/*211859*/      OPC_CheckChild0Integer, 72|128,4/*584*/, 
/*211862*/      OPC_RecordChild1, // #0 = $Op1
/*211863*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*211865*/      OPC_RecordChild2, // #1 = $Op2
/*211866*/      OPC_CheckChild2Type, MVT::nxv8f16,
/*211868*/      OPC_RecordChild3, // #2 = $Op3
/*211869*/      OPC_CheckChild3Type, MVT::nxv8f16,
/*211871*/      OPC_CheckType, MVT::nxv4f32,
/*211873*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211875*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLALB_ZZZ_SHH), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 584:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FMLALB_ZZZ_SHH:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211884*/    /*Scope*/ 25, /*->211910*/
/*211885*/      OPC_CheckChild0Integer, 74|128,4/*586*/, 
/*211888*/      OPC_RecordChild1, // #0 = $Op1
/*211889*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*211891*/      OPC_RecordChild2, // #1 = $Op2
/*211892*/      OPC_CheckChild2Type, MVT::nxv8f16,
/*211894*/      OPC_RecordChild3, // #2 = $Op3
/*211895*/      OPC_CheckChild3Type, MVT::nxv8f16,
/*211897*/      OPC_CheckType, MVT::nxv4f32,
/*211899*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211901*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLALT_ZZZ_SHH), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 586:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FMLALT_ZZZ_SHH:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211910*/    /*Scope*/ 25, /*->211936*/
/*211911*/      OPC_CheckChild0Integer, 78|128,4/*590*/, 
/*211914*/      OPC_RecordChild1, // #0 = $Op1
/*211915*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*211917*/      OPC_RecordChild2, // #1 = $Op2
/*211918*/      OPC_CheckChild2Type, MVT::nxv8f16,
/*211920*/      OPC_RecordChild3, // #2 = $Op3
/*211921*/      OPC_CheckChild3Type, MVT::nxv8f16,
/*211923*/      OPC_CheckType, MVT::nxv4f32,
/*211925*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211927*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSLB_ZZZ_SHH), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 590:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FMLSLB_ZZZ_SHH:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211936*/    /*Scope*/ 25, /*->211962*/
/*211937*/      OPC_CheckChild0Integer, 80|128,4/*592*/, 
/*211940*/      OPC_RecordChild1, // #0 = $Op1
/*211941*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*211943*/      OPC_RecordChild2, // #1 = $Op2
/*211944*/      OPC_CheckChild2Type, MVT::nxv8f16,
/*211946*/      OPC_RecordChild3, // #2 = $Op3
/*211947*/      OPC_CheckChild3Type, MVT::nxv8f16,
/*211949*/      OPC_CheckType, MVT::nxv4f32,
/*211951*/      OPC_CheckPatternPredicate, 17, // (Subtarget->hasSVE2())
/*211953*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSLT_ZZZ_SHH), 0,
                    MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (intrinsic_wo_chain:{ *:[nxv4f32] } 592:{ *:[iPTR] }, nxv4f32:{ *:[nxv4f32] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 8
                // Dst: (FMLSLT_ZZZ_SHH:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*211962*/    0, /*End of Scope*/
/*211963*/  /*SwitchOpcode*/ 120|128,1/*248*/, TARGET_VAL(ISD::CTLZ),// ->212215
/*211967*/    OPC_Scope, 12|128,1/*140*/, /*->212110*/ // 2 children in Scope
/*211970*/      OPC_MoveChild0,
/*211971*/      OPC_CheckOpcode, TARGET_VAL(ISD::OR),
/*211974*/      OPC_MoveChild0,
/*211975*/      OPC_CheckOpcode, TARGET_VAL(ISD::SHL),
/*211978*/      OPC_MoveChild0,
/*211979*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*211982*/      OPC_Scope, 63, /*->212047*/ // 2 children in Scope
/*211984*/        OPC_MoveChild0,
/*211985*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
/*211988*/        OPC_RecordChild0, // #0 = $Rn
/*211989*/        OPC_Scope, 27, /*->212018*/ // 2 children in Scope
/*211991*/          OPC_CheckChild1Integer, 31, 
/*211993*/          OPC_CheckChild1Type, MVT::i64,
/*211995*/          OPC_MoveParent,
/*211996*/          OPC_CheckChild1Same, 0,
/*211998*/          OPC_MoveParent,
/*211999*/          OPC_CheckChild1Integer, 1, 
/*212001*/          OPC_CheckChild1Type, MVT::i64,
/*212003*/          OPC_MoveParent,
/*212004*/          OPC_CheckChild1Integer, 1, 
/*212006*/          OPC_CheckType, MVT::i32,
/*212008*/          OPC_MoveParent,
/*212009*/          OPC_CheckType, MVT::i32,
/*212011*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSWr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (ctlz:{ *:[i32] } (or:{ *:[i32] } (shl:{ *:[i32] } (xor:{ *:[i32] } (sra:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, 31:{ *:[i64] }), GPR32:{ *:[i32] }:$Rn), 1:{ *:[i64] }), 1:{ *:[i32] })) - Complexity = 30
                    // Dst: (CLSWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn)
/*212018*/        /*Scope*/ 27, /*->212046*/
/*212019*/          OPC_CheckChild1Integer, 63, 
/*212021*/          OPC_CheckChild1Type, MVT::i64,
/*212023*/          OPC_MoveParent,
/*212024*/          OPC_CheckChild1Same, 0,
/*212026*/          OPC_MoveParent,
/*212027*/          OPC_CheckChild1Integer, 1, 
/*212029*/          OPC_CheckChild1Type, MVT::i64,
/*212031*/          OPC_MoveParent,
/*212032*/          OPC_CheckChild1Integer, 1, 
/*212034*/          OPC_CheckType, MVT::i64,
/*212036*/          OPC_MoveParent,
/*212037*/          OPC_CheckType, MVT::i64,
/*212039*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSXr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (ctlz:{ *:[i64] } (or:{ *:[i64] } (shl:{ *:[i64] } (xor:{ *:[i64] } (sra:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, 63:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn), 1:{ *:[i64] }), 1:{ *:[i64] })) - Complexity = 30
                    // Dst: (CLSXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn)
/*212046*/        0, /*End of Scope*/
/*212047*/      /*Scope*/ 61, /*->212109*/
/*212048*/        OPC_RecordChild0, // #0 = $Rn
/*212049*/        OPC_MoveChild1,
/*212050*/        OPC_CheckOpcode, TARGET_VAL(ISD::SRA),
/*212053*/        OPC_CheckChild0Same, 0,
/*212055*/        OPC_Scope, 25, /*->212082*/ // 2 children in Scope
/*212057*/          OPC_CheckChild1Integer, 31, 
/*212059*/          OPC_CheckChild1Type, MVT::i64,
/*212061*/          OPC_MoveParent,
/*212062*/          OPC_MoveParent,
/*212063*/          OPC_CheckChild1Integer, 1, 
/*212065*/          OPC_CheckChild1Type, MVT::i64,
/*212067*/          OPC_MoveParent,
/*212068*/          OPC_CheckChild1Integer, 1, 
/*212070*/          OPC_CheckType, MVT::i32,
/*212072*/          OPC_MoveParent,
/*212073*/          OPC_CheckType, MVT::i32,
/*212075*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSWr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (ctlz:{ *:[i32] } (or:{ *:[i32] } (shl:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (sra:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, 31:{ *:[i64] })), 1:{ *:[i64] }), 1:{ *:[i32] })) - Complexity = 30
                    // Dst: (CLSWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn)
/*212082*/        /*Scope*/ 25, /*->212108*/
/*212083*/          OPC_CheckChild1Integer, 63, 
/*212085*/          OPC_CheckChild1Type, MVT::i64,
/*212087*/          OPC_MoveParent,
/*212088*/          OPC_MoveParent,
/*212089*/          OPC_CheckChild1Integer, 1, 
/*212091*/          OPC_CheckChild1Type, MVT::i64,
/*212093*/          OPC_MoveParent,
/*212094*/          OPC_CheckChild1Integer, 1, 
/*212096*/          OPC_CheckType, MVT::i64,
/*212098*/          OPC_MoveParent,
/*212099*/          OPC_CheckType, MVT::i64,
/*212101*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLSXr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (ctlz:{ *:[i64] } (or:{ *:[i64] } (shl:{ *:[i64] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (sra:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, 63:{ *:[i64] })), 1:{ *:[i64] }), 1:{ *:[i64] })) - Complexity = 30
                    // Dst: (CLSXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn)
/*212108*/        0, /*End of Scope*/
/*212109*/      0, /*End of Scope*/
/*212110*/    /*Scope*/ 103, /*->212214*/
/*212111*/      OPC_RecordChild0, // #0 = $Rn
/*212112*/      OPC_SwitchType /*8 cases */, 9, MVT::i32,// ->212124
/*212115*/        OPC_CheckChild0Type, MVT::i32,
/*212117*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZWr), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (ctlz:{ *:[i32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                  // Dst: (CLZWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn)
/*212124*/      /*SwitchType*/ 9, MVT::i64,// ->212135
/*212126*/        OPC_CheckChild0Type, MVT::i64,
/*212128*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZXr), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (ctlz:{ *:[i64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                  // Dst: (CLZXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn)
/*212135*/      /*SwitchType*/ 11, MVT::v8i8,// ->212148
/*212137*/        OPC_CheckChild0Type, MVT::v8i8,
/*212139*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*212141*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (ctlz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                  // Dst: (CLZv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*212148*/      /*SwitchType*/ 11, MVT::v16i8,// ->212161
/*212150*/        OPC_CheckChild0Type, MVT::v16i8,
/*212152*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*212154*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (ctlz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                  // Dst: (CLZv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*212161*/      /*SwitchType*/ 11, MVT::v4i16,// ->212174
/*212163*/        OPC_CheckChild0Type, MVT::v4i16,
/*212165*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*212167*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (ctlz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (CLZv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*212174*/      /*SwitchType*/ 11, MVT::v8i16,// ->212187
/*212176*/        OPC_CheckChild0Type, MVT::v8i16,
/*212178*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*212180*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZv8i16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (ctlz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                  // Dst: (CLZv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*212187*/      /*SwitchType*/ 11, MVT::v2i32,// ->212200
/*212189*/        OPC_CheckChild0Type, MVT::v2i32,
/*212191*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*212193*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (ctlz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (CLZv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*212200*/      /*SwitchType*/ 11, MVT::v4i32,// ->212213
/*212202*/        OPC_CheckChild0Type, MVT::v4i32,
/*212204*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*212206*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZv4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (ctlz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                  // Dst: (CLZv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*212213*/      0, // EndSwitchType
/*212214*/    0, /*End of Scope*/
/*212215*/  /*SwitchOpcode*/ 106|128,2/*362*/, TARGET_VAL(ISD::SRA),// ->212581
/*212219*/    OPC_Scope, 29|128,1/*157*/, /*->212379*/ // 2 children in Scope
/*212222*/      OPC_MoveChild0,
/*212223*/      OPC_SwitchOpcode /*2 cases */, 102, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->212329
/*212227*/        OPC_RecordChild0, // #0 = $Rn
/*212228*/        OPC_MoveChild1,
/*212229*/        OPC_Scope, 48, /*->212279*/ // 2 children in Scope
/*212231*/          OPC_CheckValueType, MVT::i8,
/*212233*/          OPC_MoveParent,
/*212234*/          OPC_MoveParent,
/*212235*/          OPC_RecordChild1, // #1 = $imm
/*212236*/          OPC_MoveChild1,
/*212237*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*212240*/          OPC_CheckPredicate, 34, // Predicate_imm0_7
/*212242*/          OPC_CheckType, MVT::i64,
/*212244*/          OPC_MoveParent,
/*212245*/          OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->212262
/*212248*/            OPC_EmitConvertToTarget, 1,
/*212250*/            OPC_EmitInteger, MVT::i64, 7, 
/*212253*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMWri), 0,
                          MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (sra:{ *:[i32] } (sext_inreg:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, i8:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_imm0_7>>:$imm) - Complexity = 30
                      // Dst: (SBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_7>>:$imm, 7:{ *:[i64] })
/*212262*/          /*SwitchType*/ 14, MVT::i64,// ->212278
/*212264*/            OPC_EmitConvertToTarget, 1,
/*212266*/            OPC_EmitInteger, MVT::i64, 7, 
/*212269*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                          MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (sra:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i8:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_imm0_7>>:$imm) - Complexity = 30
                      // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_7>>:$imm, 7:{ *:[i64] })
/*212278*/          0, // EndSwitchType
/*212279*/        /*Scope*/ 48, /*->212328*/
/*212280*/          OPC_CheckValueType, MVT::i16,
/*212282*/          OPC_MoveParent,
/*212283*/          OPC_MoveParent,
/*212284*/          OPC_RecordChild1, // #1 = $imm
/*212285*/          OPC_MoveChild1,
/*212286*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*212289*/          OPC_CheckPredicate, 23, // Predicate_imm0_15
/*212291*/          OPC_CheckType, MVT::i64,
/*212293*/          OPC_MoveParent,
/*212294*/          OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->212311
/*212297*/            OPC_EmitConvertToTarget, 1,
/*212299*/            OPC_EmitInteger, MVT::i64, 15, 
/*212302*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMWri), 0,
                          MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (sra:{ *:[i32] } (sext_inreg:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_imm0_15>>:$imm) - Complexity = 30
                      // Dst: (SBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_15>>:$imm, 15:{ *:[i64] })
/*212311*/          /*SwitchType*/ 14, MVT::i64,// ->212327
/*212313*/            OPC_EmitConvertToTarget, 1,
/*212315*/            OPC_EmitInteger, MVT::i64, 15, 
/*212318*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                          MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (sra:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i16:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_imm0_15>>:$imm) - Complexity = 30
                      // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_15>>:$imm, 15:{ *:[i64] })
/*212327*/          0, // EndSwitchType
/*212328*/        0, /*End of Scope*/
/*212329*/      /*SwitchOpcode*/ 46, TARGET_VAL(ISD::SIGN_EXTEND),// ->212378
/*212332*/        OPC_RecordChild0, // #0 = $Rn
/*212333*/        OPC_MoveParent,
/*212334*/        OPC_RecordChild1, // #1 = $imm
/*212335*/        OPC_MoveChild1,
/*212336*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*212339*/        OPC_CheckPredicate, 35, // Predicate_imm0_31
/*212341*/        OPC_CheckType, MVT::i64,
/*212343*/        OPC_MoveParent,
/*212344*/        OPC_CheckType, MVT::i64,
/*212346*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*212352*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*212355*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*212364*/        OPC_EmitConvertToTarget, 1,
/*212366*/        OPC_EmitInteger, MVT::i64, 31, 
/*212369*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                      MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                  // Src: (sra:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm) - Complexity = 30
                  // Dst: (SBFMXri:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GPR32:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm, 31:{ *:[i64] })
/*212378*/      0, // EndSwitchOpcode
/*212379*/    /*Scope*/ 71|128,1/*199*/, /*->212580*/
/*212381*/      OPC_RecordChild0, // #0 = $Rn
/*212382*/      OPC_Scope, 49, /*->212433*/ // 3 children in Scope
/*212384*/        OPC_RecordChild1, // #1 = $imm
/*212385*/        OPC_MoveChild1,
/*212386*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*212389*/        OPC_CheckType, MVT::i64,
/*212391*/        OPC_Scope, 19, /*->212412*/ // 2 children in Scope
/*212393*/          OPC_CheckPredicate, 35, // Predicate_imm0_31
/*212395*/          OPC_MoveParent,
/*212396*/          OPC_CheckType, MVT::i32,
/*212398*/          OPC_EmitConvertToTarget, 1,
/*212400*/          OPC_EmitInteger, MVT::i64, 31, 
/*212403*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMWri), 0,
                        MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sra:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm) - Complexity = 17
                    // Dst: (SBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm, 31:{ *:[i64] })
/*212412*/        /*Scope*/ 19, /*->212432*/
/*212413*/          OPC_CheckPredicate, 36, // Predicate_imm0_63
/*212415*/          OPC_MoveParent,
/*212416*/          OPC_CheckType, MVT::i64,
/*212418*/          OPC_EmitConvertToTarget, 1,
/*212420*/          OPC_EmitInteger, MVT::i64, 63, 
/*212423*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                        MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sra:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm) - Complexity = 17
                    // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm, 63:{ *:[i64] })
/*212432*/        0, /*End of Scope*/
/*212433*/      /*Scope*/ 108, /*->212542*/
/*212434*/        OPC_MoveChild1,
/*212435*/        OPC_SwitchOpcode /*3 cases */, 41, TARGET_VAL(ISD::ZERO_EXTEND),// ->212480
/*212439*/          OPC_RecordChild0, // #1 = $Rm
/*212440*/          OPC_CheckType, MVT::i64,
/*212442*/          OPC_MoveParent,
/*212443*/          OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->212454
/*212446*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRVWr), 0,
                          MVT::i32, 2/*#Ops*/, 0, 1, 
                      // Src: (sra:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (ASRVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*212454*/          /*SwitchType*/ 23, MVT::i64,// ->212479
/*212456*/            OPC_EmitInteger, MVT::i32, 0, 
/*212459*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*212462*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*212471*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRVXr), 0,
                          MVT::i64, 2/*#Ops*/, 0, 4, 
                      // Src: (sra:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (ASRVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm, sub_32:{ *:[i32] }))
/*212479*/          0, // EndSwitchType
/*212480*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::ANY_EXTEND),// ->212497
/*212483*/          OPC_RecordChild0, // #1 = $Rm
/*212484*/          OPC_CheckType, MVT::i64,
/*212486*/          OPC_MoveParent,
/*212487*/          OPC_CheckType, MVT::i32,
/*212489*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRVWr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sra:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                    // Dst: (ASRVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*212497*/        /*SwitchOpcode*/ 41, TARGET_VAL(ISD::SIGN_EXTEND),// ->212541
/*212500*/          OPC_RecordChild0, // #1 = $Rm
/*212501*/          OPC_CheckType, MVT::i64,
/*212503*/          OPC_MoveParent,
/*212504*/          OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->212515
/*212507*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRVWr), 0,
                          MVT::i32, 2/*#Ops*/, 0, 1, 
                      // Src: (sra:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (ASRVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*212515*/          /*SwitchType*/ 23, MVT::i64,// ->212540
/*212517*/            OPC_EmitInteger, MVT::i32, 0, 
/*212520*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*212523*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*212532*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRVXr), 0,
                          MVT::i64, 2/*#Ops*/, 0, 4, 
                      // Src: (sra:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (ASRVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm, sub_32:{ *:[i32] }))
/*212540*/          0, // EndSwitchType
/*212541*/        0, // EndSwitchOpcode
/*212542*/      /*Scope*/ 36, /*->212579*/
/*212543*/        OPC_RecordChild1, // #1 = $Rm
/*212544*/        OPC_CheckChild1Type, MVT::i64,
/*212546*/        OPC_SwitchType /*2 cases */, 8, MVT::i64,// ->212557
/*212549*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRVXr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sra:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (ASRVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*212557*/        /*SwitchType*/ 19, MVT::i32,// ->212578
/*212559*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*212562*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 2,  // Results = #3
/*212570*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ASRVWr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 3, 
                    // Src: (sra:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, i64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (ASRVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (EXTRACT_SUBREG:{ *:[i32] } i64:{ *:[i64] }:$Rm, sub_32:{ *:[i32] }))
/*212578*/        0, // EndSwitchType
/*212579*/      0, /*End of Scope*/
/*212580*/    0, /*End of Scope*/
/*212581*/  /*SwitchOpcode*/ 96|128,27/*3552*/, TARGET_VAL(ISD::LOAD),// ->216137
/*212585*/    OPC_RecordMemRef,
/*212586*/    OPC_RecordNode, // #0 = 'ld' chained node
/*212587*/    OPC_Scope, 41|128,8/*1065*/, /*->213655*/ // 5 children in Scope
/*212590*/      OPC_RecordChild1, // #1 = $ro_Windexed8:Rn:Rm:extend
/*212591*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*212593*/      OPC_Scope, 76, /*->212671*/ // 6 children in Scope
/*212595*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*212597*/        OPC_CheckType, MVT::i32,
/*212599*/        OPC_Scope, 34, /*->212635*/ // 2 children in Scope
/*212601*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*212603*/          OPC_Scope, 14, /*->212619*/ // 2 children in Scope
/*212605*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*212608*/            OPC_EmitMergeInputChains1_0,
/*212609*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 29
                      // Dst: (LDRBBroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*212619*/          /*Scope*/ 14, /*->212634*/
/*212620*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*212623*/            OPC_EmitMergeInputChains1_0,
/*212624*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 29
                      // Dst: (LDRBBroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*212634*/          0, /*End of Scope*/
/*212635*/        /*Scope*/ 34, /*->212670*/
/*212636*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*212638*/          OPC_Scope, 14, /*->212654*/ // 2 children in Scope
/*212640*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*212643*/            OPC_EmitMergeInputChains1_0,
/*212644*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 29
                      // Dst: (LDRHHroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*212654*/          /*Scope*/ 14, /*->212669*/
/*212655*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*212658*/            OPC_EmitMergeInputChains1_0,
/*212659*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 29
                      // Dst: (LDRHHroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*212669*/          0, /*End of Scope*/
/*212670*/        0, /*End of Scope*/
/*212671*/      /*Scope*/ 106, /*->212778*/
/*212672*/        OPC_CheckPredicate, 37, // Predicate_load
/*212674*/        OPC_SwitchType /*3 cases */, 32, MVT::i32,// ->212709
/*212677*/          OPC_Scope, 14, /*->212693*/ // 2 children in Scope
/*212679*/            OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*212682*/            OPC_EmitMergeInputChains1_0,
/*212683*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRWroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*212693*/          /*Scope*/ 14, /*->212708*/
/*212694*/            OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*212697*/            OPC_EmitMergeInputChains1_0,
/*212698*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRWroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*212708*/          0, /*End of Scope*/
/*212709*/        /*SwitchType*/ 32, MVT::i64,// ->212743
/*212711*/          OPC_Scope, 14, /*->212727*/ // 2 children in Scope
/*212713*/            OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*212716*/            OPC_EmitMergeInputChains1_0,
/*212717*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i64] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRXroW:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*212727*/          /*Scope*/ 14, /*->212742*/
/*212728*/            OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*212731*/            OPC_EmitMergeInputChains1_0,
/*212732*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i64] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRXroX:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*212742*/          0, /*End of Scope*/
/*212743*/        /*SwitchType*/ 32, MVT::Untyped,// ->212777
/*212745*/          OPC_Scope, 14, /*->212761*/ // 2 children in Scope
/*212747*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*212750*/            OPC_EmitMergeInputChains1_0,
/*212751*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[Untyped] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRBroW:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*212761*/          /*Scope*/ 14, /*->212776*/
/*212762*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*212765*/            OPC_EmitMergeInputChains1_0,
/*212766*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[Untyped] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRBroX:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*212776*/          0, /*End of Scope*/
/*212777*/        0, // EndSwitchType
/*212778*/      /*Scope*/ 59|128,1/*187*/, /*->212967*/
/*212780*/        OPC_CheckPredicate, 5, // Predicate_sextload
/*212782*/        OPC_Scope, 72, /*->212856*/ // 3 children in Scope
/*212784*/          OPC_CheckPredicate, 16, // Predicate_sextloadi16
/*212786*/          OPC_SwitchType /*2 cases */, 32, MVT::i32,// ->212821
/*212789*/            OPC_Scope, 14, /*->212805*/ // 2 children in Scope
/*212791*/              OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*212794*/              OPC_EmitMergeInputChains1_0,
/*212795*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHWroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                        // Src: (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 29
                        // Dst: (LDRSHWroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*212805*/            /*Scope*/ 14, /*->212820*/
/*212806*/              OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*212809*/              OPC_EmitMergeInputChains1_0,
/*212810*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHWroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                        // Src: (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 29
                        // Dst: (LDRSHWroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*212820*/            0, /*End of Scope*/
/*212821*/          /*SwitchType*/ 32, MVT::i64,// ->212855
/*212823*/            OPC_Scope, 14, /*->212839*/ // 2 children in Scope
/*212825*/              OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*212828*/              OPC_EmitMergeInputChains1_0,
/*212829*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHXroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                        // Src: (ld:{ *:[i64] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 29
                        // Dst: (LDRSHXroW:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*212839*/            /*Scope*/ 14, /*->212854*/
/*212840*/              OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*212843*/              OPC_EmitMergeInputChains1_0,
/*212844*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHXroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                        // Src: (ld:{ *:[i64] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 29
                        // Dst: (LDRSHXroX:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*212854*/            0, /*End of Scope*/
/*212855*/          0, // EndSwitchType
/*212856*/        /*Scope*/ 72, /*->212929*/
/*212857*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*212859*/          OPC_SwitchType /*2 cases */, 32, MVT::i32,// ->212894
/*212862*/            OPC_Scope, 14, /*->212878*/ // 2 children in Scope
/*212864*/              OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*212867*/              OPC_EmitMergeInputChains1_0,
/*212868*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBWroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                        // Src: (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 29
                        // Dst: (LDRSBWroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*212878*/            /*Scope*/ 14, /*->212893*/
/*212879*/              OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*212882*/              OPC_EmitMergeInputChains1_0,
/*212883*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBWroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                        // Src: (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 29
                        // Dst: (LDRSBWroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*212893*/            0, /*End of Scope*/
/*212894*/          /*SwitchType*/ 32, MVT::i64,// ->212928
/*212896*/            OPC_Scope, 14, /*->212912*/ // 2 children in Scope
/*212898*/              OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*212901*/              OPC_EmitMergeInputChains1_0,
/*212902*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBXroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                        // Src: (ld:{ *:[i64] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 29
                        // Dst: (LDRSBXroW:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*212912*/            /*Scope*/ 14, /*->212927*/
/*212913*/              OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*212916*/              OPC_EmitMergeInputChains1_0,
/*212917*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBXroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                        // Src: (ld:{ *:[i64] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 29
                        // Dst: (LDRSBXroX:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*212927*/            0, /*End of Scope*/
/*212928*/          0, // EndSwitchType
/*212929*/        /*Scope*/ 36, /*->212966*/
/*212930*/          OPC_CheckPredicate, 18, // Predicate_sextloadi32
/*212932*/          OPC_CheckType, MVT::i64,
/*212934*/          OPC_Scope, 14, /*->212950*/ // 2 children in Scope
/*212936*/            OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*212939*/            OPC_EmitMergeInputChains1_0,
/*212940*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSWroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i64] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 29
                      // Dst: (LDRSWroW:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*212950*/          /*Scope*/ 14, /*->212965*/
/*212951*/            OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*212954*/            OPC_EmitMergeInputChains1_0,
/*212955*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSWroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i64] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 29
                      // Dst: (LDRSWroX:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*212965*/          0, /*End of Scope*/
/*212966*/        0, /*End of Scope*/
/*212967*/      /*Scope*/ 111, /*->213079*/
/*212968*/        OPC_CheckPredicate, 38, // Predicate_extload
/*212970*/        OPC_CheckType, MVT::i32,
/*212972*/        OPC_Scope, 34, /*->213008*/ // 3 children in Scope
/*212974*/          OPC_CheckPredicate, 6, // Predicate_extloadi8
/*212976*/          OPC_Scope, 14, /*->212992*/ // 2 children in Scope
/*212978*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*212981*/            OPC_EmitMergeInputChains1_0,
/*212982*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 29
                      // Dst: (LDRBBroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*212992*/          /*Scope*/ 14, /*->213007*/
/*212993*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*212996*/            OPC_EmitMergeInputChains1_0,
/*212997*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 29
                      // Dst: (LDRBBroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*213007*/          0, /*End of Scope*/
/*213008*/        /*Scope*/ 34, /*->213043*/
/*213009*/          OPC_CheckPredicate, 16, // Predicate_extloadi16
/*213011*/          OPC_Scope, 14, /*->213027*/ // 2 children in Scope
/*213013*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*213016*/            OPC_EmitMergeInputChains1_0,
/*213017*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 29
                      // Dst: (LDRHHroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*213027*/          /*Scope*/ 14, /*->213042*/
/*213028*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*213031*/            OPC_EmitMergeInputChains1_0,
/*213032*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 29
                      // Dst: (LDRHHroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*213042*/          0, /*End of Scope*/
/*213043*/        /*Scope*/ 34, /*->213078*/
/*213044*/          OPC_CheckPredicate, 18, // Predicate_extloadi32
/*213046*/          OPC_Scope, 14, /*->213062*/ // 2 children in Scope
/*213048*/            OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*213051*/            OPC_EmitMergeInputChains1_0,
/*213052*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 29
                      // Dst: (LDRWroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*213062*/          /*Scope*/ 14, /*->213077*/
/*213063*/            OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*213066*/            OPC_EmitMergeInputChains1_0,
/*213067*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 29
                      // Dst: (LDRWroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*213077*/          0, /*End of Scope*/
/*213078*/        0, /*End of Scope*/
/*213079*/      /*Scope*/ 49|128,2/*305*/, /*->213386*/
/*213081*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*213083*/        OPC_SwitchType /*2 cases */, 34, MVT::i32,// ->213120
/*213086*/          OPC_CheckPredicate, 39, // Predicate_zextloadi1
/*213088*/          OPC_Scope, 14, /*->213104*/ // 2 children in Scope
/*213090*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*213093*/            OPC_EmitMergeInputChains1_0,
/*213094*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> - Complexity = 29
                      // Dst: (LDRBBroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*213104*/          /*Scope*/ 14, /*->213119*/
/*213105*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*213108*/            OPC_EmitMergeInputChains1_0,
/*213109*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> - Complexity = 29
                      // Dst: (LDRBBroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*213119*/          0, /*End of Scope*/
/*213120*/        /*SwitchType*/ 6|128,2/*262*/, MVT::i64,// ->213385
/*213123*/          OPC_Scope, 64, /*->213189*/ // 4 children in Scope
/*213125*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*213127*/            OPC_Scope, 29, /*->213158*/ // 2 children in Scope
/*213129*/              OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*213132*/              OPC_EmitMergeInputChains1_0,
/*213133*/              OPC_EmitInteger, MVT::i64, 0, 
/*213136*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213146*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213149*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                            MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                        // Src: (ld:{ *:[i64] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 29
                        // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213158*/            /*Scope*/ 29, /*->213188*/
/*213159*/              OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*213162*/              OPC_EmitMergeInputChains1_0,
/*213163*/              OPC_EmitInteger, MVT::i64, 0, 
/*213166*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213176*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213179*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                            MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                        // Src: (ld:{ *:[i64] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 29
                        // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213188*/            0, /*End of Scope*/
/*213189*/          /*Scope*/ 64, /*->213254*/
/*213190*/            OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*213192*/            OPC_Scope, 29, /*->213223*/ // 2 children in Scope
/*213194*/              OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*213197*/              OPC_EmitMergeInputChains1_0,
/*213198*/              OPC_EmitInteger, MVT::i64, 0, 
/*213201*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213211*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213214*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                            MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                        // Src: (ld:{ *:[i64] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 29
                        // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRHHroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213223*/            /*Scope*/ 29, /*->213253*/
/*213224*/              OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*213227*/              OPC_EmitMergeInputChains1_0,
/*213228*/              OPC_EmitInteger, MVT::i64, 0, 
/*213231*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213241*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213244*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                            MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                        // Src: (ld:{ *:[i64] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 29
                        // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRHHroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213253*/            0, /*End of Scope*/
/*213254*/          /*Scope*/ 64, /*->213319*/
/*213255*/            OPC_CheckPredicate, 18, // Predicate_zextloadi32
/*213257*/            OPC_Scope, 29, /*->213288*/ // 2 children in Scope
/*213259*/              OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*213262*/              OPC_EmitMergeInputChains1_0,
/*213263*/              OPC_EmitInteger, MVT::i64, 0, 
/*213266*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213276*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213279*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                            MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                        // Src: (ld:{ *:[i64] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 29
                        // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRWroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213288*/            /*Scope*/ 29, /*->213318*/
/*213289*/              OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*213292*/              OPC_EmitMergeInputChains1_0,
/*213293*/              OPC_EmitInteger, MVT::i64, 0, 
/*213296*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213306*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213309*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                            MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                        // Src: (ld:{ *:[i64] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 29
                        // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRWroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213318*/            0, /*End of Scope*/
/*213319*/          /*Scope*/ 64, /*->213384*/
/*213320*/            OPC_CheckPredicate, 39, // Predicate_zextloadi1
/*213322*/            OPC_Scope, 29, /*->213353*/ // 2 children in Scope
/*213324*/              OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*213327*/              OPC_EmitMergeInputChains1_0,
/*213328*/              OPC_EmitInteger, MVT::i64, 0, 
/*213331*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213341*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213344*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                            MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                        // Src: (ld:{ *:[i64] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> - Complexity = 29
                        // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213353*/            /*Scope*/ 29, /*->213383*/
/*213354*/              OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*213357*/              OPC_EmitMergeInputChains1_0,
/*213358*/              OPC_EmitInteger, MVT::i64, 0, 
/*213361*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213371*/              OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213374*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                            MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                        // Src: (ld:{ *:[i64] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> - Complexity = 29
                        // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213383*/            0, /*End of Scope*/
/*213384*/          0, /*End of Scope*/
/*213385*/        0, // EndSwitchType
/*213386*/      /*Scope*/ 10|128,2/*266*/, /*->213654*/
/*213388*/        OPC_CheckPredicate, 38, // Predicate_extload
/*213390*/        OPC_CheckType, MVT::i64,
/*213392*/        OPC_Scope, 64, /*->213458*/ // 4 children in Scope
/*213394*/          OPC_CheckPredicate, 6, // Predicate_extloadi8
/*213396*/          OPC_Scope, 29, /*->213427*/ // 2 children in Scope
/*213398*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*213401*/            OPC_EmitMergeInputChains1_0,
/*213402*/            OPC_EmitInteger, MVT::i64, 0, 
/*213405*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213415*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213418*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (ld:{ *:[i64] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 29
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213427*/          /*Scope*/ 29, /*->213457*/
/*213428*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*213431*/            OPC_EmitMergeInputChains1_0,
/*213432*/            OPC_EmitInteger, MVT::i64, 0, 
/*213435*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213445*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213448*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (ld:{ *:[i64] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 29
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213457*/          0, /*End of Scope*/
/*213458*/        /*Scope*/ 64, /*->213523*/
/*213459*/          OPC_CheckPredicate, 16, // Predicate_extloadi16
/*213461*/          OPC_Scope, 29, /*->213492*/ // 2 children in Scope
/*213463*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*213466*/            OPC_EmitMergeInputChains1_0,
/*213467*/            OPC_EmitInteger, MVT::i64, 0, 
/*213470*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213480*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213483*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (ld:{ *:[i64] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 29
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRHHroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213492*/          /*Scope*/ 29, /*->213522*/
/*213493*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*213496*/            OPC_EmitMergeInputChains1_0,
/*213497*/            OPC_EmitInteger, MVT::i64, 0, 
/*213500*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213510*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213513*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (ld:{ *:[i64] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 29
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRHHroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213522*/          0, /*End of Scope*/
/*213523*/        /*Scope*/ 64, /*->213588*/
/*213524*/          OPC_CheckPredicate, 18, // Predicate_extloadi32
/*213526*/          OPC_Scope, 29, /*->213557*/ // 2 children in Scope
/*213528*/            OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*213531*/            OPC_EmitMergeInputChains1_0,
/*213532*/            OPC_EmitInteger, MVT::i64, 0, 
/*213535*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213545*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213548*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (ld:{ *:[i64] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 29
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRWroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213557*/          /*Scope*/ 29, /*->213587*/
/*213558*/            OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*213561*/            OPC_EmitMergeInputChains1_0,
/*213562*/            OPC_EmitInteger, MVT::i64, 0, 
/*213565*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213575*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213578*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (ld:{ *:[i64] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 29
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRWroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213587*/          0, /*End of Scope*/
/*213588*/        /*Scope*/ 64, /*->213653*/
/*213589*/          OPC_CheckPredicate, 39, // Predicate_extloadi1
/*213591*/          OPC_Scope, 29, /*->213622*/ // 2 children in Scope
/*213593*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*213596*/            OPC_EmitMergeInputChains1_0,
/*213597*/            OPC_EmitInteger, MVT::i64, 0, 
/*213600*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213610*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213613*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (ld:{ *:[i64] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> - Complexity = 29
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213622*/          /*Scope*/ 29, /*->213652*/
/*213623*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*213626*/            OPC_EmitMergeInputChains1_0,
/*213627*/            OPC_EmitInteger, MVT::i64, 0, 
/*213630*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*213640*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213643*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (ld:{ *:[i64] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> - Complexity = 29
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend), sub_32:{ *:[i32] })
/*213652*/          0, /*End of Scope*/
/*213653*/        0, /*End of Scope*/
/*213654*/      0, /*End of Scope*/
/*213655*/    /*Scope*/ 84, /*->213740*/
/*213656*/      OPC_MoveChild1,
/*213657*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ADR),
/*213660*/      OPC_RecordChild0, // #1 = $label
/*213661*/      OPC_MoveChild0,
/*213662*/      OPC_CheckPredicate, 40, // Predicate_alignedglobal
/*213664*/      OPC_MoveParent,
/*213665*/      OPC_MoveParent,
/*213666*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*213668*/      OPC_Scope, 24, /*->213694*/ // 3 children in Scope
/*213670*/        OPC_CheckPredicate, 37, // Predicate_load
/*213672*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->213683
/*213675*/          OPC_EmitMergeInputChains1_0,
/*213676*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWl), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[i32] } (AArch64adr:{ *:[iPTR] } iPTR:{ *:[iPTR] }<<P:Predicate_alignedglobal>>:$label))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 28
                    // Dst: (LDRWl:{ *:[i32] } iPTR:{ *:[iPTR] }:$label)
/*213683*/        /*SwitchType*/ 8, MVT::i64,// ->213693
/*213685*/          OPC_EmitMergeInputChains1_0,
/*213686*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXl), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[i64] } (AArch64adr:{ *:[iPTR] } iPTR:{ *:[iPTR] }<<P:Predicate_alignedglobal>>:$label))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 28
                    // Dst: (LDRXl:{ *:[i64] } iPTR:{ *:[iPTR] }:$label)
/*213693*/        0, // EndSwitchType
/*213694*/      /*Scope*/ 14, /*->213709*/
/*213695*/        OPC_CheckPredicate, 5, // Predicate_sextload
/*213697*/        OPC_CheckPredicate, 18, // Predicate_sextloadi32
/*213699*/        OPC_CheckType, MVT::i64,
/*213701*/        OPC_EmitMergeInputChains1_0,
/*213702*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSWl), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (ld:{ *:[i64] } (AArch64adr:{ *:[iPTR] } iPTR:{ *:[iPTR] }<<P:Predicate_alignedglobal>>:$label))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 28
                  // Dst: (LDRSWl:{ *:[i64] } iPTR:{ *:[iPTR] }:$label)
/*213709*/      /*Scope*/ 29, /*->213739*/
/*213710*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*213712*/        OPC_CheckPredicate, 18, // Predicate_zextloadi32
/*213714*/        OPC_CheckType, MVT::i64,
/*213716*/        OPC_EmitMergeInputChains1_0,
/*213717*/        OPC_EmitInteger, MVT::i64, 0, 
/*213720*/        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWl), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*213727*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*213730*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                  // Src: (ld:{ *:[i64] } (AArch64adr:{ *:[iPTR] } iPTR:{ *:[iPTR] }<<P:Predicate_alignedglobal>>:$label))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 28
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRWl:{ *:[i32] } ?:{ *:[iPTR] }:$label), sub_32:{ *:[i32] })
/*213739*/      0, /*End of Scope*/
/*213740*/    /*Scope*/ 80|128,9/*1232*/, /*->214974*/
/*213742*/      OPC_RecordChild1, // #1 = $am_indexed64:Rn:offset
/*213743*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*213745*/      OPC_Scope, 46, /*->213793*/ // 14 children in Scope
/*213747*/        OPC_CheckPredicate, 37, // Predicate_load
/*213749*/        OPC_SwitchType /*3 cases */, 12, MVT::i64,// ->213764
/*213752*/          OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*213755*/          OPC_EmitMergeInputChains1_0,
/*213756*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i64] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 23
                    // Dst: (LDRXui:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*213764*/        /*SwitchType*/ 12, MVT::i32,// ->213778
/*213766*/          OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*213769*/          OPC_EmitMergeInputChains1_0,
/*213770*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 23
                    // Dst: (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*213778*/        /*SwitchType*/ 12, MVT::Untyped,// ->213792
/*213780*/          OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*213783*/          OPC_EmitMergeInputChains1_0,
/*213784*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::Untyped, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[Untyped] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 23
                    // Dst: (LDRBui:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*213792*/        0, // EndSwitchType
/*213793*/      /*Scope*/ 36, /*->213830*/
/*213794*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*213796*/        OPC_CheckType, MVT::i32,
/*213798*/        OPC_Scope, 14, /*->213814*/ // 2 children in Scope
/*213800*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*213802*/          OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*213805*/          OPC_EmitMergeInputChains1_0,
/*213806*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 23
                    // Dst: (LDRHHui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*213814*/        /*Scope*/ 14, /*->213829*/
/*213815*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*213817*/          OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*213820*/          OPC_EmitMergeInputChains1_0,
/*213821*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 23
                    // Dst: (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*213829*/        0, /*End of Scope*/
/*213830*/      /*Scope*/ 87, /*->213918*/
/*213831*/        OPC_CheckPredicate, 5, // Predicate_sextload
/*213833*/        OPC_Scope, 32, /*->213867*/ // 3 children in Scope
/*213835*/          OPC_CheckPredicate, 16, // Predicate_sextloadi16
/*213837*/          OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->213852
/*213840*/            OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*213843*/            OPC_EmitMergeInputChains1_0,
/*213844*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHWui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 23
                      // Dst: (LDRSHWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*213852*/          /*SwitchType*/ 12, MVT::i64,// ->213866
/*213854*/            OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*213857*/            OPC_EmitMergeInputChains1_0,
/*213858*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSHXui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i64] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 23
                      // Dst: (LDRSHXui:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*213866*/          0, // EndSwitchType
/*213867*/        /*Scope*/ 32, /*->213900*/
/*213868*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*213870*/          OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->213885
/*213873*/            OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*213876*/            OPC_EmitMergeInputChains1_0,
/*213877*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBWui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 23
                      // Dst: (LDRSBWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*213885*/          /*SwitchType*/ 12, MVT::i64,// ->213899
/*213887*/            OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*213890*/            OPC_EmitMergeInputChains1_0,
/*213891*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSBXui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i64] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 23
                      // Dst: (LDRSBXui:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*213899*/          0, // EndSwitchType
/*213900*/        /*Scope*/ 16, /*->213917*/
/*213901*/          OPC_CheckPredicate, 18, // Predicate_sextloadi32
/*213903*/          OPC_CheckType, MVT::i64,
/*213905*/          OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*213908*/          OPC_EmitMergeInputChains1_0,
/*213909*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSWui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i64] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 23
                    // Dst: (LDRSWui:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*213917*/        0, /*End of Scope*/
/*213918*/      /*Scope*/ 46, /*->213965*/
/*213919*/        OPC_CheckPredicate, 37, // Predicate_load
/*213921*/        OPC_SwitchType /*3 cases */, 12, MVT::i64,// ->213936
/*213924*/          OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*213927*/          OPC_EmitMergeInputChains1_0,
/*213928*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURXi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i64] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
                    // Dst: (LDURXi:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*213936*/        /*SwitchType*/ 12, MVT::i32,// ->213950
/*213938*/          OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #2 #3
/*213941*/          OPC_EmitMergeInputChains1_0,
/*213942*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURWi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
                    // Dst: (LDURWi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*213950*/        /*SwitchType*/ 12, MVT::Untyped,// ->213964
/*213952*/          OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*213955*/          OPC_EmitMergeInputChains1_0,
/*213956*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::Untyped, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[Untyped] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
                    // Dst: (LDURBi:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*213964*/        0, // EndSwitchType
/*213965*/      /*Scope*/ 36, /*->214002*/
/*213966*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*213968*/        OPC_CheckType, MVT::i32,
/*213970*/        OPC_Scope, 14, /*->213986*/ // 2 children in Scope
/*213972*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*213974*/          OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*213977*/          OPC_EmitMergeInputChains1_0,
/*213978*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 14
                    // Dst: (LDURHHi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*213986*/        /*Scope*/ 14, /*->214001*/
/*213987*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*213989*/          OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*213992*/          OPC_EmitMergeInputChains1_0,
/*213993*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 14
                    // Dst: (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*214001*/        0, /*End of Scope*/
/*214002*/      /*Scope*/ 87, /*->214090*/
/*214003*/        OPC_CheckPredicate, 5, // Predicate_sextload
/*214005*/        OPC_Scope, 32, /*->214039*/ // 3 children in Scope
/*214007*/          OPC_CheckPredicate, 16, // Predicate_sextloadi16
/*214009*/          OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->214024
/*214012*/            OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*214015*/            OPC_EmitMergeInputChains1_0,
/*214016*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSHWi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
                      // Dst: (LDURSHWi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*214024*/          /*SwitchType*/ 12, MVT::i64,// ->214038
/*214026*/            OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*214029*/            OPC_EmitMergeInputChains1_0,
/*214030*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSHXi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i64] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>> - Complexity = 14
                      // Dst: (LDURSHXi:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*214038*/          0, // EndSwitchType
/*214039*/        /*Scope*/ 32, /*->214072*/
/*214040*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*214042*/          OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->214057
/*214045*/            OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214048*/            OPC_EmitMergeInputChains1_0,
/*214049*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSBWi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
                      // Dst: (LDURSBWi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*214057*/          /*SwitchType*/ 12, MVT::i64,// ->214071
/*214059*/            OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214062*/            OPC_EmitMergeInputChains1_0,
/*214063*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSBXi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i64] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>> - Complexity = 14
                      // Dst: (LDURSBXi:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*214071*/          0, // EndSwitchType
/*214072*/        /*Scope*/ 16, /*->214089*/
/*214073*/          OPC_CheckPredicate, 18, // Predicate_sextloadi32
/*214075*/          OPC_CheckType, MVT::i64,
/*214077*/          OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #2 #3
/*214080*/          OPC_EmitMergeInputChains1_0,
/*214081*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSWi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i64] } (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi32>> - Complexity = 14
                    // Dst: (LDURSWi:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*214089*/        0, /*End of Scope*/
/*214090*/      /*Scope*/ 18, /*->214109*/
/*214091*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*214093*/        OPC_CheckPredicate, 39, // Predicate_zextloadi1
/*214095*/        OPC_CheckType, MVT::i32,
/*214097*/        OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*214100*/        OPC_EmitMergeInputChains1_0,
/*214101*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2/*#Ops*/, 2, 3, 
                  // Src: (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> - Complexity = 13
                  // Dst: (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*214109*/      /*Scope*/ 96, /*->214206*/
/*214110*/        OPC_CheckPredicate, 38, // Predicate_extload
/*214112*/        OPC_CheckType, MVT::i32,
/*214114*/        OPC_Scope, 14, /*->214130*/ // 6 children in Scope
/*214116*/          OPC_CheckPredicate, 16, // Predicate_extloadi16
/*214118*/          OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*214121*/          OPC_EmitMergeInputChains1_0,
/*214122*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
                    // Dst: (LDRHHui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*214130*/        /*Scope*/ 14, /*->214145*/
/*214131*/          OPC_CheckPredicate, 6, // Predicate_extloadi8
/*214133*/          OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*214136*/          OPC_EmitMergeInputChains1_0,
/*214137*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
                    // Dst: (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*214145*/        /*Scope*/ 14, /*->214160*/
/*214146*/          OPC_CheckPredicate, 39, // Predicate_extloadi1
/*214148*/          OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*214151*/          OPC_EmitMergeInputChains1_0,
/*214152*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> - Complexity = 13
                    // Dst: (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*214160*/        /*Scope*/ 14, /*->214175*/
/*214161*/          OPC_CheckPredicate, 16, // Predicate_extloadi16
/*214163*/          OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*214166*/          OPC_EmitMergeInputChains1_0,
/*214167*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
                    // Dst: (LDURHHi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*214175*/        /*Scope*/ 14, /*->214190*/
/*214176*/          OPC_CheckPredicate, 6, // Predicate_extloadi8
/*214178*/          OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214181*/          OPC_EmitMergeInputChains1_0,
/*214182*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
                    // Dst: (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*214190*/        /*Scope*/ 14, /*->214205*/
/*214191*/          OPC_CheckPredicate, 39, // Predicate_extloadi1
/*214193*/          OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214196*/          OPC_EmitMergeInputChains1_0,
/*214197*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> - Complexity = 13
                    // Dst: (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*214205*/        0, /*End of Scope*/
/*214206*/      /*Scope*/ 19|128,1/*147*/, /*->214355*/
/*214208*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*214210*/        OPC_SwitchType /*2 cases */, 47, MVT::i32,// ->214260
/*214213*/          OPC_Scope, 14, /*->214229*/ // 3 children in Scope
/*214215*/            OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*214217*/            OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*214220*/            OPC_EmitMergeInputChains1_0,
/*214221*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
                      // Dst: (LDURHHi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*214229*/          /*Scope*/ 14, /*->214244*/
/*214230*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*214232*/            OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214235*/            OPC_EmitMergeInputChains1_0,
/*214236*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
                      // Dst: (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*214244*/          /*Scope*/ 14, /*->214259*/
/*214245*/            OPC_CheckPredicate, 39, // Predicate_zextloadi1
/*214247*/            OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214250*/            OPC_EmitMergeInputChains1_0,
/*214251*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> - Complexity = 13
                      // Dst: (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*214259*/          0, /*End of Scope*/
/*214260*/        /*SwitchType*/ 92, MVT::i64,// ->214354
/*214262*/          OPC_Scope, 29, /*->214293*/ // 3 children in Scope
/*214264*/            OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*214266*/            OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*214269*/            OPC_EmitMergeInputChains1_0,
/*214270*/            OPC_EmitInteger, MVT::i64, 0, 
/*214273*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214281*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214284*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                      // Src: (ld:{ *:[i64] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), sub_32:{ *:[i32] })
/*214293*/          /*Scope*/ 29, /*->214323*/
/*214294*/            OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*214296*/            OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*214299*/            OPC_EmitMergeInputChains1_0,
/*214300*/            OPC_EmitInteger, MVT::i64, 0, 
/*214303*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214311*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214314*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                      // Src: (ld:{ *:[i64] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRHHui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), sub_32:{ *:[i32] })
/*214323*/          /*Scope*/ 29, /*->214353*/
/*214324*/            OPC_CheckPredicate, 39, // Predicate_zextloadi1
/*214326*/            OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*214329*/            OPC_EmitMergeInputChains1_0,
/*214330*/            OPC_EmitInteger, MVT::i64, 0, 
/*214333*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214341*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214344*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                          MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                      // Src: (ld:{ *:[i64] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> - Complexity = 13
                      // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), sub_32:{ *:[i32] })
/*214353*/          0, /*End of Scope*/
/*214354*/        0, // EndSwitchType
/*214355*/      /*Scope*/ 126, /*->214482*/
/*214356*/        OPC_CheckPredicate, 38, // Predicate_extload
/*214358*/        OPC_CheckType, MVT::i64,
/*214360*/        OPC_Scope, 29, /*->214391*/ // 4 children in Scope
/*214362*/          OPC_CheckPredicate, 18, // Predicate_extloadi32
/*214364*/          OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*214367*/          OPC_EmitMergeInputChains1_0,
/*214368*/          OPC_EmitInteger, MVT::i64, 0, 
/*214371*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214379*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214382*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset), sub_32:{ *:[i32] })
/*214391*/        /*Scope*/ 29, /*->214421*/
/*214392*/          OPC_CheckPredicate, 16, // Predicate_extloadi16
/*214394*/          OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*214397*/          OPC_EmitMergeInputChains1_0,
/*214398*/          OPC_EmitInteger, MVT::i64, 0, 
/*214401*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214409*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214412*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRHHui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), sub_32:{ *:[i32] })
/*214421*/        /*Scope*/ 29, /*->214451*/
/*214422*/          OPC_CheckPredicate, 6, // Predicate_extloadi8
/*214424*/          OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*214427*/          OPC_EmitMergeInputChains1_0,
/*214428*/          OPC_EmitInteger, MVT::i64, 0, 
/*214431*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214439*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214442*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), sub_32:{ *:[i32] })
/*214451*/        /*Scope*/ 29, /*->214481*/
/*214452*/          OPC_CheckPredicate, 39, // Predicate_extloadi1
/*214454*/          OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*214457*/          OPC_EmitMergeInputChains1_0,
/*214458*/          OPC_EmitInteger, MVT::i64, 0, 
/*214461*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214469*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214472*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), sub_32:{ *:[i32] })
/*214481*/        0, /*End of Scope*/
/*214482*/      /*Scope*/ 33, /*->214516*/
/*214483*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*214485*/        OPC_CheckPredicate, 18, // Predicate_zextloadi32
/*214487*/        OPC_CheckType, MVT::i64,
/*214489*/        OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*214492*/        OPC_EmitMergeInputChains1_0,
/*214493*/        OPC_EmitInteger, MVT::i64, 0, 
/*214496*/        OPC_EmitNode1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214504*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214507*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                  // Src: (ld:{ *:[i64] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset), sub_32:{ *:[i32] })
/*214516*/      /*Scope*/ 126, /*->214643*/
/*214517*/        OPC_CheckPredicate, 38, // Predicate_extload
/*214519*/        OPC_CheckType, MVT::i64,
/*214521*/        OPC_Scope, 29, /*->214552*/ // 4 children in Scope
/*214523*/          OPC_CheckPredicate, 18, // Predicate_extloadi32
/*214525*/          OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #2 #3
/*214528*/          OPC_EmitMergeInputChains1_0,
/*214529*/          OPC_EmitInteger, MVT::i64, 0, 
/*214532*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURWi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214540*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214543*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi32>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURWi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214552*/        /*Scope*/ 29, /*->214582*/
/*214553*/          OPC_CheckPredicate, 16, // Predicate_extloadi16
/*214555*/          OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*214558*/          OPC_EmitMergeInputChains1_0,
/*214559*/          OPC_EmitInteger, MVT::i64, 0, 
/*214562*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214570*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214573*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURHHi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214582*/        /*Scope*/ 29, /*->214612*/
/*214583*/          OPC_CheckPredicate, 6, // Predicate_extloadi8
/*214585*/          OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214588*/          OPC_EmitMergeInputChains1_0,
/*214589*/          OPC_EmitInteger, MVT::i64, 0, 
/*214592*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214600*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214603*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214612*/        /*Scope*/ 29, /*->214642*/
/*214613*/          OPC_CheckPredicate, 39, // Predicate_extloadi1
/*214615*/          OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214618*/          OPC_EmitMergeInputChains1_0,
/*214619*/          OPC_EmitInteger, MVT::i64, 0, 
/*214622*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214630*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214633*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi1>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214642*/        0, /*End of Scope*/
/*214643*/      /*Scope*/ 58|128,1/*186*/, /*->214831*/
/*214645*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*214647*/        OPC_CheckType, MVT::i64,
/*214649*/        OPC_Scope, 29, /*->214680*/ // 6 children in Scope
/*214651*/          OPC_CheckPredicate, 18, // Predicate_zextloadi32
/*214653*/          OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #2 #3
/*214656*/          OPC_EmitMergeInputChains1_0,
/*214657*/          OPC_EmitInteger, MVT::i64, 0, 
/*214660*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURWi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214668*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214671*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi32>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURWi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214680*/        /*Scope*/ 29, /*->214710*/
/*214681*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*214683*/          OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*214686*/          OPC_EmitMergeInputChains1_0,
/*214687*/          OPC_EmitInteger, MVT::i64, 0, 
/*214690*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214698*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214701*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURHHi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214710*/        /*Scope*/ 29, /*->214740*/
/*214711*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*214713*/          OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214716*/          OPC_EmitMergeInputChains1_0,
/*214717*/          OPC_EmitInteger, MVT::i64, 0, 
/*214720*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214728*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214731*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214740*/        /*Scope*/ 29, /*->214770*/
/*214741*/          OPC_CheckPredicate, 39, // Predicate_zextloadi1
/*214743*/          OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214746*/          OPC_EmitMergeInputChains1_0,
/*214747*/          OPC_EmitInteger, MVT::i64, 0, 
/*214750*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214758*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214761*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi1>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214770*/        /*Scope*/ 29, /*->214800*/
/*214771*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*214773*/          OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*214776*/          OPC_EmitMergeInputChains1_0,
/*214777*/          OPC_EmitInteger, MVT::i64, 0, 
/*214780*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214788*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214791*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214800*/        /*Scope*/ 29, /*->214830*/
/*214801*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*214803*/          OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*214806*/          OPC_EmitMergeInputChains1_0,
/*214807*/          OPC_EmitInteger, MVT::i64, 0, 
/*214810*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*214818*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*214821*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                        MVT::i64, 3/*#Ops*/, 4, 5, 6, 
                    // Src: (ld:{ *:[i64] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>> - Complexity = 13
                    // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDURHHi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), sub_32:{ *:[i32] })
/*214830*/        0, /*End of Scope*/
/*214831*/      /*Scope*/ 12|128,1/*140*/, /*->214973*/
/*214833*/        OPC_CheckPredicate, 37, // Predicate_load
/*214835*/        OPC_SwitchType /*4 cases */, 32, MVT::f16,// ->214870
/*214838*/          OPC_Scope, 14, /*->214854*/ // 2 children in Scope
/*214840*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*214843*/            OPC_EmitMergeInputChains1_0,
/*214844*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[f16] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*214854*/          /*Scope*/ 14, /*->214869*/
/*214855*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*214858*/            OPC_EmitMergeInputChains1_0,
/*214859*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[f16] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*214869*/          0, /*End of Scope*/
/*214870*/        /*SwitchType*/ 32, MVT::f32,// ->214904
/*214872*/          OPC_Scope, 14, /*->214888*/ // 2 children in Scope
/*214874*/            OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*214877*/            OPC_EmitMergeInputChains1_0,
/*214878*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[f32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRSroW:{ *:[f32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*214888*/          /*Scope*/ 14, /*->214903*/
/*214889*/            OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*214892*/            OPC_EmitMergeInputChains1_0,
/*214893*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[f32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRSroX:{ *:[f32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*214903*/          0, /*End of Scope*/
/*214904*/        /*SwitchType*/ 32, MVT::f64,// ->214938
/*214906*/          OPC_Scope, 14, /*->214922*/ // 2 children in Scope
/*214908*/            OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*214911*/            OPC_EmitMergeInputChains1_0,
/*214912*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[f64] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRDroW:{ *:[f64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*214922*/          /*Scope*/ 14, /*->214937*/
/*214923*/            OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*214926*/            OPC_EmitMergeInputChains1_0,
/*214927*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[f64] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRDroX:{ *:[f64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*214937*/          0, /*End of Scope*/
/*214938*/        /*SwitchType*/ 32, MVT::f128,// ->214972
/*214940*/          OPC_Scope, 14, /*->214956*/ // 2 children in Scope
/*214942*/            OPC_CheckComplexPat, /*CP*/26, /*#*/1, // SelectAddrModeWRO<128>:$ #2 #3 #4 #5
/*214945*/            OPC_EmitMergeInputChains1_0,
/*214946*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f128, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[f128] } (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroW:{ *:[f128] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*214956*/          /*Scope*/ 14, /*->214971*/
/*214957*/            OPC_CheckComplexPat, /*CP*/27, /*#*/1, // SelectAddrModeXRO<128>:$ #2 #3 #4 #5
/*214960*/            OPC_EmitMergeInputChains1_0,
/*214961*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f128, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[f128] } (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroX:{ *:[f128] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*214971*/          0, /*End of Scope*/
/*214972*/        0, // EndSwitchType
/*214973*/      0, /*End of Scope*/
/*214974*/    /*Scope*/ 46, /*->215021*/
/*214975*/      OPC_MoveChild1,
/*214976*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ADR),
/*214979*/      OPC_RecordChild0, // #1 = $label
/*214980*/      OPC_MoveChild0,
/*214981*/      OPC_CheckPredicate, 40, // Predicate_alignedglobal
/*214983*/      OPC_MoveParent,
/*214984*/      OPC_MoveParent,
/*214985*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*214987*/      OPC_CheckPredicate, 37, // Predicate_load
/*214989*/      OPC_SwitchType /*3 cases */, 8, MVT::f32,// ->215000
/*214992*/        OPC_EmitMergeInputChains1_0,
/*214993*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSl), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f32, 1/*#Ops*/, 1, 
                  // Src: (ld:{ *:[f32] } (AArch64adr:{ *:[iPTR] } iPTR:{ *:[iPTR] }<<P:Predicate_alignedglobal>>:$label))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 28
                  // Dst: (LDRSl:{ *:[f32] } iPTR:{ *:[iPTR] }:$label)
/*215000*/      /*SwitchType*/ 8, MVT::f64,// ->215010
/*215002*/        OPC_EmitMergeInputChains1_0,
/*215003*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDl), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f64, 1/*#Ops*/, 1, 
                  // Src: (ld:{ *:[f64] } (AArch64adr:{ *:[iPTR] } iPTR:{ *:[iPTR] }<<P:Predicate_alignedglobal>>:$label))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 28
                  // Dst: (LDRDl:{ *:[f64] } iPTR:{ *:[iPTR] }:$label)
/*215010*/      /*SwitchType*/ 8, MVT::f128,// ->215020
/*215012*/        OPC_EmitMergeInputChains1_0,
/*215013*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQl), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::f128, 1/*#Ops*/, 1, 
                  // Src: (ld:{ *:[f128] } (AArch64adr:{ *:[iPTR] } iPTR:{ *:[iPTR] }<<P:Predicate_alignedglobal>>:$label))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 28
                  // Dst: (LDRQl:{ *:[f128] } iPTR:{ *:[iPTR] }:$label)
/*215020*/      0, // EndSwitchType
/*215021*/    /*Scope*/ 89|128,8/*1113*/, /*->216136*/
/*215023*/      OPC_RecordChild1, // #1 = $am_indexed16:Rn:offset
/*215024*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*215026*/      OPC_CheckPredicate, 37, // Predicate_load
/*215028*/      OPC_SwitchType /*18 cases */, 28, MVT::f16,// ->215059
/*215031*/        OPC_Scope, 12, /*->215045*/ // 2 children in Scope
/*215033*/          OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*215036*/          OPC_EmitMergeInputChains1_0,
/*215037*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f16, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f16] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 23
                    // Dst: (LDRHui:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*215045*/        /*Scope*/ 12, /*->215058*/
/*215046*/          OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*215049*/          OPC_EmitMergeInputChains1_0,
/*215050*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f16, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f16] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
                    // Dst: (LDURHi:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*215058*/        0, /*End of Scope*/
/*215059*/      /*SwitchType*/ 28, MVT::f32,// ->215089
/*215061*/        OPC_Scope, 12, /*->215075*/ // 2 children in Scope
/*215063*/          OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*215066*/          OPC_EmitMergeInputChains1_0,
/*215067*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f32] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 23
                    // Dst: (LDRSui:{ *:[f32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*215075*/        /*Scope*/ 12, /*->215088*/
/*215076*/          OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #2 #3
/*215079*/          OPC_EmitMergeInputChains1_0,
/*215080*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f32] } (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
                    // Dst: (LDURSi:{ *:[f32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*215088*/        0, /*End of Scope*/
/*215089*/      /*SwitchType*/ 28, MVT::f64,// ->215119
/*215091*/        OPC_Scope, 12, /*->215105*/ // 2 children in Scope
/*215093*/          OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*215096*/          OPC_EmitMergeInputChains1_0,
/*215097*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f64] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 23
                    // Dst: (LDRDui:{ *:[f64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*215105*/        /*Scope*/ 12, /*->215118*/
/*215106*/          OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*215109*/          OPC_EmitMergeInputChains1_0,
/*215110*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f64] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
                    // Dst: (LDURDi:{ *:[f64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*215118*/        0, /*End of Scope*/
/*215119*/      /*SwitchType*/ 41, MVT::f128,// ->215162
/*215121*/        OPC_Scope, 12, /*->215135*/ // 3 children in Scope
/*215123*/          OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*215126*/          OPC_EmitMergeInputChains1_0,
/*215127*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f128] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 23
                    // Dst: (LDRQui:{ *:[f128] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*215135*/        /*Scope*/ 12, /*->215148*/
/*215136*/          OPC_CheckComplexPat, /*CP*/15, /*#*/1, // SelectAddrModeUnscaled128:$ #2 #3
/*215139*/          OPC_EmitMergeInputChains1_0,
/*215140*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f128] } (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 14
                    // Dst: (LDURQi:{ *:[f128] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*215148*/        /*Scope*/ 12, /*->215161*/
/*215149*/          OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*215152*/          OPC_EmitMergeInputChains1_0,
/*215153*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[f128] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDRQui:{ *:[f128] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*215161*/        0, /*End of Scope*/
/*215162*/      /*SwitchType*/ 74, MVT::v2i32,// ->215238
/*215164*/        OPC_Scope, 60, /*->215226*/ // 2 children in Scope
/*215166*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215168*/          OPC_Scope, 14, /*->215184*/ // 4 children in Scope
/*215170*/            OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*215173*/            OPC_EmitMergeInputChains1_0,
/*215174*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v2i32] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRDroW:{ *:[v2i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*215184*/          /*Scope*/ 14, /*->215199*/
/*215185*/            OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*215188*/            OPC_EmitMergeInputChains1_0,
/*215189*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v2i32] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRDroX:{ *:[v2i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*215199*/          /*Scope*/ 12, /*->215212*/
/*215200*/            OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*215203*/            OPC_EmitMergeInputChains1_0,
/*215204*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v2i32] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDRDui:{ *:[v2i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*215212*/          /*Scope*/ 12, /*->215225*/
/*215213*/            OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*215216*/            OPC_EmitMergeInputChains1_0,
/*215217*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v2i32] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDURDi:{ *:[v2i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215225*/          0, /*End of Scope*/
/*215226*/        /*Scope*/ 10, /*->215237*/
/*215227*/          OPC_CheckChild1Type, MVT::i64,
/*215229*/          OPC_EmitMergeInputChains1_0,
/*215230*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev2s), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2i32, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[v2i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
                    // Dst: (LD1Onev2s:{ *:[v2i32] } GPR64sp:{ *:[i64] }:$Rn)
/*215237*/        0, /*End of Scope*/
/*215238*/      /*SwitchType*/ 74, MVT::v8i8,// ->215314
/*215240*/        OPC_Scope, 60, /*->215302*/ // 2 children in Scope
/*215242*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215244*/          OPC_Scope, 14, /*->215260*/ // 4 children in Scope
/*215246*/            OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*215249*/            OPC_EmitMergeInputChains1_0,
/*215250*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i8, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v8i8] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRDroW:{ *:[v8i8] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*215260*/          /*Scope*/ 14, /*->215275*/
/*215261*/            OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*215264*/            OPC_EmitMergeInputChains1_0,
/*215265*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i8, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v8i8] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRDroX:{ *:[v8i8] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*215275*/          /*Scope*/ 12, /*->215288*/
/*215276*/            OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*215279*/            OPC_EmitMergeInputChains1_0,
/*215280*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i8, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v8i8] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDRDui:{ *:[v8i8] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*215288*/          /*Scope*/ 12, /*->215301*/
/*215289*/            OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*215292*/            OPC_EmitMergeInputChains1_0,
/*215293*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i8, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v8i8] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDURDi:{ *:[v8i8] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215301*/          0, /*End of Scope*/
/*215302*/        /*Scope*/ 10, /*->215313*/
/*215303*/          OPC_CheckChild1Type, MVT::i64,
/*215305*/          OPC_EmitMergeInputChains1_0,
/*215306*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev8b), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v8i8, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[v8i8] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
                    // Dst: (LD1Onev8b:{ *:[v8i8] } GPR64sp:{ *:[i64] }:$Rn)
/*215313*/        0, /*End of Scope*/
/*215314*/      /*SwitchType*/ 74, MVT::v4i16,// ->215390
/*215316*/        OPC_Scope, 60, /*->215378*/ // 2 children in Scope
/*215318*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215320*/          OPC_Scope, 14, /*->215336*/ // 4 children in Scope
/*215322*/            OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*215325*/            OPC_EmitMergeInputChains1_0,
/*215326*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i16, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v4i16] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRDroW:{ *:[v4i16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*215336*/          /*Scope*/ 14, /*->215351*/
/*215337*/            OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*215340*/            OPC_EmitMergeInputChains1_0,
/*215341*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i16, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v4i16] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRDroX:{ *:[v4i16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*215351*/          /*Scope*/ 12, /*->215364*/
/*215352*/            OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*215355*/            OPC_EmitMergeInputChains1_0,
/*215356*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i16, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v4i16] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDRDui:{ *:[v4i16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*215364*/          /*Scope*/ 12, /*->215377*/
/*215365*/            OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*215368*/            OPC_EmitMergeInputChains1_0,
/*215369*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i16, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v4i16] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDURDi:{ *:[v4i16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215377*/          0, /*End of Scope*/
/*215378*/        /*Scope*/ 10, /*->215389*/
/*215379*/          OPC_CheckChild1Type, MVT::i64,
/*215381*/          OPC_EmitMergeInputChains1_0,
/*215382*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev4h), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i16, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[v4i16] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
                    // Dst: (LD1Onev4h:{ *:[v4i16] } GPR64sp:{ *:[i64] }:$Rn)
/*215389*/        0, /*End of Scope*/
/*215390*/      /*SwitchType*/ 69, MVT::v1i64,// ->215461
/*215392*/        OPC_Scope, 14, /*->215408*/ // 5 children in Scope
/*215394*/          OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*215397*/          OPC_EmitMergeInputChains1_0,
/*215398*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1i64, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v1i64] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRDroW:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*215408*/        /*Scope*/ 14, /*->215423*/
/*215409*/          OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*215412*/          OPC_EmitMergeInputChains1_0,
/*215413*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1i64, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v1i64] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRDroX:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*215423*/        /*Scope*/ 12, /*->215436*/
/*215424*/          OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*215427*/          OPC_EmitMergeInputChains1_0,
/*215428*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1i64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v1i64] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDRDui:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*215436*/        /*Scope*/ 12, /*->215449*/
/*215437*/          OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*215440*/          OPC_EmitMergeInputChains1_0,
/*215441*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1i64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v1i64] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDURDi:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215449*/        /*Scope*/ 10, /*->215460*/
/*215450*/          OPC_CheckChild1Type, MVT::i64,
/*215452*/          OPC_EmitMergeInputChains1_0,
/*215453*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev1d), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1i64, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
                    // Dst: (LD1Onev1d:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn)
/*215460*/        0, /*End of Scope*/
/*215461*/      /*SwitchType*/ 74, MVT::v2i64,// ->215537
/*215463*/        OPC_Scope, 60, /*->215525*/ // 2 children in Scope
/*215465*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215467*/          OPC_Scope, 14, /*->215483*/ // 4 children in Scope
/*215469*/            OPC_CheckComplexPat, /*CP*/26, /*#*/1, // SelectAddrModeWRO<128>:$ #2 #3 #4 #5
/*215472*/            OPC_EmitMergeInputChains1_0,
/*215473*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v2i64] } (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroW:{ *:[v2i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*215483*/          /*Scope*/ 14, /*->215498*/
/*215484*/            OPC_CheckComplexPat, /*CP*/27, /*#*/1, // SelectAddrModeXRO<128>:$ #2 #3 #4 #5
/*215487*/            OPC_EmitMergeInputChains1_0,
/*215488*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v2i64] } (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroX:{ *:[v2i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*215498*/          /*Scope*/ 12, /*->215511*/
/*215499*/            OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*215502*/            OPC_EmitMergeInputChains1_0,
/*215503*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i64, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v2i64] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDRQui:{ *:[v2i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*215511*/          /*Scope*/ 12, /*->215524*/
/*215512*/            OPC_CheckComplexPat, /*CP*/15, /*#*/1, // SelectAddrModeUnscaled128:$ #2 #3
/*215515*/            OPC_EmitMergeInputChains1_0,
/*215516*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i64, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v2i64] } (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDURQi:{ *:[v2i64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215524*/          0, /*End of Scope*/
/*215525*/        /*Scope*/ 10, /*->215536*/
/*215526*/          OPC_CheckChild1Type, MVT::i64,
/*215528*/          OPC_EmitMergeInputChains1_0,
/*215529*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev2d), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2i64, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[v2i64] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
                    // Dst: (LD1Onev2d:{ *:[v2i64] } GPR64sp:{ *:[i64] }:$Rn)
/*215536*/        0, /*End of Scope*/
/*215537*/      /*SwitchType*/ 74, MVT::v4i32,// ->215613
/*215539*/        OPC_Scope, 60, /*->215601*/ // 2 children in Scope
/*215541*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215543*/          OPC_Scope, 14, /*->215559*/ // 4 children in Scope
/*215545*/            OPC_CheckComplexPat, /*CP*/26, /*#*/1, // SelectAddrModeWRO<128>:$ #2 #3 #4 #5
/*215548*/            OPC_EmitMergeInputChains1_0,
/*215549*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v4i32] } (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroW:{ *:[v4i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*215559*/          /*Scope*/ 14, /*->215574*/
/*215560*/            OPC_CheckComplexPat, /*CP*/27, /*#*/1, // SelectAddrModeXRO<128>:$ #2 #3 #4 #5
/*215563*/            OPC_EmitMergeInputChains1_0,
/*215564*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i32, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v4i32] } (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroX:{ *:[v4i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*215574*/          /*Scope*/ 12, /*->215587*/
/*215575*/            OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*215578*/            OPC_EmitMergeInputChains1_0,
/*215579*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v4i32] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDRQui:{ *:[v4i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*215587*/          /*Scope*/ 12, /*->215600*/
/*215588*/            OPC_CheckComplexPat, /*CP*/15, /*#*/1, // SelectAddrModeUnscaled128:$ #2 #3
/*215591*/            OPC_EmitMergeInputChains1_0,
/*215592*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i32, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v4i32] } (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDURQi:{ *:[v4i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215600*/          0, /*End of Scope*/
/*215601*/        /*Scope*/ 10, /*->215612*/
/*215602*/          OPC_CheckChild1Type, MVT::i64,
/*215604*/          OPC_EmitMergeInputChains1_0,
/*215605*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev4s), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4i32, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[v4i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
                    // Dst: (LD1Onev4s:{ *:[v4i32] } GPR64sp:{ *:[i64] }:$Rn)
/*215612*/        0, /*End of Scope*/
/*215613*/      /*SwitchType*/ 74, MVT::v8i16,// ->215689
/*215615*/        OPC_Scope, 60, /*->215677*/ // 2 children in Scope
/*215617*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215619*/          OPC_Scope, 14, /*->215635*/ // 4 children in Scope
/*215621*/            OPC_CheckComplexPat, /*CP*/26, /*#*/1, // SelectAddrModeWRO<128>:$ #2 #3 #4 #5
/*215624*/            OPC_EmitMergeInputChains1_0,
/*215625*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i16, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v8i16] } (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroW:{ *:[v8i16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*215635*/          /*Scope*/ 14, /*->215650*/
/*215636*/            OPC_CheckComplexPat, /*CP*/27, /*#*/1, // SelectAddrModeXRO<128>:$ #2 #3 #4 #5
/*215639*/            OPC_EmitMergeInputChains1_0,
/*215640*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i16, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v8i16] } (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroX:{ *:[v8i16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*215650*/          /*Scope*/ 12, /*->215663*/
/*215651*/            OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*215654*/            OPC_EmitMergeInputChains1_0,
/*215655*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i16, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v8i16] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDRQui:{ *:[v8i16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*215663*/          /*Scope*/ 12, /*->215676*/
/*215664*/            OPC_CheckComplexPat, /*CP*/15, /*#*/1, // SelectAddrModeUnscaled128:$ #2 #3
/*215667*/            OPC_EmitMergeInputChains1_0,
/*215668*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i16, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v8i16] } (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDURQi:{ *:[v8i16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215676*/          0, /*End of Scope*/
/*215677*/        /*Scope*/ 10, /*->215688*/
/*215678*/          OPC_CheckChild1Type, MVT::i64,
/*215680*/          OPC_EmitMergeInputChains1_0,
/*215681*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev8h), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v8i16, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[v8i16] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
                    // Dst: (LD1Onev8h:{ *:[v8i16] } GPR64sp:{ *:[i64] }:$Rn)
/*215688*/        0, /*End of Scope*/
/*215689*/      /*SwitchType*/ 74, MVT::v16i8,// ->215765
/*215691*/        OPC_Scope, 60, /*->215753*/ // 2 children in Scope
/*215693*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215695*/          OPC_Scope, 14, /*->215711*/ // 4 children in Scope
/*215697*/            OPC_CheckComplexPat, /*CP*/26, /*#*/1, // SelectAddrModeWRO<128>:$ #2 #3 #4 #5
/*215700*/            OPC_EmitMergeInputChains1_0,
/*215701*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v16i8, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v16i8] } (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroW:{ *:[v16i8] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*215711*/          /*Scope*/ 14, /*->215726*/
/*215712*/            OPC_CheckComplexPat, /*CP*/27, /*#*/1, // SelectAddrModeXRO<128>:$ #2 #3 #4 #5
/*215715*/            OPC_EmitMergeInputChains1_0,
/*215716*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v16i8, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (ld:{ *:[v16i8] } (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                      // Dst: (LDRQroX:{ *:[v16i8] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*215726*/          /*Scope*/ 12, /*->215739*/
/*215727*/            OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*215730*/            OPC_EmitMergeInputChains1_0,
/*215731*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v16i8, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v16i8] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDRQui:{ *:[v16i8] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*215739*/          /*Scope*/ 12, /*->215752*/
/*215740*/            OPC_CheckComplexPat, /*CP*/15, /*#*/1, // SelectAddrModeUnscaled128:$ #2 #3
/*215743*/            OPC_EmitMergeInputChains1_0,
/*215744*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v16i8, 2/*#Ops*/, 2, 3, 
                      // Src: (ld:{ *:[v16i8] } (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                      // Dst: (LDURQi:{ *:[v16i8] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215752*/          0, /*End of Scope*/
/*215753*/        /*Scope*/ 10, /*->215764*/
/*215754*/          OPC_CheckChild1Type, MVT::i64,
/*215756*/          OPC_EmitMergeInputChains1_0,
/*215757*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Onev16b), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v16i8, 1/*#Ops*/, 1, 
                    // Src: (ld:{ *:[v16i8] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 4
                    // Dst: (LD1Onev16b:{ *:[v16i8] } GPR64sp:{ *:[i64] }:$Rn)
/*215764*/        0, /*End of Scope*/
/*215765*/      /*SwitchType*/ 60, MVT::v2f32,// ->215827
/*215767*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215769*/        OPC_Scope, 14, /*->215785*/ // 4 children in Scope
/*215771*/          OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*215774*/          OPC_EmitMergeInputChains1_0,
/*215775*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f32, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v2f32] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRDroW:{ *:[v2f32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*215785*/        /*Scope*/ 14, /*->215800*/
/*215786*/          OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*215789*/          OPC_EmitMergeInputChains1_0,
/*215790*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f32, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v2f32] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRDroX:{ *:[v2f32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*215800*/        /*Scope*/ 12, /*->215813*/
/*215801*/          OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*215804*/          OPC_EmitMergeInputChains1_0,
/*215805*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v2f32] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDRDui:{ *:[v2f32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*215813*/        /*Scope*/ 12, /*->215826*/
/*215814*/          OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*215817*/          OPC_EmitMergeInputChains1_0,
/*215818*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v2f32] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDURDi:{ *:[v2f32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215826*/        0, /*End of Scope*/
/*215827*/      /*SwitchType*/ 60, MVT::v4f16,// ->215889
/*215829*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215831*/        OPC_Scope, 14, /*->215847*/ // 4 children in Scope
/*215833*/          OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*215836*/          OPC_EmitMergeInputChains1_0,
/*215837*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f16, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v4f16] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRDroW:{ *:[v4f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*215847*/        /*Scope*/ 14, /*->215862*/
/*215848*/          OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*215851*/          OPC_EmitMergeInputChains1_0,
/*215852*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f16, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v4f16] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRDroX:{ *:[v4f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*215862*/        /*Scope*/ 12, /*->215875*/
/*215863*/          OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*215866*/          OPC_EmitMergeInputChains1_0,
/*215867*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f16, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v4f16] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDRDui:{ *:[v4f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*215875*/        /*Scope*/ 12, /*->215888*/
/*215876*/          OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*215879*/          OPC_EmitMergeInputChains1_0,
/*215880*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f16, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v4f16] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDURDi:{ *:[v4f16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215888*/        0, /*End of Scope*/
/*215889*/      /*SwitchType*/ 58, MVT::v1f64,// ->215949
/*215891*/        OPC_Scope, 14, /*->215907*/ // 4 children in Scope
/*215893*/          OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*215896*/          OPC_EmitMergeInputChains1_0,
/*215897*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1f64, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v1f64] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRDroW:{ *:[v1f64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*215907*/        /*Scope*/ 14, /*->215922*/
/*215908*/          OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*215911*/          OPC_EmitMergeInputChains1_0,
/*215912*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1f64, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v1f64] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRDroX:{ *:[v1f64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*215922*/        /*Scope*/ 12, /*->215935*/
/*215923*/          OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*215926*/          OPC_EmitMergeInputChains1_0,
/*215927*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1f64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v1f64] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDRDui:{ *:[v1f64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*215935*/        /*Scope*/ 12, /*->215948*/
/*215936*/          OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*215939*/          OPC_EmitMergeInputChains1_0,
/*215940*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURDi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1f64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v1f64] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDURDi:{ *:[v1f64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*215948*/        0, /*End of Scope*/
/*215949*/      /*SwitchType*/ 60, MVT::v2f64,// ->216011
/*215951*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*215953*/        OPC_Scope, 14, /*->215969*/ // 4 children in Scope
/*215955*/          OPC_CheckComplexPat, /*CP*/26, /*#*/1, // SelectAddrModeWRO<128>:$ #2 #3 #4 #5
/*215958*/          OPC_EmitMergeInputChains1_0,
/*215959*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f64, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v2f64] } (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRQroW:{ *:[v2f64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*215969*/        /*Scope*/ 14, /*->215984*/
/*215970*/          OPC_CheckComplexPat, /*CP*/27, /*#*/1, // SelectAddrModeXRO<128>:$ #2 #3 #4 #5
/*215973*/          OPC_EmitMergeInputChains1_0,
/*215974*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f64, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v2f64] } (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRQroX:{ *:[v2f64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*215984*/        /*Scope*/ 12, /*->215997*/
/*215985*/          OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*215988*/          OPC_EmitMergeInputChains1_0,
/*215989*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v2f64] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDRQui:{ *:[v2f64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*215997*/        /*Scope*/ 12, /*->216010*/
/*215998*/          OPC_CheckComplexPat, /*CP*/15, /*#*/1, // SelectAddrModeUnscaled128:$ #2 #3
/*216001*/          OPC_EmitMergeInputChains1_0,
/*216002*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f64, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v2f64] } (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDURQi:{ *:[v2f64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*216010*/        0, /*End of Scope*/
/*216011*/      /*SwitchType*/ 60, MVT::v4f32,// ->216073
/*216013*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*216015*/        OPC_Scope, 14, /*->216031*/ // 4 children in Scope
/*216017*/          OPC_CheckComplexPat, /*CP*/26, /*#*/1, // SelectAddrModeWRO<128>:$ #2 #3 #4 #5
/*216020*/          OPC_EmitMergeInputChains1_0,
/*216021*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f32, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v4f32] } (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRQroW:{ *:[v4f32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*216031*/        /*Scope*/ 14, /*->216046*/
/*216032*/          OPC_CheckComplexPat, /*CP*/27, /*#*/1, // SelectAddrModeXRO<128>:$ #2 #3 #4 #5
/*216035*/          OPC_EmitMergeInputChains1_0,
/*216036*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f32, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v4f32] } (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRQroX:{ *:[v4f32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*216046*/        /*Scope*/ 12, /*->216059*/
/*216047*/          OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*216050*/          OPC_EmitMergeInputChains1_0,
/*216051*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v4f32] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDRQui:{ *:[v4f32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*216059*/        /*Scope*/ 12, /*->216072*/
/*216060*/          OPC_CheckComplexPat, /*CP*/15, /*#*/1, // SelectAddrModeUnscaled128:$ #2 #3
/*216063*/          OPC_EmitMergeInputChains1_0,
/*216064*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f32, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v4f32] } (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDURQi:{ *:[v4f32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*216072*/        0, /*End of Scope*/
/*216073*/      /*SwitchType*/ 60, MVT::v8f16,// ->216135
/*216075*/        OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*216077*/        OPC_Scope, 14, /*->216093*/ // 4 children in Scope
/*216079*/          OPC_CheckComplexPat, /*CP*/26, /*#*/1, // SelectAddrModeWRO<128>:$ #2 #3 #4 #5
/*216082*/          OPC_EmitMergeInputChains1_0,
/*216083*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v8f16, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v8f16] } (ro_Windexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRQroW:{ *:[v8f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend128:{ *:[i32] }:$extend)
/*216093*/        /*Scope*/ 14, /*->216108*/
/*216094*/          OPC_CheckComplexPat, /*CP*/27, /*#*/1, // SelectAddrModeXRO<128>:$ #2 #3 #4 #5
/*216097*/          OPC_EmitMergeInputChains1_0,
/*216098*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v8f16, 4/*#Ops*/, 2, 3, 4, 5, 
                    // Src: (ld:{ *:[v8f16] } (ro_Xindexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 29
                    // Dst: (LDRQroX:{ *:[v8f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend128:{ *:[i32] }:$extend)
/*216108*/        /*Scope*/ 12, /*->216121*/
/*216109*/          OPC_CheckComplexPat, /*CP*/28, /*#*/1, // SelectAddrModeIndexed128:$ #2 #3
/*216112*/          OPC_EmitMergeInputChains1_0,
/*216113*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRQui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v8f16, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v8f16] } (am_indexed128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDRQui:{ *:[v8f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s16:{ *:[i64] }:$offset)
/*216121*/        /*Scope*/ 12, /*->216134*/
/*216122*/          OPC_CheckComplexPat, /*CP*/15, /*#*/1, // SelectAddrModeUnscaled128:$ #2 #3
/*216125*/          OPC_EmitMergeInputChains1_0,
/*216126*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURQi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v8f16, 2/*#Ops*/, 2, 3, 
                    // Src: (ld:{ *:[v8f16] } (am_unscaled128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>> - Complexity = 13
                    // Dst: (LDURQi:{ *:[v8f16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*216134*/        0, /*End of Scope*/
/*216135*/      0, // EndSwitchType
/*216136*/    0, /*End of Scope*/
/*216137*/  /*SwitchOpcode*/ 25|128,18/*2329*/, TARGET_VAL(ISD::AND),// ->218470
/*216141*/    OPC_Scope, 111|128,2/*367*/, /*->216511*/ // 32 children in Scope
/*216144*/      OPC_MoveChild0,
/*216145*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*216148*/      OPC_MoveChild0,
/*216149*/      OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
/*216152*/      OPC_MoveChild0,
/*216153*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*216156*/      OPC_MoveParent,
/*216157*/      OPC_MoveChild1,
/*216158*/      OPC_SwitchOpcode /*3 cases */, 114, TARGET_VAL(AArch64ISD::UADDV),// ->216276
/*216162*/        OPC_RecordChild0, // #0 = $Rn
/*216163*/        OPC_MoveParent,
/*216164*/        OPC_CheckChild2Integer, 0, 
/*216166*/        OPC_CheckChild2Type, MVT::i32,
/*216168*/        OPC_SwitchType /*2 cases */, 51, MVT::v16i8,// ->216222
/*216171*/          OPC_MoveParent,
/*216172*/          OPC_CheckChild1Integer, 0, 
/*216174*/          OPC_CheckChild1Type, MVT::i64,
/*216176*/          OPC_MoveParent,
/*216177*/          OPC_MoveChild1,
/*216178*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216181*/          OPC_CheckPredicate, 41, // Predicate_maski8_or_more
/*216183*/          OPC_MoveParent,
/*216184*/          OPC_CheckType, MVT::i32,
/*216186*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216192*/          OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*216199*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*216202*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216211*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216214*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64uaddv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski8_or_more>>) - Complexity = 29
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216222*/        /*SwitchType*/ 51, MVT::v8i16,// ->216275
/*216224*/          OPC_MoveParent,
/*216225*/          OPC_CheckChild1Integer, 0, 
/*216227*/          OPC_CheckChild1Type, MVT::i64,
/*216229*/          OPC_MoveParent,
/*216230*/          OPC_MoveChild1,
/*216231*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216234*/          OPC_CheckPredicate, 42, // Predicate_maski16_or_more
/*216236*/          OPC_MoveParent,
/*216237*/          OPC_CheckType, MVT::i32,
/*216239*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216245*/          OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*216252*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*216255*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216264*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216267*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64uaddv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski16_or_more>>) - Complexity = 29
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216275*/        0, // EndSwitchType
/*216276*/      /*SwitchOpcode*/ 114, TARGET_VAL(AArch64ISD::UMAXV),// ->216393
/*216279*/        OPC_RecordChild0, // #0 = $Rn
/*216280*/        OPC_MoveParent,
/*216281*/        OPC_CheckChild2Integer, 0, 
/*216283*/        OPC_CheckChild2Type, MVT::i32,
/*216285*/        OPC_SwitchType /*2 cases */, 51, MVT::v16i8,// ->216339
/*216288*/          OPC_MoveParent,
/*216289*/          OPC_CheckChild1Integer, 0, 
/*216291*/          OPC_CheckChild1Type, MVT::i64,
/*216293*/          OPC_MoveParent,
/*216294*/          OPC_MoveChild1,
/*216295*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216298*/          OPC_CheckPredicate, 41, // Predicate_maski8_or_more
/*216300*/          OPC_MoveParent,
/*216301*/          OPC_CheckType, MVT::i32,
/*216303*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216309*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv8i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*216316*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*216319*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216328*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216331*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64umaxv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski8_or_more>>) - Complexity = 29
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMAXVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216339*/        /*SwitchType*/ 51, MVT::v8i16,// ->216392
/*216341*/          OPC_MoveParent,
/*216342*/          OPC_CheckChild1Integer, 0, 
/*216344*/          OPC_CheckChild1Type, MVT::i64,
/*216346*/          OPC_MoveParent,
/*216347*/          OPC_MoveChild1,
/*216348*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216351*/          OPC_CheckPredicate, 42, // Predicate_maski16_or_more
/*216353*/          OPC_MoveParent,
/*216354*/          OPC_CheckType, MVT::i32,
/*216356*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216362*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv4i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*216369*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*216372*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216381*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216384*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64umaxv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski16_or_more>>) - Complexity = 29
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMAXVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216392*/        0, // EndSwitchType
/*216393*/      /*SwitchOpcode*/ 114, TARGET_VAL(AArch64ISD::UMINV),// ->216510
/*216396*/        OPC_RecordChild0, // #0 = $Rn
/*216397*/        OPC_MoveParent,
/*216398*/        OPC_CheckChild2Integer, 0, 
/*216400*/        OPC_CheckChild2Type, MVT::i32,
/*216402*/        OPC_SwitchType /*2 cases */, 51, MVT::v16i8,// ->216456
/*216405*/          OPC_MoveParent,
/*216406*/          OPC_CheckChild1Integer, 0, 
/*216408*/          OPC_CheckChild1Type, MVT::i64,
/*216410*/          OPC_MoveParent,
/*216411*/          OPC_MoveChild1,
/*216412*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216415*/          OPC_CheckPredicate, 41, // Predicate_maski8_or_more
/*216417*/          OPC_MoveParent,
/*216418*/          OPC_CheckType, MVT::i32,
/*216420*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216426*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv8i8v), 0,
                        MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*216433*/          OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*216436*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216445*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216448*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64uminv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski8_or_more>>) - Complexity = 29
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMINVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216456*/        /*SwitchType*/ 51, MVT::v8i16,// ->216509
/*216458*/          OPC_MoveParent,
/*216459*/          OPC_CheckChild1Integer, 0, 
/*216461*/          OPC_CheckChild1Type, MVT::i64,
/*216463*/          OPC_MoveParent,
/*216464*/          OPC_MoveChild1,
/*216465*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216468*/          OPC_CheckPredicate, 42, // Predicate_maski16_or_more
/*216470*/          OPC_MoveParent,
/*216471*/          OPC_CheckType, MVT::i32,
/*216473*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216479*/          OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv4i16v), 0,
                        MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*216486*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*216489*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216498*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216501*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 4, 5, 
                    // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64uminv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski16_or_more>>) - Complexity = 29
                    // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMINVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216509*/        0, // EndSwitchType
/*216510*/      0, // EndSwitchOpcode
/*216511*/    /*Scope*/ 48, /*->216560*/
/*216512*/      OPC_RecordChild0, // #0 = $Rn
/*216513*/      OPC_MoveChild1,
/*216514*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*216517*/      OPC_RecordChild0, // #1 = $Rm
/*216518*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*216529*/      OPC_MoveParent,
/*216530*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->216545
/*216533*/        OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*216536*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICWrs), 0,
                      MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (and:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 20
                  // Dst: (BICWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*216545*/      /*SwitchType*/ 12, MVT::i64,// ->216559
/*216547*/        OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*216550*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICXrs), 0,
                      MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (and:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, -1:{ *:[i64] })) - Complexity = 20
                  // Dst: (BICXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*216559*/      0, // EndSwitchType
/*216560*/    /*Scope*/ 9|128,3/*393*/, /*->216955*/
/*216562*/      OPC_MoveChild0,
/*216563*/      OPC_SwitchOpcode /*2 cases */, 44, TARGET_VAL(ISD::XOR),// ->216611
/*216567*/        OPC_RecordChild0, // #0 = $Rm
/*216568*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*216579*/        OPC_MoveParent,
/*216580*/        OPC_RecordChild1, // #1 = $Rn
/*216581*/        OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->216596
/*216584*/          OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*216587*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICWrs), 0,
                        MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (and:{ *:[i32] } (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn) - Complexity = 20
                    // Dst: (BICWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*216596*/        /*SwitchType*/ 12, MVT::i64,// ->216610
/*216598*/          OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*216601*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICXrs), 0,
                        MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (and:{ *:[i64] } (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn) - Complexity = 20
                    // Dst: (BICXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*216610*/        0, // EndSwitchType
/*216611*/      /*SwitchOpcode*/ 83|128,2/*339*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->216954
/*216615*/        OPC_MoveChild0,
/*216616*/        OPC_SwitchOpcode /*3 cases */, 109, TARGET_VAL(AArch64ISD::UADDV),// ->216729
/*216620*/          OPC_RecordChild0, // #0 = $Rn
/*216621*/          OPC_SwitchType /*2 cases */, 51, MVT::v16i8,// ->216675
/*216624*/            OPC_MoveParent,
/*216625*/            OPC_CheckChild1Integer, 0, 
/*216627*/            OPC_CheckChild1Type, MVT::i64,
/*216629*/            OPC_MoveParent,
/*216630*/            OPC_MoveChild1,
/*216631*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216634*/            OPC_CheckPredicate, 41, // Predicate_maski8_or_more
/*216636*/            OPC_MoveParent,
/*216637*/            OPC_CheckType, MVT::i32,
/*216639*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216645*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv16i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*216652*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*216655*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216664*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216667*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64uaddv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski8_or_more>>) - Complexity = 18
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216675*/          /*SwitchType*/ 51, MVT::v8i16,// ->216728
/*216677*/            OPC_MoveParent,
/*216678*/            OPC_CheckChild1Integer, 0, 
/*216680*/            OPC_CheckChild1Type, MVT::i64,
/*216682*/            OPC_MoveParent,
/*216683*/            OPC_MoveChild1,
/*216684*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216687*/            OPC_CheckPredicate, 42, // Predicate_maski16_or_more
/*216689*/            OPC_MoveParent,
/*216690*/            OPC_CheckType, MVT::i32,
/*216692*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216698*/            OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*216705*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*216708*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216717*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216720*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64uaddv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski16_or_more>>) - Complexity = 18
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216728*/          0, // EndSwitchType
/*216729*/        /*SwitchOpcode*/ 109, TARGET_VAL(AArch64ISD::UMAXV),// ->216841
/*216732*/          OPC_RecordChild0, // #0 = $Rn
/*216733*/          OPC_SwitchType /*2 cases */, 51, MVT::v16i8,// ->216787
/*216736*/            OPC_MoveParent,
/*216737*/            OPC_CheckChild1Integer, 0, 
/*216739*/            OPC_CheckChild1Type, MVT::i64,
/*216741*/            OPC_MoveParent,
/*216742*/            OPC_MoveChild1,
/*216743*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216746*/            OPC_CheckPredicate, 41, // Predicate_maski8_or_more
/*216748*/            OPC_MoveParent,
/*216749*/            OPC_CheckType, MVT::i32,
/*216751*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216757*/            OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv16i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*216764*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*216767*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216776*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216779*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64umaxv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski8_or_more>>) - Complexity = 18
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMAXVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216787*/          /*SwitchType*/ 51, MVT::v8i16,// ->216840
/*216789*/            OPC_MoveParent,
/*216790*/            OPC_CheckChild1Integer, 0, 
/*216792*/            OPC_CheckChild1Type, MVT::i64,
/*216794*/            OPC_MoveParent,
/*216795*/            OPC_MoveChild1,
/*216796*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216799*/            OPC_CheckPredicate, 42, // Predicate_maski16_or_more
/*216801*/            OPC_MoveParent,
/*216802*/            OPC_CheckType, MVT::i32,
/*216804*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216810*/            OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv8i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*216817*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*216820*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216829*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216832*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64umaxv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski16_or_more>>) - Complexity = 18
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMAXVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216840*/          0, // EndSwitchType
/*216841*/        /*SwitchOpcode*/ 109, TARGET_VAL(AArch64ISD::UMINV),// ->216953
/*216844*/          OPC_RecordChild0, // #0 = $Rn
/*216845*/          OPC_SwitchType /*2 cases */, 51, MVT::v16i8,// ->216899
/*216848*/            OPC_MoveParent,
/*216849*/            OPC_CheckChild1Integer, 0, 
/*216851*/            OPC_CheckChild1Type, MVT::i64,
/*216853*/            OPC_MoveParent,
/*216854*/            OPC_MoveChild1,
/*216855*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216858*/            OPC_CheckPredicate, 41, // Predicate_maski8_or_more
/*216860*/            OPC_MoveParent,
/*216861*/            OPC_CheckType, MVT::i32,
/*216863*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216869*/            OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv16i8v), 0,
                          MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*216876*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*216879*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216888*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216891*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64uminv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski8_or_more>>) - Complexity = 18
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMINVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216899*/          /*SwitchType*/ 51, MVT::v8i16,// ->216952
/*216901*/            OPC_MoveParent,
/*216902*/            OPC_CheckChild1Integer, 0, 
/*216904*/            OPC_CheckChild1Type, MVT::i64,
/*216906*/            OPC_MoveParent,
/*216907*/            OPC_MoveChild1,
/*216908*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*216911*/            OPC_CheckPredicate, 42, // Predicate_maski16_or_more
/*216913*/            OPC_MoveParent,
/*216914*/            OPC_CheckType, MVT::i32,
/*216916*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*216922*/            OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv8i16v), 0,
                          MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*216929*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*216932*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*216941*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*216944*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::i32, 2/*#Ops*/, 4, 5, 
                      // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64uminv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }), (imm:{ *:[i32] })<<P:Predicate_maski16_or_more>>) - Complexity = 18
                      // Dst: (EXTRACT_SUBREG:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMINVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), ssub:{ *:[i32] })
/*216952*/          0, // EndSwitchType
/*216953*/        0, // EndSwitchOpcode
/*216954*/      0, // EndSwitchOpcode
/*216955*/    /*Scope*/ 41, /*->216997*/
/*216956*/      OPC_CheckAndImm, 127|128,1/*255*/, 
/*216959*/      OPC_MoveChild0,
/*216960*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
/*216963*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
/*216964*/      OPC_CheckFoldableChainNode,
/*216965*/      OPC_CheckChild1Integer, 51|128,2/*307*/, 
/*216968*/      OPC_RecordChild2, // #1 = $addr
/*216969*/      OPC_CheckChild2Type, MVT::i64,
/*216971*/      OPC_CheckPredicate, 43, // Predicate_ldxr_1
/*216973*/      OPC_MoveParent,
/*216974*/      OPC_EmitMergeInputChains1_0,
/*216975*/      OPC_EmitInteger, MVT::i64, 0, 
/*216978*/      OPC_EmitNode1, TARGET_VAL(AArch64::LDXRB), 0|OPFL_Chain,
                    MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*216985*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*216988*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (and:{ *:[i64] } (intrinsic_w_chain:{ *:[i64] } 307:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldxr_1>>, 255:{ *:[i64] }) - Complexity = 17
                // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDXRB:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*216997*/    /*Scope*/ 42, /*->217040*/
/*216998*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
/*217002*/      OPC_MoveChild0,
/*217003*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
/*217006*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
/*217007*/      OPC_CheckFoldableChainNode,
/*217008*/      OPC_CheckChild1Integer, 51|128,2/*307*/, 
/*217011*/      OPC_RecordChild2, // #1 = $addr
/*217012*/      OPC_CheckChild2Type, MVT::i64,
/*217014*/      OPC_CheckPredicate, 44, // Predicate_ldxr_2
/*217016*/      OPC_MoveParent,
/*217017*/      OPC_EmitMergeInputChains1_0,
/*217018*/      OPC_EmitInteger, MVT::i64, 0, 
/*217021*/      OPC_EmitNode1, TARGET_VAL(AArch64::LDXRH), 0|OPFL_Chain,
                    MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*217028*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*217031*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (and:{ *:[i64] } (intrinsic_w_chain:{ *:[i64] } 307:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldxr_2>>, 65535:{ *:[i64] }) - Complexity = 17
                // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDXRH:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*217040*/    /*Scope*/ 44, /*->217085*/
/*217041*/      OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15/*4294967295*/, 
/*217047*/      OPC_MoveChild0,
/*217048*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
/*217051*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
/*217052*/      OPC_CheckFoldableChainNode,
/*217053*/      OPC_CheckChild1Integer, 51|128,2/*307*/, 
/*217056*/      OPC_RecordChild2, // #1 = $addr
/*217057*/      OPC_CheckChild2Type, MVT::i64,
/*217059*/      OPC_CheckPredicate, 45, // Predicate_ldxr_4
/*217061*/      OPC_MoveParent,
/*217062*/      OPC_EmitMergeInputChains1_0,
/*217063*/      OPC_EmitInteger, MVT::i64, 0, 
/*217066*/      OPC_EmitNode1, TARGET_VAL(AArch64::LDXRW), 0|OPFL_Chain,
                    MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*217073*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*217076*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (and:{ *:[i64] } (intrinsic_w_chain:{ *:[i64] } 307:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldxr_4>>, 4294967295:{ *:[i64] }) - Complexity = 17
                // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDXRW:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*217085*/    /*Scope*/ 41, /*->217127*/
/*217086*/      OPC_CheckAndImm, 127|128,1/*255*/, 
/*217089*/      OPC_MoveChild0,
/*217090*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
/*217093*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
/*217094*/      OPC_CheckFoldableChainNode,
/*217095*/      OPC_CheckChild1Integer, 48|128,2/*304*/, 
/*217098*/      OPC_RecordChild2, // #1 = $addr
/*217099*/      OPC_CheckChild2Type, MVT::i64,
/*217101*/      OPC_CheckPredicate, 43, // Predicate_ldaxr_1
/*217103*/      OPC_MoveParent,
/*217104*/      OPC_EmitMergeInputChains1_0,
/*217105*/      OPC_EmitInteger, MVT::i64, 0, 
/*217108*/      OPC_EmitNode1, TARGET_VAL(AArch64::LDAXRB), 0|OPFL_Chain,
                    MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*217115*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*217118*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (and:{ *:[i64] } (intrinsic_w_chain:{ *:[i64] } 304:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldaxr_1>>, 255:{ *:[i64] }) - Complexity = 17
                // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDAXRB:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*217127*/    /*Scope*/ 42, /*->217170*/
/*217128*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
/*217132*/      OPC_MoveChild0,
/*217133*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
/*217136*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
/*217137*/      OPC_CheckFoldableChainNode,
/*217138*/      OPC_CheckChild1Integer, 48|128,2/*304*/, 
/*217141*/      OPC_RecordChild2, // #1 = $addr
/*217142*/      OPC_CheckChild2Type, MVT::i64,
/*217144*/      OPC_CheckPredicate, 44, // Predicate_ldaxr_2
/*217146*/      OPC_MoveParent,
/*217147*/      OPC_EmitMergeInputChains1_0,
/*217148*/      OPC_EmitInteger, MVT::i64, 0, 
/*217151*/      OPC_EmitNode1, TARGET_VAL(AArch64::LDAXRH), 0|OPFL_Chain,
                    MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*217158*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*217161*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (and:{ *:[i64] } (intrinsic_w_chain:{ *:[i64] } 304:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldaxr_2>>, 65535:{ *:[i64] }) - Complexity = 17
                // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDAXRH:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*217170*/    /*Scope*/ 44, /*->217215*/
/*217171*/      OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15/*4294967295*/, 
/*217177*/      OPC_MoveChild0,
/*217178*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),
/*217181*/      OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
/*217182*/      OPC_CheckFoldableChainNode,
/*217183*/      OPC_CheckChild1Integer, 48|128,2/*304*/, 
/*217186*/      OPC_RecordChild2, // #1 = $addr
/*217187*/      OPC_CheckChild2Type, MVT::i64,
/*217189*/      OPC_CheckPredicate, 45, // Predicate_ldaxr_4
/*217191*/      OPC_MoveParent,
/*217192*/      OPC_EmitMergeInputChains1_0,
/*217193*/      OPC_EmitInteger, MVT::i64, 0, 
/*217196*/      OPC_EmitNode1, TARGET_VAL(AArch64::LDAXRW), 0|OPFL_Chain,
                    MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*217203*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*217206*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                    MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (and:{ *:[i64] } (intrinsic_w_chain:{ *:[i64] } 304:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldaxr_4>>, 4294967295:{ *:[i64] }) - Complexity = 17
                // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDAXRW:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*217215*/    /*Scope*/ 33, /*->217249*/
/*217216*/      OPC_CheckAndImm, 127|128,1/*255*/, 
/*217219*/      OPC_MoveChild0,
/*217220*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*217223*/      OPC_RecordChild0, // #0 = $Rn
/*217224*/      OPC_CheckChild0Type, MVT::v16i8,
/*217226*/      OPC_RecordChild1, // #1 = $idx
/*217227*/      OPC_MoveChild1,
/*217228*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*217231*/      OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*217233*/      OPC_CheckType, MVT::i64,
/*217235*/      OPC_MoveParent,
/*217236*/      OPC_MoveParent,
/*217237*/      OPC_CheckType, MVT::i32,
/*217239*/      OPC_EmitConvertToTarget, 1,
/*217241*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMOVvi8), 0,
                    MVT::i32, 2/*#Ops*/, 0, 2, 
                // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), 255:{ *:[i32] }) - Complexity = 15
                // Dst: (UMOVvi8:{ *:[i32] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx)
/*217249*/    /*Scope*/ 34, /*->217284*/
/*217250*/      OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
/*217254*/      OPC_MoveChild0,
/*217255*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*217258*/      OPC_RecordChild0, // #0 = $Rn
/*217259*/      OPC_CheckChild0Type, MVT::v8i16,
/*217261*/      OPC_RecordChild1, // #1 = $idx
/*217262*/      OPC_MoveChild1,
/*217263*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*217266*/      OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*217268*/      OPC_CheckType, MVT::i64,
/*217270*/      OPC_MoveParent,
/*217271*/      OPC_MoveParent,
/*217272*/      OPC_CheckType, MVT::i32,
/*217274*/      OPC_EmitConvertToTarget, 1,
/*217276*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMOVvi16), 0,
                    MVT::i32, 2/*#Ops*/, 0, 2, 
                // Src: (and:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 65535:{ *:[i32] }) - Complexity = 15
                // Dst: (UMOVvi16:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)
/*217284*/    /*Scope*/ 26|128,1/*154*/, /*->217440*/
/*217286*/      OPC_RecordChild0, // #0 = $Rn
/*217287*/      OPC_Scope, 110, /*->217399*/ // 2 children in Scope
/*217289*/        OPC_RecordChild1, // #1 = $imm
/*217290*/        OPC_Scope, 44, /*->217336*/ // 3 children in Scope
/*217292*/          OPC_MoveChild1,
/*217293*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*217296*/          OPC_Scope, 18, /*->217316*/ // 2 children in Scope
/*217298*/            OPC_CheckPredicate, 46, // Predicate_logical_imm32
/*217300*/            OPC_MoveParent,
/*217301*/            OPC_CheckType, MVT::i32,
/*217303*/            OPC_EmitConvertToTarget, 1,
/*217305*/            OPC_EmitNodeXForm, 3, 2, // logical_imm32_XFORM
/*217308*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDWri), 0,
                          MVT::i32, 2/*#Ops*/, 0, 3, 
                      // Src: (and:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_logical_imm32>><<X:logical_imm32_XFORM>>:$imm) - Complexity = 13
                      // Dst: (ANDWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (logical_imm32_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm))
/*217316*/          /*Scope*/ 18, /*->217335*/
/*217317*/            OPC_CheckPredicate, 47, // Predicate_logical_imm64
/*217319*/            OPC_MoveParent,
/*217320*/            OPC_CheckType, MVT::i64,
/*217322*/            OPC_EmitConvertToTarget, 1,
/*217324*/            OPC_EmitNodeXForm, 4, 2, // logical_imm64_XFORM
/*217327*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDXri), 0,
                          MVT::i64, 2/*#Ops*/, 0, 3, 
                      // Src: (and:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_logical_imm64>><<X:logical_imm64_XFORM>>:$imm) - Complexity = 13
                      // Dst: (ANDXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (logical_imm64_XFORM:{ *:[i64] } (imm:{ *:[i64] }):$imm))
/*217335*/          0, /*End of Scope*/
/*217336*/        /*Scope*/ 30, /*->217367*/
/*217337*/          OPC_CheckType, MVT::i32,
/*217339*/          OPC_Scope, 12, /*->217353*/ // 2 children in Scope
/*217341*/            OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*217344*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDWrs), 0,
                          MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (and:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 12
                      // Dst: (ANDWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*217353*/          /*Scope*/ 12, /*->217366*/
/*217354*/            OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*217357*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDWrs), 0,
                          MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (and:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, GPR32:{ *:[i32] }:$Rn) - Complexity = 12
                      // Dst: (ANDWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*217366*/          0, /*End of Scope*/
/*217367*/        /*Scope*/ 30, /*->217398*/
/*217368*/          OPC_CheckType, MVT::i64,
/*217370*/          OPC_Scope, 12, /*->217384*/ // 2 children in Scope
/*217372*/            OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*217375*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDXrs), 0,
                          MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (and:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 12
                      // Dst: (ANDXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*217384*/          /*Scope*/ 12, /*->217397*/
/*217385*/            OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*217388*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDXrs), 0,
                          MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (and:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, GPR64:{ *:[i64] }:$Rn) - Complexity = 12
                      // Dst: (ANDXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*217397*/          0, /*End of Scope*/
/*217398*/        0, /*End of Scope*/
/*217399*/      /*Scope*/ 39, /*->217439*/
/*217400*/        OPC_MoveChild1,
/*217401*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217404*/        OPC_RecordChild0, // #1 = $Rm
/*217405*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*217416*/        OPC_MoveParent,
/*217417*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->217428
/*217420*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICWrr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
                    // Dst: (BICWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*217428*/        /*SwitchType*/ 8, MVT::i64,// ->217438
/*217430*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICXrr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, -1:{ *:[i64] })) - Complexity = 11
                    // Dst: (BICXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*217438*/        0, // EndSwitchType
/*217439*/      0, /*End of Scope*/
/*217440*/    /*Scope*/ 40, /*->217481*/
/*217441*/      OPC_MoveChild0,
/*217442*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217445*/      OPC_RecordChild0, // #0 = $Rm
/*217446*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*217457*/      OPC_MoveParent,
/*217458*/      OPC_RecordChild1, // #1 = $Rn
/*217459*/      OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->217470
/*217462*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICWrr), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn) - Complexity = 11
                  // Dst: (BICWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*217470*/      /*SwitchType*/ 8, MVT::i64,// ->217480
/*217472*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICXrr), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[i64] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn) - Complexity = 11
                  // Dst: (BICXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*217480*/      0, // EndSwitchType
/*217481*/    /*Scope*/ 105, /*->217587*/
/*217482*/      OPC_RecordChild0, // #0 = $Rn
/*217483*/      OPC_Scope, 23, /*->217508*/ // 2 children in Scope
/*217485*/        OPC_RecordChild1, // #1 = $Rm
/*217486*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->217497
/*217489*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDWrr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                    // Dst: (ANDWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*217497*/        /*SwitchType*/ 8, MVT::i64,// ->217507
/*217499*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDXrr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (ANDXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*217507*/        0, // EndSwitchType
/*217508*/      /*Scope*/ 77, /*->217586*/
/*217509*/        OPC_MoveChild1,
/*217510*/        OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*217513*/        OPC_RecordChild0, // #1 = $SVELogicalImm8Pat:imm
/*217514*/        OPC_Scope, 50, /*->217566*/ // 2 children in Scope
/*217516*/          OPC_CheckChild0Type, MVT::i32,
/*217518*/          OPC_MoveParent,
/*217519*/          OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->217535
/*217522*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*217524*/            OPC_CheckComplexPat, /*CP*/43, /*#*/1, // SelectSVELogicalImm<MVT::i8>:$ #2
/*217527*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZI), 0,
                          MVT::nxv16i8, 2/*#Ops*/, 0, 2, 
                      // Src: (and:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVELogicalImm8Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                      // Dst: (AND_ZI:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i64:{ *:[i64] }:$imm)
/*217535*/          /*SwitchType*/ 13, MVT::nxv8i16,// ->217550
/*217537*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*217539*/            OPC_CheckComplexPat, /*CP*/44, /*#*/1, // SelectSVELogicalImm<MVT::i16>:$ #2
/*217542*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZI), 0,
                          MVT::nxv8i16, 2/*#Ops*/, 0, 2, 
                      // Src: (and:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVELogicalImm16Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                      // Dst: (AND_ZI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i64:{ *:[i64] }:$imm)
/*217550*/          /*SwitchType*/ 13, MVT::nxv4i32,// ->217565
/*217552*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*217554*/            OPC_CheckComplexPat, /*CP*/45, /*#*/1, // SelectSVELogicalImm<MVT::i32>:$ #2
/*217557*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZI), 0,
                          MVT::nxv4i32, 2/*#Ops*/, 0, 2, 
                      // Src: (and:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVELogicalImm32Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                      // Dst: (AND_ZI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i64:{ *:[i64] }:$imm)
/*217565*/          0, // EndSwitchType
/*217566*/        /*Scope*/ 18, /*->217585*/
/*217567*/          OPC_CheckChild0Type, MVT::i64,
/*217569*/          OPC_MoveParent,
/*217570*/          OPC_CheckType, MVT::nxv2i64,
/*217572*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*217574*/          OPC_CheckComplexPat, /*CP*/46, /*#*/1, // SelectSVELogicalImm<MVT::i64>:$ #2
/*217577*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZI), 0,
                        MVT::nxv2i64, 2/*#Ops*/, 0, 2, 
                    // Src: (and:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVELogicalImm64Pat:{ *:[i64] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                    // Dst: (AND_ZI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i64:{ *:[i64] }:$imm)
/*217585*/        0, /*End of Scope*/
/*217586*/      0, /*End of Scope*/
/*217587*/    /*Scope*/ 79, /*->217667*/
/*217588*/      OPC_MoveChild0,
/*217589*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*217592*/      OPC_RecordChild0, // #0 = $SVELogicalImm8Pat:imm
/*217593*/      OPC_Scope, 51, /*->217646*/ // 2 children in Scope
/*217595*/        OPC_CheckChild0Type, MVT::i32,
/*217597*/        OPC_MoveParent,
/*217598*/        OPC_RecordChild1, // #1 = $Op1
/*217599*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->217615
/*217602*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*217604*/          OPC_CheckComplexPat, /*CP*/43, /*#*/0, // SelectSVELogicalImm<MVT::i8>:$ #2
/*217607*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZI), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 1, 2, 
                    // Src: (and:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVELogicalImm8Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 12
                    // Dst: (AND_ZI:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i64:{ *:[i64] }:$imm)
/*217615*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->217630
/*217617*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*217619*/          OPC_CheckComplexPat, /*CP*/44, /*#*/0, // SelectSVELogicalImm<MVT::i16>:$ #2
/*217622*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZI), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 1, 2, 
                    // Src: (and:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVELogicalImm16Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 12
                    // Dst: (AND_ZI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i64:{ *:[i64] }:$imm)
/*217630*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->217645
/*217632*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*217634*/          OPC_CheckComplexPat, /*CP*/45, /*#*/0, // SelectSVELogicalImm<MVT::i32>:$ #2
/*217637*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZI), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 1, 2, 
                    // Src: (and:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVELogicalImm32Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 12
                    // Dst: (AND_ZI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i64:{ *:[i64] }:$imm)
/*217645*/        0, // EndSwitchType
/*217646*/      /*Scope*/ 19, /*->217666*/
/*217647*/        OPC_CheckChild0Type, MVT::i64,
/*217649*/        OPC_MoveParent,
/*217650*/        OPC_RecordChild1, // #1 = $Op1
/*217651*/        OPC_CheckType, MVT::nxv2i64,
/*217653*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*217655*/        OPC_CheckComplexPat, /*CP*/46, /*#*/0, // SelectSVELogicalImm<MVT::i64>:$ #2
/*217658*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZI), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 1, 2, 
                  // Src: (and:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVELogicalImm64Pat:{ *:[i64] } i64:{ *:[i64] }:$imm)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 12
                  // Dst: (AND_ZI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i64:{ *:[i64] }:$imm)
/*217666*/      0, /*End of Scope*/
/*217667*/    /*Scope*/ 1|128,1/*129*/, /*->217798*/
/*217669*/      OPC_RecordChild0, // #0 = $Rn
/*217670*/      OPC_MoveChild1,
/*217671*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217674*/      OPC_Scope, 103, /*->217779*/ // 2 children in Scope
/*217676*/        OPC_RecordChild0, // #1 = $Rm
/*217677*/        OPC_MoveChild1,
/*217678*/        OPC_CheckImmAllOnesV,
/*217679*/        OPC_MoveParent,
/*217680*/        OPC_MoveParent,
/*217681*/        OPC_SwitchType /*8 cases */, 10, MVT::v8i8,// ->217694
/*217684*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217686*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                        MVT::v8i8, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, immAllOnesV:{ *:[v8i8] })) - Complexity = 10
                    // Dst: (BICv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*217694*/        /*SwitchType*/ 10, MVT::v16i8,// ->217706
/*217696*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217698*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                        MVT::v16i8, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, immAllOnesV:{ *:[v16i8] })) - Complexity = 10
                    // Dst: (BICv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*217706*/        /*SwitchType*/ 10, MVT::v4i16,// ->217718
/*217708*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217710*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, immAllOnesV:{ *:[v4i16] })) - Complexity = 10
                    // Dst: (BICv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*217718*/        /*SwitchType*/ 10, MVT::v2i32,// ->217730
/*217720*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217722*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, immAllOnesV:{ *:[v2i32] })) - Complexity = 10
                    // Dst: (BICv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*217730*/        /*SwitchType*/ 10, MVT::v1i64,// ->217742
/*217732*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217734*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                        MVT::v1i64, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, immAllOnesV:{ *:[v1i64] })) - Complexity = 10
                    // Dst: (BICv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*217742*/        /*SwitchType*/ 10, MVT::v8i16,// ->217754
/*217744*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217746*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, immAllOnesV:{ *:[v8i16] })) - Complexity = 10
                    // Dst: (BICv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*217754*/        /*SwitchType*/ 10, MVT::v4i32,// ->217766
/*217756*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217758*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, immAllOnesV:{ *:[v4i32] })) - Complexity = 10
                    // Dst: (BICv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*217766*/        /*SwitchType*/ 10, MVT::v2i64,// ->217778
/*217768*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217770*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, immAllOnesV:{ *:[v2i64] })) - Complexity = 10
                    // Dst: (BICv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*217778*/        0, // EndSwitchType
/*217779*/      /*Scope*/ 17, /*->217797*/
/*217780*/        OPC_MoveChild0,
/*217781*/        OPC_CheckImmAllOnesV,
/*217782*/        OPC_MoveParent,
/*217783*/        OPC_RecordChild1, // #1 = $Rm
/*217784*/        OPC_MoveParent,
/*217785*/        OPC_CheckType, MVT::v8i8,
/*217787*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217789*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rm)) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*217797*/      0, /*End of Scope*/
/*217798*/    /*Scope*/ 44, /*->217843*/
/*217799*/      OPC_MoveChild0,
/*217800*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217803*/      OPC_Scope, 18, /*->217823*/ // 2 children in Scope
/*217805*/        OPC_RecordChild0, // #0 = $Rm
/*217806*/        OPC_MoveChild1,
/*217807*/        OPC_CheckImmAllOnesV,
/*217808*/        OPC_MoveParent,
/*217809*/        OPC_MoveParent,
/*217810*/        OPC_RecordChild1, // #1 = $Rn
/*217811*/        OPC_CheckType, MVT::v8i8,
/*217813*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217815*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v8i8] } (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, immAllOnesV:{ *:[v8i8] }), V64:{ *:[v8i8] }:$Rn) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*217823*/      /*Scope*/ 18, /*->217842*/
/*217824*/        OPC_MoveChild0,
/*217825*/        OPC_CheckImmAllOnesV,
/*217826*/        OPC_MoveParent,
/*217827*/        OPC_RecordChild1, // #0 = $Rm
/*217828*/        OPC_MoveParent,
/*217829*/        OPC_RecordChild1, // #1 = $Rn
/*217830*/        OPC_CheckType, MVT::v8i8,
/*217832*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217834*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v8i8] } (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rm), V64:{ *:[v8i8] }:$Rn) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*217842*/      0, /*End of Scope*/
/*217843*/    /*Scope*/ 22, /*->217866*/
/*217844*/      OPC_RecordChild0, // #0 = $Rn
/*217845*/      OPC_MoveChild1,
/*217846*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217849*/      OPC_MoveChild0,
/*217850*/      OPC_CheckImmAllOnesV,
/*217851*/      OPC_MoveParent,
/*217852*/      OPC_RecordChild1, // #1 = $Rm
/*217853*/      OPC_MoveParent,
/*217854*/      OPC_CheckType, MVT::v16i8,
/*217856*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217858*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rm)) - Complexity = 10
                // Dst: (BICv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*217866*/    /*Scope*/ 44, /*->217911*/
/*217867*/      OPC_MoveChild0,
/*217868*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217871*/      OPC_Scope, 18, /*->217891*/ // 2 children in Scope
/*217873*/        OPC_RecordChild0, // #0 = $Rm
/*217874*/        OPC_MoveChild1,
/*217875*/        OPC_CheckImmAllOnesV,
/*217876*/        OPC_MoveParent,
/*217877*/        OPC_MoveParent,
/*217878*/        OPC_RecordChild1, // #1 = $Rn
/*217879*/        OPC_CheckType, MVT::v16i8,
/*217881*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217883*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$Rn) - Complexity = 10
                  // Dst: (BICv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*217891*/      /*Scope*/ 18, /*->217910*/
/*217892*/        OPC_MoveChild0,
/*217893*/        OPC_CheckImmAllOnesV,
/*217894*/        OPC_MoveParent,
/*217895*/        OPC_RecordChild1, // #0 = $Rm
/*217896*/        OPC_MoveParent,
/*217897*/        OPC_RecordChild1, // #1 = $Rn
/*217898*/        OPC_CheckType, MVT::v16i8,
/*217900*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217902*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rm), V128:{ *:[v16i8] }:$Rn) - Complexity = 10
                  // Dst: (BICv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*217910*/      0, /*End of Scope*/
/*217911*/    /*Scope*/ 22, /*->217934*/
/*217912*/      OPC_RecordChild0, // #0 = $LHS
/*217913*/      OPC_MoveChild1,
/*217914*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217917*/      OPC_MoveChild0,
/*217918*/      OPC_CheckImmAllOnesV,
/*217919*/      OPC_MoveParent,
/*217920*/      OPC_RecordChild1, // #1 = $RHS
/*217921*/      OPC_MoveParent,
/*217922*/      OPC_CheckType, MVT::v4i16,
/*217924*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217926*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$RHS)) - Complexity = 10
                // Dst: (BICv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*217934*/    /*Scope*/ 44, /*->217979*/
/*217935*/      OPC_MoveChild0,
/*217936*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217939*/      OPC_Scope, 18, /*->217959*/ // 2 children in Scope
/*217941*/        OPC_RecordChild0, // #0 = $RHS
/*217942*/        OPC_MoveChild1,
/*217943*/        OPC_CheckImmAllOnesV,
/*217944*/        OPC_MoveParent,
/*217945*/        OPC_MoveParent,
/*217946*/        OPC_RecordChild1, // #1 = $LHS
/*217947*/        OPC_CheckType, MVT::v4i16,
/*217949*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217951*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v4i16, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v4i16] } (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, immAllOnesV:{ *:[v4i16] }), V64:{ *:[v4i16] }:$LHS) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*217959*/      /*Scope*/ 18, /*->217978*/
/*217960*/        OPC_MoveChild0,
/*217961*/        OPC_CheckImmAllOnesV,
/*217962*/        OPC_MoveParent,
/*217963*/        OPC_RecordChild1, // #0 = $RHS
/*217964*/        OPC_MoveParent,
/*217965*/        OPC_RecordChild1, // #1 = $LHS
/*217966*/        OPC_CheckType, MVT::v4i16,
/*217968*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217970*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v4i16, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v4i16] } (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$RHS), V64:{ *:[v4i16] }:$LHS) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*217978*/      0, /*End of Scope*/
/*217979*/    /*Scope*/ 22, /*->218002*/
/*217980*/      OPC_RecordChild0, // #0 = $LHS
/*217981*/      OPC_MoveChild1,
/*217982*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*217985*/      OPC_MoveChild0,
/*217986*/      OPC_CheckImmAllOnesV,
/*217987*/      OPC_MoveParent,
/*217988*/      OPC_RecordChild1, // #1 = $RHS
/*217989*/      OPC_MoveParent,
/*217990*/      OPC_CheckType, MVT::v2i32,
/*217992*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*217994*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$RHS)) - Complexity = 10
                // Dst: (BICv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*218002*/    /*Scope*/ 44, /*->218047*/
/*218003*/      OPC_MoveChild0,
/*218004*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218007*/      OPC_Scope, 18, /*->218027*/ // 2 children in Scope
/*218009*/        OPC_RecordChild0, // #0 = $RHS
/*218010*/        OPC_MoveChild1,
/*218011*/        OPC_CheckImmAllOnesV,
/*218012*/        OPC_MoveParent,
/*218013*/        OPC_MoveParent,
/*218014*/        OPC_RecordChild1, // #1 = $LHS
/*218015*/        OPC_CheckType, MVT::v2i32,
/*218017*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218019*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v2i32, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v2i32] } (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, immAllOnesV:{ *:[v2i32] }), V64:{ *:[v2i32] }:$LHS) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*218027*/      /*Scope*/ 18, /*->218046*/
/*218028*/        OPC_MoveChild0,
/*218029*/        OPC_CheckImmAllOnesV,
/*218030*/        OPC_MoveParent,
/*218031*/        OPC_RecordChild1, // #0 = $RHS
/*218032*/        OPC_MoveParent,
/*218033*/        OPC_RecordChild1, // #1 = $LHS
/*218034*/        OPC_CheckType, MVT::v2i32,
/*218036*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218038*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v2i32, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v2i32] } (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$RHS), V64:{ *:[v2i32] }:$LHS) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*218046*/      0, /*End of Scope*/
/*218047*/    /*Scope*/ 22, /*->218070*/
/*218048*/      OPC_RecordChild0, // #0 = $LHS
/*218049*/      OPC_MoveChild1,
/*218050*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218053*/      OPC_MoveChild0,
/*218054*/      OPC_CheckImmAllOnesV,
/*218055*/      OPC_MoveParent,
/*218056*/      OPC_RecordChild1, // #1 = $RHS
/*218057*/      OPC_MoveParent,
/*218058*/      OPC_CheckType, MVT::v1i64,
/*218060*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218062*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$RHS)) - Complexity = 10
                // Dst: (BICv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*218070*/    /*Scope*/ 44, /*->218115*/
/*218071*/      OPC_MoveChild0,
/*218072*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218075*/      OPC_Scope, 18, /*->218095*/ // 2 children in Scope
/*218077*/        OPC_RecordChild0, // #0 = $RHS
/*218078*/        OPC_MoveChild1,
/*218079*/        OPC_CheckImmAllOnesV,
/*218080*/        OPC_MoveParent,
/*218081*/        OPC_MoveParent,
/*218082*/        OPC_RecordChild1, // #1 = $LHS
/*218083*/        OPC_CheckType, MVT::v1i64,
/*218085*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218087*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v1i64, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v1i64] } (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, immAllOnesV:{ *:[v1i64] }), V64:{ *:[v1i64] }:$LHS) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*218095*/      /*Scope*/ 18, /*->218114*/
/*218096*/        OPC_MoveChild0,
/*218097*/        OPC_CheckImmAllOnesV,
/*218098*/        OPC_MoveParent,
/*218099*/        OPC_RecordChild1, // #0 = $RHS
/*218100*/        OPC_MoveParent,
/*218101*/        OPC_RecordChild1, // #1 = $LHS
/*218102*/        OPC_CheckType, MVT::v1i64,
/*218104*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218106*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i8), 0,
                      MVT::v1i64, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v1i64] } (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$RHS), V64:{ *:[v1i64] }:$LHS) - Complexity = 10
                  // Dst: (BICv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*218114*/      0, /*End of Scope*/
/*218115*/    /*Scope*/ 22, /*->218138*/
/*218116*/      OPC_RecordChild0, // #0 = $LHS
/*218117*/      OPC_MoveChild1,
/*218118*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218121*/      OPC_MoveChild0,
/*218122*/      OPC_CheckImmAllOnesV,
/*218123*/      OPC_MoveParent,
/*218124*/      OPC_RecordChild1, // #1 = $RHS
/*218125*/      OPC_MoveParent,
/*218126*/      OPC_CheckType, MVT::v8i16,
/*218128*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218130*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$RHS)) - Complexity = 10
                // Dst: (BICv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*218138*/    /*Scope*/ 44, /*->218183*/
/*218139*/      OPC_MoveChild0,
/*218140*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218143*/      OPC_Scope, 18, /*->218163*/ // 2 children in Scope
/*218145*/        OPC_RecordChild0, // #0 = $RHS
/*218146*/        OPC_MoveChild1,
/*218147*/        OPC_CheckImmAllOnesV,
/*218148*/        OPC_MoveParent,
/*218149*/        OPC_MoveParent,
/*218150*/        OPC_RecordChild1, // #1 = $LHS
/*218151*/        OPC_CheckType, MVT::v8i16,
/*218153*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218155*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$LHS) - Complexity = 10
                  // Dst: (BICv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*218163*/      /*Scope*/ 18, /*->218182*/
/*218164*/        OPC_MoveChild0,
/*218165*/        OPC_CheckImmAllOnesV,
/*218166*/        OPC_MoveParent,
/*218167*/        OPC_RecordChild1, // #0 = $RHS
/*218168*/        OPC_MoveParent,
/*218169*/        OPC_RecordChild1, // #1 = $LHS
/*218170*/        OPC_CheckType, MVT::v8i16,
/*218172*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218174*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$RHS), V128:{ *:[v8i16] }:$LHS) - Complexity = 10
                  // Dst: (BICv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*218182*/      0, /*End of Scope*/
/*218183*/    /*Scope*/ 22, /*->218206*/
/*218184*/      OPC_RecordChild0, // #0 = $LHS
/*218185*/      OPC_MoveChild1,
/*218186*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218189*/      OPC_MoveChild0,
/*218190*/      OPC_CheckImmAllOnesV,
/*218191*/      OPC_MoveParent,
/*218192*/      OPC_RecordChild1, // #1 = $RHS
/*218193*/      OPC_MoveParent,
/*218194*/      OPC_CheckType, MVT::v4i32,
/*218196*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218198*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$RHS)) - Complexity = 10
                // Dst: (BICv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*218206*/    /*Scope*/ 44, /*->218251*/
/*218207*/      OPC_MoveChild0,
/*218208*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218211*/      OPC_Scope, 18, /*->218231*/ // 2 children in Scope
/*218213*/        OPC_RecordChild0, // #0 = $RHS
/*218214*/        OPC_MoveChild1,
/*218215*/        OPC_CheckImmAllOnesV,
/*218216*/        OPC_MoveParent,
/*218217*/        OPC_MoveParent,
/*218218*/        OPC_RecordChild1, // #1 = $LHS
/*218219*/        OPC_CheckType, MVT::v4i32,
/*218221*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218223*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                      MVT::v4i32, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$LHS) - Complexity = 10
                  // Dst: (BICv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*218231*/      /*Scope*/ 18, /*->218250*/
/*218232*/        OPC_MoveChild0,
/*218233*/        OPC_CheckImmAllOnesV,
/*218234*/        OPC_MoveParent,
/*218235*/        OPC_RecordChild1, // #0 = $RHS
/*218236*/        OPC_MoveParent,
/*218237*/        OPC_RecordChild1, // #1 = $LHS
/*218238*/        OPC_CheckType, MVT::v4i32,
/*218240*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218242*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                      MVT::v4i32, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$RHS), V128:{ *:[v4i32] }:$LHS) - Complexity = 10
                  // Dst: (BICv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*218250*/      0, /*End of Scope*/
/*218251*/    /*Scope*/ 22, /*->218274*/
/*218252*/      OPC_RecordChild0, // #0 = $LHS
/*218253*/      OPC_MoveChild1,
/*218254*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218257*/      OPC_MoveChild0,
/*218258*/      OPC_CheckImmAllOnesV,
/*218259*/      OPC_MoveParent,
/*218260*/      OPC_RecordChild1, // #1 = $RHS
/*218261*/      OPC_MoveParent,
/*218262*/      OPC_CheckType, MVT::v2i64,
/*218264*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218266*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$RHS)) - Complexity = 10
                // Dst: (BICv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*218274*/    /*Scope*/ 44, /*->218319*/
/*218275*/      OPC_MoveChild0,
/*218276*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*218279*/      OPC_Scope, 18, /*->218299*/ // 2 children in Scope
/*218281*/        OPC_RecordChild0, // #0 = $RHS
/*218282*/        OPC_MoveChild1,
/*218283*/        OPC_CheckImmAllOnesV,
/*218284*/        OPC_MoveParent,
/*218285*/        OPC_MoveParent,
/*218286*/        OPC_RecordChild1, // #1 = $LHS
/*218287*/        OPC_CheckType, MVT::v2i64,
/*218289*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218291*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                      MVT::v2i64, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$LHS) - Complexity = 10
                  // Dst: (BICv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*218299*/      /*Scope*/ 18, /*->218318*/
/*218300*/        OPC_MoveChild0,
/*218301*/        OPC_CheckImmAllOnesV,
/*218302*/        OPC_MoveParent,
/*218303*/        OPC_RecordChild1, // #0 = $RHS
/*218304*/        OPC_MoveParent,
/*218305*/        OPC_RecordChild1, // #1 = $LHS
/*218306*/        OPC_CheckType, MVT::v2i64,
/*218308*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218310*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv16i8), 0,
                      MVT::v2i64, 2/*#Ops*/, 1, 0, 
                  // Src: (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$RHS), V128:{ *:[v2i64] }:$LHS) - Complexity = 10
                  // Dst: (BICv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*218318*/      0, /*End of Scope*/
/*218319*/    /*Scope*/ 20|128,1/*148*/, /*->218469*/
/*218321*/      OPC_RecordChild0, // #0 = $Rn
/*218322*/      OPC_RecordChild1, // #1 = $Rm
/*218323*/      OPC_SwitchType /*12 cases */, 10, MVT::v8i8,// ->218336
/*218326*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218328*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (ANDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*218336*/      /*SwitchType*/ 10, MVT::v16i8,// ->218348
/*218338*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218340*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (ANDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*218348*/      /*SwitchType*/ 10, MVT::v4i16,// ->218360
/*218350*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218352*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDv8i8), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS) - Complexity = 3
                  // Dst: (ANDv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*218360*/      /*SwitchType*/ 10, MVT::v2i32,// ->218372
/*218362*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218364*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDv8i8), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS) - Complexity = 3
                  // Dst: (ANDv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*218372*/      /*SwitchType*/ 10, MVT::v1i64,// ->218384
/*218374*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218376*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDv8i8), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS) - Complexity = 3
                  // Dst: (ANDv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*218384*/      /*SwitchType*/ 10, MVT::v8i16,// ->218396
/*218386*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218388*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDv16i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS) - Complexity = 3
                  // Dst: (ANDv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*218396*/      /*SwitchType*/ 10, MVT::v4i32,// ->218408
/*218398*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218400*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDv16i8), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS) - Complexity = 3
                  // Dst: (ANDv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*218408*/      /*SwitchType*/ 10, MVT::v2i64,// ->218420
/*218410*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*218412*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ANDv16i8), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS) - Complexity = 3
                  // Dst: (ANDv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*218420*/      /*SwitchType*/ 10, MVT::nxv16i8,// ->218432
/*218422*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*218424*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZZZ), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                  // Dst: (AND_ZZZ:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*218432*/      /*SwitchType*/ 10, MVT::nxv8i16,// ->218444
/*218434*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*218436*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZZZ), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (AND_ZZZ:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*218444*/      /*SwitchType*/ 10, MVT::nxv4i32,// ->218456
/*218446*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*218448*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZZZ), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (AND_ZZZ:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*218456*/      /*SwitchType*/ 10, MVT::nxv2i64,// ->218468
/*218458*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*218460*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::AND_ZZZ), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (and:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (AND_ZZZ:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*218468*/      0, // EndSwitchType
/*218469*/    0, /*End of Scope*/
/*218470*/  /*SwitchOpcode*/ 60, TARGET_VAL(ISD::ATOMIC_FENCE),// ->218533
/*218473*/    OPC_RecordNode, // #0 = 'atomic_fence' chained node
/*218474*/    OPC_Scope, 15, /*->218491*/ // 3 children in Scope
/*218476*/      OPC_RecordChild1, // #1 = $ordering
/*218477*/      OPC_MoveChild1,
/*218478*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*218481*/      OPC_MoveParent,
/*218482*/      OPC_CheckChild2Integer, 0, 
/*218484*/      OPC_EmitMergeInputChains1_0,
/*218485*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::CompilerBarrier), 0|OPFL_Chain,
                    1/*#Ops*/, 1, 
                // Src: (atomic_fence (timm:{ *:[iPTR] }):$ordering, 0:{ *:[iPTR] }) - Complexity = 26
                // Dst: (CompilerBarrier (timm:{ *:[i32] }):$ordering)
/*218491*/    /*Scope*/ 19, /*->218511*/
/*218492*/      OPC_CheckChild1Integer, 4, 
/*218494*/      OPC_CheckChild1Type, MVT::i64,
/*218496*/      OPC_MoveChild2,
/*218497*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*218500*/      OPC_MoveParent,
/*218501*/      OPC_EmitMergeInputChains1_0,
/*218502*/      OPC_EmitInteger, MVT::i32, 9, 
/*218505*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::DMB), 0|OPFL_Chain,
                    1/*#Ops*/, 1, 
                // Src: (atomic_fence 4:{ *:[i64] }, (timm:{ *:[i64] })) - Complexity = 11
                // Dst: (DMB 9:{ *:[i32] })
/*218511*/    /*Scope*/ 20, /*->218532*/
/*218512*/      OPC_MoveChild1,
/*218513*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*218516*/      OPC_MoveParent,
/*218517*/      OPC_MoveChild2,
/*218518*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*218521*/      OPC_MoveParent,
/*218522*/      OPC_EmitMergeInputChains1_0,
/*218523*/      OPC_EmitInteger, MVT::i32, 11, 
/*218526*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::DMB), 0|OPFL_Chain,
                    1/*#Ops*/, 1, 
                // Src: (atomic_fence (timm:{ *:[iPTR] }), (timm:{ *:[iPTR] })) - Complexity = 9
                // Dst: (DMB 11:{ *:[i32] })
/*218532*/    0, /*End of Scope*/
/*218533*/  /*SwitchOpcode*/ 32|128,9/*1184*/, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->219721
/*218537*/    OPC_Scope, 69|128,6/*837*/, /*->219377*/ // 2 children in Scope
/*218540*/      OPC_MoveChild0,
/*218541*/      OPC_SwitchOpcode /*2 cases */, 122|128,5/*762*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->219308
/*218546*/        OPC_Scope, 26|128,5/*666*/, /*->219215*/ // 2 children in Scope
/*218549*/          OPC_MoveChild0,
/*218550*/          OPC_SwitchOpcode /*4 cases */, 85|128,2/*341*/, TARGET_VAL(ISD::INSERT_SUBVECTOR),// ->218896
/*218555*/            OPC_MoveChild0,
/*218556*/            OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*218559*/            OPC_MoveParent,
/*218560*/            OPC_MoveChild1,
/*218561*/            OPC_SwitchOpcode /*3 cases */, 108, TARGET_VAL(AArch64ISD::SADDV),// ->218673
/*218565*/              OPC_RecordChild0, // #0 = $Rn
/*218566*/              OPC_MoveParent,
/*218567*/              OPC_CheckChild2Integer, 0, 
/*218569*/              OPC_CheckChild2Type, MVT::i32,
/*218571*/              OPC_SwitchType /*2 cases */, 48, MVT::v16i8,// ->218622
/*218574*/                OPC_MoveParent,
/*218575*/                OPC_CheckChild1Integer, 0, 
/*218577*/                OPC_CheckChild1Type, MVT::i64,
/*218579*/                OPC_MoveParent,
/*218580*/                OPC_MoveChild1,
/*218581*/                OPC_CheckValueType, MVT::i8,
/*218583*/                OPC_MoveParent,
/*218584*/                OPC_CheckType, MVT::i32,
/*218586*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*218592*/                OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i8v), 0,
                              MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*218599*/                OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*218602*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*218611*/                OPC_EmitInteger, MVT::i64, 0, 
/*218614*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to32), 0,
                              MVT::i32, 2/*#Ops*/, 4, 5, 
                          // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64saddv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), i8:{ *:[Other] }) - Complexity = 25
                          // Dst: (SMOVvi8to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), 0:{ *:[i64] })
/*218622*/              /*SwitchType*/ 48, MVT::v8i16,// ->218672
/*218624*/                OPC_MoveParent,
/*218625*/                OPC_CheckChild1Integer, 0, 
/*218627*/                OPC_CheckChild1Type, MVT::i64,
/*218629*/                OPC_MoveParent,
/*218630*/                OPC_MoveChild1,
/*218631*/                OPC_CheckValueType, MVT::i16,
/*218633*/                OPC_MoveParent,
/*218634*/                OPC_CheckType, MVT::i32,
/*218636*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*218642*/                OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i16v), 0,
                              MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*218649*/                OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*218652*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*218661*/                OPC_EmitInteger, MVT::i64, 0, 
/*218664*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                              MVT::i32, 2/*#Ops*/, 4, 5, 
                          // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64saddv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), i16:{ *:[Other] }) - Complexity = 25
                          // Dst: (SMOVvi16to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), 0:{ *:[i64] })
/*218672*/              0, // EndSwitchType
/*218673*/            /*SwitchOpcode*/ 108, TARGET_VAL(AArch64ISD::SMAXV),// ->218784
/*218676*/              OPC_RecordChild0, // #0 = $Rn
/*218677*/              OPC_MoveParent,
/*218678*/              OPC_CheckChild2Integer, 0, 
/*218680*/              OPC_CheckChild2Type, MVT::i32,
/*218682*/              OPC_SwitchType /*2 cases */, 48, MVT::v16i8,// ->218733
/*218685*/                OPC_MoveParent,
/*218686*/                OPC_CheckChild1Integer, 0, 
/*218688*/                OPC_CheckChild1Type, MVT::i64,
/*218690*/                OPC_MoveParent,
/*218691*/                OPC_MoveChild1,
/*218692*/                OPC_CheckValueType, MVT::i8,
/*218694*/                OPC_MoveParent,
/*218695*/                OPC_CheckType, MVT::i32,
/*218697*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*218703*/                OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv8i8v), 0,
                              MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*218710*/                OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*218713*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*218722*/                OPC_EmitInteger, MVT::i64, 0, 
/*218725*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to32), 0,
                              MVT::i32, 2/*#Ops*/, 4, 5, 
                          // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64smaxv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), i8:{ *:[Other] }) - Complexity = 25
                          // Dst: (SMOVvi8to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMAXVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), 0:{ *:[i64] })
/*218733*/              /*SwitchType*/ 48, MVT::v8i16,// ->218783
/*218735*/                OPC_MoveParent,
/*218736*/                OPC_CheckChild1Integer, 0, 
/*218738*/                OPC_CheckChild1Type, MVT::i64,
/*218740*/                OPC_MoveParent,
/*218741*/                OPC_MoveChild1,
/*218742*/                OPC_CheckValueType, MVT::i16,
/*218744*/                OPC_MoveParent,
/*218745*/                OPC_CheckType, MVT::i32,
/*218747*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*218753*/                OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv4i16v), 0,
                              MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*218760*/                OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*218763*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*218772*/                OPC_EmitInteger, MVT::i64, 0, 
/*218775*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                              MVT::i32, 2/*#Ops*/, 4, 5, 
                          // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64smaxv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), i16:{ *:[Other] }) - Complexity = 25
                          // Dst: (SMOVvi16to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMAXVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), 0:{ *:[i64] })
/*218783*/              0, // EndSwitchType
/*218784*/            /*SwitchOpcode*/ 108, TARGET_VAL(AArch64ISD::SMINV),// ->218895
/*218787*/              OPC_RecordChild0, // #0 = $Rn
/*218788*/              OPC_MoveParent,
/*218789*/              OPC_CheckChild2Integer, 0, 
/*218791*/              OPC_CheckChild2Type, MVT::i32,
/*218793*/              OPC_SwitchType /*2 cases */, 48, MVT::v16i8,// ->218844
/*218796*/                OPC_MoveParent,
/*218797*/                OPC_CheckChild1Integer, 0, 
/*218799*/                OPC_CheckChild1Type, MVT::i64,
/*218801*/                OPC_MoveParent,
/*218802*/                OPC_MoveChild1,
/*218803*/                OPC_CheckValueType, MVT::i8,
/*218805*/                OPC_MoveParent,
/*218806*/                OPC_CheckType, MVT::i32,
/*218808*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*218814*/                OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv8i8v), 0,
                              MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*218821*/                OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*218824*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*218833*/                OPC_EmitInteger, MVT::i64, 0, 
/*218836*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to32), 0,
                              MVT::i32, 2/*#Ops*/, 4, 5, 
                          // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), (AArch64sminv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), i8:{ *:[Other] }) - Complexity = 25
                          // Dst: (SMOVvi8to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMINVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] }), 0:{ *:[i64] })
/*218844*/              /*SwitchType*/ 48, MVT::v8i16,// ->218894
/*218846*/                OPC_MoveParent,
/*218847*/                OPC_CheckChild1Integer, 0, 
/*218849*/                OPC_CheckChild1Type, MVT::i64,
/*218851*/                OPC_MoveParent,
/*218852*/                OPC_MoveChild1,
/*218853*/                OPC_CheckValueType, MVT::i16,
/*218855*/                OPC_MoveParent,
/*218856*/                OPC_CheckType, MVT::i32,
/*218858*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*218864*/                OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv4i16v), 0,
                              MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*218871*/                OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*218874*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*218883*/                OPC_EmitInteger, MVT::i64, 0, 
/*218886*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                              MVT::i32, 2/*#Ops*/, 4, 5, 
                          // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), (AArch64sminv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn), 0:{ *:[i32] }), 0:{ *:[i64] }), i16:{ *:[Other] }) - Complexity = 25
                          // Dst: (SMOVvi16to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMINVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] }), 0:{ *:[i64] })
/*218894*/              0, // EndSwitchType
/*218895*/            0, // EndSwitchOpcode
/*218896*/          /*SwitchOpcode*/ 103, TARGET_VAL(AArch64ISD::SADDV),// ->219002
/*218899*/            OPC_RecordChild0, // #0 = $Rn
/*218900*/            OPC_SwitchType /*2 cases */, 48, MVT::v16i8,// ->218951
/*218903*/              OPC_MoveParent,
/*218904*/              OPC_CheckChild1Integer, 0, 
/*218906*/              OPC_CheckChild1Type, MVT::i64,
/*218908*/              OPC_MoveParent,
/*218909*/              OPC_MoveChild1,
/*218910*/              OPC_CheckValueType, MVT::i8,
/*218912*/              OPC_MoveParent,
/*218913*/              OPC_CheckType, MVT::i32,
/*218915*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*218921*/              OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv16i8v), 0,
                            MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*218928*/              OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*218931*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*218940*/              OPC_EmitInteger, MVT::i64, 0, 
/*218943*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to32), 0,
                            MVT::i32, 2/*#Ops*/, 4, 5, 
                        // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64saddv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }), i8:{ *:[Other] }) - Complexity = 14
                        // Dst: (SMOVvi8to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), 0:{ *:[i64] })
/*218951*/            /*SwitchType*/ 48, MVT::v8i16,// ->219001
/*218953*/              OPC_MoveParent,
/*218954*/              OPC_CheckChild1Integer, 0, 
/*218956*/              OPC_CheckChild1Type, MVT::i64,
/*218958*/              OPC_MoveParent,
/*218959*/              OPC_MoveChild1,
/*218960*/              OPC_CheckValueType, MVT::i16,
/*218962*/              OPC_MoveParent,
/*218963*/              OPC_CheckType, MVT::i32,
/*218965*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*218971*/              OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i16v), 0,
                            MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*218978*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*218981*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*218990*/              OPC_EmitInteger, MVT::i64, 0, 
/*218993*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                            MVT::i32, 2/*#Ops*/, 4, 5, 
                        // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64saddv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }), i16:{ *:[Other] }) - Complexity = 14
                        // Dst: (SMOVvi16to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), 0:{ *:[i64] })
/*219001*/            0, // EndSwitchType
/*219002*/          /*SwitchOpcode*/ 103, TARGET_VAL(AArch64ISD::SMAXV),// ->219108
/*219005*/            OPC_RecordChild0, // #0 = $Rn
/*219006*/            OPC_SwitchType /*2 cases */, 48, MVT::v16i8,// ->219057
/*219009*/              OPC_MoveParent,
/*219010*/              OPC_CheckChild1Integer, 0, 
/*219012*/              OPC_CheckChild1Type, MVT::i64,
/*219014*/              OPC_MoveParent,
/*219015*/              OPC_MoveChild1,
/*219016*/              OPC_CheckValueType, MVT::i8,
/*219018*/              OPC_MoveParent,
/*219019*/              OPC_CheckType, MVT::i32,
/*219021*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*219027*/              OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv16i8v), 0,
                            MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*219034*/              OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*219037*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*219046*/              OPC_EmitInteger, MVT::i64, 0, 
/*219049*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to32), 0,
                            MVT::i32, 2/*#Ops*/, 4, 5, 
                        // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64smaxv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }), i8:{ *:[Other] }) - Complexity = 14
                        // Dst: (SMOVvi8to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMAXVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), 0:{ *:[i64] })
/*219057*/            /*SwitchType*/ 48, MVT::v8i16,// ->219107
/*219059*/              OPC_MoveParent,
/*219060*/              OPC_CheckChild1Integer, 0, 
/*219062*/              OPC_CheckChild1Type, MVT::i64,
/*219064*/              OPC_MoveParent,
/*219065*/              OPC_MoveChild1,
/*219066*/              OPC_CheckValueType, MVT::i16,
/*219068*/              OPC_MoveParent,
/*219069*/              OPC_CheckType, MVT::i32,
/*219071*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*219077*/              OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv8i16v), 0,
                            MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*219084*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*219087*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*219096*/              OPC_EmitInteger, MVT::i64, 0, 
/*219099*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                            MVT::i32, 2/*#Ops*/, 4, 5, 
                        // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64smaxv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }), i16:{ *:[Other] }) - Complexity = 14
                        // Dst: (SMOVvi16to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMAXVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), 0:{ *:[i64] })
/*219107*/            0, // EndSwitchType
/*219108*/          /*SwitchOpcode*/ 103, TARGET_VAL(AArch64ISD::SMINV),// ->219214
/*219111*/            OPC_RecordChild0, // #0 = $Rn
/*219112*/            OPC_SwitchType /*2 cases */, 48, MVT::v16i8,// ->219163
/*219115*/              OPC_MoveParent,
/*219116*/              OPC_CheckChild1Integer, 0, 
/*219118*/              OPC_CheckChild1Type, MVT::i64,
/*219120*/              OPC_MoveParent,
/*219121*/              OPC_MoveChild1,
/*219122*/              OPC_CheckValueType, MVT::i8,
/*219124*/              OPC_MoveParent,
/*219125*/              OPC_CheckType, MVT::i32,
/*219127*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*219133*/              OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv16i8v), 0,
                            MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*219140*/              OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*219143*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*219152*/              OPC_EmitInteger, MVT::i64, 0, 
/*219155*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to32), 0,
                            MVT::i32, 2/*#Ops*/, 4, 5, 
                        // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64sminv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn), 0:{ *:[i64] }), i8:{ *:[Other] }) - Complexity = 14
                        // Dst: (SMOVvi8to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMINVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] }), 0:{ *:[i64] })
/*219163*/            /*SwitchType*/ 48, MVT::v8i16,// ->219213
/*219165*/              OPC_MoveParent,
/*219166*/              OPC_CheckChild1Integer, 0, 
/*219168*/              OPC_CheckChild1Type, MVT::i64,
/*219170*/              OPC_MoveParent,
/*219171*/              OPC_MoveChild1,
/*219172*/              OPC_CheckValueType, MVT::i16,
/*219174*/              OPC_MoveParent,
/*219175*/              OPC_CheckType, MVT::i32,
/*219177*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*219183*/              OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv8i16v), 0,
                            MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*219190*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*219193*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 3,  // Results = #4
/*219202*/              OPC_EmitInteger, MVT::i64, 0, 
/*219205*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                            MVT::i32, 2/*#Ops*/, 4, 5, 
                        // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } (AArch64sminv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn), 0:{ *:[i64] }), i16:{ *:[Other] }) - Complexity = 14
                        // Dst: (SMOVvi16to32:{ *:[i32] } (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMINVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] }), 0:{ *:[i64] })
/*219213*/            0, // EndSwitchType
/*219214*/          0, // EndSwitchOpcode
/*219215*/        /*Scope*/ 91, /*->219307*/
/*219216*/          OPC_RecordChild0, // #0 = $Rn
/*219217*/          OPC_Scope, 43, /*->219262*/ // 2 children in Scope
/*219219*/            OPC_CheckChild0Type, MVT::v16i8,
/*219221*/            OPC_RecordChild1, // #1 = $idx
/*219222*/            OPC_MoveChild1,
/*219223*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*219226*/            OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*219228*/            OPC_CheckType, MVT::i64,
/*219230*/            OPC_MoveParent,
/*219231*/            OPC_MoveParent,
/*219232*/            OPC_MoveChild1,
/*219233*/            OPC_CheckValueType, MVT::i8,
/*219235*/            OPC_MoveParent,
/*219236*/            OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->219249
/*219239*/              OPC_EmitConvertToTarget, 1,
/*219241*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to32), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), i8:{ *:[Other] }) - Complexity = 10
                        // Dst: (SMOVvi8to32:{ *:[i32] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx)
/*219249*/            /*SwitchType*/ 10, MVT::i64,// ->219261
/*219251*/              OPC_EmitConvertToTarget, 1,
/*219253*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to64), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (sext_inreg:{ *:[i64] } (vector_extract:{ *:[i64] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx), i8:{ *:[Other] }) - Complexity = 10
                        // Dst: (SMOVvi8to64:{ *:[i64] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx)
/*219261*/            0, // EndSwitchType
/*219262*/          /*Scope*/ 43, /*->219306*/
/*219263*/            OPC_CheckChild0Type, MVT::v8i16,
/*219265*/            OPC_RecordChild1, // #1 = $idx
/*219266*/            OPC_MoveChild1,
/*219267*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*219270*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*219272*/            OPC_CheckType, MVT::i64,
/*219274*/            OPC_MoveParent,
/*219275*/            OPC_MoveParent,
/*219276*/            OPC_MoveChild1,
/*219277*/            OPC_CheckValueType, MVT::i16,
/*219279*/            OPC_MoveParent,
/*219280*/            OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->219293
/*219283*/              OPC_EmitConvertToTarget, 1,
/*219285*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to32), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (sext_inreg:{ *:[i32] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), i16:{ *:[Other] }) - Complexity = 10
                        // Dst: (SMOVvi16to32:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)
/*219293*/            /*SwitchType*/ 10, MVT::i64,// ->219305
/*219295*/              OPC_EmitConvertToTarget, 1,
/*219297*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to64), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (sext_inreg:{ *:[i64] } (vector_extract:{ *:[i64] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), i16:{ *:[Other] }) - Complexity = 10
                        // Dst: (SMOVvi16to64:{ *:[i64] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)
/*219305*/            0, // EndSwitchType
/*219306*/          0, /*End of Scope*/
/*219307*/        0, /*End of Scope*/
/*219308*/      /*SwitchOpcode*/ 65, TARGET_VAL(ISD::ANY_EXTEND),// ->219376
/*219311*/        OPC_MoveChild0,
/*219312*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*219315*/        OPC_RecordChild0, // #0 = $Rn
/*219316*/        OPC_Scope, 28, /*->219346*/ // 2 children in Scope
/*219318*/          OPC_CheckChild0Type, MVT::v16i8,
/*219320*/          OPC_RecordChild1, // #1 = $idx
/*219321*/          OPC_MoveChild1,
/*219322*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*219325*/          OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*219327*/          OPC_CheckType, MVT::i64,
/*219329*/          OPC_MoveParent,
/*219330*/          OPC_MoveParent,
/*219331*/          OPC_MoveParent,
/*219332*/          OPC_MoveChild1,
/*219333*/          OPC_CheckValueType, MVT::i8,
/*219335*/          OPC_MoveParent,
/*219336*/          OPC_EmitConvertToTarget, 1,
/*219338*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi8to64), 0,
                        MVT::i64, 2/*#Ops*/, 0, 2, 
                    // Src: (sext_inreg:{ *:[i64] } (anyext:{ *:[i64] } (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx)), i8:{ *:[Other] }) - Complexity = 13
                    // Dst: (SMOVvi8to64:{ *:[i64] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx)
/*219346*/        /*Scope*/ 28, /*->219375*/
/*219347*/          OPC_CheckChild0Type, MVT::v8i16,
/*219349*/          OPC_RecordChild1, // #1 = $idx
/*219350*/          OPC_MoveChild1,
/*219351*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*219354*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*219356*/          OPC_CheckType, MVT::i64,
/*219358*/          OPC_MoveParent,
/*219359*/          OPC_MoveParent,
/*219360*/          OPC_MoveParent,
/*219361*/          OPC_MoveChild1,
/*219362*/          OPC_CheckValueType, MVT::i16,
/*219364*/          OPC_MoveParent,
/*219365*/          OPC_EmitConvertToTarget, 1,
/*219367*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi16to64), 0,
                        MVT::i64, 2/*#Ops*/, 0, 2, 
                    // Src: (sext_inreg:{ *:[i64] } (anyext:{ *:[i64] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)), i16:{ *:[Other] }) - Complexity = 13
                    // Dst: (SMOVvi16to64:{ *:[i64] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)
/*219375*/        0, /*End of Scope*/
/*219376*/      0, // EndSwitchOpcode
/*219377*/    /*Scope*/ 85|128,2/*341*/, /*->219720*/
/*219379*/      OPC_RecordChild0, // #0 = $src
/*219380*/      OPC_MoveChild1,
/*219381*/      OPC_Scope, 18, /*->219401*/ // 10 children in Scope
/*219383*/        OPC_CheckValueType, MVT::i32,
/*219385*/        OPC_MoveParent,
/*219386*/        OPC_EmitInteger, MVT::i64, 0, 
/*219389*/        OPC_EmitInteger, MVT::i64, 31, 
/*219392*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                      MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$src, i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$src, 0:{ *:[i64] }, 31:{ *:[i64] })
/*219401*/      /*Scope*/ 39, /*->219441*/
/*219402*/        OPC_CheckValueType, MVT::i16,
/*219404*/        OPC_MoveParent,
/*219405*/        OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->219423
/*219408*/          OPC_EmitInteger, MVT::i64, 0, 
/*219411*/          OPC_EmitInteger, MVT::i64, 15, 
/*219414*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$src, i16:{ *:[Other] }) - Complexity = 3
                    // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$src, 0:{ *:[i64] }, 15:{ *:[i64] })
/*219423*/        /*SwitchType*/ 15, MVT::i32,// ->219440
/*219425*/          OPC_EmitInteger, MVT::i64, 0, 
/*219428*/          OPC_EmitInteger, MVT::i64, 15, 
/*219431*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMWri), 0,
                        MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (sext_inreg:{ *:[i32] } GPR32:{ *:[i32] }:$src, i16:{ *:[Other] }) - Complexity = 3
                    // Dst: (SBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$src, 0:{ *:[i64] }, 15:{ *:[i64] })
/*219440*/        0, // EndSwitchType
/*219441*/      /*Scope*/ 39, /*->219481*/
/*219442*/        OPC_CheckValueType, MVT::i8,
/*219444*/        OPC_MoveParent,
/*219445*/        OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->219463
/*219448*/          OPC_EmitInteger, MVT::i64, 0, 
/*219451*/          OPC_EmitInteger, MVT::i64, 7, 
/*219454*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$src, i8:{ *:[Other] }) - Complexity = 3
                    // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$src, 0:{ *:[i64] }, 7:{ *:[i64] })
/*219463*/        /*SwitchType*/ 15, MVT::i32,// ->219480
/*219465*/          OPC_EmitInteger, MVT::i64, 0, 
/*219468*/          OPC_EmitInteger, MVT::i64, 7, 
/*219471*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMWri), 0,
                        MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (sext_inreg:{ *:[i32] } GPR32:{ *:[i32] }:$src, i8:{ *:[Other] }) - Complexity = 3
                    // Dst: (SBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$src, 0:{ *:[i64] }, 7:{ *:[i64] })
/*219480*/        0, // EndSwitchType
/*219481*/      /*Scope*/ 39, /*->219521*/
/*219482*/        OPC_CheckValueType, MVT::i1,
/*219484*/        OPC_MoveParent,
/*219485*/        OPC_SwitchType /*2 cases */, 15, MVT::i64,// ->219503
/*219488*/          OPC_EmitInteger, MVT::i64, 0, 
/*219491*/          OPC_EmitInteger, MVT::i64, 0, 
/*219494*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$src, i1:{ *:[Other] }) - Complexity = 3
                    // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$src, 0:{ *:[i64] }, 0:{ *:[i64] })
/*219503*/        /*SwitchType*/ 15, MVT::i32,// ->219520
/*219505*/          OPC_EmitInteger, MVT::i64, 0, 
/*219508*/          OPC_EmitInteger, MVT::i64, 0, 
/*219511*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMWri), 0,
                        MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (sext_inreg:{ *:[i32] } GPR32:{ *:[i32] }:$src, i1:{ *:[Other] }) - Complexity = 3
                    // Dst: (SBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$src, 0:{ *:[i64] }, 0:{ *:[i64] })
/*219520*/        0, // EndSwitchType
/*219521*/      /*Scope*/ 32, /*->219554*/
/*219522*/        OPC_CheckValueType, MVT::nxv2i32,
/*219524*/        OPC_MoveParent,
/*219525*/        OPC_CheckType, MVT::nxv2i64,
/*219527*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*219529*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*219535*/        OPC_EmitInteger, MVT::i32, 31, 
/*219538*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*219545*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTW_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (sext_inreg:{ *:[nxv2i64] } ZPR:{ *:[nxv2i64] }:$Zs, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SXTW_ZPmZ_D:{ *:[nxv2i64] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs)
/*219554*/      /*Scope*/ 32, /*->219587*/
/*219555*/        OPC_CheckValueType, MVT::nxv2i16,
/*219557*/        OPC_MoveParent,
/*219558*/        OPC_CheckType, MVT::nxv2i64,
/*219560*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*219562*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*219568*/        OPC_EmitInteger, MVT::i32, 31, 
/*219571*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*219578*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTH_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (sext_inreg:{ *:[nxv2i64] } ZPR:{ *:[nxv2i64] }:$Zs, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SXTH_ZPmZ_D:{ *:[nxv2i64] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs)
/*219587*/      /*Scope*/ 32, /*->219620*/
/*219588*/        OPC_CheckValueType, MVT::nxv2i8,
/*219590*/        OPC_MoveParent,
/*219591*/        OPC_CheckType, MVT::nxv2i64,
/*219593*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*219595*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*219601*/        OPC_EmitInteger, MVT::i32, 31, 
/*219604*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*219611*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTB_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (sext_inreg:{ *:[nxv2i64] } ZPR:{ *:[nxv2i64] }:$Zs, nxv2i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (SXTB_ZPmZ_D:{ *:[nxv2i64] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs)
/*219620*/      /*Scope*/ 32, /*->219653*/
/*219621*/        OPC_CheckValueType, MVT::nxv4i16,
/*219623*/        OPC_MoveParent,
/*219624*/        OPC_CheckType, MVT::nxv4i32,
/*219626*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*219628*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*219634*/        OPC_EmitInteger, MVT::i32, 31, 
/*219637*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*219644*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTH_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (sext_inreg:{ *:[nxv4i32] } ZPR:{ *:[nxv4i32] }:$Zs, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SXTH_ZPmZ_S:{ *:[nxv4i32] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs)
/*219653*/      /*Scope*/ 32, /*->219686*/
/*219654*/        OPC_CheckValueType, MVT::nxv4i8,
/*219656*/        OPC_MoveParent,
/*219657*/        OPC_CheckType, MVT::nxv4i32,
/*219659*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*219661*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*219667*/        OPC_EmitInteger, MVT::i32, 31, 
/*219670*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*219677*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTB_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (sext_inreg:{ *:[nxv4i32] } ZPR:{ *:[nxv4i32] }:$Zs, nxv4i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (SXTB_ZPmZ_S:{ *:[nxv4i32] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs)
/*219686*/      /*Scope*/ 32, /*->219719*/
/*219687*/        OPC_CheckValueType, MVT::nxv8i8,
/*219689*/        OPC_MoveParent,
/*219690*/        OPC_CheckType, MVT::nxv8i16,
/*219692*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*219694*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*219700*/        OPC_EmitInteger, MVT::i32, 31, 
/*219703*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*219710*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SXTB_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (sext_inreg:{ *:[nxv8i16] } ZPR:{ *:[nxv8i16] }:$Zs, nxv8i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (SXTB_ZPmZ_H:{ *:[nxv8i16] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs)
/*219719*/      0, /*End of Scope*/
/*219720*/    0, /*End of Scope*/
/*219721*/  /*SwitchOpcode*/ 81|128,19/*2513*/, TARGET_VAL(ISD::SUB),// ->222238
/*219725*/    OPC_Scope, 64|128,1/*192*/, /*->219920*/ // 12 children in Scope
/*219728*/      OPC_CheckChild0Integer, 0, 
/*219730*/      OPC_MoveChild1,
/*219731*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*219734*/      OPC_MoveChild0,
/*219735*/      OPC_SwitchOpcode /*3 cases */, 62, TARGET_VAL(ISD::SIGN_EXTEND),// ->219801
/*219739*/        OPC_RecordChild0, // #0 = $Rn
/*219740*/        OPC_MoveParent,
/*219741*/        OPC_Scope, 35, /*->219778*/ // 2 children in Scope
/*219743*/          OPC_RecordChild1, // #1 = $C
/*219744*/          OPC_MoveChild1,
/*219745*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*219748*/          OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*219750*/          OPC_MoveParent,
/*219751*/          OPC_MoveParent,
/*219752*/          OPC_CheckType, MVT::i64,
/*219754*/          OPC_EmitConvertToTarget, 1,
/*219756*/          OPC_EmitNodeXForm, 0, 2, // trunc_imm
/*219759*/          OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                        MVT::i32, 1/*#Ops*/, 3,  // Results = #4
/*219766*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*219769*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMSUBLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 4, 5, 
                    // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C)) - Complexity = 23
                    // Dst: (SMSUBLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), XZR:{ *:[i64] })
/*219778*/        /*Scope*/ 21, /*->219800*/
/*219779*/          OPC_MoveChild1,
/*219780*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*219783*/          OPC_RecordChild0, // #1 = $Rm
/*219784*/          OPC_MoveParent,
/*219785*/          OPC_MoveParent,
/*219786*/          OPC_CheckType, MVT::i64,
/*219788*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*219791*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMSUBLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm))) - Complexity = 22
                    // Dst: (SMSUBLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, XZR:{ *:[i64] })
/*219800*/        0, /*End of Scope*/
/*219801*/      /*SwitchOpcode*/ 62, TARGET_VAL(ISD::ZERO_EXTEND),// ->219866
/*219804*/        OPC_RecordChild0, // #0 = $Rn
/*219805*/        OPC_MoveParent,
/*219806*/        OPC_Scope, 35, /*->219843*/ // 2 children in Scope
/*219808*/          OPC_RecordChild1, // #1 = $C
/*219809*/          OPC_MoveChild1,
/*219810*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*219813*/          OPC_CheckPredicate, 9, // Predicate_i64imm_32bit
/*219815*/          OPC_MoveParent,
/*219816*/          OPC_MoveParent,
/*219817*/          OPC_CheckType, MVT::i64,
/*219819*/          OPC_EmitConvertToTarget, 1,
/*219821*/          OPC_EmitNodeXForm, 0, 2, // trunc_imm
/*219824*/          OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                        MVT::i32, 1/*#Ops*/, 3,  // Results = #4
/*219831*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*219834*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMSUBLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 4, 5, 
                    // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_i64imm_32bit>>:$C)) - Complexity = 23
                    // Dst: (UMSUBLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), XZR:{ *:[i64] })
/*219843*/        /*Scope*/ 21, /*->219865*/
/*219844*/          OPC_MoveChild1,
/*219845*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*219848*/          OPC_RecordChild0, // #1 = $Rm
/*219849*/          OPC_MoveParent,
/*219850*/          OPC_MoveParent,
/*219851*/          OPC_CheckType, MVT::i64,
/*219853*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*219856*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMSUBLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm))) - Complexity = 22
                    // Dst: (UMSUBLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, XZR:{ *:[i64] })
/*219865*/        0, /*End of Scope*/
/*219866*/      /*SwitchOpcode*/ 50, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->219919
/*219869*/        OPC_RecordChild0, // #0 = $Rn
/*219870*/        OPC_MoveChild1,
/*219871*/        OPC_CheckValueType, MVT::i32,
/*219873*/        OPC_MoveParent,
/*219874*/        OPC_MoveParent,
/*219875*/        OPC_RecordChild1, // #1 = $C
/*219876*/        OPC_MoveChild1,
/*219877*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*219880*/        OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*219882*/        OPC_MoveParent,
/*219883*/        OPC_MoveParent,
/*219884*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*219887*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2,  // Results = #3
/*219895*/        OPC_EmitConvertToTarget, 1,
/*219897*/        OPC_EmitNodeXForm, 0, 4, // trunc_imm
/*219900*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 5,  // Results = #6
/*219907*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*219910*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMSUBLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 3, 6, 7, 
                  // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, (mul:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i32:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C)) - Complexity = 23
                  // Dst: (SMSUBLrrr:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, sub_32:{ *:[i32] }), (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), XZR:{ *:[i64] })
/*219919*/      0, // EndSwitchOpcode
/*219920*/    /*Scope*/ 48|128,1/*176*/, /*->220098*/
/*219922*/      OPC_RecordChild0, // #0 = $Ra
/*219923*/      OPC_MoveChild1,
/*219924*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*219927*/      OPC_MoveChild0,
/*219928*/      OPC_SwitchOpcode /*3 cases */, 56, TARGET_VAL(ISD::SIGN_EXTEND),// ->219988
/*219932*/        OPC_RecordChild0, // #1 = $Rn
/*219933*/        OPC_MoveParent,
/*219934*/        OPC_Scope, 32, /*->219968*/ // 2 children in Scope
/*219936*/          OPC_RecordChild1, // #2 = $C
/*219937*/          OPC_MoveChild1,
/*219938*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*219941*/          OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*219943*/          OPC_MoveParent,
/*219944*/          OPC_MoveParent,
/*219945*/          OPC_CheckType, MVT::i64,
/*219947*/          OPC_EmitConvertToTarget, 2,
/*219949*/          OPC_EmitNodeXForm, 0, 3, // trunc_imm
/*219952*/          OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                        MVT::i32, 1/*#Ops*/, 4,  // Results = #5
/*219959*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMSUBLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 1, 5, 0, 
                    // Src: (sub:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C)) - Complexity = 18
                    // Dst: (SMSUBLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*219968*/        /*Scope*/ 18, /*->219987*/
/*219969*/          OPC_MoveChild1,
/*219970*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*219973*/          OPC_RecordChild0, // #2 = $Rm
/*219974*/          OPC_MoveParent,
/*219975*/          OPC_MoveParent,
/*219976*/          OPC_CheckType, MVT::i64,
/*219978*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMSUBLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 1, 2, 0, 
                    // Src: (sub:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm))) - Complexity = 17
                    // Dst: (SMSUBLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, GPR64:{ *:[i64] }:$Ra)
/*219987*/        0, /*End of Scope*/
/*219988*/      /*SwitchOpcode*/ 56, TARGET_VAL(ISD::ZERO_EXTEND),// ->220047
/*219991*/        OPC_RecordChild0, // #1 = $Rn
/*219992*/        OPC_MoveParent,
/*219993*/        OPC_Scope, 32, /*->220027*/ // 2 children in Scope
/*219995*/          OPC_RecordChild1, // #2 = $C
/*219996*/          OPC_MoveChild1,
/*219997*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*220000*/          OPC_CheckPredicate, 9, // Predicate_i64imm_32bit
/*220002*/          OPC_MoveParent,
/*220003*/          OPC_MoveParent,
/*220004*/          OPC_CheckType, MVT::i64,
/*220006*/          OPC_EmitConvertToTarget, 2,
/*220008*/          OPC_EmitNodeXForm, 0, 3, // trunc_imm
/*220011*/          OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                        MVT::i32, 1/*#Ops*/, 4,  // Results = #5
/*220018*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMSUBLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 1, 5, 0, 
                    // Src: (sub:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_i64imm_32bit>>:$C)) - Complexity = 18
                    // Dst: (UMSUBLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*220027*/        /*Scope*/ 18, /*->220046*/
/*220028*/          OPC_MoveChild1,
/*220029*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*220032*/          OPC_RecordChild0, // #2 = $Rm
/*220033*/          OPC_MoveParent,
/*220034*/          OPC_MoveParent,
/*220035*/          OPC_CheckType, MVT::i64,
/*220037*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMSUBLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 1, 2, 0, 
                    // Src: (sub:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm))) - Complexity = 17
                    // Dst: (UMSUBLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, GPR64:{ *:[i64] }:$Ra)
/*220046*/        0, /*End of Scope*/
/*220047*/      /*SwitchOpcode*/ 47, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->220097
/*220050*/        OPC_RecordChild0, // #1 = $Rn
/*220051*/        OPC_MoveChild1,
/*220052*/        OPC_CheckValueType, MVT::i32,
/*220054*/        OPC_MoveParent,
/*220055*/        OPC_MoveParent,
/*220056*/        OPC_RecordChild1, // #2 = $C
/*220057*/        OPC_MoveChild1,
/*220058*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*220061*/        OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*220063*/        OPC_MoveParent,
/*220064*/        OPC_MoveParent,
/*220065*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*220068*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*220076*/        OPC_EmitConvertToTarget, 2,
/*220078*/        OPC_EmitNodeXForm, 0, 5, // trunc_imm
/*220081*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 6,  // Results = #7
/*220088*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMSUBLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 4, 7, 0, 
                  // Src: (sub:{ *:[i64] } GPR64:{ *:[i64] }:$Ra, (mul:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i32:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C)) - Complexity = 18
                  // Dst: (SMSUBLrrr:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, sub_32:{ *:[i32] }), (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), GPR64:{ *:[i64] }:$Ra)
/*220097*/      0, // EndSwitchOpcode
/*220098*/    /*Scope*/ 39, /*->220138*/
/*220099*/      OPC_CheckChild0Integer, 0, 
/*220101*/      OPC_MoveChild1,
/*220102*/      OPC_CheckOpcode, TARGET_VAL(ISD::MUL),
/*220105*/      OPC_RecordChild0, // #0 = $Rn
/*220106*/      OPC_RecordChild1, // #1 = $Rm
/*220107*/      OPC_MoveParent,
/*220108*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->220123
/*220111*/        OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*220114*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSUBWrrr), 0,
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (sub:{ *:[i32] } 0:{ *:[i32] }, (mul:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)) - Complexity = 16
                  // Dst: (MSUBWrrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, WZR:{ *:[i32] })
/*220123*/      /*SwitchType*/ 12, MVT::i64,// ->220137
/*220125*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*220128*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSUBXrrr), 0,
                      MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (sub:{ *:[i64] } 0:{ *:[i64] }, (mul:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)) - Complexity = 16
                  // Dst: (MSUBXrrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, XZR:{ *:[i64] })
/*220137*/      0, // EndSwitchType
/*220138*/    /*Scope*/ 122, /*->220261*/
/*220139*/      OPC_RecordChild0, // #0 = $R2
/*220140*/      OPC_RecordChild1, // #1 = $R3
/*220141*/      OPC_SwitchType /*2 cases */, 57, MVT::i32,// ->220201
/*220144*/        OPC_Scope, 13, /*->220159*/ // 4 children in Scope
/*220146*/          OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectArithExtendedRegister:$R3 #2 #3
/*220149*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWrx), 0,
                        MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3) - Complexity = 13
                    // Dst: (SUBSWrx:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3)
/*220159*/        /*Scope*/ 12, /*->220172*/
/*220160*/          OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectNegArithImmed:$imm #2 #3
/*220163*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDWri), 0,
                        MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm) - Complexity = 13
                    // Dst: (ADDWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm)
/*220172*/        /*Scope*/ 13, /*->220186*/
/*220173*/          OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectArithImmed:$imm #2 #3
/*220176*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWri), 0,
                        MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm) - Complexity = 12
                    // Dst: (SUBSWri:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm)
/*220186*/        /*Scope*/ 13, /*->220200*/
/*220187*/          OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectArithShiftedRegister:$Rm #2 #3
/*220190*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWrs), 0,
                        MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 12
                    // Dst: (SUBSWrs:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm)
/*220200*/        0, /*End of Scope*/
/*220201*/      /*SwitchType*/ 57, MVT::i64,// ->220260
/*220203*/        OPC_Scope, 13, /*->220218*/ // 4 children in Scope
/*220205*/          OPC_CheckComplexPat, /*CP*/5, /*#*/1, // SelectArithExtendedRegister:$R3 #2 #3
/*220208*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXrx), 0,
                        MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[i64] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32to64_i64:{ *:[i64] }:$R3) - Complexity = 13
                    // Dst: (SUBSXrx:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32to64_i64:{ *:[i64] }:$R3)
/*220218*/        /*Scope*/ 12, /*->220231*/
/*220219*/          OPC_CheckComplexPat, /*CP*/6, /*#*/1, // SelectNegArithImmed:$imm #2 #3
/*220222*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDXri), 0,
                        MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm) - Complexity = 13
                    // Dst: (ADDXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm)
/*220231*/        /*Scope*/ 13, /*->220245*/
/*220232*/          OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectArithImmed:$imm #2 #3
/*220235*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXri), 0,
                        MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm) - Complexity = 12
                    // Dst: (SUBSXri:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm)
/*220245*/        /*Scope*/ 13, /*->220259*/
/*220246*/          OPC_CheckComplexPat, /*CP*/7, /*#*/1, // SelectArithShiftedRegister:$Rm #2 #3
/*220249*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXrs), 0,
                        MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 12
                    // Dst: (SUBSXrs:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm)
/*220259*/        0, /*End of Scope*/
/*220260*/      0, // EndSwitchType
/*220261*/    /*Scope*/ 15, /*->220277*/
/*220262*/      OPC_MoveChild0,
/*220263*/      OPC_CheckImmAllZerosV,
/*220264*/      OPC_MoveParent,
/*220265*/      OPC_RecordChild1, // #0 = $Rn
/*220266*/      OPC_CheckType, MVT::i64,
/*220268*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220270*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv1i64), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (sub:{ *:[i64] } immAllZerosV:{ *:[i64] }, FPR64:{ *:[i64] }:$Rn) - Complexity = 7
                // Dst: (NEGv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn)
/*220277*/    /*Scope*/ 59|128,3/*443*/, /*->220722*/
/*220279*/      OPC_RecordChild0, // #0 = $Rn
/*220280*/      OPC_Scope, 25, /*->220307*/ // 2 children in Scope
/*220282*/        OPC_RecordChild1, // #1 = $Rm
/*220283*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->220295
/*220286*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWrr), 0,
                        MVT::i32, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                    // Dst: (SUBSWrr:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*220295*/        /*SwitchType*/ 9, MVT::i64,// ->220306
/*220297*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXrr), 0,
                        MVT::i64, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (SUBSXrr:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*220306*/        0, // EndSwitchType
/*220307*/      /*Scope*/ 28|128,3/*412*/, /*->220721*/
/*220309*/        OPC_MoveChild1,
/*220310*/        OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*220313*/        OPC_Scope, 73|128,1/*201*/, /*->220517*/ // 2 children in Scope
/*220316*/          OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*220319*/          OPC_MoveChild1,
/*220320*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220323*/          OPC_RecordChild0, // #1 = $Rn
/*220324*/          OPC_SwitchType /*3 cases */, 77, MVT::v4i16,// ->220404
/*220327*/            OPC_CheckChild1Integer, 4, 
/*220329*/            OPC_CheckChild1Type, MVT::i64,
/*220331*/            OPC_MoveParent,
/*220332*/            OPC_MoveChild2,
/*220333*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220336*/            OPC_Scope, 42, /*->220380*/ // 2 children in Scope
/*220338*/              OPC_MoveChild0,
/*220339*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*220342*/              OPC_RecordChild0, // #2 = $Rm
/*220343*/              OPC_CheckChild0Type, MVT::v8i16,
/*220345*/              OPC_RecordChild1, // #3 = $idx
/*220346*/              OPC_MoveChild1,
/*220347*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*220350*/              OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*220352*/              OPC_CheckType, MVT::i64,
/*220354*/              OPC_MoveParent,
/*220355*/              OPC_MoveParent,
/*220356*/              OPC_CheckChild1Integer, 4, 
/*220358*/              OPC_CheckChild1Type, MVT::i64,
/*220360*/              OPC_CheckType, MVT::v4i16,
/*220362*/              OPC_MoveParent,
/*220363*/              OPC_MoveParent,
/*220364*/              OPC_CheckType, MVT::v4i32,
/*220366*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220368*/              OPC_EmitConvertToTarget, 3,
/*220370*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv8i16_indexed), 0,
                            MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] }))) - Complexity = 34
                        // Dst: (SMLSLv8i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*220380*/            /*Scope*/ 22, /*->220403*/
/*220381*/              OPC_RecordChild0, // #2 = $Rm
/*220382*/              OPC_CheckChild1Integer, 4, 
/*220384*/              OPC_CheckChild1Type, MVT::i64,
/*220386*/              OPC_CheckType, MVT::v4i16,
/*220388*/              OPC_MoveParent,
/*220389*/              OPC_MoveParent,
/*220390*/              OPC_CheckType, MVT::v4i32,
/*220392*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220394*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv8i16_v4i32), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 27
                        // Dst: (SMLSLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*220403*/            0, /*End of Scope*/
/*220404*/          /*SwitchType*/ 77, MVT::v2i32,// ->220483
/*220406*/            OPC_CheckChild1Integer, 2, 
/*220408*/            OPC_CheckChild1Type, MVT::i64,
/*220410*/            OPC_MoveParent,
/*220411*/            OPC_MoveChild2,
/*220412*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220415*/            OPC_Scope, 42, /*->220459*/ // 2 children in Scope
/*220417*/              OPC_MoveChild0,
/*220418*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*220421*/              OPC_RecordChild0, // #2 = $Rm
/*220422*/              OPC_CheckChild0Type, MVT::v4i32,
/*220424*/              OPC_RecordChild1, // #3 = $idx
/*220425*/              OPC_MoveChild1,
/*220426*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*220429*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*220431*/              OPC_CheckType, MVT::i64,
/*220433*/              OPC_MoveParent,
/*220434*/              OPC_MoveParent,
/*220435*/              OPC_CheckChild1Integer, 2, 
/*220437*/              OPC_CheckChild1Type, MVT::i64,
/*220439*/              OPC_CheckType, MVT::v2i32,
/*220441*/              OPC_MoveParent,
/*220442*/              OPC_MoveParent,
/*220443*/              OPC_CheckType, MVT::v2i64,
/*220445*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220447*/              OPC_EmitConvertToTarget, 3,
/*220449*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv4i32_indexed), 0,
                            MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] }))) - Complexity = 34
                        // Dst: (SMLSLv4i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*220459*/            /*Scope*/ 22, /*->220482*/
/*220460*/              OPC_RecordChild0, // #2 = $Rm
/*220461*/              OPC_CheckChild1Integer, 2, 
/*220463*/              OPC_CheckChild1Type, MVT::i64,
/*220465*/              OPC_CheckType, MVT::v2i32,
/*220467*/              OPC_MoveParent,
/*220468*/              OPC_MoveParent,
/*220469*/              OPC_CheckType, MVT::v2i64,
/*220471*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220473*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv4i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 27
                        // Dst: (SMLSLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*220482*/            0, /*End of Scope*/
/*220483*/          /*SwitchType*/ 31, MVT::v8i8,// ->220516
/*220485*/            OPC_CheckChild1Integer, 8, 
/*220487*/            OPC_CheckChild1Type, MVT::i64,
/*220489*/            OPC_MoveParent,
/*220490*/            OPC_MoveChild2,
/*220491*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220494*/            OPC_RecordChild0, // #2 = $Rm
/*220495*/            OPC_CheckChild1Integer, 8, 
/*220497*/            OPC_CheckChild1Type, MVT::i64,
/*220499*/            OPC_CheckType, MVT::v8i8,
/*220501*/            OPC_MoveParent,
/*220502*/            OPC_MoveParent,
/*220503*/            OPC_CheckType, MVT::v8i16,
/*220505*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220507*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv16i8_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 387:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 27
                      // Dst: (SMLSLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*220516*/          0, // EndSwitchType
/*220517*/        /*Scope*/ 73|128,1/*201*/, /*->220720*/
/*220519*/          OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*220522*/          OPC_MoveChild1,
/*220523*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220526*/          OPC_RecordChild0, // #1 = $Rn
/*220527*/          OPC_SwitchType /*3 cases */, 77, MVT::v4i16,// ->220607
/*220530*/            OPC_CheckChild1Integer, 4, 
/*220532*/            OPC_CheckChild1Type, MVT::i64,
/*220534*/            OPC_MoveParent,
/*220535*/            OPC_MoveChild2,
/*220536*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220539*/            OPC_Scope, 42, /*->220583*/ // 2 children in Scope
/*220541*/              OPC_MoveChild0,
/*220542*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*220545*/              OPC_RecordChild0, // #2 = $Rm
/*220546*/              OPC_CheckChild0Type, MVT::v8i16,
/*220548*/              OPC_RecordChild1, // #3 = $idx
/*220549*/              OPC_MoveChild1,
/*220550*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*220553*/              OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*220555*/              OPC_CheckType, MVT::i64,
/*220557*/              OPC_MoveParent,
/*220558*/              OPC_MoveParent,
/*220559*/              OPC_CheckChild1Integer, 4, 
/*220561*/              OPC_CheckChild1Type, MVT::i64,
/*220563*/              OPC_CheckType, MVT::v4i16,
/*220565*/              OPC_MoveParent,
/*220566*/              OPC_MoveParent,
/*220567*/              OPC_CheckType, MVT::v4i32,
/*220569*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220571*/              OPC_EmitConvertToTarget, 3,
/*220573*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv8i16_indexed), 0,
                            MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), 4:{ *:[i64] }))) - Complexity = 34
                        // Dst: (UMLSLv8i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*220583*/            /*Scope*/ 22, /*->220606*/
/*220584*/              OPC_RecordChild0, // #2 = $Rm
/*220585*/              OPC_CheckChild1Integer, 4, 
/*220587*/              OPC_CheckChild1Type, MVT::i64,
/*220589*/              OPC_CheckType, MVT::v4i16,
/*220591*/              OPC_MoveParent,
/*220592*/              OPC_MoveParent,
/*220593*/              OPC_CheckType, MVT::v4i32,
/*220595*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220597*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv8i16_v4i32), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 27
                        // Dst: (UMLSLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*220606*/            0, /*End of Scope*/
/*220607*/          /*SwitchType*/ 77, MVT::v2i32,// ->220686
/*220609*/            OPC_CheckChild1Integer, 2, 
/*220611*/            OPC_CheckChild1Type, MVT::i64,
/*220613*/            OPC_MoveParent,
/*220614*/            OPC_MoveChild2,
/*220615*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220618*/            OPC_Scope, 42, /*->220662*/ // 2 children in Scope
/*220620*/              OPC_MoveChild0,
/*220621*/              OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*220624*/              OPC_RecordChild0, // #2 = $Rm
/*220625*/              OPC_CheckChild0Type, MVT::v4i32,
/*220627*/              OPC_RecordChild1, // #3 = $idx
/*220628*/              OPC_MoveChild1,
/*220629*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*220632*/              OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*220634*/              OPC_CheckType, MVT::i64,
/*220636*/              OPC_MoveParent,
/*220637*/              OPC_MoveParent,
/*220638*/              OPC_CheckChild1Integer, 2, 
/*220640*/              OPC_CheckChild1Type, MVT::i64,
/*220642*/              OPC_CheckType, MVT::v2i32,
/*220644*/              OPC_MoveParent,
/*220645*/              OPC_MoveParent,
/*220646*/              OPC_CheckType, MVT::v2i64,
/*220648*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220650*/              OPC_EmitConvertToTarget, 3,
/*220652*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv4i32_indexed), 0,
                            MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                        // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), 2:{ *:[i64] }))) - Complexity = 34
                        // Dst: (UMLSLv4i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*220662*/            /*Scope*/ 22, /*->220685*/
/*220663*/              OPC_RecordChild0, // #2 = $Rm
/*220664*/              OPC_CheckChild1Integer, 2, 
/*220666*/              OPC_CheckChild1Type, MVT::i64,
/*220668*/              OPC_CheckType, MVT::v2i32,
/*220670*/              OPC_MoveParent,
/*220671*/              OPC_MoveParent,
/*220672*/              OPC_CheckType, MVT::v2i64,
/*220674*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220676*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv4i32_v2i64), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 27
                        // Dst: (UMLSLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*220685*/            0, /*End of Scope*/
/*220686*/          /*SwitchType*/ 31, MVT::v8i8,// ->220719
/*220688*/            OPC_CheckChild1Integer, 8, 
/*220690*/            OPC_CheckChild1Type, MVT::i64,
/*220692*/            OPC_MoveParent,
/*220693*/            OPC_MoveChild2,
/*220694*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220697*/            OPC_RecordChild0, // #2 = $Rm
/*220698*/            OPC_CheckChild1Integer, 8, 
/*220700*/            OPC_CheckChild1Type, MVT::i64,
/*220702*/            OPC_CheckType, MVT::v8i8,
/*220704*/            OPC_MoveParent,
/*220705*/            OPC_MoveParent,
/*220706*/            OPC_CheckType, MVT::v8i16,
/*220708*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220710*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv16i8_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 441:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 27
                      // Dst: (UMLSLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*220719*/          0, // EndSwitchType
/*220720*/        0, /*End of Scope*/
/*220721*/      0, /*End of Scope*/
/*220722*/    /*Scope*/ 117|128,1/*245*/, /*->220969*/
/*220724*/      OPC_MoveChild0,
/*220725*/      OPC_SwitchOpcode /*2 cases */, 118, TARGET_VAL(ISD::SIGN_EXTEND),// ->220847
/*220729*/        OPC_MoveChild0,
/*220730*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220733*/        OPC_RecordChild0, // #0 = $Rn
/*220734*/        OPC_SwitchType /*3 cases */, 35, MVT::v8i8,// ->220772
/*220737*/          OPC_CheckChild1Integer, 8, 
/*220739*/          OPC_CheckChild1Type, MVT::i64,
/*220741*/          OPC_MoveParent,
/*220742*/          OPC_MoveParent,
/*220743*/          OPC_MoveChild1,
/*220744*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*220747*/          OPC_MoveChild0,
/*220748*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220751*/          OPC_RecordChild0, // #1 = $Rm
/*220752*/          OPC_CheckChild1Integer, 8, 
/*220754*/          OPC_CheckChild1Type, MVT::i64,
/*220756*/          OPC_CheckType, MVT::v8i8,
/*220758*/          OPC_MoveParent,
/*220759*/          OPC_MoveParent,
/*220760*/          OPC_CheckType, MVT::v8i16,
/*220762*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220764*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBLv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v8i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 25
                    // Dst: (SSUBLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*220772*/        /*SwitchType*/ 35, MVT::v4i16,// ->220809
/*220774*/          OPC_CheckChild1Integer, 4, 
/*220776*/          OPC_CheckChild1Type, MVT::i64,
/*220778*/          OPC_MoveParent,
/*220779*/          OPC_MoveParent,
/*220780*/          OPC_MoveChild1,
/*220781*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*220784*/          OPC_MoveChild0,
/*220785*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220788*/          OPC_RecordChild0, // #1 = $Rm
/*220789*/          OPC_CheckChild1Integer, 4, 
/*220791*/          OPC_CheckChild1Type, MVT::i64,
/*220793*/          OPC_CheckType, MVT::v4i16,
/*220795*/          OPC_MoveParent,
/*220796*/          OPC_MoveParent,
/*220797*/          OPC_CheckType, MVT::v4i32,
/*220799*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220801*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBLv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v4i32] } (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 25
                    // Dst: (SSUBLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*220809*/        /*SwitchType*/ 35, MVT::v2i32,// ->220846
/*220811*/          OPC_CheckChild1Integer, 2, 
/*220813*/          OPC_CheckChild1Type, MVT::i64,
/*220815*/          OPC_MoveParent,
/*220816*/          OPC_MoveParent,
/*220817*/          OPC_MoveChild1,
/*220818*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*220821*/          OPC_MoveChild0,
/*220822*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220825*/          OPC_RecordChild0, // #1 = $Rm
/*220826*/          OPC_CheckChild1Integer, 2, 
/*220828*/          OPC_CheckChild1Type, MVT::i64,
/*220830*/          OPC_CheckType, MVT::v2i32,
/*220832*/          OPC_MoveParent,
/*220833*/          OPC_MoveParent,
/*220834*/          OPC_CheckType, MVT::v2i64,
/*220836*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220838*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBLv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v2i64] } (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 25
                    // Dst: (SSUBLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*220846*/        0, // EndSwitchType
/*220847*/      /*SwitchOpcode*/ 118, TARGET_VAL(ISD::ZERO_EXTEND),// ->220968
/*220850*/        OPC_MoveChild0,
/*220851*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220854*/        OPC_RecordChild0, // #0 = $Rn
/*220855*/        OPC_SwitchType /*3 cases */, 35, MVT::v8i8,// ->220893
/*220858*/          OPC_CheckChild1Integer, 8, 
/*220860*/          OPC_CheckChild1Type, MVT::i64,
/*220862*/          OPC_MoveParent,
/*220863*/          OPC_MoveParent,
/*220864*/          OPC_MoveChild1,
/*220865*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*220868*/          OPC_MoveChild0,
/*220869*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220872*/          OPC_RecordChild0, // #1 = $Rm
/*220873*/          OPC_CheckChild1Integer, 8, 
/*220875*/          OPC_CheckChild1Type, MVT::i64,
/*220877*/          OPC_CheckType, MVT::v8i8,
/*220879*/          OPC_MoveParent,
/*220880*/          OPC_MoveParent,
/*220881*/          OPC_CheckType, MVT::v8i16,
/*220883*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220885*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBLv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 25
                    // Dst: (USUBLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*220893*/        /*SwitchType*/ 35, MVT::v4i16,// ->220930
/*220895*/          OPC_CheckChild1Integer, 4, 
/*220897*/          OPC_CheckChild1Type, MVT::i64,
/*220899*/          OPC_MoveParent,
/*220900*/          OPC_MoveParent,
/*220901*/          OPC_MoveChild1,
/*220902*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*220905*/          OPC_MoveChild0,
/*220906*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220909*/          OPC_RecordChild0, // #1 = $Rm
/*220910*/          OPC_CheckChild1Integer, 4, 
/*220912*/          OPC_CheckChild1Type, MVT::i64,
/*220914*/          OPC_CheckType, MVT::v4i16,
/*220916*/          OPC_MoveParent,
/*220917*/          OPC_MoveParent,
/*220918*/          OPC_CheckType, MVT::v4i32,
/*220920*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220922*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBLv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v4i32] } (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 25
                    // Dst: (USUBLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*220930*/        /*SwitchType*/ 35, MVT::v2i32,// ->220967
/*220932*/          OPC_CheckChild1Integer, 2, 
/*220934*/          OPC_CheckChild1Type, MVT::i64,
/*220936*/          OPC_MoveParent,
/*220937*/          OPC_MoveParent,
/*220938*/          OPC_MoveChild1,
/*220939*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*220942*/          OPC_MoveChild0,
/*220943*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*220946*/          OPC_RecordChild0, // #1 = $Rm
/*220947*/          OPC_CheckChild1Integer, 2, 
/*220949*/          OPC_CheckChild1Type, MVT::i64,
/*220951*/          OPC_CheckType, MVT::v2i32,
/*220953*/          OPC_MoveParent,
/*220954*/          OPC_MoveParent,
/*220955*/          OPC_CheckType, MVT::v2i64,
/*220957*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*220959*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBLv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v2i64] } (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 25
                    // Dst: (USUBLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*220967*/        0, // EndSwitchType
/*220968*/      0, // EndSwitchOpcode
/*220969*/    /*Scope*/ 8|128,2/*264*/, /*->221235*/
/*220971*/      OPC_RecordChild0, // #0 = $Rd
/*220972*/      OPC_MoveChild1,
/*220973*/      OPC_SwitchOpcode /*2 cases */, 48|128,1/*176*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->221154
/*220978*/        OPC_Scope, 86, /*->221066*/ // 2 children in Scope
/*220980*/          OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*220983*/          OPC_RecordChild1, // #1 = $Rn
/*220984*/          OPC_Scope, 39, /*->221025*/ // 2 children in Scope
/*220986*/            OPC_CheckChild1Type, MVT::v4i16,
/*220988*/            OPC_MoveChild2,
/*220989*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*220992*/            OPC_RecordChild0, // #2 = $Rm
/*220993*/            OPC_CheckChild0Type, MVT::v8i16,
/*220995*/            OPC_RecordChild1, // #3 = $idx
/*220996*/            OPC_MoveChild1,
/*220997*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*221000*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*221002*/            OPC_CheckType, MVT::i64,
/*221004*/            OPC_MoveParent,
/*221005*/            OPC_CheckType, MVT::v4i16,
/*221007*/            OPC_MoveParent,
/*221008*/            OPC_MoveParent,
/*221009*/            OPC_CheckType, MVT::v4i32,
/*221011*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221013*/            OPC_EmitConvertToTarget, 3,
/*221015*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv4i16_indexed), 0,
                          MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 18
                      // Dst: (SMLSLv4i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*221025*/          /*Scope*/ 39, /*->221065*/
/*221026*/            OPC_CheckChild1Type, MVT::v2i32,
/*221028*/            OPC_MoveChild2,
/*221029*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*221032*/            OPC_RecordChild0, // #2 = $Rm
/*221033*/            OPC_CheckChild0Type, MVT::v4i32,
/*221035*/            OPC_RecordChild1, // #3 = $idx
/*221036*/            OPC_MoveChild1,
/*221037*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*221040*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*221042*/            OPC_CheckType, MVT::i64,
/*221044*/            OPC_MoveParent,
/*221045*/            OPC_CheckType, MVT::v2i32,
/*221047*/            OPC_MoveParent,
/*221048*/            OPC_MoveParent,
/*221049*/            OPC_CheckType, MVT::v2i64,
/*221051*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221053*/            OPC_EmitConvertToTarget, 3,
/*221055*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv2i32_indexed), 0,
                          MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 18
                      // Dst: (SMLSLv2i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*221065*/          0, /*End of Scope*/
/*221066*/        /*Scope*/ 86, /*->221153*/
/*221067*/          OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*221070*/          OPC_RecordChild1, // #1 = $Rn
/*221071*/          OPC_Scope, 39, /*->221112*/ // 2 children in Scope
/*221073*/            OPC_CheckChild1Type, MVT::v4i16,
/*221075*/            OPC_MoveChild2,
/*221076*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE16),
/*221079*/            OPC_RecordChild0, // #2 = $Rm
/*221080*/            OPC_CheckChild0Type, MVT::v8i16,
/*221082*/            OPC_RecordChild1, // #3 = $idx
/*221083*/            OPC_MoveChild1,
/*221084*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*221087*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*221089*/            OPC_CheckType, MVT::i64,
/*221091*/            OPC_MoveParent,
/*221092*/            OPC_CheckType, MVT::v4i16,
/*221094*/            OPC_MoveParent,
/*221095*/            OPC_MoveParent,
/*221096*/            OPC_CheckType, MVT::v4i32,
/*221098*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221100*/            OPC_EmitConvertToTarget, 3,
/*221102*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv4i16_indexed), 0,
                          MVT::v4i32, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx))) - Complexity = 18
                      // Dst: (UMLSLv4i16_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*221112*/          /*Scope*/ 39, /*->221152*/
/*221113*/            OPC_CheckChild1Type, MVT::v2i32,
/*221115*/            OPC_MoveChild2,
/*221116*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*221119*/            OPC_RecordChild0, // #2 = $Rm
/*221120*/            OPC_CheckChild0Type, MVT::v4i32,
/*221122*/            OPC_RecordChild1, // #3 = $idx
/*221123*/            OPC_MoveChild1,
/*221124*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*221127*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*221129*/            OPC_CheckType, MVT::i64,
/*221131*/            OPC_MoveParent,
/*221132*/            OPC_CheckType, MVT::v2i32,
/*221134*/            OPC_MoveParent,
/*221135*/            OPC_MoveParent,
/*221136*/            OPC_CheckType, MVT::v2i64,
/*221138*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221140*/            OPC_EmitConvertToTarget, 3,
/*221142*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv2i32_indexed), 0,
                          MVT::v2i64, 4/*#Ops*/, 0, 1, 2, 4, 
                      // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx))) - Complexity = 18
                      // Dst: (UMLSLv2i32_indexed:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*221152*/          0, /*End of Scope*/
/*221153*/        0, /*End of Scope*/
/*221154*/      /*SwitchOpcode*/ 77, TARGET_VAL(AArch64ISD::DUP),// ->221234
/*221157*/        OPC_RecordChild0, // #1 = $SVEAddSubImm8Pat:imm:shift
/*221158*/        OPC_Scope, 53, /*->221213*/ // 2 children in Scope
/*221160*/          OPC_CheckChild0Type, MVT::i32,
/*221162*/          OPC_MoveParent,
/*221163*/          OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->221180
/*221166*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*221168*/            OPC_CheckComplexPat, /*CP*/8, /*#*/1, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*221171*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZI_B), 0,
                          MVT::nxv16i8, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (sub:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                      // Dst: (SUB_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*221180*/          /*SwitchType*/ 14, MVT::nxv8i16,// ->221196
/*221182*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*221184*/            OPC_CheckComplexPat, /*CP*/9, /*#*/1, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*221187*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZI_H), 0,
                          MVT::nxv8i16, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (sub:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                      // Dst: (SUB_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*221196*/          /*SwitchType*/ 14, MVT::nxv4i32,// ->221212
/*221198*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*221200*/            OPC_CheckComplexPat, /*CP*/10, /*#*/1, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*221203*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZI_S), 0,
                          MVT::nxv4i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (sub:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                      // Dst: (SUB_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*221212*/          0, // EndSwitchType
/*221213*/        /*Scope*/ 19, /*->221233*/
/*221214*/          OPC_CheckChild0Type, MVT::i64,
/*221216*/          OPC_MoveParent,
/*221217*/          OPC_CheckType, MVT::nxv2i64,
/*221219*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*221221*/          OPC_CheckComplexPat, /*CP*/11, /*#*/1, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*221224*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZI_D), 0,
                        MVT::nxv2i64, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (sub:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (SUB_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*221233*/        0, /*End of Scope*/
/*221234*/      0, // EndSwitchOpcode
/*221235*/    /*Scope*/ 83, /*->221319*/
/*221236*/      OPC_MoveChild0,
/*221237*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*221240*/      OPC_RecordChild0, // #0 = $SVEAddSubImm8Pat:imm:shift
/*221241*/      OPC_Scope, 54, /*->221297*/ // 2 children in Scope
/*221243*/        OPC_CheckChild0Type, MVT::i32,
/*221245*/        OPC_MoveParent,
/*221246*/        OPC_RecordChild1, // #1 = $Op1
/*221247*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->221264
/*221250*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*221252*/          OPC_CheckComplexPat, /*CP*/8, /*#*/0, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*221255*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBR_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (sub:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 15
                    // Dst: (SUBR_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*221264*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->221280
/*221266*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*221268*/          OPC_CheckComplexPat, /*CP*/9, /*#*/0, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*221271*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBR_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (sub:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 15
                    // Dst: (SUBR_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*221280*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->221296
/*221282*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*221284*/          OPC_CheckComplexPat, /*CP*/10, /*#*/0, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*221287*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBR_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (sub:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 15
                    // Dst: (SUBR_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*221296*/        0, // EndSwitchType
/*221297*/      /*Scope*/ 20, /*->221318*/
/*221298*/        OPC_CheckChild0Type, MVT::i64,
/*221300*/        OPC_MoveParent,
/*221301*/        OPC_RecordChild1, // #1 = $Op1
/*221302*/        OPC_CheckType, MVT::nxv2i64,
/*221304*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*221306*/        OPC_CheckComplexPat, /*CP*/11, /*#*/0, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*221309*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBR_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (sub:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 15
                  // Dst: (SUBR_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*221318*/      0, /*End of Scope*/
/*221319*/    /*Scope*/ 28|128,2/*284*/, /*->221605*/
/*221321*/      OPC_RecordChild0, // #0 = $Rn
/*221322*/      OPC_MoveChild1,
/*221323*/      OPC_SwitchOpcode /*3 cases */, 67, TARGET_VAL(ISD::SIGN_EXTEND),// ->221394
/*221327*/        OPC_MoveChild0,
/*221328*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*221331*/        OPC_RecordChild0, // #1 = $Rm
/*221332*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->221353
/*221335*/          OPC_CheckChild1Integer, 8, 
/*221337*/          OPC_CheckChild1Type, MVT::i64,
/*221339*/          OPC_MoveParent,
/*221340*/          OPC_MoveParent,
/*221341*/          OPC_CheckType, MVT::v8i16,
/*221343*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221345*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBWv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 14
                    // Dst: (SSUBWv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*221353*/        /*SwitchType*/ 18, MVT::v4i16,// ->221373
/*221355*/          OPC_CheckChild1Integer, 4, 
/*221357*/          OPC_CheckChild1Type, MVT::i64,
/*221359*/          OPC_MoveParent,
/*221360*/          OPC_MoveParent,
/*221361*/          OPC_CheckType, MVT::v4i32,
/*221363*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221365*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBWv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 14
                    // Dst: (SSUBWv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*221373*/        /*SwitchType*/ 18, MVT::v2i32,// ->221393
/*221375*/          OPC_CheckChild1Integer, 2, 
/*221377*/          OPC_CheckChild1Type, MVT::i64,
/*221379*/          OPC_MoveParent,
/*221380*/          OPC_MoveParent,
/*221381*/          OPC_CheckType, MVT::v2i64,
/*221383*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221385*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBWv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 14
                    // Dst: (SSUBWv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*221393*/        0, // EndSwitchType
/*221394*/      /*SwitchOpcode*/ 67, TARGET_VAL(ISD::ZERO_EXTEND),// ->221464
/*221397*/        OPC_MoveChild0,
/*221398*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*221401*/        OPC_RecordChild0, // #1 = $Rm
/*221402*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->221423
/*221405*/          OPC_CheckChild1Integer, 8, 
/*221407*/          OPC_CheckChild1Type, MVT::i64,
/*221409*/          OPC_MoveParent,
/*221410*/          OPC_MoveParent,
/*221411*/          OPC_CheckType, MVT::v8i16,
/*221413*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221415*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBWv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 14
                    // Dst: (USUBWv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*221423*/        /*SwitchType*/ 18, MVT::v4i16,// ->221443
/*221425*/          OPC_CheckChild1Integer, 4, 
/*221427*/          OPC_CheckChild1Type, MVT::i64,
/*221429*/          OPC_MoveParent,
/*221430*/          OPC_MoveParent,
/*221431*/          OPC_CheckType, MVT::v4i32,
/*221433*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221435*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBWv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 14
                    // Dst: (USUBWv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*221443*/        /*SwitchType*/ 18, MVT::v2i32,// ->221463
/*221445*/          OPC_CheckChild1Integer, 2, 
/*221447*/          OPC_CheckChild1Type, MVT::i64,
/*221449*/          OPC_MoveParent,
/*221450*/          OPC_MoveParent,
/*221451*/          OPC_CheckType, MVT::v2i64,
/*221453*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221455*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBWv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 14
                    // Dst: (USUBWv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*221463*/        0, // EndSwitchType
/*221464*/      /*SwitchOpcode*/ 8|128,1/*136*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->221604
/*221468*/        OPC_Scope, 66, /*->221536*/ // 2 children in Scope
/*221470*/          OPC_CheckChild0Integer, 3|128,3/*387*/, 
/*221473*/          OPC_RecordChild1, // #1 = $Rn
/*221474*/          OPC_Scope, 19, /*->221495*/ // 3 children in Scope
/*221476*/            OPC_CheckChild1Type, MVT::v8i8,
/*221478*/            OPC_RecordChild2, // #2 = $Rm
/*221479*/            OPC_CheckChild2Type, MVT::v8i8,
/*221481*/            OPC_MoveParent,
/*221482*/            OPC_CheckType, MVT::v8i16,
/*221484*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221486*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv8i8_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 387:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 11
                      // Dst: (SMLSLv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*221495*/          /*Scope*/ 19, /*->221515*/
/*221496*/            OPC_CheckChild1Type, MVT::v4i16,
/*221498*/            OPC_RecordChild2, // #2 = $Rm
/*221499*/            OPC_CheckChild2Type, MVT::v4i16,
/*221501*/            OPC_MoveParent,
/*221502*/            OPC_CheckType, MVT::v4i32,
/*221504*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221506*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv4i16_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 387:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 11
                      // Dst: (SMLSLv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*221515*/          /*Scope*/ 19, /*->221535*/
/*221516*/            OPC_CheckChild1Type, MVT::v2i32,
/*221518*/            OPC_RecordChild2, // #2 = $Rm
/*221519*/            OPC_CheckChild2Type, MVT::v2i32,
/*221521*/            OPC_MoveParent,
/*221522*/            OPC_CheckType, MVT::v2i64,
/*221524*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221526*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv2i32_v2i64), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 387:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 11
                      // Dst: (SMLSLv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*221535*/          0, /*End of Scope*/
/*221536*/        /*Scope*/ 66, /*->221603*/
/*221537*/          OPC_CheckChild0Integer, 57|128,3/*441*/, 
/*221540*/          OPC_RecordChild1, // #1 = $Rn
/*221541*/          OPC_Scope, 19, /*->221562*/ // 3 children in Scope
/*221543*/            OPC_CheckChild1Type, MVT::v8i8,
/*221545*/            OPC_RecordChild2, // #2 = $Rm
/*221546*/            OPC_CheckChild2Type, MVT::v8i8,
/*221548*/            OPC_MoveParent,
/*221549*/            OPC_CheckType, MVT::v8i16,
/*221551*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221553*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv8i8_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (intrinsic_wo_chain:{ *:[v8i16] } 441:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 11
                      // Dst: (UMLSLv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*221562*/          /*Scope*/ 19, /*->221582*/
/*221563*/            OPC_CheckChild1Type, MVT::v4i16,
/*221565*/            OPC_RecordChild2, // #2 = $Rm
/*221566*/            OPC_CheckChild2Type, MVT::v4i16,
/*221568*/            OPC_MoveParent,
/*221569*/            OPC_CheckType, MVT::v4i32,
/*221571*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221573*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv4i16_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (intrinsic_wo_chain:{ *:[v4i32] } 441:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 11
                      // Dst: (UMLSLv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*221582*/          /*Scope*/ 19, /*->221602*/
/*221583*/            OPC_CheckChild1Type, MVT::v2i32,
/*221585*/            OPC_RecordChild2, // #2 = $Rm
/*221586*/            OPC_CheckChild2Type, MVT::v2i32,
/*221588*/            OPC_MoveParent,
/*221589*/            OPC_CheckType, MVT::v2i64,
/*221591*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221593*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv2i32_v2i64), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (intrinsic_wo_chain:{ *:[v2i64] } 441:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 11
                      // Dst: (UMLSLv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*221602*/          0, /*End of Scope*/
/*221603*/        0, /*End of Scope*/
/*221604*/      0, // EndSwitchOpcode
/*221605*/    /*Scope*/ 127|128,1/*255*/, /*->221862*/
/*221607*/      OPC_MoveChild0,
/*221608*/      OPC_Scope, 78, /*->221688*/ // 3 children in Scope
/*221610*/        OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*221613*/        OPC_RecordChild0, // #0 = $Rn
/*221614*/        OPC_Scope, 23, /*->221639*/ // 3 children in Scope
/*221616*/          OPC_CheckChild0Type, MVT::v8i8,
/*221618*/          OPC_MoveParent,
/*221619*/          OPC_MoveChild1,
/*221620*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*221623*/          OPC_RecordChild0, // #1 = $Rm
/*221624*/          OPC_CheckChild0Type, MVT::v8i8,
/*221626*/          OPC_MoveParent,
/*221627*/          OPC_CheckType, MVT::v8i16,
/*221629*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221631*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBLv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v8i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm)) - Complexity = 9
                    // Dst: (SSUBLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*221639*/        /*Scope*/ 23, /*->221663*/
/*221640*/          OPC_CheckChild0Type, MVT::v4i16,
/*221642*/          OPC_MoveParent,
/*221643*/          OPC_MoveChild1,
/*221644*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*221647*/          OPC_RecordChild0, // #1 = $Rm
/*221648*/          OPC_CheckChild0Type, MVT::v4i16,
/*221650*/          OPC_MoveParent,
/*221651*/          OPC_CheckType, MVT::v4i32,
/*221653*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221655*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBLv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v4i32] } (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm)) - Complexity = 9
                    // Dst: (SSUBLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*221663*/        /*Scope*/ 23, /*->221687*/
/*221664*/          OPC_CheckChild0Type, MVT::v2i32,
/*221666*/          OPC_MoveParent,
/*221667*/          OPC_MoveChild1,
/*221668*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*221671*/          OPC_RecordChild0, // #1 = $Rm
/*221672*/          OPC_CheckChild0Type, MVT::v2i32,
/*221674*/          OPC_MoveParent,
/*221675*/          OPC_CheckType, MVT::v2i64,
/*221677*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221679*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBLv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v2i64] } (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm)) - Complexity = 9
                    // Dst: (SSUBLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*221687*/        0, /*End of Scope*/
/*221688*/      /*Scope*/ 78, /*->221767*/
/*221689*/        OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*221692*/        OPC_RecordChild0, // #0 = $Rn
/*221693*/        OPC_Scope, 23, /*->221718*/ // 3 children in Scope
/*221695*/          OPC_CheckChild0Type, MVT::v8i8,
/*221697*/          OPC_MoveParent,
/*221698*/          OPC_MoveChild1,
/*221699*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*221702*/          OPC_RecordChild0, // #1 = $Rm
/*221703*/          OPC_CheckChild0Type, MVT::v8i8,
/*221705*/          OPC_MoveParent,
/*221706*/          OPC_CheckType, MVT::v8i16,
/*221708*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221710*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBLv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm)) - Complexity = 9
                    // Dst: (USUBLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*221718*/        /*Scope*/ 23, /*->221742*/
/*221719*/          OPC_CheckChild0Type, MVT::v4i16,
/*221721*/          OPC_MoveParent,
/*221722*/          OPC_MoveChild1,
/*221723*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*221726*/          OPC_RecordChild0, // #1 = $Rm
/*221727*/          OPC_CheckChild0Type, MVT::v4i16,
/*221729*/          OPC_MoveParent,
/*221730*/          OPC_CheckType, MVT::v4i32,
/*221732*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221734*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBLv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v4i32] } (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm)) - Complexity = 9
                    // Dst: (USUBLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*221742*/        /*Scope*/ 23, /*->221766*/
/*221743*/          OPC_CheckChild0Type, MVT::v2i32,
/*221745*/          OPC_MoveParent,
/*221746*/          OPC_MoveChild1,
/*221747*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*221750*/          OPC_RecordChild0, // #1 = $Rm
/*221751*/          OPC_CheckChild0Type, MVT::v2i32,
/*221753*/          OPC_MoveParent,
/*221754*/          OPC_CheckType, MVT::v2i64,
/*221756*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221758*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBLv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v2i64] } (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm)) - Complexity = 9
                    // Dst: (USUBLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*221766*/        0, /*End of Scope*/
/*221767*/      /*Scope*/ 93, /*->221861*/
/*221768*/        OPC_CheckImmAllZerosV,
/*221769*/        OPC_MoveParent,
/*221770*/        OPC_RecordChild1, // #0 = $Rn
/*221771*/        OPC_SwitchType /*8 cases */, 9, MVT::v8i8,// ->221783
/*221774*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221776*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (sub:{ *:[v8i8] } immAllZerosV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 7
                    // Dst: (NEGv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*221783*/        /*SwitchType*/ 9, MVT::v16i8,// ->221794
/*221785*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221787*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv16i8), 0,
                        MVT::v16i8, 1/*#Ops*/, 0, 
                    // Src: (sub:{ *:[v16i8] } immAllZerosV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 7
                    // Dst: (NEGv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*221794*/        /*SwitchType*/ 9, MVT::v4i16,// ->221805
/*221796*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221798*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv4i16), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (sub:{ *:[v4i16] } immAllZerosV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 7
                    // Dst: (NEGv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*221805*/        /*SwitchType*/ 9, MVT::v8i16,// ->221816
/*221807*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221809*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv8i16), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (sub:{ *:[v8i16] } immAllZerosV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 7
                    // Dst: (NEGv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*221816*/        /*SwitchType*/ 9, MVT::v2i32,// ->221827
/*221818*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221820*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv2i32), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (sub:{ *:[v2i32] } immAllZerosV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 7
                    // Dst: (NEGv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*221827*/        /*SwitchType*/ 9, MVT::v4i32,// ->221838
/*221829*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221831*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv4i32), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (sub:{ *:[v4i32] } immAllZerosV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 7
                    // Dst: (NEGv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*221838*/        /*SwitchType*/ 9, MVT::v2i64,// ->221849
/*221840*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221842*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv2i64), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (sub:{ *:[v2i64] } immAllZerosV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$Rn) - Complexity = 7
                    // Dst: (NEGv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*221849*/        /*SwitchType*/ 9, MVT::v1i64,// ->221860
/*221851*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221853*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv1i64), 0,
                        MVT::v1i64, 1/*#Ops*/, 0, 
                    // Src: (sub:{ *:[v1i64] } immAllZerosV:{ *:[v1i64] }, FPR64:{ *:[v1i64] }:$Rn) - Complexity = 7
                    // Dst: (NEGv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*221860*/        0, // EndSwitchType
/*221861*/      0, /*End of Scope*/
/*221862*/    /*Scope*/ 117|128,2/*373*/, /*->222237*/
/*221864*/      OPC_RecordChild0, // #0 = $Rn
/*221865*/      OPC_Scope, 91|128,1/*219*/, /*->222087*/ // 2 children in Scope
/*221868*/        OPC_MoveChild1,
/*221869*/        OPC_SwitchOpcode /*4 cases */, 51, TARGET_VAL(ISD::SIGN_EXTEND),// ->221924
/*221873*/          OPC_RecordChild0, // #1 = $Rm
/*221874*/          OPC_Scope, 15, /*->221891*/ // 3 children in Scope
/*221876*/            OPC_CheckChild0Type, MVT::v8i8,
/*221878*/            OPC_MoveParent,
/*221879*/            OPC_CheckType, MVT::v8i16,
/*221881*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221883*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBWv8i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 0, 1, 
                      // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm)) - Complexity = 6
                      // Dst: (SSUBWv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*221891*/          /*Scope*/ 15, /*->221907*/
/*221892*/            OPC_CheckChild0Type, MVT::v4i16,
/*221894*/            OPC_MoveParent,
/*221895*/            OPC_CheckType, MVT::v4i32,
/*221897*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221899*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBWv4i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm)) - Complexity = 6
                      // Dst: (SSUBWv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*221907*/          /*Scope*/ 15, /*->221923*/
/*221908*/            OPC_CheckChild0Type, MVT::v2i32,
/*221910*/            OPC_MoveParent,
/*221911*/            OPC_CheckType, MVT::v2i64,
/*221913*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221915*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSUBWv2i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm)) - Complexity = 6
                      // Dst: (SSUBWv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*221923*/          0, /*End of Scope*/
/*221924*/        /*SwitchOpcode*/ 51, TARGET_VAL(ISD::ZERO_EXTEND),// ->221978
/*221927*/          OPC_RecordChild0, // #1 = $Rm
/*221928*/          OPC_Scope, 15, /*->221945*/ // 3 children in Scope
/*221930*/            OPC_CheckChild0Type, MVT::v8i8,
/*221932*/            OPC_MoveParent,
/*221933*/            OPC_CheckType, MVT::v8i16,
/*221935*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221937*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBWv8i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 0, 1, 
                      // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rm)) - Complexity = 6
                      // Dst: (USUBWv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*221945*/          /*Scope*/ 15, /*->221961*/
/*221946*/            OPC_CheckChild0Type, MVT::v4i16,
/*221948*/            OPC_MoveParent,
/*221949*/            OPC_CheckType, MVT::v4i32,
/*221951*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221953*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBWv4i16_v4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 1, 
                      // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rm)) - Complexity = 6
                      // Dst: (USUBWv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*221961*/          /*Scope*/ 15, /*->221977*/
/*221962*/            OPC_CheckChild0Type, MVT::v2i32,
/*221964*/            OPC_MoveParent,
/*221965*/            OPC_CheckType, MVT::v2i64,
/*221967*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*221969*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::USUBWv2i32_v2i64), 0,
                          MVT::v2i64, 2/*#Ops*/, 0, 1, 
                      // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rm)) - Complexity = 6
                      // Dst: (USUBWv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*221977*/          0, /*End of Scope*/
/*221978*/        /*SwitchOpcode*/ 51, TARGET_VAL(AArch64ISD::SMULL),// ->222032
/*221981*/          OPC_RecordChild0, // #1 = $Rn
/*221982*/          OPC_Scope, 15, /*->221999*/ // 3 children in Scope
/*221984*/            OPC_CheckChild0Type, MVT::v8i8,
/*221986*/            OPC_RecordChild1, // #2 = $Rm
/*221987*/            OPC_MoveParent,
/*221988*/            OPC_CheckType, MVT::v8i16,
/*221990*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv8i8_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (AArch64smull:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 6
                      // Dst: (SMLSLv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*221999*/          /*Scope*/ 15, /*->222015*/
/*222000*/            OPC_CheckChild0Type, MVT::v4i16,
/*222002*/            OPC_RecordChild1, // #2 = $Rm
/*222003*/            OPC_MoveParent,
/*222004*/            OPC_CheckType, MVT::v4i32,
/*222006*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv4i16_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (AArch64smull:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 6
                      // Dst: (SMLSLv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*222015*/          /*Scope*/ 15, /*->222031*/
/*222016*/            OPC_CheckChild0Type, MVT::v2i32,
/*222018*/            OPC_RecordChild1, // #2 = $Rm
/*222019*/            OPC_MoveParent,
/*222020*/            OPC_CheckType, MVT::v2i64,
/*222022*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMLSLv2i32_v2i64), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (AArch64smull:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 6
                      // Dst: (SMLSLv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*222031*/          0, /*End of Scope*/
/*222032*/        /*SwitchOpcode*/ 51, TARGET_VAL(AArch64ISD::UMULL),// ->222086
/*222035*/          OPC_RecordChild0, // #1 = $Rn
/*222036*/          OPC_Scope, 15, /*->222053*/ // 3 children in Scope
/*222038*/            OPC_CheckChild0Type, MVT::v8i8,
/*222040*/            OPC_RecordChild1, // #2 = $Rm
/*222041*/            OPC_MoveParent,
/*222042*/            OPC_CheckType, MVT::v8i16,
/*222044*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv8i8_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (AArch64umull:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 6
                      // Dst: (UMLSLv8i8_v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*222053*/          /*Scope*/ 15, /*->222069*/
/*222054*/            OPC_CheckChild0Type, MVT::v4i16,
/*222056*/            OPC_RecordChild1, // #2 = $Rm
/*222057*/            OPC_MoveParent,
/*222058*/            OPC_CheckType, MVT::v4i32,
/*222060*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv4i16_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (AArch64umull:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 6
                      // Dst: (UMLSLv4i16_v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*222069*/          /*Scope*/ 15, /*->222085*/
/*222070*/            OPC_CheckChild0Type, MVT::v2i32,
/*222072*/            OPC_RecordChild1, // #2 = $Rm
/*222073*/            OPC_MoveParent,
/*222074*/            OPC_CheckType, MVT::v2i64,
/*222076*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMLSLv2i32_v2i64), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (AArch64umull:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 6
                      // Dst: (UMLSLv2i32_v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*222085*/          0, /*End of Scope*/
/*222086*/        0, // EndSwitchOpcode
/*222087*/      /*Scope*/ 19|128,1/*147*/, /*->222236*/
/*222089*/        OPC_RecordChild1, // #1 = $Rm
/*222090*/        OPC_SwitchType /*12 cases */, 10, MVT::v8i8,// ->222103
/*222093*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*222095*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBv8i8), 0,
                        MVT::v8i8, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                    // Dst: (SUBv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*222103*/        /*SwitchType*/ 10, MVT::v16i8,// ->222115
/*222105*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*222107*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBv16i8), 0,
                        MVT::v16i8, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                    // Dst: (SUBv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*222115*/        /*SwitchType*/ 10, MVT::v4i16,// ->222127
/*222117*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*222119*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBv4i16), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                    // Dst: (SUBv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*222127*/        /*SwitchType*/ 10, MVT::v8i16,// ->222139
/*222129*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*222131*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBv8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                    // Dst: (SUBv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*222139*/        /*SwitchType*/ 10, MVT::v2i32,// ->222151
/*222141*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*222143*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBv2i32), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                    // Dst: (SUBv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*222151*/        /*SwitchType*/ 10, MVT::v4i32,// ->222163
/*222153*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*222155*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBv4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                    // Dst: (SUBv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*222163*/        /*SwitchType*/ 10, MVT::v2i64,// ->222175
/*222165*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*222167*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBv2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                    // Dst: (SUBv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*222175*/        /*SwitchType*/ 10, MVT::v1i64,// ->222187
/*222177*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*222179*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBv1i64), 0,
                        MVT::v1i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 3
                    // Dst: (SUBv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*222187*/        /*SwitchType*/ 10, MVT::nxv16i8,// ->222199
/*222189*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222191*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZZZ_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                    // Dst: (SUB_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*222199*/        /*SwitchType*/ 10, MVT::nxv8i16,// ->222211
/*222201*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222203*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZZZ_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                    // Dst: (SUB_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*222211*/        /*SwitchType*/ 10, MVT::nxv4i32,// ->222223
/*222213*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222215*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZZZ_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                    // Dst: (SUB_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*222223*/        /*SwitchType*/ 10, MVT::nxv2i64,// ->222235
/*222225*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222227*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUB_ZZZ_D), 0,
                        MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (sub:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                    // Dst: (SUB_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*222235*/        0, // EndSwitchType
/*222236*/      0, /*End of Scope*/
/*222237*/    0, /*End of Scope*/
/*222238*/  /*SwitchOpcode*/ 74, TARGET_VAL(AArch64ISD::PREFETCH),// ->222315
/*222241*/    OPC_RecordNode, // #0 = 'AArch64Prefetch' chained node
/*222242*/    OPC_RecordChild1, // #1 = $Rt
/*222243*/    OPC_MoveChild1,
/*222244*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*222247*/    OPC_MoveParent,
/*222248*/    OPC_RecordChild2, // #2 = $ro_Windexed64:Rn:Rm:extend
/*222249*/    OPC_Scope, 16, /*->222267*/ // 4 children in Scope
/*222251*/      OPC_CheckComplexPat, /*CP*/19, /*#*/2, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*222254*/      OPC_EmitMergeInputChains1_0,
/*222255*/      OPC_EmitConvertToTarget, 1,
/*222257*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::PRFMroW), 0|OPFL_Chain,
                    5/*#Ops*/, 7, 3, 4, 5, 6, 
                // Src: (AArch64Prefetch (imm:{ *:[i32] }):$Rt, (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)) - Complexity = 21
                // Dst: (PRFMroW (imm:{ *:[i32] }):$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*222267*/    /*Scope*/ 16, /*->222284*/
/*222268*/      OPC_CheckComplexPat, /*CP*/20, /*#*/2, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*222271*/      OPC_EmitMergeInputChains1_0,
/*222272*/      OPC_EmitConvertToTarget, 1,
/*222274*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::PRFMroX), 0|OPFL_Chain,
                    5/*#Ops*/, 7, 3, 4, 5, 6, 
                // Src: (AArch64Prefetch (imm:{ *:[i32] }):$Rt, (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)) - Complexity = 21
                // Dst: (PRFMroX (imm:{ *:[i32] }):$Rt, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*222284*/    /*Scope*/ 14, /*->222299*/
/*222285*/      OPC_CheckComplexPat, /*CP*/21, /*#*/2, // SelectAddrModeIndexed64:$ #3 #4
/*222288*/      OPC_EmitMergeInputChains1_0,
/*222289*/      OPC_EmitConvertToTarget, 1,
/*222291*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::PRFMui), 0|OPFL_Chain,
                    3/*#Ops*/, 5, 3, 4, 
                // Src: (AArch64Prefetch (imm:{ *:[i32] }):$Rt, (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)) - Complexity = 15
                // Dst: (PRFMui (imm:{ *:[i32] }):$Rt, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*222299*/    /*Scope*/ 14, /*->222314*/
/*222300*/      OPC_CheckComplexPat, /*CP*/29, /*#*/2, // SelectAddrModeUnscaled64:$ #3 #4
/*222303*/      OPC_EmitMergeInputChains1_0,
/*222304*/      OPC_EmitConvertToTarget, 1,
/*222306*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::PRFUMi), 0|OPFL_Chain,
                    3/*#Ops*/, 5, 3, 4, 
                // Src: (AArch64Prefetch (imm:{ *:[i32] }):$Rt, (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)) - Complexity = 15
                // Dst: (PRFUMi (imm:{ *:[i32] }):$Rt, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$offset)
/*222314*/    0, /*End of Scope*/
/*222315*/  /*SwitchOpcode*/ 74|128,7/*970*/, TARGET_VAL(ISD::MUL),// ->223289
/*222319*/    OPC_Scope, 114, /*->222435*/ // 10 children in Scope
/*222321*/      OPC_MoveChild0,
/*222322*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*222325*/      OPC_Scope, 26, /*->222353*/ // 4 children in Scope
/*222327*/        OPC_CheckChild0Integer, 4|128,4/*516*/, 
/*222330*/        OPC_RecordChild1, // #0 = $pattern
/*222331*/        OPC_MoveChild1,
/*222332*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*222335*/        OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*222337*/        OPC_MoveParent,
/*222338*/        OPC_MoveParent,
/*222339*/        OPC_RecordChild1, // #1 = $sve_cnt_mul_imm:imm
/*222340*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222342*/        OPC_CheckComplexPat, /*CP*/47, /*#*/1, // SelectCntImm<1, 16, 1, false>:$ #2
/*222345*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTB_XPiI), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (mul:{ *:[i64] } (intrinsic_wo_chain:{ *:[i64] } 516:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern), (sve_cnt_mul_imm:{ *:[i64] } i32:{ *:[i32] }:$imm)) - Complexity = 21
                  // Dst: (CNTB_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*222353*/      /*Scope*/ 26, /*->222380*/
/*222354*/        OPC_CheckChild0Integer, 6|128,4/*518*/, 
/*222357*/        OPC_RecordChild1, // #0 = $pattern
/*222358*/        OPC_MoveChild1,
/*222359*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*222362*/        OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*222364*/        OPC_MoveParent,
/*222365*/        OPC_MoveParent,
/*222366*/        OPC_RecordChild1, // #1 = $sve_cnt_mul_imm:imm
/*222367*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222369*/        OPC_CheckComplexPat, /*CP*/47, /*#*/1, // SelectCntImm<1, 16, 1, false>:$ #2
/*222372*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTH_XPiI), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (mul:{ *:[i64] } (intrinsic_wo_chain:{ *:[i64] } 518:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern), (sve_cnt_mul_imm:{ *:[i64] } i32:{ *:[i32] }:$imm)) - Complexity = 21
                  // Dst: (CNTH_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*222380*/      /*Scope*/ 26, /*->222407*/
/*222381*/        OPC_CheckChild0Integer, 8|128,4/*520*/, 
/*222384*/        OPC_RecordChild1, // #0 = $pattern
/*222385*/        OPC_MoveChild1,
/*222386*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*222389*/        OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*222391*/        OPC_MoveParent,
/*222392*/        OPC_MoveParent,
/*222393*/        OPC_RecordChild1, // #1 = $sve_cnt_mul_imm:imm
/*222394*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222396*/        OPC_CheckComplexPat, /*CP*/47, /*#*/1, // SelectCntImm<1, 16, 1, false>:$ #2
/*222399*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTW_XPiI), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (mul:{ *:[i64] } (intrinsic_wo_chain:{ *:[i64] } 520:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern), (sve_cnt_mul_imm:{ *:[i64] } i32:{ *:[i32] }:$imm)) - Complexity = 21
                  // Dst: (CNTW_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*222407*/      /*Scope*/ 26, /*->222434*/
/*222408*/        OPC_CheckChild0Integer, 5|128,4/*517*/, 
/*222411*/        OPC_RecordChild1, // #0 = $pattern
/*222412*/        OPC_MoveChild1,
/*222413*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*222416*/        OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*222418*/        OPC_MoveParent,
/*222419*/        OPC_MoveParent,
/*222420*/        OPC_RecordChild1, // #1 = $sve_cnt_mul_imm:imm
/*222421*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222423*/        OPC_CheckComplexPat, /*CP*/47, /*#*/1, // SelectCntImm<1, 16, 1, false>:$ #2
/*222426*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTD_XPiI), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (mul:{ *:[i64] } (intrinsic_wo_chain:{ *:[i64] } 517:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern), (sve_cnt_mul_imm:{ *:[i64] } i32:{ *:[i32] }:$imm)) - Complexity = 21
                  // Dst: (CNTD_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*222434*/      0, /*End of Scope*/
/*222435*/    /*Scope*/ 111, /*->222547*/
/*222436*/      OPC_RecordChild0, // #0 = $sve_cnt_mul_imm:imm
/*222437*/      OPC_MoveChild1,
/*222438*/      OPC_CheckOpcode, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),
/*222441*/      OPC_Scope, 25, /*->222468*/ // 4 children in Scope
/*222443*/        OPC_CheckChild0Integer, 4|128,4/*516*/, 
/*222446*/        OPC_RecordChild1, // #1 = $pattern
/*222447*/        OPC_MoveChild1,
/*222448*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*222451*/        OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*222453*/        OPC_MoveParent,
/*222454*/        OPC_MoveParent,
/*222455*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222457*/        OPC_CheckComplexPat, /*CP*/47, /*#*/0, // SelectCntImm<1, 16, 1, false>:$ #2
/*222460*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTB_XPiI), 0,
                      MVT::i64, 2/*#Ops*/, 1, 2, 
                  // Src: (mul:{ *:[i64] } (sve_cnt_mul_imm:{ *:[i64] } i32:{ *:[i32] }:$imm), (intrinsic_wo_chain:{ *:[i64] } 516:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern)) - Complexity = 21
                  // Dst: (CNTB_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*222468*/      /*Scope*/ 25, /*->222494*/
/*222469*/        OPC_CheckChild0Integer, 6|128,4/*518*/, 
/*222472*/        OPC_RecordChild1, // #1 = $pattern
/*222473*/        OPC_MoveChild1,
/*222474*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*222477*/        OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*222479*/        OPC_MoveParent,
/*222480*/        OPC_MoveParent,
/*222481*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222483*/        OPC_CheckComplexPat, /*CP*/47, /*#*/0, // SelectCntImm<1, 16, 1, false>:$ #2
/*222486*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTH_XPiI), 0,
                      MVT::i64, 2/*#Ops*/, 1, 2, 
                  // Src: (mul:{ *:[i64] } (sve_cnt_mul_imm:{ *:[i64] } i32:{ *:[i32] }:$imm), (intrinsic_wo_chain:{ *:[i64] } 518:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern)) - Complexity = 21
                  // Dst: (CNTH_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*222494*/      /*Scope*/ 25, /*->222520*/
/*222495*/        OPC_CheckChild0Integer, 8|128,4/*520*/, 
/*222498*/        OPC_RecordChild1, // #1 = $pattern
/*222499*/        OPC_MoveChild1,
/*222500*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*222503*/        OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*222505*/        OPC_MoveParent,
/*222506*/        OPC_MoveParent,
/*222507*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222509*/        OPC_CheckComplexPat, /*CP*/47, /*#*/0, // SelectCntImm<1, 16, 1, false>:$ #2
/*222512*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTW_XPiI), 0,
                      MVT::i64, 2/*#Ops*/, 1, 2, 
                  // Src: (mul:{ *:[i64] } (sve_cnt_mul_imm:{ *:[i64] } i32:{ *:[i32] }:$imm), (intrinsic_wo_chain:{ *:[i64] } 520:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern)) - Complexity = 21
                  // Dst: (CNTW_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*222520*/      /*Scope*/ 25, /*->222546*/
/*222521*/        OPC_CheckChild0Integer, 5|128,4/*517*/, 
/*222524*/        OPC_RecordChild1, // #1 = $pattern
/*222525*/        OPC_MoveChild1,
/*222526*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*222529*/        OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*222531*/        OPC_MoveParent,
/*222532*/        OPC_MoveParent,
/*222533*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222535*/        OPC_CheckComplexPat, /*CP*/47, /*#*/0, // SelectCntImm<1, 16, 1, false>:$ #2
/*222538*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTD_XPiI), 0,
                      MVT::i64, 2/*#Ops*/, 1, 2, 
                  // Src: (mul:{ *:[i64] } (sve_cnt_mul_imm:{ *:[i64] } i32:{ *:[i32] }:$imm), (intrinsic_wo_chain:{ *:[i64] } 517:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern)) - Complexity = 21
                  // Dst: (CNTD_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*222546*/      0, /*End of Scope*/
/*222547*/    /*Scope*/ 39, /*->222587*/
/*222548*/      OPC_MoveChild0,
/*222549*/      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
/*222552*/      OPC_CheckChild0Integer, 0, 
/*222554*/      OPC_RecordChild1, // #0 = $Rn
/*222555*/      OPC_MoveParent,
/*222556*/      OPC_RecordChild1, // #1 = $Rm
/*222557*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->222572
/*222560*/        OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*222563*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSUBWrrr), 0,
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (mul:{ *:[i32] } (sub:{ *:[i32] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rn), GPR32:{ *:[i32] }:$Rm) - Complexity = 16
                  // Dst: (MSUBWrrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, WZR:{ *:[i32] })
/*222572*/      /*SwitchType*/ 12, MVT::i64,// ->222586
/*222574*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*222577*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSUBXrrr), 0,
                      MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (mul:{ *:[i64] } (sub:{ *:[i64] } 0:{ *:[i64] }, GPR64:{ *:[i64] }:$Rn), GPR64:{ *:[i64] }:$Rm) - Complexity = 16
                  // Dst: (MSUBXrrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, XZR:{ *:[i64] })
/*222586*/      0, // EndSwitchType
/*222587*/    /*Scope*/ 39, /*->222627*/
/*222588*/      OPC_RecordChild0, // #0 = $Rm
/*222589*/      OPC_MoveChild1,
/*222590*/      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
/*222593*/      OPC_CheckChild0Integer, 0, 
/*222595*/      OPC_RecordChild1, // #1 = $Rn
/*222596*/      OPC_MoveParent,
/*222597*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->222612
/*222600*/        OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*222603*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSUBWrrr), 0,
                      MVT::i32, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (mul:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, (sub:{ *:[i32] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rn)) - Complexity = 16
                  // Dst: (MSUBWrrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, WZR:{ *:[i32] })
/*222612*/      /*SwitchType*/ 12, MVT::i64,// ->222626
/*222614*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*222617*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MSUBXrrr), 0,
                      MVT::i64, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (mul:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, (sub:{ *:[i64] } 0:{ *:[i64] }, GPR64:{ *:[i64] }:$Rn)) - Complexity = 16
                  // Dst: (MSUBXrrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, XZR:{ *:[i64] })
/*222626*/      0, // EndSwitchType
/*222627*/    /*Scope*/ 53|128,1/*181*/, /*->222810*/
/*222629*/      OPC_MoveChild0,
/*222630*/      OPC_SwitchOpcode /*3 cases */, 60, TARGET_VAL(ISD::SIGN_EXTEND),// ->222694
/*222634*/        OPC_RecordChild0, // #0 = $Rn
/*222635*/        OPC_MoveParent,
/*222636*/        OPC_Scope, 34, /*->222672*/ // 2 children in Scope
/*222638*/          OPC_RecordChild1, // #1 = $C
/*222639*/          OPC_MoveChild1,
/*222640*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*222643*/          OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*222645*/          OPC_MoveParent,
/*222646*/          OPC_CheckType, MVT::i64,
/*222648*/          OPC_EmitConvertToTarget, 1,
/*222650*/          OPC_EmitNodeXForm, 0, 2, // trunc_imm
/*222653*/          OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                        MVT::i32, 1/*#Ops*/, 3,  // Results = #4
/*222660*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*222663*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 4, 5, 
                    // Src: (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C) - Complexity = 15
                    // Dst: (SMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), XZR:{ *:[i64] })
/*222672*/        /*Scope*/ 20, /*->222693*/
/*222673*/          OPC_MoveChild1,
/*222674*/          OPC_CheckOpcode, TARGET_VAL(ISD::SIGN_EXTEND),
/*222677*/          OPC_RecordChild0, // #1 = $Rm
/*222678*/          OPC_MoveParent,
/*222679*/          OPC_CheckType, MVT::i64,
/*222681*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*222684*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (mul:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 14
                    // Dst: (SMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, XZR:{ *:[i64] })
/*222693*/        0, /*End of Scope*/
/*222694*/      /*SwitchOpcode*/ 60, TARGET_VAL(ISD::ZERO_EXTEND),// ->222757
/*222697*/        OPC_RecordChild0, // #0 = $Rn
/*222698*/        OPC_MoveParent,
/*222699*/        OPC_Scope, 34, /*->222735*/ // 2 children in Scope
/*222701*/          OPC_RecordChild1, // #1 = $C
/*222702*/          OPC_MoveChild1,
/*222703*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*222706*/          OPC_CheckPredicate, 9, // Predicate_i64imm_32bit
/*222708*/          OPC_MoveParent,
/*222709*/          OPC_CheckType, MVT::i64,
/*222711*/          OPC_EmitConvertToTarget, 1,
/*222713*/          OPC_EmitNodeXForm, 0, 2, // trunc_imm
/*222716*/          OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                        MVT::i32, 1/*#Ops*/, 3,  // Results = #4
/*222723*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*222726*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMADDLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 4, 5, 
                    // Src: (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_i64imm_32bit>>:$C) - Complexity = 15
                    // Dst: (UMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), XZR:{ *:[i64] })
/*222735*/        /*Scope*/ 20, /*->222756*/
/*222736*/          OPC_MoveChild1,
/*222737*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*222740*/          OPC_RecordChild0, // #1 = $Rm
/*222741*/          OPC_MoveParent,
/*222742*/          OPC_CheckType, MVT::i64,
/*222744*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*222747*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMADDLrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (mul:{ *:[i64] } (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 14
                    // Dst: (UMADDLrrr:{ *:[i64] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, XZR:{ *:[i64] })
/*222756*/        0, /*End of Scope*/
/*222757*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->222809
/*222760*/        OPC_RecordChild0, // #0 = $Rn
/*222761*/        OPC_MoveChild1,
/*222762*/        OPC_CheckValueType, MVT::i32,
/*222764*/        OPC_MoveParent,
/*222765*/        OPC_MoveParent,
/*222766*/        OPC_RecordChild1, // #1 = $C
/*222767*/        OPC_MoveChild1,
/*222768*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*222771*/        OPC_CheckPredicate, 8, // Predicate_s64imm_32bit
/*222773*/        OPC_MoveParent,
/*222774*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*222777*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 0, 2,  // Results = #3
/*222785*/        OPC_EmitConvertToTarget, 1,
/*222787*/        OPC_EmitNodeXForm, 0, 4, // trunc_imm
/*222790*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 5,  // Results = #6
/*222797*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*222800*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMADDLrrr), 0,
                      MVT::i64, 3/*#Ops*/, 3, 6, 7, 
                  // Src: (mul:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i32:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_s64imm_32bit>>:$C) - Complexity = 15
                  // Dst: (SMADDLrrr:{ *:[i64] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, sub_32:{ *:[i32] }), (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$C)), XZR:{ *:[i64] })
/*222809*/      0, // EndSwitchOpcode
/*222810*/    /*Scope*/ 113, /*->222924*/
/*222811*/      OPC_RecordChild0, // #0 = $Rn
/*222812*/      OPC_Scope, 31, /*->222845*/ // 2 children in Scope
/*222814*/        OPC_RecordChild1, // #1 = $Rm
/*222815*/        OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->222830
/*222818*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*222821*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MADDWrrr), 0,
                        MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (mul:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 8
                    // Dst: (MADDWrrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, WZR:{ *:[i32] })
/*222830*/        /*SwitchType*/ 12, MVT::i64,// ->222844
/*222832*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*222835*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MADDXrrr), 0,
                        MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (mul:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 8
                    // Dst: (MADDXrrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, XZR:{ *:[i64] })
/*222844*/        0, // EndSwitchType
/*222845*/      /*Scope*/ 77, /*->222923*/
/*222846*/        OPC_MoveChild1,
/*222847*/        OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*222850*/        OPC_RecordChild0, // #1 = $SVEArithSImmPat:imm
/*222851*/        OPC_Scope, 50, /*->222903*/ // 2 children in Scope
/*222853*/          OPC_CheckChild0Type, MVT::i32,
/*222855*/          OPC_MoveParent,
/*222856*/          OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->222872
/*222859*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222861*/            OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*222864*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZI_B), 0,
                          MVT::nxv16i8, 2/*#Ops*/, 0, 2, 
                      // Src: (mul:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                      // Dst: (MUL_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*222872*/          /*SwitchType*/ 13, MVT::nxv8i16,// ->222887
/*222874*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222876*/            OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*222879*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZI_H), 0,
                          MVT::nxv8i16, 2/*#Ops*/, 0, 2, 
                      // Src: (mul:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                      // Dst: (MUL_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*222887*/          /*SwitchType*/ 13, MVT::nxv4i32,// ->222902
/*222889*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222891*/            OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*222894*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZI_S), 0,
                          MVT::nxv4i32, 2/*#Ops*/, 0, 2, 
                      // Src: (mul:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                      // Dst: (MUL_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*222902*/          0, // EndSwitchType
/*222903*/        /*Scope*/ 18, /*->222922*/
/*222904*/          OPC_CheckChild0Type, MVT::i64,
/*222906*/          OPC_MoveParent,
/*222907*/          OPC_CheckType, MVT::nxv2i64,
/*222909*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222911*/          OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*222914*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZI_D), 0,
                        MVT::nxv2i64, 2/*#Ops*/, 0, 2, 
                    // Src: (mul:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEArithSImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (MUL_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*222922*/        0, /*End of Scope*/
/*222923*/      0, /*End of Scope*/
/*222924*/    /*Scope*/ 79, /*->223004*/
/*222925*/      OPC_MoveChild0,
/*222926*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*222929*/      OPC_RecordChild0, // #0 = $SVEArithSImmPat:imm
/*222930*/      OPC_Scope, 51, /*->222983*/ // 2 children in Scope
/*222932*/        OPC_CheckChild0Type, MVT::i32,
/*222934*/        OPC_MoveParent,
/*222935*/        OPC_RecordChild1, // #1 = $Op1
/*222936*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->222952
/*222939*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222941*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*222944*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 1, 2, 
                    // Src: (mul:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 12
                    // Dst: (MUL_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*222952*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->222967
/*222954*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222956*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*222959*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 1, 2, 
                    // Src: (mul:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 12
                    // Dst: (MUL_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*222967*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->222982
/*222969*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222971*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*222974*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 1, 2, 
                    // Src: (mul:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 12
                    // Dst: (MUL_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*222982*/        0, // EndSwitchType
/*222983*/      /*Scope*/ 19, /*->223003*/
/*222984*/        OPC_CheckChild0Type, MVT::i64,
/*222986*/        OPC_MoveParent,
/*222987*/        OPC_RecordChild1, // #1 = $Op1
/*222988*/        OPC_CheckType, MVT::nxv2i64,
/*222990*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*222992*/        OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*222995*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MUL_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 1, 2, 
                  // Src: (mul:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEArithSImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 12
                  // Dst: (MUL_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*223003*/      0, /*End of Scope*/
/*223004*/    /*Scope*/ 102, /*->223107*/
/*223005*/      OPC_RecordChild0, // #0 = $Rn
/*223006*/      OPC_MoveChild1,
/*223007*/      OPC_SwitchOpcode /*2 cases */, 46, TARGET_VAL(AArch64ISD::DUPLANE16),// ->223057
/*223011*/        OPC_RecordChild0, // #1 = $Rm
/*223012*/        OPC_CheckChild0Type, MVT::v8i16,
/*223014*/        OPC_RecordChild1, // #2 = $idx
/*223015*/        OPC_MoveChild1,
/*223016*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*223019*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*223021*/        OPC_CheckType, MVT::i64,
/*223023*/        OPC_MoveParent,
/*223024*/        OPC_MoveParent,
/*223025*/        OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->223041
/*223028*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223030*/          OPC_EmitConvertToTarget, 2,
/*223032*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv4i16_indexed), 0,
                        MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (mul:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 10
                    // Dst: (MULv4i16_indexed:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*223041*/        /*SwitchType*/ 13, MVT::v8i16,// ->223056
/*223043*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223045*/          OPC_EmitConvertToTarget, 2,
/*223047*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv8i16_indexed), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (mul:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 10
                    // Dst: (MULv8i16_indexed:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*223056*/        0, // EndSwitchType
/*223057*/      /*SwitchOpcode*/ 46, TARGET_VAL(AArch64ISD::DUPLANE32),// ->223106
/*223060*/        OPC_RecordChild0, // #1 = $Rm
/*223061*/        OPC_CheckChild0Type, MVT::v4i32,
/*223063*/        OPC_RecordChild1, // #2 = $idx
/*223064*/        OPC_MoveChild1,
/*223065*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*223068*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*223070*/        OPC_CheckType, MVT::i64,
/*223072*/        OPC_MoveParent,
/*223073*/        OPC_MoveParent,
/*223074*/        OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->223090
/*223077*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223079*/          OPC_EmitConvertToTarget, 2,
/*223081*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv2i32_indexed), 0,
                        MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (mul:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 10
                    // Dst: (MULv2i32_indexed:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*223090*/        /*SwitchType*/ 13, MVT::v4i32,// ->223105
/*223092*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223094*/          OPC_EmitConvertToTarget, 2,
/*223096*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv4i32_indexed), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (mul:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 10
                    // Dst: (MULv4i32_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*223105*/        0, // EndSwitchType
/*223106*/      0, // EndSwitchOpcode
/*223107*/    /*Scope*/ 103, /*->223211*/
/*223108*/      OPC_MoveChild0,
/*223109*/      OPC_SwitchOpcode /*2 cases */, 47, TARGET_VAL(AArch64ISD::DUPLANE16),// ->223160
/*223113*/        OPC_RecordChild0, // #0 = $Rm
/*223114*/        OPC_CheckChild0Type, MVT::v8i16,
/*223116*/        OPC_RecordChild1, // #1 = $idx
/*223117*/        OPC_MoveChild1,
/*223118*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*223121*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*223123*/        OPC_CheckType, MVT::i64,
/*223125*/        OPC_MoveParent,
/*223126*/        OPC_MoveParent,
/*223127*/        OPC_RecordChild1, // #2 = $Rn
/*223128*/        OPC_SwitchType /*2 cases */, 13, MVT::v4i16,// ->223144
/*223131*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223133*/          OPC_EmitConvertToTarget, 1,
/*223135*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv4i16_indexed), 0,
                        MVT::v4i16, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (mul:{ *:[v4i16] } (AArch64duplane16:{ *:[v4i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), V64:{ *:[v4i16] }:$Rn) - Complexity = 10
                    // Dst: (MULv4i16_indexed:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*223144*/        /*SwitchType*/ 13, MVT::v8i16,// ->223159
/*223146*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223148*/          OPC_EmitConvertToTarget, 1,
/*223150*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv8i16_indexed), 0,
                        MVT::v8i16, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (mul:{ *:[v8i16] } (AArch64duplane16:{ *:[v8i16] } V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), V128:{ *:[v8i16] }:$Rn) - Complexity = 10
                    // Dst: (MULv8i16_indexed:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128_lo:{ *:[v8i16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*223159*/        0, // EndSwitchType
/*223160*/      /*SwitchOpcode*/ 47, TARGET_VAL(AArch64ISD::DUPLANE32),// ->223210
/*223163*/        OPC_RecordChild0, // #0 = $Rm
/*223164*/        OPC_CheckChild0Type, MVT::v4i32,
/*223166*/        OPC_RecordChild1, // #1 = $idx
/*223167*/        OPC_MoveChild1,
/*223168*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*223171*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*223173*/        OPC_CheckType, MVT::i64,
/*223175*/        OPC_MoveParent,
/*223176*/        OPC_MoveParent,
/*223177*/        OPC_RecordChild1, // #2 = $Rn
/*223178*/        OPC_SwitchType /*2 cases */, 13, MVT::v2i32,// ->223194
/*223181*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223183*/          OPC_EmitConvertToTarget, 1,
/*223185*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv2i32_indexed), 0,
                        MVT::v2i32, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (mul:{ *:[v2i32] } (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2i32] }:$Rn) - Complexity = 10
                    // Dst: (MULv2i32_indexed:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*223194*/        /*SwitchType*/ 13, MVT::v4i32,// ->223209
/*223196*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223198*/          OPC_EmitConvertToTarget, 1,
/*223200*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv4i32_indexed), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (mul:{ *:[v4i32] } (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4i32] }:$Rn) - Complexity = 10
                    // Dst: (MULv4i32_indexed:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*223209*/        0, // EndSwitchType
/*223210*/      0, // EndSwitchOpcode
/*223211*/    /*Scope*/ 76, /*->223288*/
/*223212*/      OPC_RecordChild0, // #0 = $Rn
/*223213*/      OPC_RecordChild1, // #1 = $Rm
/*223214*/      OPC_SwitchType /*6 cases */, 10, MVT::v8i8,// ->223227
/*223217*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223219*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (mul:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (MULv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*223227*/      /*SwitchType*/ 10, MVT::v16i8,// ->223239
/*223229*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223231*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (mul:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (MULv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*223239*/      /*SwitchType*/ 10, MVT::v4i16,// ->223251
/*223241*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223243*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (mul:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                  // Dst: (MULv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*223251*/      /*SwitchType*/ 10, MVT::v8i16,// ->223263
/*223253*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223255*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (mul:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                  // Dst: (MULv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*223263*/      /*SwitchType*/ 10, MVT::v2i32,// ->223275
/*223265*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223267*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (mul:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                  // Dst: (MULv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*223275*/      /*SwitchType*/ 10, MVT::v4i32,// ->223287
/*223277*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*223279*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MULv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (mul:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                  // Dst: (MULv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*223287*/      0, // EndSwitchType
/*223288*/    0, /*End of Scope*/
/*223289*/  /*SwitchOpcode*/ 17|128,4/*529*/, TARGET_VAL(ISD::SHL),// ->223822
/*223293*/    OPC_Scope, 58|128,2/*314*/, /*->223610*/ // 2 children in Scope
/*223296*/      OPC_MoveChild0,
/*223297*/      OPC_SwitchOpcode /*3 cases */, 118, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->223419
/*223301*/        OPC_Scope, 28, /*->223331*/ // 4 children in Scope
/*223303*/          OPC_CheckChild0Integer, 4|128,4/*516*/, 
/*223306*/          OPC_RecordChild1, // #0 = $pattern
/*223307*/          OPC_MoveChild1,
/*223308*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*223311*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*223313*/          OPC_MoveParent,
/*223314*/          OPC_MoveParent,
/*223315*/          OPC_RecordChild1, // #1 = $sve_cnt_shl_imm:imm
/*223316*/          OPC_CheckChild1Type, MVT::i64,
/*223318*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*223320*/          OPC_CheckComplexPat, /*CP*/49, /*#*/1, // SelectCntImm<1, 16, 1, true>:$ #2
/*223323*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTB_XPiI), 0,
                        MVT::i64, 2/*#Ops*/, 0, 2, 
                    // Src: (shl:{ *:[i64] } (intrinsic_wo_chain:{ *:[i64] } 516:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern), (sve_cnt_shl_imm:{ *:[i64] } i32:{ *:[i32] }:$imm)) - Complexity = 21
                    // Dst: (CNTB_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*223331*/        /*Scope*/ 28, /*->223360*/
/*223332*/          OPC_CheckChild0Integer, 6|128,4/*518*/, 
/*223335*/          OPC_RecordChild1, // #0 = $pattern
/*223336*/          OPC_MoveChild1,
/*223337*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*223340*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*223342*/          OPC_MoveParent,
/*223343*/          OPC_MoveParent,
/*223344*/          OPC_RecordChild1, // #1 = $sve_cnt_shl_imm:imm
/*223345*/          OPC_CheckChild1Type, MVT::i64,
/*223347*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*223349*/          OPC_CheckComplexPat, /*CP*/49, /*#*/1, // SelectCntImm<1, 16, 1, true>:$ #2
/*223352*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTH_XPiI), 0,
                        MVT::i64, 2/*#Ops*/, 0, 2, 
                    // Src: (shl:{ *:[i64] } (intrinsic_wo_chain:{ *:[i64] } 518:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern), (sve_cnt_shl_imm:{ *:[i64] } i32:{ *:[i32] }:$imm)) - Complexity = 21
                    // Dst: (CNTH_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*223360*/        /*Scope*/ 28, /*->223389*/
/*223361*/          OPC_CheckChild0Integer, 8|128,4/*520*/, 
/*223364*/          OPC_RecordChild1, // #0 = $pattern
/*223365*/          OPC_MoveChild1,
/*223366*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*223369*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*223371*/          OPC_MoveParent,
/*223372*/          OPC_MoveParent,
/*223373*/          OPC_RecordChild1, // #1 = $sve_cnt_shl_imm:imm
/*223374*/          OPC_CheckChild1Type, MVT::i64,
/*223376*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*223378*/          OPC_CheckComplexPat, /*CP*/49, /*#*/1, // SelectCntImm<1, 16, 1, true>:$ #2
/*223381*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTW_XPiI), 0,
                        MVT::i64, 2/*#Ops*/, 0, 2, 
                    // Src: (shl:{ *:[i64] } (intrinsic_wo_chain:{ *:[i64] } 520:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern), (sve_cnt_shl_imm:{ *:[i64] } i32:{ *:[i32] }:$imm)) - Complexity = 21
                    // Dst: (CNTW_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*223389*/        /*Scope*/ 28, /*->223418*/
/*223390*/          OPC_CheckChild0Integer, 5|128,4/*517*/, 
/*223393*/          OPC_RecordChild1, // #0 = $pattern
/*223394*/          OPC_MoveChild1,
/*223395*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*223398*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*223400*/          OPC_MoveParent,
/*223401*/          OPC_MoveParent,
/*223402*/          OPC_RecordChild1, // #1 = $sve_cnt_shl_imm:imm
/*223403*/          OPC_CheckChild1Type, MVT::i64,
/*223405*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*223407*/          OPC_CheckComplexPat, /*CP*/49, /*#*/1, // SelectCntImm<1, 16, 1, true>:$ #2
/*223410*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTD_XPiI), 0,
                        MVT::i64, 2/*#Ops*/, 0, 2, 
                    // Src: (shl:{ *:[i64] } (intrinsic_wo_chain:{ *:[i64] } 517:{ *:[iPTR] }, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern), (sve_cnt_shl_imm:{ *:[i64] } i32:{ *:[i32] }:$imm)) - Complexity = 21
                    // Dst: (CNTD_XPiI:{ *:[i64] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm)
/*223418*/        0, /*End of Scope*/
/*223419*/      /*SwitchOpcode*/ 4|128,1/*132*/, TARGET_VAL(ISD::SIGN_EXTEND_INREG),// ->223555
/*223423*/        OPC_RecordChild0, // #0 = $Rn
/*223424*/        OPC_MoveChild1,
/*223425*/        OPC_Scope, 63, /*->223490*/ // 2 children in Scope
/*223427*/          OPC_CheckValueType, MVT::i8,
/*223429*/          OPC_MoveParent,
/*223430*/          OPC_MoveParent,
/*223431*/          OPC_RecordChild1, // #1 = $imm
/*223432*/          OPC_MoveChild1,
/*223433*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*223436*/          OPC_CheckType, MVT::i64,
/*223438*/          OPC_Scope, 24, /*->223464*/ // 2 children in Scope
/*223440*/            OPC_CheckPredicate, 35, // Predicate_imm0_31
/*223442*/            OPC_MoveParent,
/*223443*/            OPC_CheckType, MVT::i32,
/*223445*/            OPC_EmitConvertToTarget, 1,
/*223447*/            OPC_EmitNodeXForm, 5, 2, // i32shift_a
/*223450*/            OPC_EmitConvertToTarget, 1,
/*223452*/            OPC_EmitNodeXForm, 6, 4, // i32shift_sext_i8
/*223455*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMWri), 0,
                          MVT::i32, 3/*#Ops*/, 0, 3, 5, 
                      // Src: (shl:{ *:[i32] } (sext_inreg:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, i8:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm) - Complexity = 10
                      // Dst: (SBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (i32shift_a:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm), (i32shift_sext_i8:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm))
/*223464*/          /*Scope*/ 24, /*->223489*/
/*223465*/            OPC_CheckPredicate, 36, // Predicate_imm0_63
/*223467*/            OPC_MoveParent,
/*223468*/            OPC_CheckType, MVT::i64,
/*223470*/            OPC_EmitConvertToTarget, 1,
/*223472*/            OPC_EmitNodeXForm, 7, 2, // i64shift_a
/*223475*/            OPC_EmitConvertToTarget, 1,
/*223477*/            OPC_EmitNodeXForm, 8, 4, // i64shift_sext_i8
/*223480*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                          MVT::i64, 3/*#Ops*/, 0, 3, 5, 
                      // Src: (shl:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i8:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm) - Complexity = 10
                      // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (i64shift_a:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm), (i64shift_sext_i8:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm))
/*223489*/          0, /*End of Scope*/
/*223490*/        /*Scope*/ 63, /*->223554*/
/*223491*/          OPC_CheckValueType, MVT::i16,
/*223493*/          OPC_MoveParent,
/*223494*/          OPC_MoveParent,
/*223495*/          OPC_RecordChild1, // #1 = $imm
/*223496*/          OPC_MoveChild1,
/*223497*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*223500*/          OPC_CheckType, MVT::i64,
/*223502*/          OPC_Scope, 24, /*->223528*/ // 2 children in Scope
/*223504*/            OPC_CheckPredicate, 35, // Predicate_imm0_31
/*223506*/            OPC_MoveParent,
/*223507*/            OPC_CheckType, MVT::i32,
/*223509*/            OPC_EmitConvertToTarget, 1,
/*223511*/            OPC_EmitNodeXForm, 5, 2, // i32shift_a
/*223514*/            OPC_EmitConvertToTarget, 1,
/*223516*/            OPC_EmitNodeXForm, 9, 4, // i32shift_sext_i16
/*223519*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMWri), 0,
                          MVT::i32, 3/*#Ops*/, 0, 3, 5, 
                      // Src: (shl:{ *:[i32] } (sext_inreg:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, i16:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm) - Complexity = 10
                      // Dst: (SBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (i32shift_a:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm), (i32shift_sext_i16:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm))
/*223528*/          /*Scope*/ 24, /*->223553*/
/*223529*/            OPC_CheckPredicate, 36, // Predicate_imm0_63
/*223531*/            OPC_MoveParent,
/*223532*/            OPC_CheckType, MVT::i64,
/*223534*/            OPC_EmitConvertToTarget, 1,
/*223536*/            OPC_EmitNodeXForm, 7, 2, // i64shift_a
/*223539*/            OPC_EmitConvertToTarget, 1,
/*223541*/            OPC_EmitNodeXForm, 10, 4, // i64shift_sext_i16
/*223544*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                          MVT::i64, 3/*#Ops*/, 0, 3, 5, 
                      // Src: (shl:{ *:[i64] } (sext_inreg:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, i16:{ *:[Other] }), (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm) - Complexity = 10
                      // Dst: (SBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (i64shift_a:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm), (i64shift_sext_i16:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm))
/*223553*/          0, /*End of Scope*/
/*223554*/        0, /*End of Scope*/
/*223555*/      /*SwitchOpcode*/ 51, TARGET_VAL(ISD::SIGN_EXTEND),// ->223609
/*223558*/        OPC_RecordChild0, // #0 = $Rn
/*223559*/        OPC_MoveParent,
/*223560*/        OPC_RecordChild1, // #1 = $imm
/*223561*/        OPC_MoveChild1,
/*223562*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*223565*/        OPC_CheckPredicate, 36, // Predicate_imm0_63
/*223567*/        OPC_CheckType, MVT::i64,
/*223569*/        OPC_MoveParent,
/*223570*/        OPC_CheckType, MVT::i64,
/*223572*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::i64, 0/*#Ops*/,  // Results = #2
/*223578*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*223581*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*223590*/        OPC_EmitConvertToTarget, 1,
/*223592*/        OPC_EmitNodeXForm, 7, 5, // i64shift_a
/*223595*/        OPC_EmitConvertToTarget, 1,
/*223597*/        OPC_EmitNodeXForm, 11, 7, // i64shift_sext_i32
/*223600*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                      MVT::i64, 3/*#Ops*/, 4, 6, 8, 
                  // Src: (shl:{ *:[i64] } (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rn), (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm) - Complexity = 10
                  // Dst: (SBFMXri:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GPR32:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (i64shift_a:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm), (i64shift_sext_i32:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm))
/*223609*/      0, // EndSwitchOpcode
/*223610*/    /*Scope*/ 81|128,1/*209*/, /*->223821*/
/*223612*/      OPC_RecordChild0, // #0 = $Rn
/*223613*/      OPC_Scope, 59, /*->223674*/ // 3 children in Scope
/*223615*/        OPC_RecordChild1, // #1 = $imm
/*223616*/        OPC_MoveChild1,
/*223617*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*223620*/        OPC_CheckType, MVT::i64,
/*223622*/        OPC_Scope, 24, /*->223648*/ // 2 children in Scope
/*223624*/          OPC_CheckPredicate, 35, // Predicate_imm0_31
/*223626*/          OPC_MoveParent,
/*223627*/          OPC_CheckType, MVT::i32,
/*223629*/          OPC_EmitConvertToTarget, 1,
/*223631*/          OPC_EmitNodeXForm, 5, 2, // i32shift_a
/*223634*/          OPC_EmitConvertToTarget, 1,
/*223636*/          OPC_EmitNodeXForm, 12, 4, // i32shift_b
/*223639*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UBFMWri), 0,
                        MVT::i32, 3/*#Ops*/, 0, 3, 5, 
                    // Src: (shl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm) - Complexity = 7
                    // Dst: (UBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (i32shift_a:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm), (i32shift_b:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm))
/*223648*/        /*Scope*/ 24, /*->223673*/
/*223649*/          OPC_CheckPredicate, 36, // Predicate_imm0_63
/*223651*/          OPC_MoveParent,
/*223652*/          OPC_CheckType, MVT::i64,
/*223654*/          OPC_EmitConvertToTarget, 1,
/*223656*/          OPC_EmitNodeXForm, 7, 2, // i64shift_a
/*223659*/          OPC_EmitConvertToTarget, 1,
/*223661*/          OPC_EmitNodeXForm, 13, 4, // i64shift_b
/*223664*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UBFMXri), 0,
                        MVT::i64, 3/*#Ops*/, 0, 3, 5, 
                    // Src: (shl:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm) - Complexity = 7
                    // Dst: (UBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (i64shift_a:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm), (i64shift_b:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm))
/*223673*/        0, /*End of Scope*/
/*223674*/      /*Scope*/ 108, /*->223783*/
/*223675*/        OPC_MoveChild1,
/*223676*/        OPC_SwitchOpcode /*3 cases */, 41, TARGET_VAL(ISD::ZERO_EXTEND),// ->223721
/*223680*/          OPC_RecordChild0, // #1 = $Rm
/*223681*/          OPC_CheckType, MVT::i64,
/*223683*/          OPC_MoveParent,
/*223684*/          OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->223695
/*223687*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSLVWr), 0,
                          MVT::i32, 2/*#Ops*/, 0, 1, 
                      // Src: (shl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (LSLVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*223695*/          /*SwitchType*/ 23, MVT::i64,// ->223720
/*223697*/            OPC_EmitInteger, MVT::i32, 0, 
/*223700*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*223703*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*223712*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSLVXr), 0,
                          MVT::i64, 2/*#Ops*/, 0, 4, 
                      // Src: (shl:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (LSLVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm, sub_32:{ *:[i32] }))
/*223720*/          0, // EndSwitchType
/*223721*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::ANY_EXTEND),// ->223738
/*223724*/          OPC_RecordChild0, // #1 = $Rm
/*223725*/          OPC_CheckType, MVT::i64,
/*223727*/          OPC_MoveParent,
/*223728*/          OPC_CheckType, MVT::i32,
/*223730*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSLVWr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (shl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                    // Dst: (LSLVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*223738*/        /*SwitchOpcode*/ 41, TARGET_VAL(ISD::SIGN_EXTEND),// ->223782
/*223741*/          OPC_RecordChild0, // #1 = $Rm
/*223742*/          OPC_CheckType, MVT::i64,
/*223744*/          OPC_MoveParent,
/*223745*/          OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->223756
/*223748*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSLVWr), 0,
                          MVT::i32, 2/*#Ops*/, 0, 1, 
                      // Src: (shl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (LSLVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*223756*/          /*SwitchType*/ 23, MVT::i64,// ->223781
/*223758*/            OPC_EmitInteger, MVT::i32, 0, 
/*223761*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*223764*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*223773*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSLVXr), 0,
                          MVT::i64, 2/*#Ops*/, 0, 4, 
                      // Src: (shl:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (LSLVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm, sub_32:{ *:[i32] }))
/*223781*/          0, // EndSwitchType
/*223782*/        0, // EndSwitchOpcode
/*223783*/      /*Scope*/ 36, /*->223820*/
/*223784*/        OPC_RecordChild1, // #1 = $Rm
/*223785*/        OPC_CheckChild1Type, MVT::i64,
/*223787*/        OPC_SwitchType /*2 cases */, 8, MVT::i64,// ->223798
/*223790*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSLVXr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (shl:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (LSLVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*223798*/        /*SwitchType*/ 19, MVT::i32,// ->223819
/*223800*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*223803*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 2,  // Results = #3
/*223811*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSLVWr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 3, 
                    // Src: (shl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, i64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (LSLVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (EXTRACT_SUBREG:{ *:[i32] } i64:{ *:[i64] }:$Rm, sub_32:{ *:[i32] }))
/*223819*/        0, // EndSwitchType
/*223820*/      0, /*End of Scope*/
/*223821*/    0, /*End of Scope*/
/*223822*/  /*SwitchOpcode*/ 81|128,2/*337*/, TARGET_VAL(AArch64ISD::ANDS),// ->224163
/*223826*/    OPC_Scope, 50, /*->223878*/ // 5 children in Scope
/*223828*/      OPC_RecordChild0, // #0 = $Rn
/*223829*/      OPC_MoveChild1,
/*223830*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*223833*/      OPC_RecordChild0, // #1 = $Rm
/*223834*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*223845*/      OPC_MoveParent,
/*223846*/      OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->223862
/*223849*/        OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*223852*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::BICSWrs), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64and_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 20
                  // Dst: (BICSWrs:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*223862*/      /*SwitchType*/ 13, MVT::i64,// ->223877
/*223864*/        OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*223867*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::BICSXrs), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64and_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, -1:{ *:[i64] })) - Complexity = 20
                  // Dst: (BICSXrs:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*223877*/      0, // EndSwitchType
/*223878*/    /*Scope*/ 50, /*->223929*/
/*223879*/      OPC_MoveChild0,
/*223880*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*223883*/      OPC_RecordChild0, // #0 = $Rm
/*223884*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*223895*/      OPC_MoveParent,
/*223896*/      OPC_RecordChild1, // #1 = $Rn
/*223897*/      OPC_SwitchType /*2 cases */, 13, MVT::i32,// ->223913
/*223900*/        OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*223903*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::BICSWrs), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64and_flag:{ *:[i32] }:{ *:[i32] } (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn) - Complexity = 20
                  // Dst: (BICSWrs:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*223913*/      /*SwitchType*/ 13, MVT::i64,// ->223928
/*223915*/        OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*223918*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::BICSXrs), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64and_flag:{ *:[i64] }:{ *:[i32] } (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn) - Complexity = 20
                  // Dst: (BICSXrs:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*223928*/      0, // EndSwitchType
/*223929*/    /*Scope*/ 113, /*->224043*/
/*223930*/      OPC_RecordChild0, // #0 = $Rn
/*223931*/      OPC_Scope, 67, /*->224000*/ // 2 children in Scope
/*223933*/        OPC_RecordChild1, // #1 = $Rm
/*223934*/        OPC_SwitchType /*2 cases */, 30, MVT::i32,// ->223967
/*223937*/          OPC_Scope, 13, /*->223952*/ // 2 children in Scope
/*223939*/            OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*223942*/            OPC_MorphNodeTo2, TARGET_VAL(AArch64::ANDSWrs), 0,
                          MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (AArch64and_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 12
                      // Dst: (ANDSWrs:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*223952*/          /*Scope*/ 13, /*->223966*/
/*223953*/            OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*223956*/            OPC_MorphNodeTo2, TARGET_VAL(AArch64::ANDSWrs), 0,
                          MVT::i32, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (AArch64and_flag:{ *:[i32] }:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, GPR32:{ *:[i32] }:$Rn) - Complexity = 12
                      // Dst: (ANDSWrs:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*223966*/          0, /*End of Scope*/
/*223967*/        /*SwitchType*/ 30, MVT::i64,// ->223999
/*223969*/          OPC_Scope, 13, /*->223984*/ // 2 children in Scope
/*223971*/            OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*223974*/            OPC_MorphNodeTo2, TARGET_VAL(AArch64::ANDSXrs), 0,
                          MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (AArch64and_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 12
                      // Dst: (ANDSXrs:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*223984*/          /*Scope*/ 13, /*->223998*/
/*223985*/            OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*223988*/            OPC_MorphNodeTo2, TARGET_VAL(AArch64::ANDSXrs), 0,
                          MVT::i64, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (AArch64and_flag:{ *:[i64] }:{ *:[i32] } logical_shifted_reg64:{ *:[i64] }:$Rm, GPR64:{ *:[i64] }:$Rn) - Complexity = 12
                      // Dst: (ANDSXrs:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*223998*/          0, /*End of Scope*/
/*223999*/        0, // EndSwitchType
/*224000*/      /*Scope*/ 41, /*->224042*/
/*224001*/        OPC_MoveChild1,
/*224002*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224005*/        OPC_RecordChild0, // #1 = $Rm
/*224006*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224017*/        OPC_MoveParent,
/*224018*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->224030
/*224021*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::BICSWrr), 0,
                        MVT::i32, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (AArch64and_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
                    // Dst: (BICSWrr:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*224030*/        /*SwitchType*/ 9, MVT::i64,// ->224041
/*224032*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::BICSXrr), 0,
                        MVT::i64, MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (AArch64and_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, -1:{ *:[i64] })) - Complexity = 11
                    // Dst: (BICSXrr:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*224041*/        0, // EndSwitchType
/*224042*/      0, /*End of Scope*/
/*224043*/    /*Scope*/ 42, /*->224086*/
/*224044*/      OPC_MoveChild0,
/*224045*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224048*/      OPC_RecordChild0, // #0 = $Rm
/*224049*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224060*/      OPC_MoveParent,
/*224061*/      OPC_RecordChild1, // #1 = $Rn
/*224062*/      OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->224074
/*224065*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::BICSWrr), 0,
                      MVT::i32, MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (AArch64and_flag:{ *:[i32] }:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn) - Complexity = 11
                  // Dst: (BICSWrr:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*224074*/      /*SwitchType*/ 9, MVT::i64,// ->224085
/*224076*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::BICSXrr), 0,
                      MVT::i64, MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (AArch64and_flag:{ *:[i64] }:{ *:[i32] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn) - Complexity = 11
                  // Dst: (BICSXrr:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*224085*/      0, // EndSwitchType
/*224086*/    /*Scope*/ 75, /*->224162*/
/*224087*/      OPC_RecordChild0, // #0 = $Rn
/*224088*/      OPC_RecordChild1, // #1 = $imm
/*224089*/      OPC_Scope, 46, /*->224137*/ // 3 children in Scope
/*224091*/        OPC_MoveChild1,
/*224092*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*224095*/        OPC_Scope, 19, /*->224116*/ // 2 children in Scope
/*224097*/          OPC_CheckPredicate, 46, // Predicate_logical_imm32
/*224099*/          OPC_MoveParent,
/*224100*/          OPC_CheckType, MVT::i32,
/*224102*/          OPC_EmitConvertToTarget, 1,
/*224104*/          OPC_EmitNodeXForm, 3, 2, // logical_imm32_XFORM
/*224107*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::ANDSWri), 0,
                        MVT::i32, MVT::i32, 2/*#Ops*/, 0, 3, 
                    // Src: (AArch64and_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_logical_imm32>><<X:logical_imm32_XFORM>>:$imm) - Complexity = 7
                    // Dst: (ANDSWri:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (logical_imm32_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm))
/*224116*/        /*Scope*/ 19, /*->224136*/
/*224117*/          OPC_CheckPredicate, 47, // Predicate_logical_imm64
/*224119*/          OPC_MoveParent,
/*224120*/          OPC_CheckType, MVT::i64,
/*224122*/          OPC_EmitConvertToTarget, 1,
/*224124*/          OPC_EmitNodeXForm, 4, 2, // logical_imm64_XFORM
/*224127*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::ANDSXri), 0,
                        MVT::i64, MVT::i32, 2/*#Ops*/, 0, 3, 
                    // Src: (AArch64and_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_logical_imm64>><<X:logical_imm64_XFORM>>:$imm) - Complexity = 7
                    // Dst: (ANDSXri:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, (logical_imm64_XFORM:{ *:[i64] } (imm:{ *:[i64] }):$imm))
/*224136*/        0, /*End of Scope*/
/*224137*/      /*Scope*/ 11, /*->224149*/
/*224138*/        OPC_CheckType, MVT::i32,
/*224140*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ANDSWrr), 0,
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64and_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                  // Dst: (ANDSWrr:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*224149*/      /*Scope*/ 11, /*->224161*/
/*224150*/        OPC_CheckType, MVT::i64,
/*224152*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ANDSXrr), 0,
                      MVT::i64, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64and_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                  // Dst: (ANDSXrr:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*224161*/      0, /*End of Scope*/
/*224162*/    0, /*End of Scope*/
/*224163*/  /*SwitchOpcode*/ 122|128,11/*1530*/, TARGET_VAL(ISD::XOR),// ->225697
/*224167*/    OPC_Scope, 111, /*->224280*/ // 14 children in Scope
/*224169*/      OPC_MoveChild0,
/*224170*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224173*/      OPC_RecordChild0, // #0 = $Rn
/*224174*/      OPC_Scope, 59, /*->224235*/ // 2 children in Scope
/*224176*/        OPC_RecordChild1, // #1 = $Rm
/*224177*/        OPC_MoveParent,
/*224178*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224189*/        OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->224220
/*224192*/          OPC_Scope, 12, /*->224206*/ // 2 children in Scope
/*224194*/            OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224197*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrs), 0,
                          MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (xor:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm), -1:{ *:[i32] }) - Complexity = 20
                      // Dst: (EONWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*224206*/          /*Scope*/ 12, /*->224219*/
/*224207*/            OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224210*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrs), 0,
                          MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (xor:{ *:[i32] } (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, GPR32:{ *:[i32] }:$Rn), -1:{ *:[i32] }) - Complexity = 20
                      // Dst: (EONWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*224219*/          0, /*End of Scope*/
/*224220*/        /*SwitchType*/ 12, MVT::i64,// ->224234
/*224222*/          OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224225*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrs), 0,
                        MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (xor:{ *:[i64] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm), -1:{ *:[i64] }) - Complexity = 20
                    // Dst: (EONXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*224234*/        0, // EndSwitchType
/*224235*/      /*Scope*/ 43, /*->224279*/
/*224236*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224247*/        OPC_MoveParent,
/*224248*/        OPC_RecordChild1, // #1 = $Rm
/*224249*/        OPC_CheckType, MVT::i32,
/*224251*/        OPC_Scope, 12, /*->224265*/ // 2 children in Scope
/*224253*/          OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224256*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrs), 0,
                        MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (xor:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, -1:{ *:[i32] }), logical_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 20
                    // Dst: (EONWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*224265*/        /*Scope*/ 12, /*->224278*/
/*224266*/          OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224269*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrs), 0,
                        MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (xor:{ *:[i32] } (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn) - Complexity = 20
                    // Dst: (EONWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*224278*/        0, /*End of Scope*/
/*224279*/      0, /*End of Scope*/
/*224280*/    /*Scope*/ 48, /*->224329*/
/*224281*/      OPC_RecordChild0, // #0 = $Rm
/*224282*/      OPC_MoveChild1,
/*224283*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224286*/      OPC_RecordChild0, // #1 = $Rn
/*224287*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224298*/      OPC_MoveParent,
/*224299*/      OPC_CheckType, MVT::i32,
/*224301*/      OPC_Scope, 12, /*->224315*/ // 2 children in Scope
/*224303*/        OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224306*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrs), 0,
                      MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, -1:{ *:[i32] })) - Complexity = 20
                  // Dst: (EONWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*224315*/      /*Scope*/ 12, /*->224328*/
/*224316*/        OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224319*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrs), 0,
                      MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 20
                  // Dst: (EONWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*224328*/      0, /*End of Scope*/
/*224329*/    /*Scope*/ 79, /*->224409*/
/*224330*/      OPC_MoveChild0,
/*224331*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224334*/      OPC_RecordChild0, // #0 = $Rm
/*224335*/      OPC_Scope, 27, /*->224364*/ // 2 children in Scope
/*224337*/        OPC_RecordChild1, // #1 = $Rn
/*224338*/        OPC_MoveParent,
/*224339*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224350*/        OPC_CheckType, MVT::i64,
/*224352*/        OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224355*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrs), 0,
                      MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (xor:{ *:[i64] } (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, GPR64:{ *:[i64] }:$Rn), -1:{ *:[i64] }) - Complexity = 20
                  // Dst: (EONXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*224364*/      /*Scope*/ 43, /*->224408*/
/*224365*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224376*/        OPC_MoveParent,
/*224377*/        OPC_RecordChild1, // #1 = $Rm
/*224378*/        OPC_CheckType, MVT::i64,
/*224380*/        OPC_Scope, 12, /*->224394*/ // 2 children in Scope
/*224382*/          OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224385*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrs), 0,
                        MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (xor:{ *:[i64] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, -1:{ *:[i64] }), logical_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 20
                    // Dst: (EONXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*224394*/        /*Scope*/ 12, /*->224407*/
/*224395*/          OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224398*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrs), 0,
                        MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (xor:{ *:[i64] } (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn) - Complexity = 20
                    // Dst: (EONXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*224407*/        0, /*End of Scope*/
/*224408*/      0, /*End of Scope*/
/*224409*/    /*Scope*/ 34|128,1/*162*/, /*->224573*/
/*224411*/      OPC_RecordChild0, // #0 = $Rm
/*224412*/      OPC_Scope, 47, /*->224461*/ // 2 children in Scope
/*224414*/        OPC_MoveChild1,
/*224415*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224418*/        OPC_RecordChild0, // #1 = $Rn
/*224419*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224430*/        OPC_MoveParent,
/*224431*/        OPC_CheckType, MVT::i64,
/*224433*/        OPC_Scope, 12, /*->224447*/ // 2 children in Scope
/*224435*/          OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224438*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrs), 0,
                        MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, -1:{ *:[i64] })) - Complexity = 20
                    // Dst: (EONXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*224447*/        /*Scope*/ 12, /*->224460*/
/*224448*/          OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224451*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrs), 0,
                        MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, -1:{ *:[i64] })) - Complexity = 20
                    // Dst: (EONXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*224460*/        0, /*End of Scope*/
/*224461*/      /*Scope*/ 110, /*->224572*/
/*224462*/        OPC_RecordChild1, // #1 = $imm
/*224463*/        OPC_Scope, 44, /*->224509*/ // 3 children in Scope
/*224465*/          OPC_MoveChild1,
/*224466*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*224469*/          OPC_Scope, 18, /*->224489*/ // 2 children in Scope
/*224471*/            OPC_CheckPredicate, 46, // Predicate_logical_imm32
/*224473*/            OPC_MoveParent,
/*224474*/            OPC_CheckType, MVT::i32,
/*224476*/            OPC_EmitConvertToTarget, 1,
/*224478*/            OPC_EmitNodeXForm, 3, 2, // logical_imm32_XFORM
/*224481*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORWri), 0,
                          MVT::i32, 2/*#Ops*/, 0, 3, 
                      // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_logical_imm32>><<X:logical_imm32_XFORM>>:$imm) - Complexity = 13
                      // Dst: (EORWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (logical_imm32_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm))
/*224489*/          /*Scope*/ 18, /*->224508*/
/*224490*/            OPC_CheckPredicate, 47, // Predicate_logical_imm64
/*224492*/            OPC_MoveParent,
/*224493*/            OPC_CheckType, MVT::i64,
/*224495*/            OPC_EmitConvertToTarget, 1,
/*224497*/            OPC_EmitNodeXForm, 4, 2, // logical_imm64_XFORM
/*224500*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORXri), 0,
                          MVT::i64, 2/*#Ops*/, 0, 3, 
                      // Src: (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_logical_imm64>><<X:logical_imm64_XFORM>>:$imm) - Complexity = 13
                      // Dst: (EORXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (logical_imm64_XFORM:{ *:[i64] } (imm:{ *:[i64] }):$imm))
/*224508*/          0, /*End of Scope*/
/*224509*/        /*Scope*/ 30, /*->224540*/
/*224510*/          OPC_CheckType, MVT::i32,
/*224512*/          OPC_Scope, 12, /*->224526*/ // 2 children in Scope
/*224514*/            OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224517*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORWrs), 0,
                          MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 12
                      // Dst: (EORWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*224526*/          /*Scope*/ 12, /*->224539*/
/*224527*/            OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224530*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORWrs), 0,
                          MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, GPR32:{ *:[i32] }:$Rn) - Complexity = 12
                      // Dst: (EORWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*224539*/          0, /*End of Scope*/
/*224540*/        /*Scope*/ 30, /*->224571*/
/*224541*/          OPC_CheckType, MVT::i64,
/*224543*/          OPC_Scope, 12, /*->224557*/ // 2 children in Scope
/*224545*/            OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224548*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORXrs), 0,
                          MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 12
                      // Dst: (EORXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*224557*/          /*Scope*/ 12, /*->224570*/
/*224558*/            OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*224561*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORXrs), 0,
                          MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, GPR64:{ *:[i64] }:$Rn) - Complexity = 12
                      // Dst: (EORXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*224570*/          0, /*End of Scope*/
/*224571*/        0, /*End of Scope*/
/*224572*/      0, /*End of Scope*/
/*224573*/    /*Scope*/ 67, /*->224641*/
/*224574*/      OPC_MoveChild0,
/*224575*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224578*/      OPC_RecordChild0, // #0 = $Rn
/*224579*/      OPC_Scope, 35, /*->224616*/ // 2 children in Scope
/*224581*/        OPC_RecordChild1, // #1 = $Rm
/*224582*/        OPC_MoveParent,
/*224583*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224594*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->224605
/*224597*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (xor:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm), -1:{ *:[i32] }) - Complexity = 11
                    // Dst: (EONWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*224605*/        /*SwitchType*/ 8, MVT::i64,// ->224615
/*224607*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (xor:{ *:[i64] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm), -1:{ *:[i64] }) - Complexity = 11
                    // Dst: (EONXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*224615*/        0, // EndSwitchType
/*224616*/      /*Scope*/ 23, /*->224640*/
/*224617*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224628*/        OPC_MoveParent,
/*224629*/        OPC_RecordChild1, // #1 = $Rm
/*224630*/        OPC_CheckType, MVT::i32,
/*224632*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rm) - Complexity = 11
                  // Dst: (EONWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*224640*/      0, /*End of Scope*/
/*224641*/    /*Scope*/ 28, /*->224670*/
/*224642*/      OPC_RecordChild0, // #0 = $Rm
/*224643*/      OPC_MoveChild1,
/*224644*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224647*/      OPC_RecordChild0, // #1 = $Rn
/*224648*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224659*/      OPC_MoveParent,
/*224660*/      OPC_CheckType, MVT::i32,
/*224662*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONWrr), 0,
                    MVT::i32, 2/*#Ops*/, 1, 0, 
                // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, -1:{ *:[i32] })) - Complexity = 11
                // Dst: (EONWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*224670*/    /*Scope*/ 28, /*->224699*/
/*224671*/      OPC_MoveChild0,
/*224672*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224675*/      OPC_RecordChild0, // #0 = $Rn
/*224676*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224687*/      OPC_MoveParent,
/*224688*/      OPC_RecordChild1, // #1 = $Rm
/*224689*/      OPC_CheckType, MVT::i64,
/*224691*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrr), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (xor:{ *:[i64] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rm) - Complexity = 11
                // Dst: (EONXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*224699*/    /*Scope*/ 95, /*->224795*/
/*224700*/      OPC_RecordChild0, // #0 = $Rm
/*224701*/      OPC_Scope, 27, /*->224730*/ // 3 children in Scope
/*224703*/        OPC_MoveChild1,
/*224704*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*224707*/        OPC_RecordChild0, // #1 = $Rn
/*224708*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224719*/        OPC_MoveParent,
/*224720*/        OPC_CheckType, MVT::i64,
/*224722*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EONXrr), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, -1:{ *:[i64] })) - Complexity = 11
                  // Dst: (EONXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*224730*/      /*Scope*/ 39, /*->224770*/
/*224731*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*224742*/        OPC_SwitchType /*2 cases */, 11, MVT::i32,// ->224756
/*224745*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*224748*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 1, 0, 
                    // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Wm, -1:{ *:[i32] }) - Complexity = 8
                    // Dst: (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Wm)
/*224756*/        /*SwitchType*/ 11, MVT::i64,// ->224769
/*224758*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*224761*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNXrr), 0,
                        MVT::i64, 2/*#Ops*/, 1, 0, 
                    // Src: (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Xm, -1:{ *:[i64] }) - Complexity = 8
                    // Dst: (ORNXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Xm)
/*224769*/        0, // EndSwitchType
/*224770*/      /*Scope*/ 23, /*->224794*/
/*224771*/        OPC_RecordChild1, // #1 = $Rm
/*224772*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->224783
/*224775*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORWrr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                    // Dst: (EORWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*224783*/        /*SwitchType*/ 8, MVT::i64,// ->224793
/*224785*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORXrr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (EORXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*224793*/        0, // EndSwitchType
/*224794*/      0, /*End of Scope*/
/*224795*/    /*Scope*/ 58|128,3/*442*/, /*->225239*/
/*224797*/      OPC_MoveChild0,
/*224798*/      OPC_SwitchOpcode /*2 cases */, 72|128,1/*200*/, TARGET_VAL(AArch64ISD::VASHR),// ->225003
/*224803*/        OPC_RecordChild0, // #0 = $src
/*224804*/        OPC_CheckChild1Integer, 15, 
/*224806*/        OPC_CheckChild1Type, MVT::i32,
/*224808*/        OPC_MoveParent,
/*224809*/        OPC_MoveChild1,
/*224810*/        OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*224813*/        OPC_MoveChild0,
/*224814*/        OPC_SwitchOpcode /*2 cases */, 96, TARGET_VAL(ISD::SUB),// ->224914
/*224818*/          OPC_MoveChild0,
/*224819*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*224822*/          OPC_Scope, 53, /*->224877*/ // 2 children in Scope
/*224824*/            OPC_MoveChild0,
/*224825*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*224828*/            OPC_RecordChild0, // #1 = $opA
/*224829*/            OPC_CheckChild1Integer, 8, 
/*224831*/            OPC_CheckChild1Type, MVT::i64,
/*224833*/            OPC_CheckType, MVT::v8i8,
/*224835*/            OPC_MoveParent,
/*224836*/            OPC_MoveParent,
/*224837*/            OPC_MoveChild1,
/*224838*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*224841*/            OPC_MoveChild0,
/*224842*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*224845*/            OPC_RecordChild0, // #2 = $opB
/*224846*/            OPC_CheckChild1Integer, 8, 
/*224848*/            OPC_CheckChild1Type, MVT::i64,
/*224850*/            OPC_CheckType, MVT::v8i8,
/*224852*/            OPC_MoveParent,
/*224853*/            OPC_MoveParent,
/*224854*/            OPC_MoveParent,
/*224855*/            OPC_MoveChild1,
/*224856*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
/*224859*/            OPC_CheckChild0Same, 0,
/*224861*/            OPC_CheckChild1Integer, 15, 
/*224863*/            OPC_CheckChild1Type, MVT::i32,
/*224865*/            OPC_MoveParent,
/*224866*/            OPC_MoveParent,
/*224867*/            OPC_CheckType, MVT::v8i16,
/*224869*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv16i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 1, 2, 
                      // Src: (xor:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }), (add:{ *:[v8i16] } (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opA, 8:{ *:[i64] })), (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opB, 8:{ *:[i64] }))), (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }))) - Complexity = 47
                      // Dst: (UABDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$opA, V128:{ *:[v16i8] }:$opB)
/*224877*/          /*Scope*/ 35, /*->224913*/
/*224878*/            OPC_RecordChild0, // #1 = $opA
/*224879*/            OPC_CheckChild0Type, MVT::v8i8,
/*224881*/            OPC_MoveParent,
/*224882*/            OPC_MoveChild1,
/*224883*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*224886*/            OPC_RecordChild0, // #2 = $opB
/*224887*/            OPC_CheckChild0Type, MVT::v8i8,
/*224889*/            OPC_MoveParent,
/*224890*/            OPC_MoveParent,
/*224891*/            OPC_MoveChild1,
/*224892*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
/*224895*/            OPC_CheckChild0Same, 0,
/*224897*/            OPC_CheckChild1Integer, 15, 
/*224899*/            OPC_CheckChild1Type, MVT::i32,
/*224901*/            OPC_MoveParent,
/*224902*/            OPC_MoveParent,
/*224903*/            OPC_CheckType, MVT::v8i16,
/*224905*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv8i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 1, 2, 
                      // Src: (xor:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }), (add:{ *:[v8i16] } (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA), (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opB)), (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }))) - Complexity = 31
                      // Dst: (UABDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA, V64:{ *:[v8i8] }:$opB)
/*224913*/          0, /*End of Scope*/
/*224914*/        /*SwitchOpcode*/ 85, TARGET_VAL(AArch64ISD::VASHR),// ->225002
/*224917*/          OPC_CheckChild0Same, 0,
/*224919*/          OPC_CheckChild1Integer, 15, 
/*224921*/          OPC_CheckChild1Type, MVT::i32,
/*224923*/          OPC_MoveParent,
/*224924*/          OPC_MoveChild1,
/*224925*/          OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
/*224928*/          OPC_MoveChild0,
/*224929*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*224932*/          OPC_Scope, 42, /*->224976*/ // 2 children in Scope
/*224934*/            OPC_MoveChild0,
/*224935*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*224938*/            OPC_RecordChild0, // #1 = $opA
/*224939*/            OPC_CheckChild1Integer, 8, 
/*224941*/            OPC_CheckChild1Type, MVT::i64,
/*224943*/            OPC_CheckType, MVT::v8i8,
/*224945*/            OPC_MoveParent,
/*224946*/            OPC_MoveParent,
/*224947*/            OPC_MoveChild1,
/*224948*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*224951*/            OPC_MoveChild0,
/*224952*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*224955*/            OPC_RecordChild0, // #2 = $opB
/*224956*/            OPC_CheckChild1Integer, 8, 
/*224958*/            OPC_CheckChild1Type, MVT::i64,
/*224960*/            OPC_CheckType, MVT::v8i8,
/*224962*/            OPC_MoveParent,
/*224963*/            OPC_MoveParent,
/*224964*/            OPC_MoveParent,
/*224965*/            OPC_MoveParent,
/*224966*/            OPC_CheckType, MVT::v8i16,
/*224968*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv16i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 1, 2, 
                      // Src: (xor:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }), (add:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }), (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opA, 8:{ *:[i64] })), (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opB, 8:{ *:[i64] }))))) - Complexity = 47
                      // Dst: (UABDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$opA, V128:{ *:[v16i8] }:$opB)
/*224976*/          /*Scope*/ 24, /*->225001*/
/*224977*/            OPC_RecordChild0, // #1 = $opA
/*224978*/            OPC_CheckChild0Type, MVT::v8i8,
/*224980*/            OPC_MoveParent,
/*224981*/            OPC_MoveChild1,
/*224982*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*224985*/            OPC_RecordChild0, // #2 = $opB
/*224986*/            OPC_CheckChild0Type, MVT::v8i8,
/*224988*/            OPC_MoveParent,
/*224989*/            OPC_MoveParent,
/*224990*/            OPC_MoveParent,
/*224991*/            OPC_CheckType, MVT::v8i16,
/*224993*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv8i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 1, 2, 
                      // Src: (xor:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }), (add:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }), (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA), (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opB)))) - Complexity = 31
                      // Dst: (UABDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA, V64:{ *:[v8i8] }:$opB)
/*225001*/          0, /*End of Scope*/
/*225002*/        0, // EndSwitchOpcode
/*225003*/      /*SwitchOpcode*/ 103|128,1/*231*/, TARGET_VAL(ISD::ADD),// ->225238
/*225007*/        OPC_MoveChild0,
/*225008*/        OPC_SwitchOpcode /*2 cases */, 116, TARGET_VAL(ISD::SUB),// ->225128
/*225012*/          OPC_MoveChild0,
/*225013*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*225016*/          OPC_Scope, 63, /*->225081*/ // 2 children in Scope
/*225018*/            OPC_MoveChild0,
/*225019*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*225022*/            OPC_RecordChild0, // #0 = $opA
/*225023*/            OPC_CheckChild1Integer, 8, 
/*225025*/            OPC_CheckChild1Type, MVT::i64,
/*225027*/            OPC_CheckType, MVT::v8i8,
/*225029*/            OPC_MoveParent,
/*225030*/            OPC_MoveParent,
/*225031*/            OPC_MoveChild1,
/*225032*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*225035*/            OPC_MoveChild0,
/*225036*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*225039*/            OPC_RecordChild0, // #1 = $opB
/*225040*/            OPC_CheckChild1Integer, 8, 
/*225042*/            OPC_CheckChild1Type, MVT::i64,
/*225044*/            OPC_CheckType, MVT::v8i8,
/*225046*/            OPC_MoveParent,
/*225047*/            OPC_MoveParent,
/*225048*/            OPC_MoveParent,
/*225049*/            OPC_MoveChild1,
/*225050*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
/*225053*/            OPC_RecordChild0, // #2 = $src
/*225054*/            OPC_CheckChild1Integer, 15, 
/*225056*/            OPC_CheckChild1Type, MVT::i32,
/*225058*/            OPC_MoveParent,
/*225059*/            OPC_MoveParent,
/*225060*/            OPC_MoveChild1,
/*225061*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
/*225064*/            OPC_CheckChild0Same, 2,
/*225066*/            OPC_CheckChild1Integer, 15, 
/*225068*/            OPC_CheckChild1Type, MVT::i32,
/*225070*/            OPC_MoveParent,
/*225071*/            OPC_CheckType, MVT::v8i16,
/*225073*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv16i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 0, 1, 
                      // Src: (xor:{ *:[v8i16] } (add:{ *:[v8i16] } (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opA, 8:{ *:[i64] })), (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opB, 8:{ *:[i64] }))), (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] })), (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] })) - Complexity = 47
                      // Dst: (UABDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$opA, V128:{ *:[v16i8] }:$opB)
/*225081*/          /*Scope*/ 45, /*->225127*/
/*225082*/            OPC_RecordChild0, // #0 = $opA
/*225083*/            OPC_CheckChild0Type, MVT::v8i8,
/*225085*/            OPC_MoveParent,
/*225086*/            OPC_MoveChild1,
/*225087*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*225090*/            OPC_RecordChild0, // #1 = $opB
/*225091*/            OPC_CheckChild0Type, MVT::v8i8,
/*225093*/            OPC_MoveParent,
/*225094*/            OPC_MoveParent,
/*225095*/            OPC_MoveChild1,
/*225096*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
/*225099*/            OPC_RecordChild0, // #2 = $src
/*225100*/            OPC_CheckChild1Integer, 15, 
/*225102*/            OPC_CheckChild1Type, MVT::i32,
/*225104*/            OPC_MoveParent,
/*225105*/            OPC_MoveParent,
/*225106*/            OPC_MoveChild1,
/*225107*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
/*225110*/            OPC_CheckChild0Same, 2,
/*225112*/            OPC_CheckChild1Integer, 15, 
/*225114*/            OPC_CheckChild1Type, MVT::i32,
/*225116*/            OPC_MoveParent,
/*225117*/            OPC_CheckType, MVT::v8i16,
/*225119*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv8i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 0, 1, 
                      // Src: (xor:{ *:[v8i16] } (add:{ *:[v8i16] } (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA), (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opB)), (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] })), (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] })) - Complexity = 31
                      // Dst: (UABDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA, V64:{ *:[v8i8] }:$opB)
/*225127*/          0, /*End of Scope*/
/*225128*/        /*SwitchOpcode*/ 106, TARGET_VAL(AArch64ISD::VASHR),// ->225237
/*225131*/          OPC_RecordChild0, // #0 = $src
/*225132*/          OPC_CheckChild1Integer, 15, 
/*225134*/          OPC_CheckChild1Type, MVT::i32,
/*225136*/          OPC_MoveParent,
/*225137*/          OPC_MoveChild1,
/*225138*/          OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
/*225141*/          OPC_MoveChild0,
/*225142*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*225145*/          OPC_Scope, 53, /*->225200*/ // 2 children in Scope
/*225147*/            OPC_MoveChild0,
/*225148*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*225151*/            OPC_RecordChild0, // #1 = $opA
/*225152*/            OPC_CheckChild1Integer, 8, 
/*225154*/            OPC_CheckChild1Type, MVT::i64,
/*225156*/            OPC_CheckType, MVT::v8i8,
/*225158*/            OPC_MoveParent,
/*225159*/            OPC_MoveParent,
/*225160*/            OPC_MoveChild1,
/*225161*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*225164*/            OPC_MoveChild0,
/*225165*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*225168*/            OPC_RecordChild0, // #2 = $opB
/*225169*/            OPC_CheckChild1Integer, 8, 
/*225171*/            OPC_CheckChild1Type, MVT::i64,
/*225173*/            OPC_CheckType, MVT::v8i8,
/*225175*/            OPC_MoveParent,
/*225176*/            OPC_MoveParent,
/*225177*/            OPC_MoveParent,
/*225178*/            OPC_MoveParent,
/*225179*/            OPC_MoveChild1,
/*225180*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
/*225183*/            OPC_CheckChild0Same, 0,
/*225185*/            OPC_CheckChild1Integer, 15, 
/*225187*/            OPC_CheckChild1Type, MVT::i32,
/*225189*/            OPC_MoveParent,
/*225190*/            OPC_CheckType, MVT::v8i16,
/*225192*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv16i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 1, 2, 
                      // Src: (xor:{ *:[v8i16] } (add:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }), (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opA, 8:{ *:[i64] })), (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opB, 8:{ *:[i64] })))), (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] })) - Complexity = 47
                      // Dst: (UABDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$opA, V128:{ *:[v16i8] }:$opB)
/*225200*/          /*Scope*/ 35, /*->225236*/
/*225201*/            OPC_RecordChild0, // #1 = $opA
/*225202*/            OPC_CheckChild0Type, MVT::v8i8,
/*225204*/            OPC_MoveParent,
/*225205*/            OPC_MoveChild1,
/*225206*/            OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*225209*/            OPC_RecordChild0, // #2 = $opB
/*225210*/            OPC_CheckChild0Type, MVT::v8i8,
/*225212*/            OPC_MoveParent,
/*225213*/            OPC_MoveParent,
/*225214*/            OPC_MoveParent,
/*225215*/            OPC_MoveChild1,
/*225216*/            OPC_CheckOpcode, TARGET_VAL(AArch64ISD::VASHR),
/*225219*/            OPC_CheckChild0Same, 0,
/*225221*/            OPC_CheckChild1Integer, 15, 
/*225223*/            OPC_CheckChild1Type, MVT::i32,
/*225225*/            OPC_MoveParent,
/*225226*/            OPC_CheckType, MVT::v8i16,
/*225228*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv8i8_v8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 1, 2, 
                      // Src: (xor:{ *:[v8i16] } (add:{ *:[v8i16] } (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] }), (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA), (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opB))), (AArch64vashr:{ *:[v8i16] } v8i16:{ *:[v8i16] }:$src, 15:{ *:[i32] })) - Complexity = 31
                      // Dst: (UABDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA, V64:{ *:[v8i8] }:$opB)
/*225236*/          0, /*End of Scope*/
/*225237*/        0, // EndSwitchOpcode
/*225238*/      0, // EndSwitchOpcode
/*225239*/    /*Scope*/ 78, /*->225318*/
/*225240*/      OPC_RecordChild0, // #0 = $Op1
/*225241*/      OPC_MoveChild1,
/*225242*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*225245*/      OPC_RecordChild0, // #1 = $SVELogicalImm8Pat:imm
/*225246*/      OPC_Scope, 50, /*->225298*/ // 2 children in Scope
/*225248*/        OPC_CheckChild0Type, MVT::i32,
/*225250*/        OPC_MoveParent,
/*225251*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->225267
/*225254*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225256*/          OPC_CheckComplexPat, /*CP*/43, /*#*/1, // SelectSVELogicalImm<MVT::i8>:$ #2
/*225259*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZI), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 0, 2, 
                    // Src: (xor:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVELogicalImm8Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                    // Dst: (EOR_ZI:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i64:{ *:[i64] }:$imm)
/*225267*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->225282
/*225269*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225271*/          OPC_CheckComplexPat, /*CP*/44, /*#*/1, // SelectSVELogicalImm<MVT::i16>:$ #2
/*225274*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZI), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 0, 2, 
                    // Src: (xor:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVELogicalImm16Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                    // Dst: (EOR_ZI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i64:{ *:[i64] }:$imm)
/*225282*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->225297
/*225284*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225286*/          OPC_CheckComplexPat, /*CP*/45, /*#*/1, // SelectSVELogicalImm<MVT::i32>:$ #2
/*225289*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZI), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 0, 2, 
                    // Src: (xor:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVELogicalImm32Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                    // Dst: (EOR_ZI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i64:{ *:[i64] }:$imm)
/*225297*/        0, // EndSwitchType
/*225298*/      /*Scope*/ 18, /*->225317*/
/*225299*/        OPC_CheckChild0Type, MVT::i64,
/*225301*/        OPC_MoveParent,
/*225302*/        OPC_CheckType, MVT::nxv2i64,
/*225304*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225306*/        OPC_CheckComplexPat, /*CP*/46, /*#*/1, // SelectSVELogicalImm<MVT::i64>:$ #2
/*225309*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZI), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (xor:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVELogicalImm64Pat:{ *:[i64] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                  // Dst: (EOR_ZI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i64:{ *:[i64] }:$imm)
/*225317*/      0, /*End of Scope*/
/*225318*/    /*Scope*/ 79, /*->225398*/
/*225319*/      OPC_MoveChild0,
/*225320*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*225323*/      OPC_RecordChild0, // #0 = $SVELogicalImm8Pat:imm
/*225324*/      OPC_Scope, 51, /*->225377*/ // 2 children in Scope
/*225326*/        OPC_CheckChild0Type, MVT::i32,
/*225328*/        OPC_MoveParent,
/*225329*/        OPC_RecordChild1, // #1 = $Op1
/*225330*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->225346
/*225333*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225335*/          OPC_CheckComplexPat, /*CP*/43, /*#*/0, // SelectSVELogicalImm<MVT::i8>:$ #2
/*225338*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZI), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 1, 2, 
                    // Src: (xor:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVELogicalImm8Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 12
                    // Dst: (EOR_ZI:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i64:{ *:[i64] }:$imm)
/*225346*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->225361
/*225348*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225350*/          OPC_CheckComplexPat, /*CP*/44, /*#*/0, // SelectSVELogicalImm<MVT::i16>:$ #2
/*225353*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZI), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 1, 2, 
                    // Src: (xor:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVELogicalImm16Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 12
                    // Dst: (EOR_ZI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i64:{ *:[i64] }:$imm)
/*225361*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->225376
/*225363*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225365*/          OPC_CheckComplexPat, /*CP*/45, /*#*/0, // SelectSVELogicalImm<MVT::i32>:$ #2
/*225368*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZI), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 1, 2, 
                    // Src: (xor:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVELogicalImm32Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 12
                    // Dst: (EOR_ZI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i64:{ *:[i64] }:$imm)
/*225376*/        0, // EndSwitchType
/*225377*/      /*Scope*/ 19, /*->225397*/
/*225378*/        OPC_CheckChild0Type, MVT::i64,
/*225380*/        OPC_MoveParent,
/*225381*/        OPC_RecordChild1, // #1 = $Op1
/*225382*/        OPC_CheckType, MVT::nxv2i64,
/*225384*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225386*/        OPC_CheckComplexPat, /*CP*/46, /*#*/0, // SelectSVELogicalImm<MVT::i64>:$ #2
/*225389*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZI), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 1, 2, 
                  // Src: (xor:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVELogicalImm64Pat:{ *:[i64] } i64:{ *:[i64] }:$imm)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 12
                  // Dst: (EOR_ZI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i64:{ *:[i64] }:$imm)
/*225397*/      0, /*End of Scope*/
/*225398*/    /*Scope*/ 73, /*->225472*/
/*225399*/      OPC_RecordChild0, // #0 = $Rn
/*225400*/      OPC_MoveChild1,
/*225401*/      OPC_CheckImmAllOnesV,
/*225402*/      OPC_MoveParent,
/*225403*/      OPC_SwitchType /*7 cases */, 9, MVT::v8i8,// ->225415
/*225406*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225408*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, immAllOnesV:{ *:[v8i8] }) - Complexity = 7
                  // Dst: (NOTv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*225415*/      /*SwitchType*/ 9, MVT::v16i8,// ->225426
/*225417*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225419*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, immAllOnesV:{ *:[v16i8] }) - Complexity = 7
                  // Dst: (NOTv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*225426*/      /*SwitchType*/ 7, MVT::v4i16,// ->225435
/*225428*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, immAllOnesV:{ *:[v4i16] }) - Complexity = 7
                  // Dst: (NOTv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*225435*/      /*SwitchType*/ 7, MVT::v8i16,// ->225444
/*225437*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, immAllOnesV:{ *:[v8i16] }) - Complexity = 7
                  // Dst: (NOTv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*225444*/      /*SwitchType*/ 7, MVT::v2i32,// ->225453
/*225446*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, immAllOnesV:{ *:[v2i32] }) - Complexity = 7
                  // Dst: (NOTv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*225453*/      /*SwitchType*/ 7, MVT::v4i32,// ->225462
/*225455*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, immAllOnesV:{ *:[v4i32] }) - Complexity = 7
                  // Dst: (NOTv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*225462*/      /*SwitchType*/ 7, MVT::v2i64,// ->225471
/*225464*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, immAllOnesV:{ *:[v2i64] }) - Complexity = 7
                  // Dst: (NOTv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*225471*/      0, // EndSwitchType
/*225472*/    /*Scope*/ 73, /*->225546*/
/*225473*/      OPC_MoveChild0,
/*225474*/      OPC_CheckImmAllOnesV,
/*225475*/      OPC_MoveParent,
/*225476*/      OPC_RecordChild1, // #0 = $Rn
/*225477*/      OPC_SwitchType /*7 cases */, 9, MVT::v8i8,// ->225489
/*225480*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225482*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rn) - Complexity = 7
                  // Dst: (NOTv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*225489*/      /*SwitchType*/ 9, MVT::v16i8,// ->225500
/*225491*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225493*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rn) - Complexity = 7
                  // Dst: (NOTv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*225500*/      /*SwitchType*/ 7, MVT::v4i16,// ->225509
/*225502*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$Rn) - Complexity = 7
                  // Dst: (NOTv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*225509*/      /*SwitchType*/ 7, MVT::v8i16,// ->225518
/*225511*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$Rn) - Complexity = 7
                  // Dst: (NOTv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*225518*/      /*SwitchType*/ 7, MVT::v2i32,// ->225527
/*225520*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$Rn) - Complexity = 7
                  // Dst: (NOTv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*225527*/      /*SwitchType*/ 7, MVT::v4i32,// ->225536
/*225529*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$Rn) - Complexity = 7
                  // Dst: (NOTv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*225536*/      /*SwitchType*/ 7, MVT::v2i64,// ->225545
/*225538*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$Rn) - Complexity = 7
                  // Dst: (NOTv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*225545*/      0, // EndSwitchType
/*225546*/    /*Scope*/ 20|128,1/*148*/, /*->225696*/
/*225548*/      OPC_RecordChild0, // #0 = $Rn
/*225549*/      OPC_RecordChild1, // #1 = $Rm
/*225550*/      OPC_SwitchType /*12 cases */, 10, MVT::v8i8,// ->225563
/*225553*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225555*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (EORv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*225563*/      /*SwitchType*/ 10, MVT::v16i8,// ->225575
/*225565*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225567*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (EORv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*225575*/      /*SwitchType*/ 10, MVT::v4i16,// ->225587
/*225577*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225579*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORv8i8), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS) - Complexity = 3
                  // Dst: (EORv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*225587*/      /*SwitchType*/ 10, MVT::v2i32,// ->225599
/*225589*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225591*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORv8i8), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS) - Complexity = 3
                  // Dst: (EORv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*225599*/      /*SwitchType*/ 10, MVT::v1i64,// ->225611
/*225601*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225603*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORv8i8), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS) - Complexity = 3
                  // Dst: (EORv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*225611*/      /*SwitchType*/ 10, MVT::v8i16,// ->225623
/*225613*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225615*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORv16i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS) - Complexity = 3
                  // Dst: (EORv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*225623*/      /*SwitchType*/ 10, MVT::v4i32,// ->225635
/*225625*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225627*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORv16i8), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS) - Complexity = 3
                  // Dst: (EORv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*225635*/      /*SwitchType*/ 10, MVT::v2i64,// ->225647
/*225637*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*225639*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EORv16i8), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS) - Complexity = 3
                  // Dst: (EORv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*225647*/      /*SwitchType*/ 10, MVT::nxv16i8,// ->225659
/*225649*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225651*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZZZ), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                  // Dst: (EOR_ZZZ:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*225659*/      /*SwitchType*/ 10, MVT::nxv8i16,// ->225671
/*225661*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225663*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZZZ), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (EOR_ZZZ:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*225671*/      /*SwitchType*/ 10, MVT::nxv4i32,// ->225683
/*225673*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225675*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZZZ), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (EOR_ZZZ:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*225683*/      /*SwitchType*/ 10, MVT::nxv2i64,// ->225695
/*225685*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*225687*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EOR_ZZZ), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (xor:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (EOR_ZZZ:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*225695*/      0, // EndSwitchType
/*225696*/    0, /*End of Scope*/
/*225697*/  /*SwitchOpcode*/ 31|128,36/*4639*/, TARGET_VAL(ISD::OR),// ->230340
/*225701*/    OPC_Scope, 48, /*->225751*/ // 25 children in Scope
/*225703*/      OPC_RecordChild0, // #0 = $Rn
/*225704*/      OPC_MoveChild1,
/*225705*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*225708*/      OPC_RecordChild0, // #1 = $Rm
/*225709*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*225720*/      OPC_MoveParent,
/*225721*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->225736
/*225724*/        OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*225727*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNWrs), 0,
                      MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (or:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 20
                  // Dst: (ORNWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*225736*/      /*SwitchType*/ 12, MVT::i64,// ->225750
/*225738*/        OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*225741*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNXrs), 0,
                      MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (or:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, -1:{ *:[i64] })) - Complexity = 20
                  // Dst: (ORNXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*225750*/      0, // EndSwitchType
/*225751*/    /*Scope*/ 48, /*->225800*/
/*225752*/      OPC_MoveChild0,
/*225753*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*225756*/      OPC_RecordChild0, // #0 = $Rm
/*225757*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*225768*/      OPC_MoveParent,
/*225769*/      OPC_RecordChild1, // #1 = $Rn
/*225770*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->225785
/*225773*/        OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*225776*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNWrs), 0,
                      MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (or:{ *:[i32] } (xor:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn) - Complexity = 20
                  // Dst: (ORNWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*225785*/      /*SwitchType*/ 12, MVT::i64,// ->225799
/*225787*/        OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*225790*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNXrs), 0,
                      MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (or:{ *:[i64] } (xor:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn) - Complexity = 20
                  // Dst: (ORNXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*225799*/      0, // EndSwitchType
/*225800*/    /*Scope*/ 26|128,1/*154*/, /*->225956*/
/*225802*/      OPC_RecordChild0, // #0 = $Rn
/*225803*/      OPC_Scope, 110, /*->225915*/ // 2 children in Scope
/*225805*/        OPC_RecordChild1, // #1 = $imm
/*225806*/        OPC_Scope, 44, /*->225852*/ // 3 children in Scope
/*225808*/          OPC_MoveChild1,
/*225809*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*225812*/          OPC_Scope, 18, /*->225832*/ // 2 children in Scope
/*225814*/            OPC_CheckPredicate, 46, // Predicate_logical_imm32
/*225816*/            OPC_MoveParent,
/*225817*/            OPC_CheckType, MVT::i32,
/*225819*/            OPC_EmitConvertToTarget, 1,
/*225821*/            OPC_EmitNodeXForm, 3, 2, // logical_imm32_XFORM
/*225824*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRWri), 0,
                          MVT::i32, 2/*#Ops*/, 0, 3, 
                      // Src: (or:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_logical_imm32>><<X:logical_imm32_XFORM>>:$imm) - Complexity = 13
                      // Dst: (ORRWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (logical_imm32_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$imm))
/*225832*/          /*Scope*/ 18, /*->225851*/
/*225833*/            OPC_CheckPredicate, 47, // Predicate_logical_imm64
/*225835*/            OPC_MoveParent,
/*225836*/            OPC_CheckType, MVT::i64,
/*225838*/            OPC_EmitConvertToTarget, 1,
/*225840*/            OPC_EmitNodeXForm, 4, 2, // logical_imm64_XFORM
/*225843*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRXri), 0,
                          MVT::i64, 2/*#Ops*/, 0, 3, 
                      // Src: (or:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_logical_imm64>><<X:logical_imm64_XFORM>>:$imm) - Complexity = 13
                      // Dst: (ORRXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (logical_imm64_XFORM:{ *:[i64] } (imm:{ *:[i64] }):$imm))
/*225851*/          0, /*End of Scope*/
/*225852*/        /*Scope*/ 30, /*->225883*/
/*225853*/          OPC_CheckType, MVT::i32,
/*225855*/          OPC_Scope, 12, /*->225869*/ // 2 children in Scope
/*225857*/            OPC_CheckComplexPat, /*CP*/41, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*225860*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRWrs), 0,
                          MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (or:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 12
                      // Dst: (ORRWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*225869*/          /*Scope*/ 12, /*->225882*/
/*225870*/            OPC_CheckComplexPat, /*CP*/41, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*225873*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRWrs), 0,
                          MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (or:{ *:[i32] } logical_shifted_reg32:{ *:[i32] }:$Rm, GPR32:{ *:[i32] }:$Rn) - Complexity = 12
                      // Dst: (ORRWrs:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, logical_shifted_reg32:{ *:[i32] }:$Rm)
/*225882*/          0, /*End of Scope*/
/*225883*/        /*Scope*/ 30, /*->225914*/
/*225884*/          OPC_CheckType, MVT::i64,
/*225886*/          OPC_Scope, 12, /*->225900*/ // 2 children in Scope
/*225888*/            OPC_CheckComplexPat, /*CP*/42, /*#*/1, // SelectLogicalShiftedRegister:$Rm #2 #3
/*225891*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRXrs), 0,
                          MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                      // Src: (or:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 12
                      // Dst: (ORRXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*225900*/          /*Scope*/ 12, /*->225913*/
/*225901*/            OPC_CheckComplexPat, /*CP*/42, /*#*/0, // SelectLogicalShiftedRegister:$Rm #2 #3
/*225904*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRXrs), 0,
                          MVT::i64, 3/*#Ops*/, 1, 2, 3, 
                      // Src: (or:{ *:[i64] } logical_shifted_reg64:{ *:[i64] }:$Rm, GPR64:{ *:[i64] }:$Rn) - Complexity = 12
                      // Dst: (ORRXrs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, logical_shifted_reg64:{ *:[i64] }:$Rm)
/*225913*/          0, /*End of Scope*/
/*225914*/        0, /*End of Scope*/
/*225915*/      /*Scope*/ 39, /*->225955*/
/*225916*/        OPC_MoveChild1,
/*225917*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*225920*/        OPC_RecordChild0, // #1 = $Rm
/*225921*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*225932*/        OPC_MoveParent,
/*225933*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->225944
/*225936*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, -1:{ *:[i32] })) - Complexity = 11
                    // Dst: (ORNWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*225944*/        /*SwitchType*/ 8, MVT::i64,// ->225954
/*225946*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNXrr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, -1:{ *:[i64] })) - Complexity = 11
                    // Dst: (ORNXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*225954*/        0, // EndSwitchType
/*225955*/      0, /*End of Scope*/
/*225956*/    /*Scope*/ 40, /*->225997*/
/*225957*/      OPC_MoveChild0,
/*225958*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*225961*/      OPC_RecordChild0, // #0 = $Rm
/*225962*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*225973*/      OPC_MoveParent,
/*225974*/      OPC_RecordChild1, // #1 = $Rn
/*225975*/      OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->225986
/*225978*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNWrr), 0,
                      MVT::i32, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn) - Complexity = 11
                  // Dst: (ORNWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*225986*/      /*SwitchType*/ 8, MVT::i64,// ->225996
/*225988*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNXrr), 0,
                      MVT::i64, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[i64] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn) - Complexity = 11
                  // Dst: (ORNXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*225996*/      0, // EndSwitchType
/*225997*/    /*Scope*/ 24, /*->226022*/
/*225998*/      OPC_RecordChild0, // #0 = $Rn
/*225999*/      OPC_RecordChild1, // #1 = $Rm
/*226000*/      OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->226011
/*226003*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRWrr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                  // Dst: (ORRWrr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*226011*/      /*SwitchType*/ 8, MVT::i64,// ->226021
/*226013*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRXrr), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                  // Dst: (ORRXrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*226021*/      0, // EndSwitchType
/*226022*/    /*Scope*/ 26|128,26/*3354*/, /*->229378*/
/*226024*/      OPC_MoveChild0,
/*226025*/      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226028*/      OPC_Scope, 49|128,2/*305*/, /*->226336*/ // 17 children in Scope
/*226031*/        OPC_RecordChild0, // #0 = $Rd
/*226032*/        OPC_RecordChild1, // #1 = $Rn
/*226033*/        OPC_MoveParent,
/*226034*/        OPC_MoveChild1,
/*226035*/        OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226038*/        OPC_Scope, 15|128,1/*143*/, /*->226184*/ // 4 children in Scope
/*226041*/          OPC_MoveChild0,
/*226042*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226045*/          OPC_Scope, 114, /*->226161*/ // 2 children in Scope
/*226047*/            OPC_CheckChild0Same, 0,
/*226049*/            OPC_MoveChild1,
/*226050*/            OPC_CheckImmAllOnesV,
/*226051*/            OPC_MoveParent,
/*226052*/            OPC_MoveParent,
/*226053*/            OPC_RecordChild1, // #2 = $Rm
/*226054*/            OPC_MoveParent,
/*226055*/            OPC_SwitchType /*8 cases */, 11, MVT::v8i8,// ->226069
/*226058*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226060*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn), (and:{ *:[v8i8] } (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, immAllOnesV:{ *:[v8i8] }), V64:{ *:[v8i8] }:$Rm)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226069*/            /*SwitchType*/ 11, MVT::v16i8,// ->226082
/*226071*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226073*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$Rm)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226082*/            /*SwitchType*/ 11, MVT::v4i16,// ->226095
/*226084*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226086*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS), (and:{ *:[v4i16] } (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, immAllOnesV:{ *:[v4i16] }), V64:{ *:[v4i16] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*226095*/            /*SwitchType*/ 11, MVT::v2i32,// ->226108
/*226097*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226099*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS), (and:{ *:[v2i32] } (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, immAllOnesV:{ *:[v2i32] }), V64:{ *:[v2i32] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*226108*/            /*SwitchType*/ 11, MVT::v1i64,// ->226121
/*226110*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226112*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS), (and:{ *:[v1i64] } (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, immAllOnesV:{ *:[v1i64] }), V64:{ *:[v1i64] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*226121*/            /*SwitchType*/ 11, MVT::v8i16,// ->226134
/*226123*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226125*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*226134*/            /*SwitchType*/ 11, MVT::v4i32,// ->226147
/*226136*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226138*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*226147*/            /*SwitchType*/ 11, MVT::v2i64,// ->226160
/*226149*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226151*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*226160*/            0, // EndSwitchType
/*226161*/          /*Scope*/ 21, /*->226183*/
/*226162*/            OPC_MoveChild0,
/*226163*/            OPC_CheckImmAllOnesV,
/*226164*/            OPC_MoveParent,
/*226165*/            OPC_CheckChild1Same, 0,
/*226167*/            OPC_MoveParent,
/*226168*/            OPC_RecordChild1, // #2 = $Rm
/*226169*/            OPC_MoveParent,
/*226170*/            OPC_CheckType, MVT::v8i8,
/*226172*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226174*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn), (and:{ *:[v8i8] } (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rd), V64:{ *:[v8i8] }:$Rm)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226183*/          0, /*End of Scope*/
/*226184*/        /*Scope*/ 49, /*->226234*/
/*226185*/          OPC_RecordChild0, // #2 = $Rm
/*226186*/          OPC_MoveChild1,
/*226187*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226190*/          OPC_Scope, 20, /*->226212*/ // 2 children in Scope
/*226192*/            OPC_CheckChild0Same, 0,
/*226194*/            OPC_MoveChild1,
/*226195*/            OPC_CheckImmAllOnesV,
/*226196*/            OPC_MoveParent,
/*226197*/            OPC_MoveParent,
/*226198*/            OPC_MoveParent,
/*226199*/            OPC_CheckType, MVT::v8i8,
/*226201*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226203*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, immAllOnesV:{ *:[v8i8] }))) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226212*/          /*Scope*/ 20, /*->226233*/
/*226213*/            OPC_MoveChild0,
/*226214*/            OPC_CheckImmAllOnesV,
/*226215*/            OPC_MoveParent,
/*226216*/            OPC_CheckChild1Same, 0,
/*226218*/            OPC_MoveParent,
/*226219*/            OPC_MoveParent,
/*226220*/            OPC_CheckType, MVT::v8i8,
/*226222*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226224*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rd))) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226233*/          0, /*End of Scope*/
/*226234*/        /*Scope*/ 50, /*->226285*/
/*226235*/          OPC_MoveChild0,
/*226236*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226239*/          OPC_Scope, 21, /*->226262*/ // 2 children in Scope
/*226241*/            OPC_CheckChild0Same, 1,
/*226243*/            OPC_MoveChild1,
/*226244*/            OPC_CheckImmAllOnesV,
/*226245*/            OPC_MoveParent,
/*226246*/            OPC_MoveParent,
/*226247*/            OPC_RecordChild1, // #2 = $Rm
/*226248*/            OPC_MoveParent,
/*226249*/            OPC_CheckType, MVT::v8i8,
/*226251*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226253*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 0, 2, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rd), (and:{ *:[v8i8] } (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, immAllOnesV:{ *:[v8i8] }), V64:{ *:[v8i8] }:$Rm)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226262*/          /*Scope*/ 21, /*->226284*/
/*226263*/            OPC_MoveChild0,
/*226264*/            OPC_CheckImmAllOnesV,
/*226265*/            OPC_MoveParent,
/*226266*/            OPC_CheckChild1Same, 1,
/*226268*/            OPC_MoveParent,
/*226269*/            OPC_RecordChild1, // #2 = $Rm
/*226270*/            OPC_MoveParent,
/*226271*/            OPC_CheckType, MVT::v8i8,
/*226273*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226275*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 0, 2, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rd), (and:{ *:[v8i8] } (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rd), V64:{ *:[v8i8] }:$Rm)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226284*/          0, /*End of Scope*/
/*226285*/        /*Scope*/ 49, /*->226335*/
/*226286*/          OPC_RecordChild0, // #2 = $Rm
/*226287*/          OPC_MoveChild1,
/*226288*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226291*/          OPC_Scope, 20, /*->226313*/ // 2 children in Scope
/*226293*/            OPC_CheckChild0Same, 1,
/*226295*/            OPC_MoveChild1,
/*226296*/            OPC_CheckImmAllOnesV,
/*226297*/            OPC_MoveParent,
/*226298*/            OPC_MoveParent,
/*226299*/            OPC_MoveParent,
/*226300*/            OPC_CheckType, MVT::v8i8,
/*226302*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226304*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 0, 2, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rd), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, immAllOnesV:{ *:[v8i8] }))) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226313*/          /*Scope*/ 20, /*->226334*/
/*226314*/            OPC_MoveChild0,
/*226315*/            OPC_CheckImmAllOnesV,
/*226316*/            OPC_MoveParent,
/*226317*/            OPC_CheckChild1Same, 1,
/*226319*/            OPC_MoveParent,
/*226320*/            OPC_MoveParent,
/*226321*/            OPC_CheckType, MVT::v8i8,
/*226323*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226325*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 1, 0, 2, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rd), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rd))) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226334*/          0, /*End of Scope*/
/*226335*/        0, /*End of Scope*/
/*226336*/      /*Scope*/ 106, /*->226443*/
/*226337*/        OPC_MoveChild0,
/*226338*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226341*/        OPC_Scope, 49, /*->226392*/ // 2 children in Scope
/*226343*/          OPC_RecordChild0, // #0 = $Rd
/*226344*/          OPC_MoveChild1,
/*226345*/          OPC_CheckImmAllOnesV,
/*226346*/          OPC_MoveParent,
/*226347*/          OPC_MoveParent,
/*226348*/          OPC_RecordChild1, // #1 = $Rm
/*226349*/          OPC_MoveParent,
/*226350*/          OPC_MoveChild1,
/*226351*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226354*/          OPC_Scope, 17, /*->226373*/ // 2 children in Scope
/*226356*/            OPC_CheckChild0Same, 0,
/*226358*/            OPC_RecordChild1, // #2 = $Rn
/*226359*/            OPC_MoveParent,
/*226360*/            OPC_CheckType, MVT::v8i8,
/*226362*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226364*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, immAllOnesV:{ *:[v8i8] }), V64:{ *:[v8i8] }:$Rm), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226373*/          /*Scope*/ 17, /*->226391*/
/*226374*/            OPC_RecordChild0, // #2 = $Rn
/*226375*/            OPC_CheckChild1Same, 0,
/*226377*/            OPC_MoveParent,
/*226378*/            OPC_CheckType, MVT::v8i8,
/*226380*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226382*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, immAllOnesV:{ *:[v8i8] }), V64:{ *:[v8i8] }:$Rm), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rd)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226391*/          0, /*End of Scope*/
/*226392*/        /*Scope*/ 49, /*->226442*/
/*226393*/          OPC_MoveChild0,
/*226394*/          OPC_CheckImmAllOnesV,
/*226395*/          OPC_MoveParent,
/*226396*/          OPC_RecordChild1, // #0 = $Rd
/*226397*/          OPC_MoveParent,
/*226398*/          OPC_RecordChild1, // #1 = $Rm
/*226399*/          OPC_MoveParent,
/*226400*/          OPC_MoveChild1,
/*226401*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226404*/          OPC_Scope, 17, /*->226423*/ // 2 children in Scope
/*226406*/            OPC_CheckChild0Same, 0,
/*226408*/            OPC_RecordChild1, // #2 = $Rn
/*226409*/            OPC_MoveParent,
/*226410*/            OPC_CheckType, MVT::v8i8,
/*226412*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226414*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rd), V64:{ *:[v8i8] }:$Rm), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226423*/          /*Scope*/ 17, /*->226441*/
/*226424*/            OPC_RecordChild0, // #2 = $Rn
/*226425*/            OPC_CheckChild1Same, 0,
/*226427*/            OPC_MoveParent,
/*226428*/            OPC_CheckType, MVT::v8i8,
/*226430*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226432*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rd), V64:{ *:[v8i8] }:$Rm), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rd)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226441*/          0, /*End of Scope*/
/*226442*/        0, /*End of Scope*/
/*226443*/      /*Scope*/ 39|128,2/*295*/, /*->226740*/
/*226445*/        OPC_RecordChild0, // #0 = $Rm
/*226446*/        OPC_Scope, 104, /*->226552*/ // 2 children in Scope
/*226448*/          OPC_MoveChild1,
/*226449*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226452*/          OPC_Scope, 48, /*->226502*/ // 2 children in Scope
/*226454*/            OPC_RecordChild0, // #1 = $Rd
/*226455*/            OPC_MoveChild1,
/*226456*/            OPC_CheckImmAllOnesV,
/*226457*/            OPC_MoveParent,
/*226458*/            OPC_MoveParent,
/*226459*/            OPC_MoveParent,
/*226460*/            OPC_MoveChild1,
/*226461*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226464*/            OPC_Scope, 17, /*->226483*/ // 2 children in Scope
/*226466*/              OPC_CheckChild0Same, 1,
/*226468*/              OPC_RecordChild1, // #2 = $Rn
/*226469*/              OPC_MoveParent,
/*226470*/              OPC_CheckType, MVT::v8i8,
/*226472*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226474*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v8i8, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, immAllOnesV:{ *:[v8i8] })), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226483*/            /*Scope*/ 17, /*->226501*/
/*226484*/              OPC_RecordChild0, // #2 = $Rn
/*226485*/              OPC_CheckChild1Same, 1,
/*226487*/              OPC_MoveParent,
/*226488*/              OPC_CheckType, MVT::v8i8,
/*226490*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226492*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v8i8, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, immAllOnesV:{ *:[v8i8] })), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rd)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226501*/            0, /*End of Scope*/
/*226502*/          /*Scope*/ 48, /*->226551*/
/*226503*/            OPC_MoveChild0,
/*226504*/            OPC_CheckImmAllOnesV,
/*226505*/            OPC_MoveParent,
/*226506*/            OPC_RecordChild1, // #1 = $Rd
/*226507*/            OPC_MoveParent,
/*226508*/            OPC_MoveParent,
/*226509*/            OPC_MoveChild1,
/*226510*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226513*/            OPC_Scope, 17, /*->226532*/ // 2 children in Scope
/*226515*/              OPC_CheckChild0Same, 1,
/*226517*/              OPC_RecordChild1, // #2 = $Rn
/*226518*/              OPC_MoveParent,
/*226519*/              OPC_CheckType, MVT::v8i8,
/*226521*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226523*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v8i8, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rd)), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226532*/            /*Scope*/ 17, /*->226550*/
/*226533*/              OPC_RecordChild0, // #2 = $Rn
/*226534*/              OPC_CheckChild1Same, 1,
/*226536*/              OPC_MoveParent,
/*226537*/              OPC_CheckType, MVT::v8i8,
/*226539*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226541*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v8i8, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rd)), (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rd)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*226550*/            0, /*End of Scope*/
/*226551*/          0, /*End of Scope*/
/*226552*/        /*Scope*/ 57|128,1/*185*/, /*->226739*/
/*226554*/          OPC_RecordChild1, // #1 = $Rn
/*226555*/          OPC_MoveParent,
/*226556*/          OPC_MoveChild1,
/*226557*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226560*/          OPC_Scope, 25, /*->226587*/ // 4 children in Scope
/*226562*/            OPC_MoveChild0,
/*226563*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226566*/            OPC_MoveChild0,
/*226567*/            OPC_CheckImmAllOnesV,
/*226568*/            OPC_MoveParent,
/*226569*/            OPC_CheckChild1Same, 0,
/*226571*/            OPC_MoveParent,
/*226572*/            OPC_RecordChild1, // #2 = $Rm
/*226573*/            OPC_MoveParent,
/*226574*/            OPC_CheckType, MVT::v16i8,
/*226576*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226578*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rd), V128:{ *:[v16i8] }:$Rm)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226587*/          /*Scope*/ 49, /*->226637*/
/*226588*/            OPC_RecordChild0, // #2 = $Rm
/*226589*/            OPC_MoveChild1,
/*226590*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226593*/            OPC_Scope, 20, /*->226615*/ // 2 children in Scope
/*226595*/              OPC_CheckChild0Same, 0,
/*226597*/              OPC_MoveChild1,
/*226598*/              OPC_CheckImmAllOnesV,
/*226599*/              OPC_MoveParent,
/*226600*/              OPC_MoveParent,
/*226601*/              OPC_MoveParent,
/*226602*/              OPC_CheckType, MVT::v16i8,
/*226604*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226606*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, immAllOnesV:{ *:[v16i8] }))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226615*/            /*Scope*/ 20, /*->226636*/
/*226616*/              OPC_MoveChild0,
/*226617*/              OPC_CheckImmAllOnesV,
/*226618*/              OPC_MoveParent,
/*226619*/              OPC_CheckChild1Same, 0,
/*226621*/              OPC_MoveParent,
/*226622*/              OPC_MoveParent,
/*226623*/              OPC_CheckType, MVT::v16i8,
/*226625*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226627*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rd))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226636*/            0, /*End of Scope*/
/*226637*/          /*Scope*/ 50, /*->226688*/
/*226638*/            OPC_MoveChild0,
/*226639*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226642*/            OPC_Scope, 21, /*->226665*/ // 2 children in Scope
/*226644*/              OPC_CheckChild0Same, 1,
/*226646*/              OPC_MoveChild1,
/*226647*/              OPC_CheckImmAllOnesV,
/*226648*/              OPC_MoveParent,
/*226649*/              OPC_MoveParent,
/*226650*/              OPC_RecordChild1, // #2 = $Rm
/*226651*/              OPC_MoveParent,
/*226652*/              OPC_CheckType, MVT::v16i8,
/*226654*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226656*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rd), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$Rm)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226665*/            /*Scope*/ 21, /*->226687*/
/*226666*/              OPC_MoveChild0,
/*226667*/              OPC_CheckImmAllOnesV,
/*226668*/              OPC_MoveParent,
/*226669*/              OPC_CheckChild1Same, 1,
/*226671*/              OPC_MoveParent,
/*226672*/              OPC_RecordChild1, // #2 = $Rm
/*226673*/              OPC_MoveParent,
/*226674*/              OPC_CheckType, MVT::v16i8,
/*226676*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226678*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rd), (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rd), V128:{ *:[v16i8] }:$Rm)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226687*/            0, /*End of Scope*/
/*226688*/          /*Scope*/ 49, /*->226738*/
/*226689*/            OPC_RecordChild0, // #2 = $Rm
/*226690*/            OPC_MoveChild1,
/*226691*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226694*/            OPC_Scope, 20, /*->226716*/ // 2 children in Scope
/*226696*/              OPC_CheckChild0Same, 1,
/*226698*/              OPC_MoveChild1,
/*226699*/              OPC_CheckImmAllOnesV,
/*226700*/              OPC_MoveParent,
/*226701*/              OPC_MoveParent,
/*226702*/              OPC_MoveParent,
/*226703*/              OPC_CheckType, MVT::v16i8,
/*226705*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226707*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rd), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, immAllOnesV:{ *:[v16i8] }))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226716*/            /*Scope*/ 20, /*->226737*/
/*226717*/              OPC_MoveChild0,
/*226718*/              OPC_CheckImmAllOnesV,
/*226719*/              OPC_MoveParent,
/*226720*/              OPC_CheckChild1Same, 1,
/*226722*/              OPC_MoveParent,
/*226723*/              OPC_MoveParent,
/*226724*/              OPC_CheckType, MVT::v16i8,
/*226726*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226728*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rd), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rd))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226737*/            0, /*End of Scope*/
/*226738*/          0, /*End of Scope*/
/*226739*/        0, /*End of Scope*/
/*226740*/      /*Scope*/ 106, /*->226847*/
/*226741*/        OPC_MoveChild0,
/*226742*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226745*/        OPC_Scope, 49, /*->226796*/ // 2 children in Scope
/*226747*/          OPC_RecordChild0, // #0 = $Rd
/*226748*/          OPC_MoveChild1,
/*226749*/          OPC_CheckImmAllOnesV,
/*226750*/          OPC_MoveParent,
/*226751*/          OPC_MoveParent,
/*226752*/          OPC_RecordChild1, // #1 = $Rm
/*226753*/          OPC_MoveParent,
/*226754*/          OPC_MoveChild1,
/*226755*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226758*/          OPC_Scope, 17, /*->226777*/ // 2 children in Scope
/*226760*/            OPC_CheckChild0Same, 0,
/*226762*/            OPC_RecordChild1, // #2 = $Rn
/*226763*/            OPC_MoveParent,
/*226764*/            OPC_CheckType, MVT::v16i8,
/*226766*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226768*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$Rm), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226777*/          /*Scope*/ 17, /*->226795*/
/*226778*/            OPC_RecordChild0, // #2 = $Rn
/*226779*/            OPC_CheckChild1Same, 0,
/*226781*/            OPC_MoveParent,
/*226782*/            OPC_CheckType, MVT::v16i8,
/*226784*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226786*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$Rm), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rd)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226795*/          0, /*End of Scope*/
/*226796*/        /*Scope*/ 49, /*->226846*/
/*226797*/          OPC_MoveChild0,
/*226798*/          OPC_CheckImmAllOnesV,
/*226799*/          OPC_MoveParent,
/*226800*/          OPC_RecordChild1, // #0 = $Rd
/*226801*/          OPC_MoveParent,
/*226802*/          OPC_RecordChild1, // #1 = $Rm
/*226803*/          OPC_MoveParent,
/*226804*/          OPC_MoveChild1,
/*226805*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226808*/          OPC_Scope, 17, /*->226827*/ // 2 children in Scope
/*226810*/            OPC_CheckChild0Same, 0,
/*226812*/            OPC_RecordChild1, // #2 = $Rn
/*226813*/            OPC_MoveParent,
/*226814*/            OPC_CheckType, MVT::v16i8,
/*226816*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226818*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rd), V128:{ *:[v16i8] }:$Rm), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226827*/          /*Scope*/ 17, /*->226845*/
/*226828*/            OPC_RecordChild0, // #2 = $Rn
/*226829*/            OPC_CheckChild1Same, 0,
/*226831*/            OPC_MoveParent,
/*226832*/            OPC_CheckType, MVT::v16i8,
/*226834*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226836*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rd), V128:{ *:[v16i8] }:$Rm), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rd)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226845*/          0, /*End of Scope*/
/*226846*/        0, /*End of Scope*/
/*226847*/      /*Scope*/ 39|128,2/*295*/, /*->227144*/
/*226849*/        OPC_RecordChild0, // #0 = $Rm
/*226850*/        OPC_Scope, 104, /*->226956*/ // 2 children in Scope
/*226852*/          OPC_MoveChild1,
/*226853*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226856*/          OPC_Scope, 48, /*->226906*/ // 2 children in Scope
/*226858*/            OPC_RecordChild0, // #1 = $Rd
/*226859*/            OPC_MoveChild1,
/*226860*/            OPC_CheckImmAllOnesV,
/*226861*/            OPC_MoveParent,
/*226862*/            OPC_MoveParent,
/*226863*/            OPC_MoveParent,
/*226864*/            OPC_MoveChild1,
/*226865*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226868*/            OPC_Scope, 17, /*->226887*/ // 2 children in Scope
/*226870*/              OPC_CheckChild0Same, 1,
/*226872*/              OPC_RecordChild1, // #2 = $Rn
/*226873*/              OPC_MoveParent,
/*226874*/              OPC_CheckType, MVT::v16i8,
/*226876*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226878*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, immAllOnesV:{ *:[v16i8] })), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226887*/            /*Scope*/ 17, /*->226905*/
/*226888*/              OPC_RecordChild0, // #2 = $Rn
/*226889*/              OPC_CheckChild1Same, 1,
/*226891*/              OPC_MoveParent,
/*226892*/              OPC_CheckType, MVT::v16i8,
/*226894*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226896*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, immAllOnesV:{ *:[v16i8] })), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rd)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226905*/            0, /*End of Scope*/
/*226906*/          /*Scope*/ 48, /*->226955*/
/*226907*/            OPC_MoveChild0,
/*226908*/            OPC_CheckImmAllOnesV,
/*226909*/            OPC_MoveParent,
/*226910*/            OPC_RecordChild1, // #1 = $Rd
/*226911*/            OPC_MoveParent,
/*226912*/            OPC_MoveParent,
/*226913*/            OPC_MoveChild1,
/*226914*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226917*/            OPC_Scope, 17, /*->226936*/ // 2 children in Scope
/*226919*/              OPC_CheckChild0Same, 1,
/*226921*/              OPC_RecordChild1, // #2 = $Rn
/*226922*/              OPC_MoveParent,
/*226923*/              OPC_CheckType, MVT::v16i8,
/*226925*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226927*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rd)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226936*/            /*Scope*/ 17, /*->226954*/
/*226937*/              OPC_RecordChild0, // #2 = $Rn
/*226938*/              OPC_CheckChild1Same, 1,
/*226940*/              OPC_MoveParent,
/*226941*/              OPC_CheckType, MVT::v16i8,
/*226943*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226945*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v16i8, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rd)), (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rd)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*226954*/            0, /*End of Scope*/
/*226955*/          0, /*End of Scope*/
/*226956*/        /*Scope*/ 57|128,1/*185*/, /*->227143*/
/*226958*/          OPC_RecordChild1, // #1 = $MHS
/*226959*/          OPC_MoveParent,
/*226960*/          OPC_MoveChild1,
/*226961*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*226964*/          OPC_Scope, 25, /*->226991*/ // 4 children in Scope
/*226966*/            OPC_MoveChild0,
/*226967*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226970*/            OPC_MoveChild0,
/*226971*/            OPC_CheckImmAllOnesV,
/*226972*/            OPC_MoveParent,
/*226973*/            OPC_CheckChild1Same, 0,
/*226975*/            OPC_MoveParent,
/*226976*/            OPC_RecordChild1, // #2 = $RHS
/*226977*/            OPC_MoveParent,
/*226978*/            OPC_CheckType, MVT::v4i16,
/*226980*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*226982*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS), (and:{ *:[v4i16] } (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$LHS), V64:{ *:[v4i16] }:$RHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*226991*/          /*Scope*/ 49, /*->227041*/
/*226992*/            OPC_RecordChild0, // #2 = $RHS
/*226993*/            OPC_MoveChild1,
/*226994*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*226997*/            OPC_Scope, 20, /*->227019*/ // 2 children in Scope
/*226999*/              OPC_CheckChild0Same, 0,
/*227001*/              OPC_MoveChild1,
/*227002*/              OPC_CheckImmAllOnesV,
/*227003*/              OPC_MoveParent,
/*227004*/              OPC_MoveParent,
/*227005*/              OPC_MoveParent,
/*227006*/              OPC_CheckType, MVT::v4i16,
/*227008*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227010*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, immAllOnesV:{ *:[v4i16] }))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227019*/            /*Scope*/ 20, /*->227040*/
/*227020*/              OPC_MoveChild0,
/*227021*/              OPC_CheckImmAllOnesV,
/*227022*/              OPC_MoveParent,
/*227023*/              OPC_CheckChild1Same, 0,
/*227025*/              OPC_MoveParent,
/*227026*/              OPC_MoveParent,
/*227027*/              OPC_CheckType, MVT::v4i16,
/*227029*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227031*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227040*/            0, /*End of Scope*/
/*227041*/          /*Scope*/ 50, /*->227092*/
/*227042*/            OPC_MoveChild0,
/*227043*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227046*/            OPC_Scope, 21, /*->227069*/ // 2 children in Scope
/*227048*/              OPC_CheckChild0Same, 1,
/*227050*/              OPC_MoveChild1,
/*227051*/              OPC_CheckImmAllOnesV,
/*227052*/              OPC_MoveParent,
/*227053*/              OPC_MoveParent,
/*227054*/              OPC_RecordChild1, // #2 = $RHS
/*227055*/              OPC_MoveParent,
/*227056*/              OPC_CheckType, MVT::v4i16,
/*227058*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227060*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$LHS), (and:{ *:[v4i16] } (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, immAllOnesV:{ *:[v4i16] }), V64:{ *:[v4i16] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227069*/            /*Scope*/ 21, /*->227091*/
/*227070*/              OPC_MoveChild0,
/*227071*/              OPC_CheckImmAllOnesV,
/*227072*/              OPC_MoveParent,
/*227073*/              OPC_CheckChild1Same, 1,
/*227075*/              OPC_MoveParent,
/*227076*/              OPC_RecordChild1, // #2 = $RHS
/*227077*/              OPC_MoveParent,
/*227078*/              OPC_CheckType, MVT::v4i16,
/*227080*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227082*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$LHS), (and:{ *:[v4i16] } (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$LHS), V64:{ *:[v4i16] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227091*/            0, /*End of Scope*/
/*227092*/          /*Scope*/ 49, /*->227142*/
/*227093*/            OPC_RecordChild0, // #2 = $RHS
/*227094*/            OPC_MoveChild1,
/*227095*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227098*/            OPC_Scope, 20, /*->227120*/ // 2 children in Scope
/*227100*/              OPC_CheckChild0Same, 1,
/*227102*/              OPC_MoveChild1,
/*227103*/              OPC_CheckImmAllOnesV,
/*227104*/              OPC_MoveParent,
/*227105*/              OPC_MoveParent,
/*227106*/              OPC_MoveParent,
/*227107*/              OPC_CheckType, MVT::v4i16,
/*227109*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227111*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$LHS), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, immAllOnesV:{ *:[v4i16] }))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227120*/            /*Scope*/ 20, /*->227141*/
/*227121*/              OPC_MoveChild0,
/*227122*/              OPC_CheckImmAllOnesV,
/*227123*/              OPC_MoveParent,
/*227124*/              OPC_CheckChild1Same, 1,
/*227126*/              OPC_MoveParent,
/*227127*/              OPC_MoveParent,
/*227128*/              OPC_CheckType, MVT::v4i16,
/*227130*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227132*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$LHS), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227141*/            0, /*End of Scope*/
/*227142*/          0, /*End of Scope*/
/*227143*/        0, /*End of Scope*/
/*227144*/      /*Scope*/ 106, /*->227251*/
/*227145*/        OPC_MoveChild0,
/*227146*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227149*/        OPC_Scope, 49, /*->227200*/ // 2 children in Scope
/*227151*/          OPC_RecordChild0, // #0 = $LHS
/*227152*/          OPC_MoveChild1,
/*227153*/          OPC_CheckImmAllOnesV,
/*227154*/          OPC_MoveParent,
/*227155*/          OPC_MoveParent,
/*227156*/          OPC_RecordChild1, // #1 = $RHS
/*227157*/          OPC_MoveParent,
/*227158*/          OPC_MoveChild1,
/*227159*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227162*/          OPC_Scope, 17, /*->227181*/ // 2 children in Scope
/*227164*/            OPC_CheckChild0Same, 0,
/*227166*/            OPC_RecordChild1, // #2 = $MHS
/*227167*/            OPC_MoveParent,
/*227168*/            OPC_CheckType, MVT::v4i16,
/*227170*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227172*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, immAllOnesV:{ *:[v4i16] }), V64:{ *:[v4i16] }:$RHS), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227181*/          /*Scope*/ 17, /*->227199*/
/*227182*/            OPC_RecordChild0, // #2 = $MHS
/*227183*/            OPC_CheckChild1Same, 0,
/*227185*/            OPC_MoveParent,
/*227186*/            OPC_CheckType, MVT::v4i16,
/*227188*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227190*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, immAllOnesV:{ *:[v4i16] }), V64:{ *:[v4i16] }:$RHS), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227199*/          0, /*End of Scope*/
/*227200*/        /*Scope*/ 49, /*->227250*/
/*227201*/          OPC_MoveChild0,
/*227202*/          OPC_CheckImmAllOnesV,
/*227203*/          OPC_MoveParent,
/*227204*/          OPC_RecordChild1, // #0 = $LHS
/*227205*/          OPC_MoveParent,
/*227206*/          OPC_RecordChild1, // #1 = $RHS
/*227207*/          OPC_MoveParent,
/*227208*/          OPC_MoveChild1,
/*227209*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227212*/          OPC_Scope, 17, /*->227231*/ // 2 children in Scope
/*227214*/            OPC_CheckChild0Same, 0,
/*227216*/            OPC_RecordChild1, // #2 = $MHS
/*227217*/            OPC_MoveParent,
/*227218*/            OPC_CheckType, MVT::v4i16,
/*227220*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227222*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$LHS), V64:{ *:[v4i16] }:$RHS), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227231*/          /*Scope*/ 17, /*->227249*/
/*227232*/            OPC_RecordChild0, // #2 = $MHS
/*227233*/            OPC_CheckChild1Same, 0,
/*227235*/            OPC_MoveParent,
/*227236*/            OPC_CheckType, MVT::v4i16,
/*227238*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227240*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v4i16, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$LHS), V64:{ *:[v4i16] }:$RHS), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227249*/          0, /*End of Scope*/
/*227250*/        0, /*End of Scope*/
/*227251*/      /*Scope*/ 39|128,2/*295*/, /*->227548*/
/*227253*/        OPC_RecordChild0, // #0 = $RHS
/*227254*/        OPC_Scope, 104, /*->227360*/ // 2 children in Scope
/*227256*/          OPC_MoveChild1,
/*227257*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227260*/          OPC_Scope, 48, /*->227310*/ // 2 children in Scope
/*227262*/            OPC_RecordChild0, // #1 = $LHS
/*227263*/            OPC_MoveChild1,
/*227264*/            OPC_CheckImmAllOnesV,
/*227265*/            OPC_MoveParent,
/*227266*/            OPC_MoveParent,
/*227267*/            OPC_MoveParent,
/*227268*/            OPC_MoveChild1,
/*227269*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227272*/            OPC_Scope, 17, /*->227291*/ // 2 children in Scope
/*227274*/              OPC_CheckChild0Same, 1,
/*227276*/              OPC_RecordChild1, // #2 = $MHS
/*227277*/              OPC_MoveParent,
/*227278*/              OPC_CheckType, MVT::v4i16,
/*227280*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227282*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, immAllOnesV:{ *:[v4i16] })), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227291*/            /*Scope*/ 17, /*->227309*/
/*227292*/              OPC_RecordChild0, // #2 = $MHS
/*227293*/              OPC_CheckChild1Same, 1,
/*227295*/              OPC_MoveParent,
/*227296*/              OPC_CheckType, MVT::v4i16,
/*227298*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227300*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, immAllOnesV:{ *:[v4i16] })), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227309*/            0, /*End of Scope*/
/*227310*/          /*Scope*/ 48, /*->227359*/
/*227311*/            OPC_MoveChild0,
/*227312*/            OPC_CheckImmAllOnesV,
/*227313*/            OPC_MoveParent,
/*227314*/            OPC_RecordChild1, // #1 = $LHS
/*227315*/            OPC_MoveParent,
/*227316*/            OPC_MoveParent,
/*227317*/            OPC_MoveChild1,
/*227318*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227321*/            OPC_Scope, 17, /*->227340*/ // 2 children in Scope
/*227323*/              OPC_CheckChild0Same, 1,
/*227325*/              OPC_RecordChild1, // #2 = $MHS
/*227326*/              OPC_MoveParent,
/*227327*/              OPC_CheckType, MVT::v4i16,
/*227329*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227331*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$LHS)), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227340*/            /*Scope*/ 17, /*->227358*/
/*227341*/              OPC_RecordChild0, // #2 = $MHS
/*227342*/              OPC_CheckChild1Same, 1,
/*227344*/              OPC_MoveParent,
/*227345*/              OPC_CheckType, MVT::v4i16,
/*227347*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227349*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v4i16, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$LHS)), (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*227358*/            0, /*End of Scope*/
/*227359*/          0, /*End of Scope*/
/*227360*/        /*Scope*/ 57|128,1/*185*/, /*->227547*/
/*227362*/          OPC_RecordChild1, // #1 = $MHS
/*227363*/          OPC_MoveParent,
/*227364*/          OPC_MoveChild1,
/*227365*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227368*/          OPC_Scope, 25, /*->227395*/ // 4 children in Scope
/*227370*/            OPC_MoveChild0,
/*227371*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227374*/            OPC_MoveChild0,
/*227375*/            OPC_CheckImmAllOnesV,
/*227376*/            OPC_MoveParent,
/*227377*/            OPC_CheckChild1Same, 0,
/*227379*/            OPC_MoveParent,
/*227380*/            OPC_RecordChild1, // #2 = $RHS
/*227381*/            OPC_MoveParent,
/*227382*/            OPC_CheckType, MVT::v2i32,
/*227384*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227386*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS), (and:{ *:[v2i32] } (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$LHS), V64:{ *:[v2i32] }:$RHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227395*/          /*Scope*/ 49, /*->227445*/
/*227396*/            OPC_RecordChild0, // #2 = $RHS
/*227397*/            OPC_MoveChild1,
/*227398*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227401*/            OPC_Scope, 20, /*->227423*/ // 2 children in Scope
/*227403*/              OPC_CheckChild0Same, 0,
/*227405*/              OPC_MoveChild1,
/*227406*/              OPC_CheckImmAllOnesV,
/*227407*/              OPC_MoveParent,
/*227408*/              OPC_MoveParent,
/*227409*/              OPC_MoveParent,
/*227410*/              OPC_CheckType, MVT::v2i32,
/*227412*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227414*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, immAllOnesV:{ *:[v2i32] }))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227423*/            /*Scope*/ 20, /*->227444*/
/*227424*/              OPC_MoveChild0,
/*227425*/              OPC_CheckImmAllOnesV,
/*227426*/              OPC_MoveParent,
/*227427*/              OPC_CheckChild1Same, 0,
/*227429*/              OPC_MoveParent,
/*227430*/              OPC_MoveParent,
/*227431*/              OPC_CheckType, MVT::v2i32,
/*227433*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227435*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227444*/            0, /*End of Scope*/
/*227445*/          /*Scope*/ 50, /*->227496*/
/*227446*/            OPC_MoveChild0,
/*227447*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227450*/            OPC_Scope, 21, /*->227473*/ // 2 children in Scope
/*227452*/              OPC_CheckChild0Same, 1,
/*227454*/              OPC_MoveChild1,
/*227455*/              OPC_CheckImmAllOnesV,
/*227456*/              OPC_MoveParent,
/*227457*/              OPC_MoveParent,
/*227458*/              OPC_RecordChild1, // #2 = $RHS
/*227459*/              OPC_MoveParent,
/*227460*/              OPC_CheckType, MVT::v2i32,
/*227462*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227464*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$LHS), (and:{ *:[v2i32] } (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, immAllOnesV:{ *:[v2i32] }), V64:{ *:[v2i32] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227473*/            /*Scope*/ 21, /*->227495*/
/*227474*/              OPC_MoveChild0,
/*227475*/              OPC_CheckImmAllOnesV,
/*227476*/              OPC_MoveParent,
/*227477*/              OPC_CheckChild1Same, 1,
/*227479*/              OPC_MoveParent,
/*227480*/              OPC_RecordChild1, // #2 = $RHS
/*227481*/              OPC_MoveParent,
/*227482*/              OPC_CheckType, MVT::v2i32,
/*227484*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227486*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$LHS), (and:{ *:[v2i32] } (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$LHS), V64:{ *:[v2i32] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227495*/            0, /*End of Scope*/
/*227496*/          /*Scope*/ 49, /*->227546*/
/*227497*/            OPC_RecordChild0, // #2 = $RHS
/*227498*/            OPC_MoveChild1,
/*227499*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227502*/            OPC_Scope, 20, /*->227524*/ // 2 children in Scope
/*227504*/              OPC_CheckChild0Same, 1,
/*227506*/              OPC_MoveChild1,
/*227507*/              OPC_CheckImmAllOnesV,
/*227508*/              OPC_MoveParent,
/*227509*/              OPC_MoveParent,
/*227510*/              OPC_MoveParent,
/*227511*/              OPC_CheckType, MVT::v2i32,
/*227513*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227515*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$LHS), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, immAllOnesV:{ *:[v2i32] }))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227524*/            /*Scope*/ 20, /*->227545*/
/*227525*/              OPC_MoveChild0,
/*227526*/              OPC_CheckImmAllOnesV,
/*227527*/              OPC_MoveParent,
/*227528*/              OPC_CheckChild1Same, 1,
/*227530*/              OPC_MoveParent,
/*227531*/              OPC_MoveParent,
/*227532*/              OPC_CheckType, MVT::v2i32,
/*227534*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227536*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$LHS), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227545*/            0, /*End of Scope*/
/*227546*/          0, /*End of Scope*/
/*227547*/        0, /*End of Scope*/
/*227548*/      /*Scope*/ 106, /*->227655*/
/*227549*/        OPC_MoveChild0,
/*227550*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227553*/        OPC_Scope, 49, /*->227604*/ // 2 children in Scope
/*227555*/          OPC_RecordChild0, // #0 = $LHS
/*227556*/          OPC_MoveChild1,
/*227557*/          OPC_CheckImmAllOnesV,
/*227558*/          OPC_MoveParent,
/*227559*/          OPC_MoveParent,
/*227560*/          OPC_RecordChild1, // #1 = $RHS
/*227561*/          OPC_MoveParent,
/*227562*/          OPC_MoveChild1,
/*227563*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227566*/          OPC_Scope, 17, /*->227585*/ // 2 children in Scope
/*227568*/            OPC_CheckChild0Same, 0,
/*227570*/            OPC_RecordChild1, // #2 = $MHS
/*227571*/            OPC_MoveParent,
/*227572*/            OPC_CheckType, MVT::v2i32,
/*227574*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227576*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, immAllOnesV:{ *:[v2i32] }), V64:{ *:[v2i32] }:$RHS), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227585*/          /*Scope*/ 17, /*->227603*/
/*227586*/            OPC_RecordChild0, // #2 = $MHS
/*227587*/            OPC_CheckChild1Same, 0,
/*227589*/            OPC_MoveParent,
/*227590*/            OPC_CheckType, MVT::v2i32,
/*227592*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227594*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, immAllOnesV:{ *:[v2i32] }), V64:{ *:[v2i32] }:$RHS), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227603*/          0, /*End of Scope*/
/*227604*/        /*Scope*/ 49, /*->227654*/
/*227605*/          OPC_MoveChild0,
/*227606*/          OPC_CheckImmAllOnesV,
/*227607*/          OPC_MoveParent,
/*227608*/          OPC_RecordChild1, // #0 = $LHS
/*227609*/          OPC_MoveParent,
/*227610*/          OPC_RecordChild1, // #1 = $RHS
/*227611*/          OPC_MoveParent,
/*227612*/          OPC_MoveChild1,
/*227613*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227616*/          OPC_Scope, 17, /*->227635*/ // 2 children in Scope
/*227618*/            OPC_CheckChild0Same, 0,
/*227620*/            OPC_RecordChild1, // #2 = $MHS
/*227621*/            OPC_MoveParent,
/*227622*/            OPC_CheckType, MVT::v2i32,
/*227624*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227626*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$LHS), V64:{ *:[v2i32] }:$RHS), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227635*/          /*Scope*/ 17, /*->227653*/
/*227636*/            OPC_RecordChild0, // #2 = $MHS
/*227637*/            OPC_CheckChild1Same, 0,
/*227639*/            OPC_MoveParent,
/*227640*/            OPC_CheckType, MVT::v2i32,
/*227642*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227644*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v2i32, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$LHS), V64:{ *:[v2i32] }:$RHS), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227653*/          0, /*End of Scope*/
/*227654*/        0, /*End of Scope*/
/*227655*/      /*Scope*/ 39|128,2/*295*/, /*->227952*/
/*227657*/        OPC_RecordChild0, // #0 = $RHS
/*227658*/        OPC_Scope, 104, /*->227764*/ // 2 children in Scope
/*227660*/          OPC_MoveChild1,
/*227661*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227664*/          OPC_Scope, 48, /*->227714*/ // 2 children in Scope
/*227666*/            OPC_RecordChild0, // #1 = $LHS
/*227667*/            OPC_MoveChild1,
/*227668*/            OPC_CheckImmAllOnesV,
/*227669*/            OPC_MoveParent,
/*227670*/            OPC_MoveParent,
/*227671*/            OPC_MoveParent,
/*227672*/            OPC_MoveChild1,
/*227673*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227676*/            OPC_Scope, 17, /*->227695*/ // 2 children in Scope
/*227678*/              OPC_CheckChild0Same, 1,
/*227680*/              OPC_RecordChild1, // #2 = $MHS
/*227681*/              OPC_MoveParent,
/*227682*/              OPC_CheckType, MVT::v2i32,
/*227684*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227686*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, immAllOnesV:{ *:[v2i32] })), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227695*/            /*Scope*/ 17, /*->227713*/
/*227696*/              OPC_RecordChild0, // #2 = $MHS
/*227697*/              OPC_CheckChild1Same, 1,
/*227699*/              OPC_MoveParent,
/*227700*/              OPC_CheckType, MVT::v2i32,
/*227702*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227704*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, immAllOnesV:{ *:[v2i32] })), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227713*/            0, /*End of Scope*/
/*227714*/          /*Scope*/ 48, /*->227763*/
/*227715*/            OPC_MoveChild0,
/*227716*/            OPC_CheckImmAllOnesV,
/*227717*/            OPC_MoveParent,
/*227718*/            OPC_RecordChild1, // #1 = $LHS
/*227719*/            OPC_MoveParent,
/*227720*/            OPC_MoveParent,
/*227721*/            OPC_MoveChild1,
/*227722*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227725*/            OPC_Scope, 17, /*->227744*/ // 2 children in Scope
/*227727*/              OPC_CheckChild0Same, 1,
/*227729*/              OPC_RecordChild1, // #2 = $MHS
/*227730*/              OPC_MoveParent,
/*227731*/              OPC_CheckType, MVT::v2i32,
/*227733*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227735*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$LHS)), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227744*/            /*Scope*/ 17, /*->227762*/
/*227745*/              OPC_RecordChild0, // #2 = $MHS
/*227746*/              OPC_CheckChild1Same, 1,
/*227748*/              OPC_MoveParent,
/*227749*/              OPC_CheckType, MVT::v2i32,
/*227751*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227753*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v2i32, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$LHS)), (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*227762*/            0, /*End of Scope*/
/*227763*/          0, /*End of Scope*/
/*227764*/        /*Scope*/ 57|128,1/*185*/, /*->227951*/
/*227766*/          OPC_RecordChild1, // #1 = $MHS
/*227767*/          OPC_MoveParent,
/*227768*/          OPC_MoveChild1,
/*227769*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227772*/          OPC_Scope, 25, /*->227799*/ // 4 children in Scope
/*227774*/            OPC_MoveChild0,
/*227775*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227778*/            OPC_MoveChild0,
/*227779*/            OPC_CheckImmAllOnesV,
/*227780*/            OPC_MoveParent,
/*227781*/            OPC_CheckChild1Same, 0,
/*227783*/            OPC_MoveParent,
/*227784*/            OPC_RecordChild1, // #2 = $RHS
/*227785*/            OPC_MoveParent,
/*227786*/            OPC_CheckType, MVT::v1i64,
/*227788*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227790*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v1i64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS), (and:{ *:[v1i64] } (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$LHS), V64:{ *:[v1i64] }:$RHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*227799*/          /*Scope*/ 49, /*->227849*/
/*227800*/            OPC_RecordChild0, // #2 = $RHS
/*227801*/            OPC_MoveChild1,
/*227802*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227805*/            OPC_Scope, 20, /*->227827*/ // 2 children in Scope
/*227807*/              OPC_CheckChild0Same, 0,
/*227809*/              OPC_MoveChild1,
/*227810*/              OPC_CheckImmAllOnesV,
/*227811*/              OPC_MoveParent,
/*227812*/              OPC_MoveParent,
/*227813*/              OPC_MoveParent,
/*227814*/              OPC_CheckType, MVT::v1i64,
/*227816*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227818*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, immAllOnesV:{ *:[v1i64] }))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*227827*/            /*Scope*/ 20, /*->227848*/
/*227828*/              OPC_MoveChild0,
/*227829*/              OPC_CheckImmAllOnesV,
/*227830*/              OPC_MoveParent,
/*227831*/              OPC_CheckChild1Same, 0,
/*227833*/              OPC_MoveParent,
/*227834*/              OPC_MoveParent,
/*227835*/              OPC_CheckType, MVT::v1i64,
/*227837*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227839*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*227848*/            0, /*End of Scope*/
/*227849*/          /*Scope*/ 50, /*->227900*/
/*227850*/            OPC_MoveChild0,
/*227851*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227854*/            OPC_Scope, 21, /*->227877*/ // 2 children in Scope
/*227856*/              OPC_CheckChild0Same, 1,
/*227858*/              OPC_MoveChild1,
/*227859*/              OPC_CheckImmAllOnesV,
/*227860*/              OPC_MoveParent,
/*227861*/              OPC_MoveParent,
/*227862*/              OPC_RecordChild1, // #2 = $RHS
/*227863*/              OPC_MoveParent,
/*227864*/              OPC_CheckType, MVT::v1i64,
/*227866*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227868*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$LHS), (and:{ *:[v1i64] } (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, immAllOnesV:{ *:[v1i64] }), V64:{ *:[v1i64] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*227877*/            /*Scope*/ 21, /*->227899*/
/*227878*/              OPC_MoveChild0,
/*227879*/              OPC_CheckImmAllOnesV,
/*227880*/              OPC_MoveParent,
/*227881*/              OPC_CheckChild1Same, 1,
/*227883*/              OPC_MoveParent,
/*227884*/              OPC_RecordChild1, // #2 = $RHS
/*227885*/              OPC_MoveParent,
/*227886*/              OPC_CheckType, MVT::v1i64,
/*227888*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227890*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$LHS), (and:{ *:[v1i64] } (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$LHS), V64:{ *:[v1i64] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*227899*/            0, /*End of Scope*/
/*227900*/          /*Scope*/ 49, /*->227950*/
/*227901*/            OPC_RecordChild0, // #2 = $RHS
/*227902*/            OPC_MoveChild1,
/*227903*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227906*/            OPC_Scope, 20, /*->227928*/ // 2 children in Scope
/*227908*/              OPC_CheckChild0Same, 1,
/*227910*/              OPC_MoveChild1,
/*227911*/              OPC_CheckImmAllOnesV,
/*227912*/              OPC_MoveParent,
/*227913*/              OPC_MoveParent,
/*227914*/              OPC_MoveParent,
/*227915*/              OPC_CheckType, MVT::v1i64,
/*227917*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227919*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$LHS), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, immAllOnesV:{ *:[v1i64] }))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*227928*/            /*Scope*/ 20, /*->227949*/
/*227929*/              OPC_MoveChild0,
/*227930*/              OPC_CheckImmAllOnesV,
/*227931*/              OPC_MoveParent,
/*227932*/              OPC_CheckChild1Same, 1,
/*227934*/              OPC_MoveParent,
/*227935*/              OPC_MoveParent,
/*227936*/              OPC_CheckType, MVT::v1i64,
/*227938*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227940*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$LHS), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*227949*/            0, /*End of Scope*/
/*227950*/          0, /*End of Scope*/
/*227951*/        0, /*End of Scope*/
/*227952*/      /*Scope*/ 106, /*->228059*/
/*227953*/        OPC_MoveChild0,
/*227954*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*227957*/        OPC_Scope, 49, /*->228008*/ // 2 children in Scope
/*227959*/          OPC_RecordChild0, // #0 = $LHS
/*227960*/          OPC_MoveChild1,
/*227961*/          OPC_CheckImmAllOnesV,
/*227962*/          OPC_MoveParent,
/*227963*/          OPC_MoveParent,
/*227964*/          OPC_RecordChild1, // #1 = $RHS
/*227965*/          OPC_MoveParent,
/*227966*/          OPC_MoveChild1,
/*227967*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*227970*/          OPC_Scope, 17, /*->227989*/ // 2 children in Scope
/*227972*/            OPC_CheckChild0Same, 0,
/*227974*/            OPC_RecordChild1, // #2 = $MHS
/*227975*/            OPC_MoveParent,
/*227976*/            OPC_CheckType, MVT::v1i64,
/*227978*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227980*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v1i64, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, immAllOnesV:{ *:[v1i64] }), V64:{ *:[v1i64] }:$RHS), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*227989*/          /*Scope*/ 17, /*->228007*/
/*227990*/            OPC_RecordChild0, // #2 = $MHS
/*227991*/            OPC_CheckChild1Same, 0,
/*227993*/            OPC_MoveParent,
/*227994*/            OPC_CheckType, MVT::v1i64,
/*227996*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*227998*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v1i64, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, immAllOnesV:{ *:[v1i64] }), V64:{ *:[v1i64] }:$RHS), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*228007*/          0, /*End of Scope*/
/*228008*/        /*Scope*/ 49, /*->228058*/
/*228009*/          OPC_MoveChild0,
/*228010*/          OPC_CheckImmAllOnesV,
/*228011*/          OPC_MoveParent,
/*228012*/          OPC_RecordChild1, // #0 = $LHS
/*228013*/          OPC_MoveParent,
/*228014*/          OPC_RecordChild1, // #1 = $RHS
/*228015*/          OPC_MoveParent,
/*228016*/          OPC_MoveChild1,
/*228017*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228020*/          OPC_Scope, 17, /*->228039*/ // 2 children in Scope
/*228022*/            OPC_CheckChild0Same, 0,
/*228024*/            OPC_RecordChild1, // #2 = $MHS
/*228025*/            OPC_MoveParent,
/*228026*/            OPC_CheckType, MVT::v1i64,
/*228028*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228030*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v1i64, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$LHS), V64:{ *:[v1i64] }:$RHS), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*228039*/          /*Scope*/ 17, /*->228057*/
/*228040*/            OPC_RecordChild0, // #2 = $MHS
/*228041*/            OPC_CheckChild1Same, 0,
/*228043*/            OPC_MoveParent,
/*228044*/            OPC_CheckType, MVT::v1i64,
/*228046*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228048*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                          MVT::v1i64, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$LHS), V64:{ *:[v1i64] }:$RHS), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*228057*/          0, /*End of Scope*/
/*228058*/        0, /*End of Scope*/
/*228059*/      /*Scope*/ 39|128,2/*295*/, /*->228356*/
/*228061*/        OPC_RecordChild0, // #0 = $RHS
/*228062*/        OPC_Scope, 104, /*->228168*/ // 2 children in Scope
/*228064*/          OPC_MoveChild1,
/*228065*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228068*/          OPC_Scope, 48, /*->228118*/ // 2 children in Scope
/*228070*/            OPC_RecordChild0, // #1 = $LHS
/*228071*/            OPC_MoveChild1,
/*228072*/            OPC_CheckImmAllOnesV,
/*228073*/            OPC_MoveParent,
/*228074*/            OPC_MoveParent,
/*228075*/            OPC_MoveParent,
/*228076*/            OPC_MoveChild1,
/*228077*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228080*/            OPC_Scope, 17, /*->228099*/ // 2 children in Scope
/*228082*/              OPC_CheckChild0Same, 1,
/*228084*/              OPC_RecordChild1, // #2 = $MHS
/*228085*/              OPC_MoveParent,
/*228086*/              OPC_CheckType, MVT::v1i64,
/*228088*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228090*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, immAllOnesV:{ *:[v1i64] })), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*228099*/            /*Scope*/ 17, /*->228117*/
/*228100*/              OPC_RecordChild0, // #2 = $MHS
/*228101*/              OPC_CheckChild1Same, 1,
/*228103*/              OPC_MoveParent,
/*228104*/              OPC_CheckType, MVT::v1i64,
/*228106*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228108*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, immAllOnesV:{ *:[v1i64] })), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*228117*/            0, /*End of Scope*/
/*228118*/          /*Scope*/ 48, /*->228167*/
/*228119*/            OPC_MoveChild0,
/*228120*/            OPC_CheckImmAllOnesV,
/*228121*/            OPC_MoveParent,
/*228122*/            OPC_RecordChild1, // #1 = $LHS
/*228123*/            OPC_MoveParent,
/*228124*/            OPC_MoveParent,
/*228125*/            OPC_MoveChild1,
/*228126*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228129*/            OPC_Scope, 17, /*->228148*/ // 2 children in Scope
/*228131*/              OPC_CheckChild0Same, 1,
/*228133*/              OPC_RecordChild1, // #2 = $MHS
/*228134*/              OPC_MoveParent,
/*228135*/              OPC_CheckType, MVT::v1i64,
/*228137*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228139*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$LHS)), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*228148*/            /*Scope*/ 17, /*->228166*/
/*228149*/              OPC_RecordChild0, // #2 = $MHS
/*228150*/              OPC_CheckChild1Same, 1,
/*228152*/              OPC_MoveParent,
/*228153*/              OPC_CheckType, MVT::v1i64,
/*228155*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228157*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                            MVT::v1i64, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v1i64] } (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$LHS)), (and:{ *:[v1i64] } V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*228166*/            0, /*End of Scope*/
/*228167*/          0, /*End of Scope*/
/*228168*/        /*Scope*/ 57|128,1/*185*/, /*->228355*/
/*228170*/          OPC_RecordChild1, // #1 = $MHS
/*228171*/          OPC_MoveParent,
/*228172*/          OPC_MoveChild1,
/*228173*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228176*/          OPC_Scope, 25, /*->228203*/ // 4 children in Scope
/*228178*/            OPC_MoveChild0,
/*228179*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228182*/            OPC_MoveChild0,
/*228183*/            OPC_CheckImmAllOnesV,
/*228184*/            OPC_MoveParent,
/*228185*/            OPC_CheckChild1Same, 0,
/*228187*/            OPC_MoveParent,
/*228188*/            OPC_RecordChild1, // #2 = $RHS
/*228189*/            OPC_MoveParent,
/*228190*/            OPC_CheckType, MVT::v8i16,
/*228192*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228194*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$LHS), V128:{ *:[v8i16] }:$RHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228203*/          /*Scope*/ 49, /*->228253*/
/*228204*/            OPC_RecordChild0, // #2 = $RHS
/*228205*/            OPC_MoveChild1,
/*228206*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228209*/            OPC_Scope, 20, /*->228231*/ // 2 children in Scope
/*228211*/              OPC_CheckChild0Same, 0,
/*228213*/              OPC_MoveChild1,
/*228214*/              OPC_CheckImmAllOnesV,
/*228215*/              OPC_MoveParent,
/*228216*/              OPC_MoveParent,
/*228217*/              OPC_MoveParent,
/*228218*/              OPC_CheckType, MVT::v8i16,
/*228220*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228222*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, immAllOnesV:{ *:[v8i16] }))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228231*/            /*Scope*/ 20, /*->228252*/
/*228232*/              OPC_MoveChild0,
/*228233*/              OPC_CheckImmAllOnesV,
/*228234*/              OPC_MoveParent,
/*228235*/              OPC_CheckChild1Same, 0,
/*228237*/              OPC_MoveParent,
/*228238*/              OPC_MoveParent,
/*228239*/              OPC_CheckType, MVT::v8i16,
/*228241*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228243*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228252*/            0, /*End of Scope*/
/*228253*/          /*Scope*/ 50, /*->228304*/
/*228254*/            OPC_MoveChild0,
/*228255*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228258*/            OPC_Scope, 21, /*->228281*/ // 2 children in Scope
/*228260*/              OPC_CheckChild0Same, 1,
/*228262*/              OPC_MoveChild1,
/*228263*/              OPC_CheckImmAllOnesV,
/*228264*/              OPC_MoveParent,
/*228265*/              OPC_MoveParent,
/*228266*/              OPC_RecordChild1, // #2 = $RHS
/*228267*/              OPC_MoveParent,
/*228268*/              OPC_CheckType, MVT::v8i16,
/*228270*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228272*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$LHS), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228281*/            /*Scope*/ 21, /*->228303*/
/*228282*/              OPC_MoveChild0,
/*228283*/              OPC_CheckImmAllOnesV,
/*228284*/              OPC_MoveParent,
/*228285*/              OPC_CheckChild1Same, 1,
/*228287*/              OPC_MoveParent,
/*228288*/              OPC_RecordChild1, // #2 = $RHS
/*228289*/              OPC_MoveParent,
/*228290*/              OPC_CheckType, MVT::v8i16,
/*228292*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228294*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$LHS), (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$LHS), V128:{ *:[v8i16] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228303*/            0, /*End of Scope*/
/*228304*/          /*Scope*/ 49, /*->228354*/
/*228305*/            OPC_RecordChild0, // #2 = $RHS
/*228306*/            OPC_MoveChild1,
/*228307*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228310*/            OPC_Scope, 20, /*->228332*/ // 2 children in Scope
/*228312*/              OPC_CheckChild0Same, 1,
/*228314*/              OPC_MoveChild1,
/*228315*/              OPC_CheckImmAllOnesV,
/*228316*/              OPC_MoveParent,
/*228317*/              OPC_MoveParent,
/*228318*/              OPC_MoveParent,
/*228319*/              OPC_CheckType, MVT::v8i16,
/*228321*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228323*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$LHS), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, immAllOnesV:{ *:[v8i16] }))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228332*/            /*Scope*/ 20, /*->228353*/
/*228333*/              OPC_MoveChild0,
/*228334*/              OPC_CheckImmAllOnesV,
/*228335*/              OPC_MoveParent,
/*228336*/              OPC_CheckChild1Same, 1,
/*228338*/              OPC_MoveParent,
/*228339*/              OPC_MoveParent,
/*228340*/              OPC_CheckType, MVT::v8i16,
/*228342*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228344*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$LHS), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228353*/            0, /*End of Scope*/
/*228354*/          0, /*End of Scope*/
/*228355*/        0, /*End of Scope*/
/*228356*/      /*Scope*/ 106, /*->228463*/
/*228357*/        OPC_MoveChild0,
/*228358*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228361*/        OPC_Scope, 49, /*->228412*/ // 2 children in Scope
/*228363*/          OPC_RecordChild0, // #0 = $LHS
/*228364*/          OPC_MoveChild1,
/*228365*/          OPC_CheckImmAllOnesV,
/*228366*/          OPC_MoveParent,
/*228367*/          OPC_MoveParent,
/*228368*/          OPC_RecordChild1, // #1 = $RHS
/*228369*/          OPC_MoveParent,
/*228370*/          OPC_MoveChild1,
/*228371*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228374*/          OPC_Scope, 17, /*->228393*/ // 2 children in Scope
/*228376*/            OPC_CheckChild0Same, 0,
/*228378*/            OPC_RecordChild1, // #2 = $MHS
/*228379*/            OPC_MoveParent,
/*228380*/            OPC_CheckType, MVT::v8i16,
/*228382*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228384*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$RHS), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228393*/          /*Scope*/ 17, /*->228411*/
/*228394*/            OPC_RecordChild0, // #2 = $MHS
/*228395*/            OPC_CheckChild1Same, 0,
/*228397*/            OPC_MoveParent,
/*228398*/            OPC_CheckType, MVT::v8i16,
/*228400*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228402*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$RHS), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228411*/          0, /*End of Scope*/
/*228412*/        /*Scope*/ 49, /*->228462*/
/*228413*/          OPC_MoveChild0,
/*228414*/          OPC_CheckImmAllOnesV,
/*228415*/          OPC_MoveParent,
/*228416*/          OPC_RecordChild1, // #0 = $LHS
/*228417*/          OPC_MoveParent,
/*228418*/          OPC_RecordChild1, // #1 = $RHS
/*228419*/          OPC_MoveParent,
/*228420*/          OPC_MoveChild1,
/*228421*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228424*/          OPC_Scope, 17, /*->228443*/ // 2 children in Scope
/*228426*/            OPC_CheckChild0Same, 0,
/*228428*/            OPC_RecordChild1, // #2 = $MHS
/*228429*/            OPC_MoveParent,
/*228430*/            OPC_CheckType, MVT::v8i16,
/*228432*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228434*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$LHS), V128:{ *:[v8i16] }:$RHS), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228443*/          /*Scope*/ 17, /*->228461*/
/*228444*/            OPC_RecordChild0, // #2 = $MHS
/*228445*/            OPC_CheckChild1Same, 0,
/*228447*/            OPC_MoveParent,
/*228448*/            OPC_CheckType, MVT::v8i16,
/*228450*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228452*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v8i16, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$LHS), V128:{ *:[v8i16] }:$RHS), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228461*/          0, /*End of Scope*/
/*228462*/        0, /*End of Scope*/
/*228463*/      /*Scope*/ 39|128,2/*295*/, /*->228760*/
/*228465*/        OPC_RecordChild0, // #0 = $RHS
/*228466*/        OPC_Scope, 104, /*->228572*/ // 2 children in Scope
/*228468*/          OPC_MoveChild1,
/*228469*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228472*/          OPC_Scope, 48, /*->228522*/ // 2 children in Scope
/*228474*/            OPC_RecordChild0, // #1 = $LHS
/*228475*/            OPC_MoveChild1,
/*228476*/            OPC_CheckImmAllOnesV,
/*228477*/            OPC_MoveParent,
/*228478*/            OPC_MoveParent,
/*228479*/            OPC_MoveParent,
/*228480*/            OPC_MoveChild1,
/*228481*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228484*/            OPC_Scope, 17, /*->228503*/ // 2 children in Scope
/*228486*/              OPC_CheckChild0Same, 1,
/*228488*/              OPC_RecordChild1, // #2 = $MHS
/*228489*/              OPC_MoveParent,
/*228490*/              OPC_CheckType, MVT::v8i16,
/*228492*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228494*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, immAllOnesV:{ *:[v8i16] })), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228503*/            /*Scope*/ 17, /*->228521*/
/*228504*/              OPC_RecordChild0, // #2 = $MHS
/*228505*/              OPC_CheckChild1Same, 1,
/*228507*/              OPC_MoveParent,
/*228508*/              OPC_CheckType, MVT::v8i16,
/*228510*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228512*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, immAllOnesV:{ *:[v8i16] })), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228521*/            0, /*End of Scope*/
/*228522*/          /*Scope*/ 48, /*->228571*/
/*228523*/            OPC_MoveChild0,
/*228524*/            OPC_CheckImmAllOnesV,
/*228525*/            OPC_MoveParent,
/*228526*/            OPC_RecordChild1, // #1 = $LHS
/*228527*/            OPC_MoveParent,
/*228528*/            OPC_MoveParent,
/*228529*/            OPC_MoveChild1,
/*228530*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228533*/            OPC_Scope, 17, /*->228552*/ // 2 children in Scope
/*228535*/              OPC_CheckChild0Same, 1,
/*228537*/              OPC_RecordChild1, // #2 = $MHS
/*228538*/              OPC_MoveParent,
/*228539*/              OPC_CheckType, MVT::v8i16,
/*228541*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228543*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$LHS)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228552*/            /*Scope*/ 17, /*->228570*/
/*228553*/              OPC_RecordChild0, // #2 = $MHS
/*228554*/              OPC_CheckChild1Same, 1,
/*228556*/              OPC_MoveParent,
/*228557*/              OPC_CheckType, MVT::v8i16,
/*228559*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228561*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v8i16, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$LHS)), (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*228570*/            0, /*End of Scope*/
/*228571*/          0, /*End of Scope*/
/*228572*/        /*Scope*/ 57|128,1/*185*/, /*->228759*/
/*228574*/          OPC_RecordChild1, // #1 = $MHS
/*228575*/          OPC_MoveParent,
/*228576*/          OPC_MoveChild1,
/*228577*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228580*/          OPC_Scope, 25, /*->228607*/ // 4 children in Scope
/*228582*/            OPC_MoveChild0,
/*228583*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228586*/            OPC_MoveChild0,
/*228587*/            OPC_CheckImmAllOnesV,
/*228588*/            OPC_MoveParent,
/*228589*/            OPC_CheckChild1Same, 0,
/*228591*/            OPC_MoveParent,
/*228592*/            OPC_RecordChild1, // #2 = $RHS
/*228593*/            OPC_MoveParent,
/*228594*/            OPC_CheckType, MVT::v4i32,
/*228596*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228598*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$LHS), V128:{ *:[v4i32] }:$RHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228607*/          /*Scope*/ 49, /*->228657*/
/*228608*/            OPC_RecordChild0, // #2 = $RHS
/*228609*/            OPC_MoveChild1,
/*228610*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228613*/            OPC_Scope, 20, /*->228635*/ // 2 children in Scope
/*228615*/              OPC_CheckChild0Same, 0,
/*228617*/              OPC_MoveChild1,
/*228618*/              OPC_CheckImmAllOnesV,
/*228619*/              OPC_MoveParent,
/*228620*/              OPC_MoveParent,
/*228621*/              OPC_MoveParent,
/*228622*/              OPC_CheckType, MVT::v4i32,
/*228624*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228626*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, immAllOnesV:{ *:[v4i32] }))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228635*/            /*Scope*/ 20, /*->228656*/
/*228636*/              OPC_MoveChild0,
/*228637*/              OPC_CheckImmAllOnesV,
/*228638*/              OPC_MoveParent,
/*228639*/              OPC_CheckChild1Same, 0,
/*228641*/              OPC_MoveParent,
/*228642*/              OPC_MoveParent,
/*228643*/              OPC_CheckType, MVT::v4i32,
/*228645*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228647*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228656*/            0, /*End of Scope*/
/*228657*/          /*Scope*/ 50, /*->228708*/
/*228658*/            OPC_MoveChild0,
/*228659*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228662*/            OPC_Scope, 21, /*->228685*/ // 2 children in Scope
/*228664*/              OPC_CheckChild0Same, 1,
/*228666*/              OPC_MoveChild1,
/*228667*/              OPC_CheckImmAllOnesV,
/*228668*/              OPC_MoveParent,
/*228669*/              OPC_MoveParent,
/*228670*/              OPC_RecordChild1, // #2 = $RHS
/*228671*/              OPC_MoveParent,
/*228672*/              OPC_CheckType, MVT::v4i32,
/*228674*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228676*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$LHS), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228685*/            /*Scope*/ 21, /*->228707*/
/*228686*/              OPC_MoveChild0,
/*228687*/              OPC_CheckImmAllOnesV,
/*228688*/              OPC_MoveParent,
/*228689*/              OPC_CheckChild1Same, 1,
/*228691*/              OPC_MoveParent,
/*228692*/              OPC_RecordChild1, // #2 = $RHS
/*228693*/              OPC_MoveParent,
/*228694*/              OPC_CheckType, MVT::v4i32,
/*228696*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228698*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$LHS), (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$LHS), V128:{ *:[v4i32] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228707*/            0, /*End of Scope*/
/*228708*/          /*Scope*/ 49, /*->228758*/
/*228709*/            OPC_RecordChild0, // #2 = $RHS
/*228710*/            OPC_MoveChild1,
/*228711*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228714*/            OPC_Scope, 20, /*->228736*/ // 2 children in Scope
/*228716*/              OPC_CheckChild0Same, 1,
/*228718*/              OPC_MoveChild1,
/*228719*/              OPC_CheckImmAllOnesV,
/*228720*/              OPC_MoveParent,
/*228721*/              OPC_MoveParent,
/*228722*/              OPC_MoveParent,
/*228723*/              OPC_CheckType, MVT::v4i32,
/*228725*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228727*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$LHS), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, immAllOnesV:{ *:[v4i32] }))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228736*/            /*Scope*/ 20, /*->228757*/
/*228737*/              OPC_MoveChild0,
/*228738*/              OPC_CheckImmAllOnesV,
/*228739*/              OPC_MoveParent,
/*228740*/              OPC_CheckChild1Same, 1,
/*228742*/              OPC_MoveParent,
/*228743*/              OPC_MoveParent,
/*228744*/              OPC_CheckType, MVT::v4i32,
/*228746*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228748*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$LHS), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228757*/            0, /*End of Scope*/
/*228758*/          0, /*End of Scope*/
/*228759*/        0, /*End of Scope*/
/*228760*/      /*Scope*/ 106, /*->228867*/
/*228761*/        OPC_MoveChild0,
/*228762*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228765*/        OPC_Scope, 49, /*->228816*/ // 2 children in Scope
/*228767*/          OPC_RecordChild0, // #0 = $LHS
/*228768*/          OPC_MoveChild1,
/*228769*/          OPC_CheckImmAllOnesV,
/*228770*/          OPC_MoveParent,
/*228771*/          OPC_MoveParent,
/*228772*/          OPC_RecordChild1, // #1 = $RHS
/*228773*/          OPC_MoveParent,
/*228774*/          OPC_MoveChild1,
/*228775*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228778*/          OPC_Scope, 17, /*->228797*/ // 2 children in Scope
/*228780*/            OPC_CheckChild0Same, 0,
/*228782*/            OPC_RecordChild1, // #2 = $MHS
/*228783*/            OPC_MoveParent,
/*228784*/            OPC_CheckType, MVT::v4i32,
/*228786*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228788*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$RHS), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228797*/          /*Scope*/ 17, /*->228815*/
/*228798*/            OPC_RecordChild0, // #2 = $MHS
/*228799*/            OPC_CheckChild1Same, 0,
/*228801*/            OPC_MoveParent,
/*228802*/            OPC_CheckType, MVT::v4i32,
/*228804*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228806*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$RHS), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228815*/          0, /*End of Scope*/
/*228816*/        /*Scope*/ 49, /*->228866*/
/*228817*/          OPC_MoveChild0,
/*228818*/          OPC_CheckImmAllOnesV,
/*228819*/          OPC_MoveParent,
/*228820*/          OPC_RecordChild1, // #0 = $LHS
/*228821*/          OPC_MoveParent,
/*228822*/          OPC_RecordChild1, // #1 = $RHS
/*228823*/          OPC_MoveParent,
/*228824*/          OPC_MoveChild1,
/*228825*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228828*/          OPC_Scope, 17, /*->228847*/ // 2 children in Scope
/*228830*/            OPC_CheckChild0Same, 0,
/*228832*/            OPC_RecordChild1, // #2 = $MHS
/*228833*/            OPC_MoveParent,
/*228834*/            OPC_CheckType, MVT::v4i32,
/*228836*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228838*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$LHS), V128:{ *:[v4i32] }:$RHS), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228847*/          /*Scope*/ 17, /*->228865*/
/*228848*/            OPC_RecordChild0, // #2 = $MHS
/*228849*/            OPC_CheckChild1Same, 0,
/*228851*/            OPC_MoveParent,
/*228852*/            OPC_CheckType, MVT::v4i32,
/*228854*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228856*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v4i32, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$LHS), V128:{ *:[v4i32] }:$RHS), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228865*/          0, /*End of Scope*/
/*228866*/        0, /*End of Scope*/
/*228867*/      /*Scope*/ 39|128,2/*295*/, /*->229164*/
/*228869*/        OPC_RecordChild0, // #0 = $RHS
/*228870*/        OPC_Scope, 104, /*->228976*/ // 2 children in Scope
/*228872*/          OPC_MoveChild1,
/*228873*/          OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228876*/          OPC_Scope, 48, /*->228926*/ // 2 children in Scope
/*228878*/            OPC_RecordChild0, // #1 = $LHS
/*228879*/            OPC_MoveChild1,
/*228880*/            OPC_CheckImmAllOnesV,
/*228881*/            OPC_MoveParent,
/*228882*/            OPC_MoveParent,
/*228883*/            OPC_MoveParent,
/*228884*/            OPC_MoveChild1,
/*228885*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228888*/            OPC_Scope, 17, /*->228907*/ // 2 children in Scope
/*228890*/              OPC_CheckChild0Same, 1,
/*228892*/              OPC_RecordChild1, // #2 = $MHS
/*228893*/              OPC_MoveParent,
/*228894*/              OPC_CheckType, MVT::v4i32,
/*228896*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228898*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, immAllOnesV:{ *:[v4i32] })), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228907*/            /*Scope*/ 17, /*->228925*/
/*228908*/              OPC_RecordChild0, // #2 = $MHS
/*228909*/              OPC_CheckChild1Same, 1,
/*228911*/              OPC_MoveParent,
/*228912*/              OPC_CheckType, MVT::v4i32,
/*228914*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228916*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, immAllOnesV:{ *:[v4i32] })), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228925*/            0, /*End of Scope*/
/*228926*/          /*Scope*/ 48, /*->228975*/
/*228927*/            OPC_MoveChild0,
/*228928*/            OPC_CheckImmAllOnesV,
/*228929*/            OPC_MoveParent,
/*228930*/            OPC_RecordChild1, // #1 = $LHS
/*228931*/            OPC_MoveParent,
/*228932*/            OPC_MoveParent,
/*228933*/            OPC_MoveChild1,
/*228934*/            OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228937*/            OPC_Scope, 17, /*->228956*/ // 2 children in Scope
/*228939*/              OPC_CheckChild0Same, 1,
/*228941*/              OPC_RecordChild1, // #2 = $MHS
/*228942*/              OPC_MoveParent,
/*228943*/              OPC_CheckType, MVT::v4i32,
/*228945*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228947*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$LHS)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228956*/            /*Scope*/ 17, /*->228974*/
/*228957*/              OPC_RecordChild0, // #2 = $MHS
/*228958*/              OPC_CheckChild1Same, 1,
/*228960*/              OPC_MoveParent,
/*228961*/              OPC_CheckType, MVT::v4i32,
/*228963*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*228965*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v4i32, 3/*#Ops*/, 1, 2, 0, 
                        // Src: (or:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$LHS)), (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$LHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*228974*/            0, /*End of Scope*/
/*228975*/          0, /*End of Scope*/
/*228976*/        /*Scope*/ 57|128,1/*185*/, /*->229163*/
/*228978*/          OPC_RecordChild1, // #1 = $MHS
/*228979*/          OPC_MoveParent,
/*228980*/          OPC_MoveChild1,
/*228981*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*228984*/          OPC_Scope, 25, /*->229011*/ // 4 children in Scope
/*228986*/            OPC_MoveChild0,
/*228987*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*228990*/            OPC_MoveChild0,
/*228991*/            OPC_CheckImmAllOnesV,
/*228992*/            OPC_MoveParent,
/*228993*/            OPC_CheckChild1Same, 0,
/*228995*/            OPC_MoveParent,
/*228996*/            OPC_RecordChild1, // #2 = $RHS
/*228997*/            OPC_MoveParent,
/*228998*/            OPC_CheckType, MVT::v2i64,
/*229000*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229002*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$LHS), V128:{ *:[v2i64] }:$RHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229011*/          /*Scope*/ 49, /*->229061*/
/*229012*/            OPC_RecordChild0, // #2 = $RHS
/*229013*/            OPC_MoveChild1,
/*229014*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229017*/            OPC_Scope, 20, /*->229039*/ // 2 children in Scope
/*229019*/              OPC_CheckChild0Same, 0,
/*229021*/              OPC_MoveChild1,
/*229022*/              OPC_CheckImmAllOnesV,
/*229023*/              OPC_MoveParent,
/*229024*/              OPC_MoveParent,
/*229025*/              OPC_MoveParent,
/*229026*/              OPC_CheckType, MVT::v2i64,
/*229028*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229030*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, immAllOnesV:{ *:[v2i64] }))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229039*/            /*Scope*/ 20, /*->229060*/
/*229040*/              OPC_MoveChild0,
/*229041*/              OPC_CheckImmAllOnesV,
/*229042*/              OPC_MoveParent,
/*229043*/              OPC_CheckChild1Same, 0,
/*229045*/              OPC_MoveParent,
/*229046*/              OPC_MoveParent,
/*229047*/              OPC_CheckType, MVT::v2i64,
/*229049*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229051*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                        // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229060*/            0, /*End of Scope*/
/*229061*/          /*Scope*/ 50, /*->229112*/
/*229062*/            OPC_MoveChild0,
/*229063*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229066*/            OPC_Scope, 21, /*->229089*/ // 2 children in Scope
/*229068*/              OPC_CheckChild0Same, 1,
/*229070*/              OPC_MoveChild1,
/*229071*/              OPC_CheckImmAllOnesV,
/*229072*/              OPC_MoveParent,
/*229073*/              OPC_MoveParent,
/*229074*/              OPC_RecordChild1, // #2 = $RHS
/*229075*/              OPC_MoveParent,
/*229076*/              OPC_CheckType, MVT::v2i64,
/*229078*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229080*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v2i64, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$LHS), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229089*/            /*Scope*/ 21, /*->229111*/
/*229090*/              OPC_MoveChild0,
/*229091*/              OPC_CheckImmAllOnesV,
/*229092*/              OPC_MoveParent,
/*229093*/              OPC_CheckChild1Same, 1,
/*229095*/              OPC_MoveParent,
/*229096*/              OPC_RecordChild1, // #2 = $RHS
/*229097*/              OPC_MoveParent,
/*229098*/              OPC_CheckType, MVT::v2i64,
/*229100*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229102*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v2i64, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$LHS), (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$LHS), V128:{ *:[v2i64] }:$RHS)) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229111*/            0, /*End of Scope*/
/*229112*/          /*Scope*/ 49, /*->229162*/
/*229113*/            OPC_RecordChild0, // #2 = $RHS
/*229114*/            OPC_MoveChild1,
/*229115*/            OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229118*/            OPC_Scope, 20, /*->229140*/ // 2 children in Scope
/*229120*/              OPC_CheckChild0Same, 1,
/*229122*/              OPC_MoveChild1,
/*229123*/              OPC_CheckImmAllOnesV,
/*229124*/              OPC_MoveParent,
/*229125*/              OPC_MoveParent,
/*229126*/              OPC_MoveParent,
/*229127*/              OPC_CheckType, MVT::v2i64,
/*229129*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229131*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v2i64, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$LHS), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, immAllOnesV:{ *:[v2i64] }))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229140*/            /*Scope*/ 20, /*->229161*/
/*229141*/              OPC_MoveChild0,
/*229142*/              OPC_CheckImmAllOnesV,
/*229143*/              OPC_MoveParent,
/*229144*/              OPC_CheckChild1Same, 1,
/*229146*/              OPC_MoveParent,
/*229147*/              OPC_MoveParent,
/*229148*/              OPC_CheckType, MVT::v2i64,
/*229150*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229152*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                            MVT::v2i64, 3/*#Ops*/, 1, 0, 2, 
                        // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$LHS), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$LHS))) - Complexity = 16
                        // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229161*/            0, /*End of Scope*/
/*229162*/          0, /*End of Scope*/
/*229163*/        0, /*End of Scope*/
/*229164*/      /*Scope*/ 106, /*->229271*/
/*229165*/        OPC_MoveChild0,
/*229166*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229169*/        OPC_Scope, 49, /*->229220*/ // 2 children in Scope
/*229171*/          OPC_RecordChild0, // #0 = $LHS
/*229172*/          OPC_MoveChild1,
/*229173*/          OPC_CheckImmAllOnesV,
/*229174*/          OPC_MoveParent,
/*229175*/          OPC_MoveParent,
/*229176*/          OPC_RecordChild1, // #1 = $RHS
/*229177*/          OPC_MoveParent,
/*229178*/          OPC_MoveChild1,
/*229179*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*229182*/          OPC_Scope, 17, /*->229201*/ // 2 children in Scope
/*229184*/            OPC_CheckChild0Same, 0,
/*229186*/            OPC_RecordChild1, // #2 = $MHS
/*229187*/            OPC_MoveParent,
/*229188*/            OPC_CheckType, MVT::v2i64,
/*229190*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229192*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$RHS), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229201*/          /*Scope*/ 17, /*->229219*/
/*229202*/            OPC_RecordChild0, // #2 = $MHS
/*229203*/            OPC_CheckChild1Same, 0,
/*229205*/            OPC_MoveParent,
/*229206*/            OPC_CheckType, MVT::v2i64,
/*229208*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229210*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$RHS), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229219*/          0, /*End of Scope*/
/*229220*/        /*Scope*/ 49, /*->229270*/
/*229221*/          OPC_MoveChild0,
/*229222*/          OPC_CheckImmAllOnesV,
/*229223*/          OPC_MoveParent,
/*229224*/          OPC_RecordChild1, // #0 = $LHS
/*229225*/          OPC_MoveParent,
/*229226*/          OPC_RecordChild1, // #1 = $RHS
/*229227*/          OPC_MoveParent,
/*229228*/          OPC_MoveChild1,
/*229229*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*229232*/          OPC_Scope, 17, /*->229251*/ // 2 children in Scope
/*229234*/            OPC_CheckChild0Same, 0,
/*229236*/            OPC_RecordChild1, // #2 = $MHS
/*229237*/            OPC_MoveParent,
/*229238*/            OPC_CheckType, MVT::v2i64,
/*229240*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229242*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$LHS), V128:{ *:[v2i64] }:$RHS), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229251*/          /*Scope*/ 17, /*->229269*/
/*229252*/            OPC_RecordChild0, // #2 = $MHS
/*229253*/            OPC_CheckChild1Same, 0,
/*229255*/            OPC_MoveParent,
/*229256*/            OPC_CheckType, MVT::v2i64,
/*229258*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229260*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 0, 2, 1, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$LHS), V128:{ *:[v2i64] }:$RHS), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229269*/          0, /*End of Scope*/
/*229270*/        0, /*End of Scope*/
/*229271*/      /*Scope*/ 105, /*->229377*/
/*229272*/        OPC_RecordChild0, // #0 = $RHS
/*229273*/        OPC_MoveChild1,
/*229274*/        OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229277*/        OPC_Scope, 48, /*->229327*/ // 2 children in Scope
/*229279*/          OPC_RecordChild0, // #1 = $LHS
/*229280*/          OPC_MoveChild1,
/*229281*/          OPC_CheckImmAllOnesV,
/*229282*/          OPC_MoveParent,
/*229283*/          OPC_MoveParent,
/*229284*/          OPC_MoveParent,
/*229285*/          OPC_MoveChild1,
/*229286*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*229289*/          OPC_Scope, 17, /*->229308*/ // 2 children in Scope
/*229291*/            OPC_CheckChild0Same, 1,
/*229293*/            OPC_RecordChild1, // #2 = $MHS
/*229294*/            OPC_MoveParent,
/*229295*/            OPC_CheckType, MVT::v2i64,
/*229297*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229299*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, immAllOnesV:{ *:[v2i64] })), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229308*/          /*Scope*/ 17, /*->229326*/
/*229309*/            OPC_RecordChild0, // #2 = $MHS
/*229310*/            OPC_CheckChild1Same, 1,
/*229312*/            OPC_MoveParent,
/*229313*/            OPC_CheckType, MVT::v2i64,
/*229315*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229317*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, immAllOnesV:{ *:[v2i64] })), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229326*/          0, /*End of Scope*/
/*229327*/        /*Scope*/ 48, /*->229376*/
/*229328*/          OPC_MoveChild0,
/*229329*/          OPC_CheckImmAllOnesV,
/*229330*/          OPC_MoveParent,
/*229331*/          OPC_RecordChild1, // #1 = $LHS
/*229332*/          OPC_MoveParent,
/*229333*/          OPC_MoveParent,
/*229334*/          OPC_MoveChild1,
/*229335*/          OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*229338*/          OPC_Scope, 17, /*->229357*/ // 2 children in Scope
/*229340*/            OPC_CheckChild0Same, 1,
/*229342*/            OPC_RecordChild1, // #2 = $MHS
/*229343*/            OPC_MoveParent,
/*229344*/            OPC_CheckType, MVT::v2i64,
/*229346*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229348*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$LHS)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229357*/          /*Scope*/ 17, /*->229375*/
/*229358*/            OPC_RecordChild0, // #2 = $MHS
/*229359*/            OPC_CheckChild1Same, 1,
/*229361*/            OPC_MoveParent,
/*229362*/            OPC_CheckType, MVT::v2i64,
/*229364*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229366*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                          MVT::v2i64, 3/*#Ops*/, 1, 2, 0, 
                      // Src: (or:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$LHS)), (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$LHS)) - Complexity = 16
                      // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*229375*/          0, /*End of Scope*/
/*229376*/        0, /*End of Scope*/
/*229377*/      0, /*End of Scope*/
/*229378*/    /*Scope*/ 78, /*->229457*/
/*229379*/      OPC_RecordChild0, // #0 = $Op1
/*229380*/      OPC_MoveChild1,
/*229381*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*229384*/      OPC_RecordChild0, // #1 = $SVELogicalImm8Pat:imm
/*229385*/      OPC_Scope, 50, /*->229437*/ // 2 children in Scope
/*229387*/        OPC_CheckChild0Type, MVT::i32,
/*229389*/        OPC_MoveParent,
/*229390*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->229406
/*229393*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*229395*/          OPC_CheckComplexPat, /*CP*/43, /*#*/1, // SelectSVELogicalImm<MVT::i8>:$ #2
/*229398*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZI), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 0, 2, 
                    // Src: (or:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVELogicalImm8Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                    // Dst: (ORR_ZI:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i64:{ *:[i64] }:$imm)
/*229406*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->229421
/*229408*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*229410*/          OPC_CheckComplexPat, /*CP*/44, /*#*/1, // SelectSVELogicalImm<MVT::i16>:$ #2
/*229413*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZI), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 0, 2, 
                    // Src: (or:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVELogicalImm16Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                    // Dst: (ORR_ZI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i64:{ *:[i64] }:$imm)
/*229421*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->229436
/*229423*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*229425*/          OPC_CheckComplexPat, /*CP*/45, /*#*/1, // SelectSVELogicalImm<MVT::i32>:$ #2
/*229428*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZI), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 0, 2, 
                    // Src: (or:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVELogicalImm32Pat:{ *:[i32] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                    // Dst: (ORR_ZI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i64:{ *:[i64] }:$imm)
/*229436*/        0, // EndSwitchType
/*229437*/      /*Scope*/ 18, /*->229456*/
/*229438*/        OPC_CheckChild0Type, MVT::i64,
/*229440*/        OPC_MoveParent,
/*229441*/        OPC_CheckType, MVT::nxv2i64,
/*229443*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*229445*/        OPC_CheckComplexPat, /*CP*/46, /*#*/1, // SelectSVELogicalImm<MVT::i64>:$ #2
/*229448*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZI), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (or:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVELogicalImm64Pat:{ *:[i64] } i64:{ *:[i64] }:$imm))) - Complexity = 12
                  // Dst: (ORR_ZI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i64:{ *:[i64] }:$imm)
/*229456*/      0, /*End of Scope*/
/*229457*/    /*Scope*/ 79, /*->229537*/
/*229458*/      OPC_MoveChild0,
/*229459*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*229462*/      OPC_RecordChild0, // #0 = $SVELogicalImm8Pat:imm
/*229463*/      OPC_Scope, 51, /*->229516*/ // 2 children in Scope
/*229465*/        OPC_CheckChild0Type, MVT::i32,
/*229467*/        OPC_MoveParent,
/*229468*/        OPC_RecordChild1, // #1 = $Op1
/*229469*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->229485
/*229472*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*229474*/          OPC_CheckComplexPat, /*CP*/43, /*#*/0, // SelectSVELogicalImm<MVT::i8>:$ #2
/*229477*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZI), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 1, 2, 
                    // Src: (or:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVELogicalImm8Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 12
                    // Dst: (ORR_ZI:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i64:{ *:[i64] }:$imm)
/*229485*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->229500
/*229487*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*229489*/          OPC_CheckComplexPat, /*CP*/44, /*#*/0, // SelectSVELogicalImm<MVT::i16>:$ #2
/*229492*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZI), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 1, 2, 
                    // Src: (or:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVELogicalImm16Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 12
                    // Dst: (ORR_ZI:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i64:{ *:[i64] }:$imm)
/*229500*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->229515
/*229502*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*229504*/          OPC_CheckComplexPat, /*CP*/45, /*#*/0, // SelectSVELogicalImm<MVT::i32>:$ #2
/*229507*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZI), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 1, 2, 
                    // Src: (or:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVELogicalImm32Pat:{ *:[i32] } i64:{ *:[i64] }:$imm)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 12
                    // Dst: (ORR_ZI:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i64:{ *:[i64] }:$imm)
/*229515*/        0, // EndSwitchType
/*229516*/      /*Scope*/ 19, /*->229536*/
/*229517*/        OPC_CheckChild0Type, MVT::i64,
/*229519*/        OPC_MoveParent,
/*229520*/        OPC_RecordChild1, // #1 = $Op1
/*229521*/        OPC_CheckType, MVT::nxv2i64,
/*229523*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*229525*/        OPC_CheckComplexPat, /*CP*/46, /*#*/0, // SelectSVELogicalImm<MVT::i64>:$ #2
/*229528*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZI), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 1, 2, 
                  // Src: (or:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVELogicalImm64Pat:{ *:[i64] } i64:{ *:[i64] }:$imm)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 12
                  // Dst: (ORR_ZI:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i64:{ *:[i64] }:$imm)
/*229536*/      0, /*End of Scope*/
/*229537*/    /*Scope*/ 1|128,1/*129*/, /*->229668*/
/*229539*/      OPC_RecordChild0, // #0 = $Rn
/*229540*/      OPC_MoveChild1,
/*229541*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229544*/      OPC_Scope, 103, /*->229649*/ // 2 children in Scope
/*229546*/        OPC_RecordChild0, // #1 = $Rm
/*229547*/        OPC_MoveChild1,
/*229548*/        OPC_CheckImmAllOnesV,
/*229549*/        OPC_MoveParent,
/*229550*/        OPC_MoveParent,
/*229551*/        OPC_SwitchType /*8 cases */, 10, MVT::v8i8,// ->229564
/*229554*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229556*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                        MVT::v8i8, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, immAllOnesV:{ *:[v8i8] })) - Complexity = 10
                    // Dst: (ORNv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*229564*/        /*SwitchType*/ 10, MVT::v16i8,// ->229576
/*229566*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229568*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                        MVT::v16i8, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, immAllOnesV:{ *:[v16i8] })) - Complexity = 10
                    // Dst: (ORNv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*229576*/        /*SwitchType*/ 10, MVT::v4i16,// ->229588
/*229578*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229580*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, immAllOnesV:{ *:[v4i16] })) - Complexity = 10
                    // Dst: (ORNv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*229588*/        /*SwitchType*/ 10, MVT::v2i32,// ->229600
/*229590*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229592*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, immAllOnesV:{ *:[v2i32] })) - Complexity = 10
                    // Dst: (ORNv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*229600*/        /*SwitchType*/ 10, MVT::v1i64,// ->229612
/*229602*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229604*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                        MVT::v1i64, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, immAllOnesV:{ *:[v1i64] })) - Complexity = 10
                    // Dst: (ORNv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*229612*/        /*SwitchType*/ 10, MVT::v8i16,// ->229624
/*229614*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229616*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, immAllOnesV:{ *:[v8i16] })) - Complexity = 10
                    // Dst: (ORNv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*229624*/        /*SwitchType*/ 10, MVT::v4i32,// ->229636
/*229626*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229628*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, immAllOnesV:{ *:[v4i32] })) - Complexity = 10
                    // Dst: (ORNv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*229636*/        /*SwitchType*/ 10, MVT::v2i64,// ->229648
/*229638*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229640*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (or:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, immAllOnesV:{ *:[v2i64] })) - Complexity = 10
                    // Dst: (ORNv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*229648*/        0, // EndSwitchType
/*229649*/      /*Scope*/ 17, /*->229667*/
/*229650*/        OPC_MoveChild0,
/*229651*/        OPC_CheckImmAllOnesV,
/*229652*/        OPC_MoveParent,
/*229653*/        OPC_RecordChild1, // #1 = $Rm
/*229654*/        OPC_MoveParent,
/*229655*/        OPC_CheckType, MVT::v8i8,
/*229657*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229659*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rm)) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*229667*/      0, /*End of Scope*/
/*229668*/    /*Scope*/ 44, /*->229713*/
/*229669*/      OPC_MoveChild0,
/*229670*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229673*/      OPC_Scope, 18, /*->229693*/ // 2 children in Scope
/*229675*/        OPC_RecordChild0, // #0 = $Rm
/*229676*/        OPC_MoveChild1,
/*229677*/        OPC_CheckImmAllOnesV,
/*229678*/        OPC_MoveParent,
/*229679*/        OPC_MoveParent,
/*229680*/        OPC_RecordChild1, // #1 = $Rn
/*229681*/        OPC_CheckType, MVT::v8i8,
/*229683*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229685*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v8i8] } (xor:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rm, immAllOnesV:{ *:[v8i8] }), V64:{ *:[v8i8] }:$Rn) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*229693*/      /*Scope*/ 18, /*->229712*/
/*229694*/        OPC_MoveChild0,
/*229695*/        OPC_CheckImmAllOnesV,
/*229696*/        OPC_MoveParent,
/*229697*/        OPC_RecordChild1, // #0 = $Rm
/*229698*/        OPC_MoveParent,
/*229699*/        OPC_RecordChild1, // #1 = $Rn
/*229700*/        OPC_CheckType, MVT::v8i8,
/*229702*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229704*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v8i8] } (xor:{ *:[v8i8] } immAllOnesV:{ *:[v8i8] }, V64:{ *:[v8i8] }:$Rm), V64:{ *:[v8i8] }:$Rn) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*229712*/      0, /*End of Scope*/
/*229713*/    /*Scope*/ 22, /*->229736*/
/*229714*/      OPC_RecordChild0, // #0 = $Rn
/*229715*/      OPC_MoveChild1,
/*229716*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229719*/      OPC_MoveChild0,
/*229720*/      OPC_CheckImmAllOnesV,
/*229721*/      OPC_MoveParent,
/*229722*/      OPC_RecordChild1, // #1 = $Rm
/*229723*/      OPC_MoveParent,
/*229724*/      OPC_CheckType, MVT::v16i8,
/*229726*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229728*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (or:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rm)) - Complexity = 10
                // Dst: (ORNv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*229736*/    /*Scope*/ 44, /*->229781*/
/*229737*/      OPC_MoveChild0,
/*229738*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229741*/      OPC_Scope, 18, /*->229761*/ // 2 children in Scope
/*229743*/        OPC_RecordChild0, // #0 = $Rm
/*229744*/        OPC_MoveChild1,
/*229745*/        OPC_CheckImmAllOnesV,
/*229746*/        OPC_MoveParent,
/*229747*/        OPC_MoveParent,
/*229748*/        OPC_RecordChild1, // #1 = $Rn
/*229749*/        OPC_CheckType, MVT::v16i8,
/*229751*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229753*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v16i8] } (xor:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rm, immAllOnesV:{ *:[v16i8] }), V128:{ *:[v16i8] }:$Rn) - Complexity = 10
                  // Dst: (ORNv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*229761*/      /*Scope*/ 18, /*->229780*/
/*229762*/        OPC_MoveChild0,
/*229763*/        OPC_CheckImmAllOnesV,
/*229764*/        OPC_MoveParent,
/*229765*/        OPC_RecordChild1, // #0 = $Rm
/*229766*/        OPC_MoveParent,
/*229767*/        OPC_RecordChild1, // #1 = $Rn
/*229768*/        OPC_CheckType, MVT::v16i8,
/*229770*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229772*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v16i8] } (xor:{ *:[v16i8] } immAllOnesV:{ *:[v16i8] }, V128:{ *:[v16i8] }:$Rm), V128:{ *:[v16i8] }:$Rn) - Complexity = 10
                  // Dst: (ORNv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*229780*/      0, /*End of Scope*/
/*229781*/    /*Scope*/ 22, /*->229804*/
/*229782*/      OPC_RecordChild0, // #0 = $LHS
/*229783*/      OPC_MoveChild1,
/*229784*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229787*/      OPC_MoveChild0,
/*229788*/      OPC_CheckImmAllOnesV,
/*229789*/      OPC_MoveParent,
/*229790*/      OPC_RecordChild1, // #1 = $RHS
/*229791*/      OPC_MoveParent,
/*229792*/      OPC_CheckType, MVT::v4i16,
/*229794*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229796*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (or:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$RHS)) - Complexity = 10
                // Dst: (ORNv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*229804*/    /*Scope*/ 44, /*->229849*/
/*229805*/      OPC_MoveChild0,
/*229806*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229809*/      OPC_Scope, 18, /*->229829*/ // 2 children in Scope
/*229811*/        OPC_RecordChild0, // #0 = $RHS
/*229812*/        OPC_MoveChild1,
/*229813*/        OPC_CheckImmAllOnesV,
/*229814*/        OPC_MoveParent,
/*229815*/        OPC_MoveParent,
/*229816*/        OPC_RecordChild1, // #1 = $LHS
/*229817*/        OPC_CheckType, MVT::v4i16,
/*229819*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229821*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v4i16, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v4i16] } (xor:{ *:[v4i16] } V64:{ *:[v4i16] }:$RHS, immAllOnesV:{ *:[v4i16] }), V64:{ *:[v4i16] }:$LHS) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*229829*/      /*Scope*/ 18, /*->229848*/
/*229830*/        OPC_MoveChild0,
/*229831*/        OPC_CheckImmAllOnesV,
/*229832*/        OPC_MoveParent,
/*229833*/        OPC_RecordChild1, // #0 = $RHS
/*229834*/        OPC_MoveParent,
/*229835*/        OPC_RecordChild1, // #1 = $LHS
/*229836*/        OPC_CheckType, MVT::v4i16,
/*229838*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229840*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v4i16, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v4i16] } (xor:{ *:[v4i16] } immAllOnesV:{ *:[v4i16] }, V64:{ *:[v4i16] }:$RHS), V64:{ *:[v4i16] }:$LHS) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*229848*/      0, /*End of Scope*/
/*229849*/    /*Scope*/ 22, /*->229872*/
/*229850*/      OPC_RecordChild0, // #0 = $LHS
/*229851*/      OPC_MoveChild1,
/*229852*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229855*/      OPC_MoveChild0,
/*229856*/      OPC_CheckImmAllOnesV,
/*229857*/      OPC_MoveParent,
/*229858*/      OPC_RecordChild1, // #1 = $RHS
/*229859*/      OPC_MoveParent,
/*229860*/      OPC_CheckType, MVT::v2i32,
/*229862*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229864*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (or:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$RHS)) - Complexity = 10
                // Dst: (ORNv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*229872*/    /*Scope*/ 44, /*->229917*/
/*229873*/      OPC_MoveChild0,
/*229874*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229877*/      OPC_Scope, 18, /*->229897*/ // 2 children in Scope
/*229879*/        OPC_RecordChild0, // #0 = $RHS
/*229880*/        OPC_MoveChild1,
/*229881*/        OPC_CheckImmAllOnesV,
/*229882*/        OPC_MoveParent,
/*229883*/        OPC_MoveParent,
/*229884*/        OPC_RecordChild1, // #1 = $LHS
/*229885*/        OPC_CheckType, MVT::v2i32,
/*229887*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229889*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v2i32, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v2i32] } (xor:{ *:[v2i32] } V64:{ *:[v2i32] }:$RHS, immAllOnesV:{ *:[v2i32] }), V64:{ *:[v2i32] }:$LHS) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*229897*/      /*Scope*/ 18, /*->229916*/
/*229898*/        OPC_MoveChild0,
/*229899*/        OPC_CheckImmAllOnesV,
/*229900*/        OPC_MoveParent,
/*229901*/        OPC_RecordChild1, // #0 = $RHS
/*229902*/        OPC_MoveParent,
/*229903*/        OPC_RecordChild1, // #1 = $LHS
/*229904*/        OPC_CheckType, MVT::v2i32,
/*229906*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229908*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v2i32, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v2i32] } (xor:{ *:[v2i32] } immAllOnesV:{ *:[v2i32] }, V64:{ *:[v2i32] }:$RHS), V64:{ *:[v2i32] }:$LHS) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*229916*/      0, /*End of Scope*/
/*229917*/    /*Scope*/ 22, /*->229940*/
/*229918*/      OPC_RecordChild0, // #0 = $LHS
/*229919*/      OPC_MoveChild1,
/*229920*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229923*/      OPC_MoveChild0,
/*229924*/      OPC_CheckImmAllOnesV,
/*229925*/      OPC_MoveParent,
/*229926*/      OPC_RecordChild1, // #1 = $RHS
/*229927*/      OPC_MoveParent,
/*229928*/      OPC_CheckType, MVT::v1i64,
/*229930*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229932*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (or:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$RHS)) - Complexity = 10
                // Dst: (ORNv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*229940*/    /*Scope*/ 44, /*->229985*/
/*229941*/      OPC_MoveChild0,
/*229942*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229945*/      OPC_Scope, 18, /*->229965*/ // 2 children in Scope
/*229947*/        OPC_RecordChild0, // #0 = $RHS
/*229948*/        OPC_MoveChild1,
/*229949*/        OPC_CheckImmAllOnesV,
/*229950*/        OPC_MoveParent,
/*229951*/        OPC_MoveParent,
/*229952*/        OPC_RecordChild1, // #1 = $LHS
/*229953*/        OPC_CheckType, MVT::v1i64,
/*229955*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229957*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v1i64, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v1i64] } (xor:{ *:[v1i64] } V64:{ *:[v1i64] }:$RHS, immAllOnesV:{ *:[v1i64] }), V64:{ *:[v1i64] }:$LHS) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*229965*/      /*Scope*/ 18, /*->229984*/
/*229966*/        OPC_MoveChild0,
/*229967*/        OPC_CheckImmAllOnesV,
/*229968*/        OPC_MoveParent,
/*229969*/        OPC_RecordChild1, // #0 = $RHS
/*229970*/        OPC_MoveParent,
/*229971*/        OPC_RecordChild1, // #1 = $LHS
/*229972*/        OPC_CheckType, MVT::v1i64,
/*229974*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*229976*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv8i8), 0,
                      MVT::v1i64, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v1i64] } (xor:{ *:[v1i64] } immAllOnesV:{ *:[v1i64] }, V64:{ *:[v1i64] }:$RHS), V64:{ *:[v1i64] }:$LHS) - Complexity = 10
                  // Dst: (ORNv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*229984*/      0, /*End of Scope*/
/*229985*/    /*Scope*/ 22, /*->230008*/
/*229986*/      OPC_RecordChild0, // #0 = $LHS
/*229987*/      OPC_MoveChild1,
/*229988*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*229991*/      OPC_MoveChild0,
/*229992*/      OPC_CheckImmAllOnesV,
/*229993*/      OPC_MoveParent,
/*229994*/      OPC_RecordChild1, // #1 = $RHS
/*229995*/      OPC_MoveParent,
/*229996*/      OPC_CheckType, MVT::v8i16,
/*229998*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230000*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (or:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$RHS)) - Complexity = 10
                // Dst: (ORNv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*230008*/    /*Scope*/ 44, /*->230053*/
/*230009*/      OPC_MoveChild0,
/*230010*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*230013*/      OPC_Scope, 18, /*->230033*/ // 2 children in Scope
/*230015*/        OPC_RecordChild0, // #0 = $RHS
/*230016*/        OPC_MoveChild1,
/*230017*/        OPC_CheckImmAllOnesV,
/*230018*/        OPC_MoveParent,
/*230019*/        OPC_MoveParent,
/*230020*/        OPC_RecordChild1, // #1 = $LHS
/*230021*/        OPC_CheckType, MVT::v8i16,
/*230023*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230025*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v8i16] } (xor:{ *:[v8i16] } V128:{ *:[v8i16] }:$RHS, immAllOnesV:{ *:[v8i16] }), V128:{ *:[v8i16] }:$LHS) - Complexity = 10
                  // Dst: (ORNv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*230033*/      /*Scope*/ 18, /*->230052*/
/*230034*/        OPC_MoveChild0,
/*230035*/        OPC_CheckImmAllOnesV,
/*230036*/        OPC_MoveParent,
/*230037*/        OPC_RecordChild1, // #0 = $RHS
/*230038*/        OPC_MoveParent,
/*230039*/        OPC_RecordChild1, // #1 = $LHS
/*230040*/        OPC_CheckType, MVT::v8i16,
/*230042*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230044*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v8i16] } (xor:{ *:[v8i16] } immAllOnesV:{ *:[v8i16] }, V128:{ *:[v8i16] }:$RHS), V128:{ *:[v8i16] }:$LHS) - Complexity = 10
                  // Dst: (ORNv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*230052*/      0, /*End of Scope*/
/*230053*/    /*Scope*/ 22, /*->230076*/
/*230054*/      OPC_RecordChild0, // #0 = $LHS
/*230055*/      OPC_MoveChild1,
/*230056*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*230059*/      OPC_MoveChild0,
/*230060*/      OPC_CheckImmAllOnesV,
/*230061*/      OPC_MoveParent,
/*230062*/      OPC_RecordChild1, // #1 = $RHS
/*230063*/      OPC_MoveParent,
/*230064*/      OPC_CheckType, MVT::v4i32,
/*230066*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230068*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (or:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$RHS)) - Complexity = 10
                // Dst: (ORNv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*230076*/    /*Scope*/ 44, /*->230121*/
/*230077*/      OPC_MoveChild0,
/*230078*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*230081*/      OPC_Scope, 18, /*->230101*/ // 2 children in Scope
/*230083*/        OPC_RecordChild0, // #0 = $RHS
/*230084*/        OPC_MoveChild1,
/*230085*/        OPC_CheckImmAllOnesV,
/*230086*/        OPC_MoveParent,
/*230087*/        OPC_MoveParent,
/*230088*/        OPC_RecordChild1, // #1 = $LHS
/*230089*/        OPC_CheckType, MVT::v4i32,
/*230091*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230093*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                      MVT::v4i32, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v4i32] } (xor:{ *:[v4i32] } V128:{ *:[v4i32] }:$RHS, immAllOnesV:{ *:[v4i32] }), V128:{ *:[v4i32] }:$LHS) - Complexity = 10
                  // Dst: (ORNv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*230101*/      /*Scope*/ 18, /*->230120*/
/*230102*/        OPC_MoveChild0,
/*230103*/        OPC_CheckImmAllOnesV,
/*230104*/        OPC_MoveParent,
/*230105*/        OPC_RecordChild1, // #0 = $RHS
/*230106*/        OPC_MoveParent,
/*230107*/        OPC_RecordChild1, // #1 = $LHS
/*230108*/        OPC_CheckType, MVT::v4i32,
/*230110*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230112*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                      MVT::v4i32, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v4i32] } (xor:{ *:[v4i32] } immAllOnesV:{ *:[v4i32] }, V128:{ *:[v4i32] }:$RHS), V128:{ *:[v4i32] }:$LHS) - Complexity = 10
                  // Dst: (ORNv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*230120*/      0, /*End of Scope*/
/*230121*/    /*Scope*/ 22, /*->230144*/
/*230122*/      OPC_RecordChild0, // #0 = $LHS
/*230123*/      OPC_MoveChild1,
/*230124*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*230127*/      OPC_MoveChild0,
/*230128*/      OPC_CheckImmAllOnesV,
/*230129*/      OPC_MoveParent,
/*230130*/      OPC_RecordChild1, // #1 = $RHS
/*230131*/      OPC_MoveParent,
/*230132*/      OPC_CheckType, MVT::v2i64,
/*230134*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230136*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (or:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$RHS)) - Complexity = 10
                // Dst: (ORNv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*230144*/    /*Scope*/ 44, /*->230189*/
/*230145*/      OPC_MoveChild0,
/*230146*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*230149*/      OPC_Scope, 18, /*->230169*/ // 2 children in Scope
/*230151*/        OPC_RecordChild0, // #0 = $RHS
/*230152*/        OPC_MoveChild1,
/*230153*/        OPC_CheckImmAllOnesV,
/*230154*/        OPC_MoveParent,
/*230155*/        OPC_MoveParent,
/*230156*/        OPC_RecordChild1, // #1 = $LHS
/*230157*/        OPC_CheckType, MVT::v2i64,
/*230159*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230161*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                      MVT::v2i64, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v2i64] } (xor:{ *:[v2i64] } V128:{ *:[v2i64] }:$RHS, immAllOnesV:{ *:[v2i64] }), V128:{ *:[v2i64] }:$LHS) - Complexity = 10
                  // Dst: (ORNv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*230169*/      /*Scope*/ 18, /*->230188*/
/*230170*/        OPC_MoveChild0,
/*230171*/        OPC_CheckImmAllOnesV,
/*230172*/        OPC_MoveParent,
/*230173*/        OPC_RecordChild1, // #0 = $RHS
/*230174*/        OPC_MoveParent,
/*230175*/        OPC_RecordChild1, // #1 = $LHS
/*230176*/        OPC_CheckType, MVT::v2i64,
/*230178*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230180*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORNv16i8), 0,
                      MVT::v2i64, 2/*#Ops*/, 1, 0, 
                  // Src: (or:{ *:[v2i64] } (xor:{ *:[v2i64] } immAllOnesV:{ *:[v2i64] }, V128:{ *:[v2i64] }:$RHS), V128:{ *:[v2i64] }:$LHS) - Complexity = 10
                  // Dst: (ORNv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*230188*/      0, /*End of Scope*/
/*230189*/    /*Scope*/ 20|128,1/*148*/, /*->230339*/
/*230191*/      OPC_RecordChild0, // #0 = $Rn
/*230192*/      OPC_RecordChild1, // #1 = $Rm
/*230193*/      OPC_SwitchType /*12 cases */, 10, MVT::v8i8,// ->230206
/*230196*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230198*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (ORRv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*230206*/      /*SwitchType*/ 10, MVT::v16i8,// ->230218
/*230208*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230210*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (ORRv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*230218*/      /*SwitchType*/ 10, MVT::v4i16,// ->230230
/*230220*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230222*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv8i8), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS) - Complexity = 3
                  // Dst: (ORRv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*230230*/      /*SwitchType*/ 10, MVT::v2i32,// ->230242
/*230232*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230234*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv8i8), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS) - Complexity = 3
                  // Dst: (ORRv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*230242*/      /*SwitchType*/ 10, MVT::v1i64,// ->230254
/*230244*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230246*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv8i8), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS) - Complexity = 3
                  // Dst: (ORRv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$RHS)
/*230254*/      /*SwitchType*/ 10, MVT::v8i16,// ->230266
/*230256*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230258*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv16i8), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS) - Complexity = 3
                  // Dst: (ORRv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*230266*/      /*SwitchType*/ 10, MVT::v4i32,// ->230278
/*230268*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230270*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv16i8), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS) - Complexity = 3
                  // Dst: (ORRv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*230278*/      /*SwitchType*/ 10, MVT::v2i64,// ->230290
/*230280*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*230282*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv16i8), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS) - Complexity = 3
                  // Dst: (ORRv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*230290*/      /*SwitchType*/ 10, MVT::nxv16i8,// ->230302
/*230292*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*230294*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZZZ), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                  // Dst: (ORR_ZZZ:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*230302*/      /*SwitchType*/ 10, MVT::nxv8i16,// ->230314
/*230304*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*230306*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZZZ), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (ORR_ZZZ:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*230314*/      /*SwitchType*/ 10, MVT::nxv4i32,// ->230326
/*230316*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*230318*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZZZ), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (ORR_ZZZ:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*230326*/      /*SwitchType*/ 10, MVT::nxv2i64,// ->230338
/*230328*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*230330*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORR_ZZZ), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (or:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (ORR_ZZZ:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*230338*/      0, // EndSwitchType
/*230339*/    0, /*End of Scope*/
/*230340*/  /*SwitchOpcode*/ 80|128,6/*848*/, TARGET_VAL(ISD::INTRINSIC_W_CHAIN),// ->231192
/*230344*/    OPC_RecordNode, // #0 = 'intrinsic_w_chain' chained node
/*230345*/    OPC_Scope, 9|128,2/*265*/, /*->230613*/ // 10 children in Scope
/*230348*/      OPC_CheckChild1Integer, 94|128,3/*478*/, 
/*230351*/      OPC_Scope, 42|128,1/*170*/, /*->230524*/ // 2 children in Scope
/*230354*/        OPC_MoveChild2,
/*230355*/        OPC_Scope, 49, /*->230406*/ // 5 children in Scope
/*230357*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*230360*/          OPC_MoveChild0,
/*230361*/          OPC_Scope, 20, /*->230383*/ // 2 children in Scope
/*230363*/            OPC_CheckAndImm, 127|128,1/*255*/, 
/*230366*/            OPC_RecordChild0, // #1 = $val
/*230367*/            OPC_MoveParent,
/*230368*/            OPC_MoveParent,
/*230369*/            OPC_RecordChild3, // #2 = $addr
/*230370*/            OPC_CheckChild3Type, MVT::i64,
/*230372*/            OPC_CheckPredicate, 43, // Predicate_stxr_1
/*230374*/            OPC_EmitMergeInputChains1_0,
/*230375*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRB), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 2, 
                      // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, (zext:{ *:[i64] } (and:{ *:[i32] } GPR32:{ *:[i32] }:$val, 255:{ *:[i32] })), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_1>> - Complexity = 20
                      // Dst: (STXRB:{ *:[i32] } GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$addr)
/*230383*/          /*Scope*/ 21, /*->230405*/
/*230384*/            OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
/*230388*/            OPC_RecordChild0, // #1 = $val
/*230389*/            OPC_MoveParent,
/*230390*/            OPC_MoveParent,
/*230391*/            OPC_RecordChild3, // #2 = $addr
/*230392*/            OPC_CheckChild3Type, MVT::i64,
/*230394*/            OPC_CheckPredicate, 44, // Predicate_stxr_2
/*230396*/            OPC_EmitMergeInputChains1_0,
/*230397*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRH), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 2, 
                      // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, (zext:{ *:[i64] } (and:{ *:[i32] } GPR32:{ *:[i32] }:$val, 65535:{ *:[i32] })), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_2>> - Complexity = 20
                      // Dst: (STXRH:{ *:[i32] } GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$addr)
/*230405*/          0, /*End of Scope*/
/*230406*/        /*Scope*/ 30, /*->230437*/
/*230407*/          OPC_CheckAndImm, 127|128,1/*255*/, 
/*230410*/          OPC_RecordChild0, // #1 = $val
/*230411*/          OPC_MoveParent,
/*230412*/          OPC_RecordChild3, // #2 = $addr
/*230413*/          OPC_CheckChild3Type, MVT::i64,
/*230415*/          OPC_CheckPredicate, 43, // Predicate_stxr_1
/*230417*/          OPC_EmitMergeInputChains1_0,
/*230418*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230421*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230429*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRB), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, (and:{ *:[i64] } GPR64:{ *:[i64] }:$val, 255:{ *:[i64] }), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_1>> - Complexity = 17
                    // Dst: (STXRB:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230437*/        /*Scope*/ 31, /*->230469*/
/*230438*/          OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
/*230442*/          OPC_RecordChild0, // #1 = $val
/*230443*/          OPC_MoveParent,
/*230444*/          OPC_RecordChild3, // #2 = $addr
/*230445*/          OPC_CheckChild3Type, MVT::i64,
/*230447*/          OPC_CheckPredicate, 44, // Predicate_stxr_2
/*230449*/          OPC_EmitMergeInputChains1_0,
/*230450*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230453*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230461*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRH), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, (and:{ *:[i64] } GPR64:{ *:[i64] }:$val, 65535:{ *:[i64] }), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_2>> - Complexity = 17
                    // Dst: (STXRH:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230469*/        /*Scope*/ 33, /*->230503*/
/*230470*/          OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15/*4294967295*/, 
/*230476*/          OPC_RecordChild0, // #1 = $val
/*230477*/          OPC_MoveParent,
/*230478*/          OPC_RecordChild3, // #2 = $addr
/*230479*/          OPC_CheckChild3Type, MVT::i64,
/*230481*/          OPC_CheckPredicate, 45, // Predicate_stxr_4
/*230483*/          OPC_EmitMergeInputChains1_0,
/*230484*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230487*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230495*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRW), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, (and:{ *:[i64] } GPR64:{ *:[i64] }:$val, 4294967295:{ *:[i64] }), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_4>> - Complexity = 17
                    // Dst: (STXRW:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230503*/        /*Scope*/ 19, /*->230523*/
/*230504*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*230507*/          OPC_RecordChild0, // #1 = $val
/*230508*/          OPC_MoveParent,
/*230509*/          OPC_RecordChild3, // #2 = $addr
/*230510*/          OPC_CheckChild3Type, MVT::i64,
/*230512*/          OPC_CheckPredicate, 45, // Predicate_stxr_4
/*230514*/          OPC_EmitMergeInputChains1_0,
/*230515*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRW), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 1, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$val), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_4>> - Complexity = 12
                    // Dst: (STXRW:{ *:[i32] } GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$addr)
/*230523*/        0, /*End of Scope*/
/*230524*/      /*Scope*/ 87, /*->230612*/
/*230525*/        OPC_RecordChild2, // #1 = $val
/*230526*/        OPC_RecordChild3, // #2 = $addr
/*230527*/        OPC_CheckChild3Type, MVT::i64,
/*230529*/        OPC_Scope, 11, /*->230542*/ // 4 children in Scope
/*230531*/          OPC_CheckPredicate, 48, // Predicate_stxr_8
/*230533*/          OPC_EmitMergeInputChains1_0,
/*230534*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRX), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 1, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_8>> - Complexity = 9
                    // Dst: (STXRX:{ *:[i32] } GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)
/*230542*/        /*Scope*/ 22, /*->230565*/
/*230543*/          OPC_CheckPredicate, 43, // Predicate_stxr_1
/*230545*/          OPC_EmitMergeInputChains1_0,
/*230546*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230549*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230557*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRB), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_1>> - Complexity = 9
                    // Dst: (STXRB:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230565*/        /*Scope*/ 22, /*->230588*/
/*230566*/          OPC_CheckPredicate, 44, // Predicate_stxr_2
/*230568*/          OPC_EmitMergeInputChains1_0,
/*230569*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230572*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230580*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRH), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_2>> - Complexity = 9
                    // Dst: (STXRH:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230588*/        /*Scope*/ 22, /*->230611*/
/*230589*/          OPC_CheckPredicate, 45, // Predicate_stxr_4
/*230591*/          OPC_EmitMergeInputChains1_0,
/*230592*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230595*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230603*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STXRW), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 478:{ *:[iPTR] }, GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stxr_4>> - Complexity = 9
                    // Dst: (STXRW:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230611*/        0, /*End of Scope*/
/*230612*/      0, /*End of Scope*/
/*230613*/    /*Scope*/ 9|128,2/*265*/, /*->230880*/
/*230615*/      OPC_CheckChild1Integer, 92|128,3/*476*/, 
/*230618*/      OPC_Scope, 42|128,1/*170*/, /*->230791*/ // 2 children in Scope
/*230621*/        OPC_MoveChild2,
/*230622*/        OPC_Scope, 49, /*->230673*/ // 5 children in Scope
/*230624*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*230627*/          OPC_MoveChild0,
/*230628*/          OPC_Scope, 20, /*->230650*/ // 2 children in Scope
/*230630*/            OPC_CheckAndImm, 127|128,1/*255*/, 
/*230633*/            OPC_RecordChild0, // #1 = $val
/*230634*/            OPC_MoveParent,
/*230635*/            OPC_MoveParent,
/*230636*/            OPC_RecordChild3, // #2 = $addr
/*230637*/            OPC_CheckChild3Type, MVT::i64,
/*230639*/            OPC_CheckPredicate, 43, // Predicate_stlxr_1
/*230641*/            OPC_EmitMergeInputChains1_0,
/*230642*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRB), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 2, 
                      // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, (zext:{ *:[i64] } (and:{ *:[i32] } GPR32:{ *:[i32] }:$val, 255:{ *:[i32] })), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_1>> - Complexity = 20
                      // Dst: (STLXRB:{ *:[i32] } GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$addr)
/*230650*/          /*Scope*/ 21, /*->230672*/
/*230651*/            OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
/*230655*/            OPC_RecordChild0, // #1 = $val
/*230656*/            OPC_MoveParent,
/*230657*/            OPC_MoveParent,
/*230658*/            OPC_RecordChild3, // #2 = $addr
/*230659*/            OPC_CheckChild3Type, MVT::i64,
/*230661*/            OPC_CheckPredicate, 44, // Predicate_stlxr_2
/*230663*/            OPC_EmitMergeInputChains1_0,
/*230664*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRH), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 2, 
                      // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, (zext:{ *:[i64] } (and:{ *:[i32] } GPR32:{ *:[i32] }:$val, 65535:{ *:[i32] })), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_2>> - Complexity = 20
                      // Dst: (STLXRH:{ *:[i32] } GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$addr)
/*230672*/          0, /*End of Scope*/
/*230673*/        /*Scope*/ 30, /*->230704*/
/*230674*/          OPC_CheckAndImm, 127|128,1/*255*/, 
/*230677*/          OPC_RecordChild0, // #1 = $val
/*230678*/          OPC_MoveParent,
/*230679*/          OPC_RecordChild3, // #2 = $addr
/*230680*/          OPC_CheckChild3Type, MVT::i64,
/*230682*/          OPC_CheckPredicate, 43, // Predicate_stlxr_1
/*230684*/          OPC_EmitMergeInputChains1_0,
/*230685*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230688*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230696*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRB), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, (and:{ *:[i64] } GPR64:{ *:[i64] }:$val, 255:{ *:[i64] }), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_1>> - Complexity = 17
                    // Dst: (STLXRB:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230704*/        /*Scope*/ 31, /*->230736*/
/*230705*/          OPC_CheckAndImm, 127|128,127|128,3/*65535*/, 
/*230709*/          OPC_RecordChild0, // #1 = $val
/*230710*/          OPC_MoveParent,
/*230711*/          OPC_RecordChild3, // #2 = $addr
/*230712*/          OPC_CheckChild3Type, MVT::i64,
/*230714*/          OPC_CheckPredicate, 44, // Predicate_stlxr_2
/*230716*/          OPC_EmitMergeInputChains1_0,
/*230717*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230720*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230728*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRH), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, (and:{ *:[i64] } GPR64:{ *:[i64] }:$val, 65535:{ *:[i64] }), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_2>> - Complexity = 17
                    // Dst: (STLXRH:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230736*/        /*Scope*/ 33, /*->230770*/
/*230737*/          OPC_CheckAndImm, 127|128,127|128,127|128,127|128,15/*4294967295*/, 
/*230743*/          OPC_RecordChild0, // #1 = $val
/*230744*/          OPC_MoveParent,
/*230745*/          OPC_RecordChild3, // #2 = $addr
/*230746*/          OPC_CheckChild3Type, MVT::i64,
/*230748*/          OPC_CheckPredicate, 45, // Predicate_stlxr_4
/*230750*/          OPC_EmitMergeInputChains1_0,
/*230751*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230754*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230762*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRW), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, (and:{ *:[i64] } GPR64:{ *:[i64] }:$val, 4294967295:{ *:[i64] }), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_4>> - Complexity = 17
                    // Dst: (STLXRW:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230770*/        /*Scope*/ 19, /*->230790*/
/*230771*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*230774*/          OPC_RecordChild0, // #1 = $val
/*230775*/          OPC_MoveParent,
/*230776*/          OPC_RecordChild3, // #2 = $addr
/*230777*/          OPC_CheckChild3Type, MVT::i64,
/*230779*/          OPC_CheckPredicate, 45, // Predicate_stlxr_4
/*230781*/          OPC_EmitMergeInputChains1_0,
/*230782*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRW), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 1, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$val), GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_4>> - Complexity = 12
                    // Dst: (STLXRW:{ *:[i32] } GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$addr)
/*230790*/        0, /*End of Scope*/
/*230791*/      /*Scope*/ 87, /*->230879*/
/*230792*/        OPC_RecordChild2, // #1 = $val
/*230793*/        OPC_RecordChild3, // #2 = $addr
/*230794*/        OPC_CheckChild3Type, MVT::i64,
/*230796*/        OPC_Scope, 11, /*->230809*/ // 4 children in Scope
/*230798*/          OPC_CheckPredicate, 48, // Predicate_stlxr_8
/*230800*/          OPC_EmitMergeInputChains1_0,
/*230801*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRX), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 1, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_8>> - Complexity = 9
                    // Dst: (STLXRX:{ *:[i32] } GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)
/*230809*/        /*Scope*/ 22, /*->230832*/
/*230810*/          OPC_CheckPredicate, 43, // Predicate_stlxr_1
/*230812*/          OPC_EmitMergeInputChains1_0,
/*230813*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230816*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230824*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRB), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_1>> - Complexity = 9
                    // Dst: (STLXRB:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230832*/        /*Scope*/ 22, /*->230855*/
/*230833*/          OPC_CheckPredicate, 44, // Predicate_stlxr_2
/*230835*/          OPC_EmitMergeInputChains1_0,
/*230836*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230839*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230847*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRH), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_2>> - Complexity = 9
                    // Dst: (STLXRH:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230855*/        /*Scope*/ 22, /*->230878*/
/*230856*/          OPC_CheckPredicate, 45, // Predicate_stlxr_4
/*230858*/          OPC_EmitMergeInputChains1_0,
/*230859*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230862*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 3,  // Results = #4
/*230870*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::STLXRW), 0|OPFL_Chain,
                        MVT::i32, 2/*#Ops*/, 4, 2, 
                    // Src: (intrinsic_w_chain:{ *:[i32] } 476:{ *:[iPTR] }, GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_stlxr_4>> - Complexity = 9
                    // Dst: (STLXRW:{ *:[i32] } (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$val, sub_32:{ *:[i32] }), GPR64sp:{ *:[i64] }:$addr)
/*230878*/        0, /*End of Scope*/
/*230879*/      0, /*End of Scope*/
/*230880*/    /*Scope*/ 24, /*->230905*/
/*230881*/      OPC_CheckChild1Integer, 49|128,2/*305*/, 
/*230884*/      OPC_RecordChild2, // #1 = $Rt
/*230885*/      OPC_CheckChild2Type, MVT::i64,
/*230887*/      OPC_RecordChild3, // #2 = $am_indexeds9s128:Rn:offset
/*230888*/      OPC_CheckType, MVT::i64,
/*230890*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*230892*/      OPC_CheckComplexPat, /*CP*/50, /*#*/2, // SelectAddrModeIndexedS9S128:$ #3 #4
/*230895*/      OPC_EmitMergeInputChains1_0,
/*230896*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDG), 0|OPFL_Chain,
                    MVT::i64, 3/*#Ops*/, 1, 3, 4, 
                // Src: (intrinsic_w_chain:{ *:[i64] } 305:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rt, (am_indexeds9s128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm9s16:{ *:[i64] }:$offset)) - Complexity = 17
                // Dst: (LDG:{ *:[i64] } GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, simm9s16:{ *:[i64] }:$offset)
/*230905*/    /*Scope*/ 21, /*->230927*/
/*230906*/      OPC_CheckChild1Integer, 88|128,3/*472*/, 
/*230909*/      OPC_RecordChild2, // #1 = $size
/*230910*/      OPC_MoveChild2,
/*230911*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*230914*/      OPC_MoveParent,
/*230915*/      OPC_RecordChild3, // #2 = $Rn
/*230916*/      OPC_EmitMergeInputChains1_0,
/*230917*/      OPC_EmitConvertToTarget, 1,
/*230919*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SPACE), 0|OPFL_Chain,
                    MVT::i64, 2/*#Ops*/, 3, 2, 
                // Src: (intrinsic_w_chain:{ *:[i64] } 472:{ *:[iPTR] }, (imm:{ *:[i32] }):$size, GPR64:{ *:[i64] }:$Rn) - Complexity = 11
                // Dst: (SPACE:{ *:[i64] } (imm:{ *:[i32] }):$size, GPR64:{ *:[i64] }:$Rn)
/*230927*/    /*Scope*/ 97, /*->231025*/
/*230928*/      OPC_CheckChild1Integer, 51|128,2/*307*/, 
/*230931*/      OPC_RecordChild2, // #1 = $addr
/*230932*/      OPC_CheckChild2Type, MVT::i64,
/*230934*/      OPC_Scope, 10, /*->230946*/ // 4 children in Scope
/*230936*/        OPC_CheckPredicate, 48, // Predicate_ldxr_8
/*230938*/        OPC_EmitMergeInputChains1_0,
/*230939*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDXRX), 0|OPFL_Chain,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (intrinsic_w_chain:{ *:[i64] } 307:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldxr_8>> - Complexity = 9
                  // Dst: (LDXRX:{ *:[i64] } GPR64sp:{ *:[i64] }:$addr)
/*230946*/      /*Scope*/ 25, /*->230972*/
/*230947*/        OPC_CheckPredicate, 43, // Predicate_ldxr_1
/*230949*/        OPC_EmitMergeInputChains1_0,
/*230950*/        OPC_EmitInteger, MVT::i64, 0, 
/*230953*/        OPC_EmitNode1, TARGET_VAL(AArch64::LDXRB), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*230960*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230963*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                  // Src: (intrinsic_w_chain:{ *:[i64] } 307:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldxr_1>> - Complexity = 9
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDXRB:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*230972*/      /*Scope*/ 25, /*->230998*/
/*230973*/        OPC_CheckPredicate, 44, // Predicate_ldxr_2
/*230975*/        OPC_EmitMergeInputChains1_0,
/*230976*/        OPC_EmitInteger, MVT::i64, 0, 
/*230979*/        OPC_EmitNode1, TARGET_VAL(AArch64::LDXRH), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*230986*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*230989*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                  // Src: (intrinsic_w_chain:{ *:[i64] } 307:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldxr_2>> - Complexity = 9
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDXRH:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*230998*/      /*Scope*/ 25, /*->231024*/
/*230999*/        OPC_CheckPredicate, 45, // Predicate_ldxr_4
/*231001*/        OPC_EmitMergeInputChains1_0,
/*231002*/        OPC_EmitInteger, MVT::i64, 0, 
/*231005*/        OPC_EmitNode1, TARGET_VAL(AArch64::LDXRW), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*231012*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*231015*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                  // Src: (intrinsic_w_chain:{ *:[i64] } 307:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldxr_4>> - Complexity = 9
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDXRW:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*231024*/      0, /*End of Scope*/
/*231025*/    /*Scope*/ 97, /*->231123*/
/*231026*/      OPC_CheckChild1Integer, 48|128,2/*304*/, 
/*231029*/      OPC_RecordChild2, // #1 = $addr
/*231030*/      OPC_CheckChild2Type, MVT::i64,
/*231032*/      OPC_Scope, 10, /*->231044*/ // 4 children in Scope
/*231034*/        OPC_CheckPredicate, 48, // Predicate_ldaxr_8
/*231036*/        OPC_EmitMergeInputChains1_0,
/*231037*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDAXRX), 0|OPFL_Chain,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (intrinsic_w_chain:{ *:[i64] } 304:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldaxr_8>> - Complexity = 9
                  // Dst: (LDAXRX:{ *:[i64] } GPR64sp:{ *:[i64] }:$addr)
/*231044*/      /*Scope*/ 25, /*->231070*/
/*231045*/        OPC_CheckPredicate, 43, // Predicate_ldaxr_1
/*231047*/        OPC_EmitMergeInputChains1_0,
/*231048*/        OPC_EmitInteger, MVT::i64, 0, 
/*231051*/        OPC_EmitNode1, TARGET_VAL(AArch64::LDAXRB), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*231058*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*231061*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                  // Src: (intrinsic_w_chain:{ *:[i64] } 304:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldaxr_1>> - Complexity = 9
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDAXRB:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*231070*/      /*Scope*/ 25, /*->231096*/
/*231071*/        OPC_CheckPredicate, 44, // Predicate_ldaxr_2
/*231073*/        OPC_EmitMergeInputChains1_0,
/*231074*/        OPC_EmitInteger, MVT::i64, 0, 
/*231077*/        OPC_EmitNode1, TARGET_VAL(AArch64::LDAXRH), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*231084*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*231087*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                  // Src: (intrinsic_w_chain:{ *:[i64] } 304:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldaxr_2>> - Complexity = 9
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDAXRH:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*231096*/      /*Scope*/ 25, /*->231122*/
/*231097*/        OPC_CheckPredicate, 45, // Predicate_ldaxr_4
/*231099*/        OPC_EmitMergeInputChains1_0,
/*231100*/        OPC_EmitInteger, MVT::i64, 0, 
/*231103*/        OPC_EmitNode1, TARGET_VAL(AArch64::LDAXRW), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1,  // Results = #3
/*231110*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*231113*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0|OPFL_Chain,
                      MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                  // Src: (intrinsic_w_chain:{ *:[i64] } 304:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$addr)<<P:Predicate_ldaxr_4>> - Complexity = 9
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (LDAXRW:{ *:[i32] } GPR64sp:{ *:[i64] }:$addr), sub_32:{ *:[i32] })
/*231122*/      0, /*End of Scope*/
/*231123*/    /*Scope*/ 12, /*->231136*/
/*231124*/      OPC_CheckChild1Integer, 50|128,6/*818*/, 
/*231127*/      OPC_CheckPatternPredicate, 21, // (Subtarget->hasTME())
/*231129*/      OPC_EmitMergeInputChains1_0,
/*231130*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TSTART), 0|OPFL_Chain,
                    MVT::i64, 0/*#Ops*/, 
                // Src: (intrinsic_w_chain:{ *:[i64] } 818:{ *:[iPTR] }) - Complexity = 8
                // Dst: (TSTART:{ *:[i64] })
/*231136*/    /*Scope*/ 12, /*->231149*/
/*231137*/      OPC_CheckChild1Integer, 51|128,6/*819*/, 
/*231140*/      OPC_CheckPatternPredicate, 21, // (Subtarget->hasTME())
/*231142*/      OPC_EmitMergeInputChains1_0,
/*231143*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TTEST), 0|OPFL_Chain,
                    MVT::i64, 0/*#Ops*/, 
                // Src: (intrinsic_w_chain:{ *:[i64] } 819:{ *:[iPTR] }) - Complexity = 8
                // Dst: (TTEST:{ *:[i64] })
/*231149*/    /*Scope*/ 20, /*->231170*/
/*231150*/      OPC_CheckChild1Integer, 44|128,2/*300*/, 
/*231153*/      OPC_RecordChild2, // #1 = $Rn
/*231154*/      OPC_CheckChild2Type, MVT::i64,
/*231156*/      OPC_RecordChild3, // #2 = $Rm
/*231157*/      OPC_CheckType, MVT::i64,
/*231159*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*231161*/      OPC_EmitMergeInputChains1_0,
/*231162*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::IRG), 0|OPFL_Chain,
                    MVT::i64, 2/*#Ops*/, 1, 2, 
                // Src: (intrinsic_w_chain:{ *:[i64] } 300:{ *:[iPTR] }, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 8
                // Dst: (IRG:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*231170*/    /*Scope*/ 20, /*->231191*/
/*231171*/      OPC_CheckChild1Integer, 45|128,2/*301*/, 
/*231174*/      OPC_RecordChild2, // #1 = $Rm
/*231175*/      OPC_CheckType, MVT::i64,
/*231177*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*231179*/      OPC_EmitMergeInputChains1_0,
/*231180*/      OPC_EmitRegister, MVT::i64, AArch64::SP,
/*231183*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::IRGstack), 0|OPFL_Chain,
                    MVT::i64, 2/*#Ops*/, 2, 1, 
                // Src: (intrinsic_w_chain:{ *:[i64] } 301:{ *:[iPTR] }, i64:{ *:[i64] }:$Rm) - Complexity = 8
                // Dst: (IRGstack:{ *:[i64] } SP:{ *:[i64] }, i64:{ *:[i64] }:$Rm)
/*231191*/    0, /*End of Scope*/
/*231192*/  /*SwitchOpcode*/ 107|128,2/*363*/, TARGET_VAL(ISD::ATOMIC_LOAD),// ->231559
/*231196*/    OPC_RecordMemRef,
/*231197*/    OPC_RecordNode, // #0 = 'atomic_load' chained node
/*231198*/    OPC_RecordChild1, // #1 = $ro_Windexed8:Rn:Rm:offset
/*231199*/    OPC_Scope, 38, /*->231239*/ // 9 children in Scope
/*231201*/      OPC_CheckPredicate, 6, // Predicate_atomic_load_8
/*231203*/      OPC_CheckPredicate, 49, // Predicate_anonymous_6470
/*231205*/      OPC_CheckType, MVT::i32,
/*231207*/      OPC_Scope, 14, /*->231223*/ // 2 children in Scope
/*231209*/        OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*231212*/        OPC_EmitMergeInputChains1_0,
/*231213*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                  // Src: (atomic_load:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$offset))<<P:Predicate_atomic_load_8>><<P:Predicate_anonymous_6470>> - Complexity = 19
                  // Dst: (LDRBBroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$offset)
/*231223*/      /*Scope*/ 14, /*->231238*/
/*231224*/        OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*231227*/        OPC_EmitMergeInputChains1_0,
/*231228*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                  // Src: (atomic_load:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$offset))<<P:Predicate_atomic_load_8>><<P:Predicate_anonymous_6470>> - Complexity = 19
                  // Dst: (LDRBBroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$offset)
/*231238*/      0, /*End of Scope*/
/*231239*/    /*Scope*/ 38, /*->231278*/
/*231240*/      OPC_CheckPredicate, 16, // Predicate_atomic_load_16
/*231242*/      OPC_CheckPredicate, 49, // Predicate_anonymous_6477
/*231244*/      OPC_CheckType, MVT::i32,
/*231246*/      OPC_Scope, 14, /*->231262*/ // 2 children in Scope
/*231248*/        OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*231251*/        OPC_EmitMergeInputChains1_0,
/*231252*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                  // Src: (atomic_load:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_atomic_load_16>><<P:Predicate_anonymous_6477>> - Complexity = 19
                  // Dst: (LDRHHroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*231262*/      /*Scope*/ 14, /*->231277*/
/*231263*/        OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*231266*/        OPC_EmitMergeInputChains1_0,
/*231267*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                  // Src: (atomic_load:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend))<<P:Predicate_atomic_load_16>><<P:Predicate_anonymous_6477>> - Complexity = 19
                  // Dst: (LDRHHroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*231277*/      0, /*End of Scope*/
/*231278*/    /*Scope*/ 38, /*->231317*/
/*231279*/      OPC_CheckPredicate, 18, // Predicate_atomic_load_32
/*231281*/      OPC_CheckPredicate, 49, // Predicate_anonymous_6484
/*231283*/      OPC_CheckType, MVT::i32,
/*231285*/      OPC_Scope, 14, /*->231301*/ // 2 children in Scope
/*231287*/        OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*231290*/        OPC_EmitMergeInputChains1_0,
/*231291*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                  // Src: (atomic_load:{ *:[i32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_atomic_load_32>><<P:Predicate_anonymous_6484>> - Complexity = 19
                  // Dst: (LDRWroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*231301*/      /*Scope*/ 14, /*->231316*/
/*231302*/        OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*231305*/        OPC_EmitMergeInputChains1_0,
/*231306*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 4/*#Ops*/, 2, 3, 4, 5, 
                  // Src: (atomic_load:{ *:[i32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend))<<P:Predicate_atomic_load_32>><<P:Predicate_anonymous_6484>> - Complexity = 19
                  // Dst: (LDRWroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*231316*/      0, /*End of Scope*/
/*231317*/    /*Scope*/ 38, /*->231356*/
/*231318*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_64
/*231320*/      OPC_CheckPredicate, 49, // Predicate_anonymous_6491
/*231322*/      OPC_CheckType, MVT::i64,
/*231324*/      OPC_Scope, 14, /*->231340*/ // 2 children in Scope
/*231326*/        OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*231329*/        OPC_EmitMergeInputChains1_0,
/*231330*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXroW), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                  // Src: (atomic_load:{ *:[i64] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_atomic_load_64>><<P:Predicate_anonymous_6491>> - Complexity = 19
                  // Dst: (LDRXroW:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*231340*/      /*Scope*/ 14, /*->231355*/
/*231341*/        OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*231344*/        OPC_EmitMergeInputChains1_0,
/*231345*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXroX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 4/*#Ops*/, 2, 3, 4, 5, 
                  // Src: (atomic_load:{ *:[i64] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_atomic_load_64>><<P:Predicate_anonymous_6491>> - Complexity = 19
                  // Dst: (LDRXroX:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*231355*/      0, /*End of Scope*/
/*231356*/    /*Scope*/ 34, /*->231391*/
/*231357*/      OPC_CheckPredicate, 6, // Predicate_atomic_load_8
/*231359*/      OPC_CheckPredicate, 49, // Predicate_anonymous_6470
/*231361*/      OPC_CheckType, MVT::i32,
/*231363*/      OPC_Scope, 12, /*->231377*/ // 2 children in Scope
/*231365*/        OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*231368*/        OPC_EmitMergeInputChains1_0,
/*231369*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2/*#Ops*/, 2, 3, 
                  // Src: (atomic_load:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_atomic_load_8>><<P:Predicate_anonymous_6470>> - Complexity = 13
                  // Dst: (LDRBBui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*231377*/      /*Scope*/ 12, /*->231390*/
/*231378*/        OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*231381*/        OPC_EmitMergeInputChains1_0,
/*231382*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2/*#Ops*/, 2, 3, 
                  // Src: (atomic_load:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_atomic_load_8>><<P:Predicate_anonymous_6470>> - Complexity = 13
                  // Dst: (LDURBBi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*231390*/      0, /*End of Scope*/
/*231391*/    /*Scope*/ 34, /*->231426*/
/*231392*/      OPC_CheckPredicate, 16, // Predicate_atomic_load_16
/*231394*/      OPC_CheckPredicate, 49, // Predicate_anonymous_6477
/*231396*/      OPC_CheckType, MVT::i32,
/*231398*/      OPC_Scope, 12, /*->231412*/ // 2 children in Scope
/*231400*/        OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*231403*/        OPC_EmitMergeInputChains1_0,
/*231404*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2/*#Ops*/, 2, 3, 
                  // Src: (atomic_load:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_atomic_load_16>><<P:Predicate_anonymous_6477>> - Complexity = 13
                  // Dst: (LDRHHui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*231412*/      /*Scope*/ 12, /*->231425*/
/*231413*/        OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*231416*/        OPC_EmitMergeInputChains1_0,
/*231417*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2/*#Ops*/, 2, 3, 
                  // Src: (atomic_load:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_atomic_load_16>><<P:Predicate_anonymous_6477>> - Complexity = 13
                  // Dst: (LDURHHi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*231425*/      0, /*End of Scope*/
/*231426*/    /*Scope*/ 34, /*->231461*/
/*231427*/      OPC_CheckPredicate, 18, // Predicate_atomic_load_32
/*231429*/      OPC_CheckPredicate, 49, // Predicate_anonymous_6484
/*231431*/      OPC_CheckType, MVT::i32,
/*231433*/      OPC_Scope, 12, /*->231447*/ // 2 children in Scope
/*231435*/        OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*231438*/        OPC_EmitMergeInputChains1_0,
/*231439*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRWui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2/*#Ops*/, 2, 3, 
                  // Src: (atomic_load:{ *:[i32] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_atomic_load_32>><<P:Predicate_anonymous_6484>> - Complexity = 13
                  // Dst: (LDRWui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*231447*/      /*Scope*/ 12, /*->231460*/
/*231448*/        OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #2 #3
/*231451*/        OPC_EmitMergeInputChains1_0,
/*231452*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURWi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i32, 2/*#Ops*/, 2, 3, 
                  // Src: (atomic_load:{ *:[i32] } (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_atomic_load_32>><<P:Predicate_anonymous_6484>> - Complexity = 13
                  // Dst: (LDURWi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*231460*/      0, /*End of Scope*/
/*231461*/    /*Scope*/ 34, /*->231496*/
/*231462*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_64
/*231464*/      OPC_CheckPredicate, 49, // Predicate_anonymous_6491
/*231466*/      OPC_CheckType, MVT::i64,
/*231468*/      OPC_Scope, 12, /*->231482*/ // 2 children in Scope
/*231470*/        OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*231473*/        OPC_EmitMergeInputChains1_0,
/*231474*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRXui), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 3, 
                  // Src: (atomic_load:{ *:[i64] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_atomic_load_64>><<P:Predicate_anonymous_6491>> - Complexity = 13
                  // Dst: (LDRXui:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*231482*/      /*Scope*/ 12, /*->231495*/
/*231483*/        OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #2 #3
/*231486*/        OPC_EmitMergeInputChains1_0,
/*231487*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDURXi), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 3, 
                  // Src: (atomic_load:{ *:[i64] } (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_atomic_load_64>><<P:Predicate_anonymous_6491>> - Complexity = 13
                  // Dst: (LDURXi:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*231495*/      0, /*End of Scope*/
/*231496*/    /*Scope*/ 61, /*->231558*/
/*231497*/      OPC_CheckChild1Type, MVT::i64,
/*231499*/      OPC_SwitchType /*2 cases */, 41, MVT::i32,// ->231543
/*231502*/        OPC_Scope, 12, /*->231516*/ // 3 children in Scope
/*231504*/          OPC_CheckPredicate, 6, // Predicate_atomic_load_8
/*231506*/          OPC_CheckPredicate, 51, // Predicate_anonymous_6468
/*231508*/          OPC_EmitMergeInputChains1_0,
/*231509*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (atomic_load:{ *:[i32] } GPR64sp:{ *:[i64] }:$ptr)<<P:Predicate_atomic_load_8>><<P:Predicate_anonymous_6468>> - Complexity = 4
                    // Dst: (LDARB:{ *:[i32] } GPR64sp:{ *:[i64] }:$ptr)
/*231516*/        /*Scope*/ 12, /*->231529*/
/*231517*/          OPC_CheckPredicate, 16, // Predicate_atomic_load_16
/*231519*/          OPC_CheckPredicate, 51, // Predicate_anonymous_6475
/*231521*/          OPC_EmitMergeInputChains1_0,
/*231522*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (atomic_load:{ *:[i32] } GPR64sp:{ *:[i64] }:$ptr)<<P:Predicate_atomic_load_16>><<P:Predicate_anonymous_6475>> - Complexity = 4
                    // Dst: (LDARH:{ *:[i32] } GPR64sp:{ *:[i64] }:$ptr)
/*231529*/        /*Scope*/ 12, /*->231542*/
/*231530*/          OPC_CheckPredicate, 18, // Predicate_atomic_load_32
/*231532*/          OPC_CheckPredicate, 51, // Predicate_anonymous_6482
/*231534*/          OPC_EmitMergeInputChains1_0,
/*231535*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (atomic_load:{ *:[i32] } GPR64sp:{ *:[i64] }:$ptr)<<P:Predicate_atomic_load_32>><<P:Predicate_anonymous_6482>> - Complexity = 4
                    // Dst: (LDARW:{ *:[i32] } GPR64sp:{ *:[i64] }:$ptr)
/*231542*/        0, /*End of Scope*/
/*231543*/      /*SwitchType*/ 12, MVT::i64,// ->231557
/*231545*/        OPC_CheckPredicate, 50, // Predicate_atomic_load_64
/*231547*/        OPC_CheckPredicate, 51, // Predicate_anonymous_6489
/*231549*/        OPC_EmitMergeInputChains1_0,
/*231550*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDARX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (atomic_load:{ *:[i64] } GPR64sp:{ *:[i64] }:$ptr)<<P:Predicate_atomic_load_64>><<P:Predicate_anonymous_6489>> - Complexity = 4
                  // Dst: (LDARX:{ *:[i64] } GPR64sp:{ *:[i64] }:$ptr)
/*231557*/      0, // EndSwitchType
/*231558*/    0, /*End of Scope*/
/*231559*/  /*SwitchOpcode*/ 100|128,2/*356*/, TARGET_VAL(ISD::ATOMIC_STORE),// ->231919
/*231563*/    OPC_RecordMemRef,
/*231564*/    OPC_RecordNode, // #0 = 'atomic_store' chained node
/*231565*/    OPC_RecordChild1, // #1 = $ro_Windexed8:Rn:Rm:extend
/*231566*/    OPC_Scope, 28|128,2/*284*/, /*->231853*/ // 2 children in Scope
/*231569*/      OPC_RecordChild2, // #2 = $val
/*231570*/      OPC_Scope, 86|128,1/*214*/, /*->231787*/ // 2 children in Scope
/*231573*/        OPC_CheckChild2Type, MVT::i32,
/*231575*/        OPC_Scope, 36, /*->231613*/ // 6 children in Scope
/*231577*/          OPC_CheckPredicate, 6, // Predicate_atomic_store_8
/*231579*/          OPC_CheckPredicate, 52, // Predicate_anonymous_6498
/*231581*/          OPC_Scope, 14, /*->231597*/ // 2 children in Scope
/*231583*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #3 #4 #5 #6
/*231586*/            OPC_EmitMergeInputChains1_0,
/*231587*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 2, 3, 4, 5, 6, 
                      // Src: (atomic_store (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>><<P:Predicate_anonymous_6498>> - Complexity = 19
                      // Dst: (STRBBroW GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend)
/*231597*/          /*Scope*/ 14, /*->231612*/
/*231598*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #3 #4 #5 #6
/*231601*/            OPC_EmitMergeInputChains1_0,
/*231602*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 2, 3, 4, 5, 6, 
                      // Src: (atomic_store (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>><<P:Predicate_anonymous_6498>> - Complexity = 19
                      // Dst: (STRBBroX GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend)
/*231612*/          0, /*End of Scope*/
/*231613*/        /*Scope*/ 36, /*->231650*/
/*231614*/          OPC_CheckPredicate, 16, // Predicate_atomic_store_16
/*231616*/          OPC_CheckPredicate, 52, // Predicate_anonymous_6505
/*231618*/          OPC_Scope, 14, /*->231634*/ // 2 children in Scope
/*231620*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #3 #4 #5 #6
/*231623*/            OPC_EmitMergeInputChains1_0,
/*231624*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 2, 3, 4, 5, 6, 
                      // Src: (atomic_store (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>><<P:Predicate_anonymous_6505>> - Complexity = 19
                      // Dst: (STRHHroW GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend)
/*231634*/          /*Scope*/ 14, /*->231649*/
/*231635*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #3 #4 #5 #6
/*231638*/            OPC_EmitMergeInputChains1_0,
/*231639*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 2, 3, 4, 5, 6, 
                      // Src: (atomic_store (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>><<P:Predicate_anonymous_6505>> - Complexity = 19
                      // Dst: (STRHHroX GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend)
/*231649*/          0, /*End of Scope*/
/*231650*/        /*Scope*/ 36, /*->231687*/
/*231651*/          OPC_CheckPredicate, 18, // Predicate_atomic_store_32
/*231653*/          OPC_CheckPredicate, 52, // Predicate_anonymous_6512
/*231655*/          OPC_Scope, 14, /*->231671*/ // 2 children in Scope
/*231657*/            OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #3 #4 #5 #6
/*231660*/            OPC_EmitMergeInputChains1_0,
/*231661*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroW), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 2, 3, 4, 5, 6, 
                      // Src: (atomic_store (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>><<P:Predicate_anonymous_6512>> - Complexity = 19
                      // Dst: (STRWroW GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend)
/*231671*/          /*Scope*/ 14, /*->231686*/
/*231672*/            OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #3 #4 #5 #6
/*231675*/            OPC_EmitMergeInputChains1_0,
/*231676*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWroX), 0|OPFL_Chain|OPFL_MemRefs,
                          5/*#Ops*/, 2, 3, 4, 5, 6, 
                      // Src: (atomic_store (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>><<P:Predicate_anonymous_6512>> - Complexity = 19
                      // Dst: (STRWroX GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend)
/*231686*/          0, /*End of Scope*/
/*231687*/        /*Scope*/ 32, /*->231720*/
/*231688*/          OPC_CheckPredicate, 6, // Predicate_atomic_store_8
/*231690*/          OPC_CheckPredicate, 52, // Predicate_anonymous_6498
/*231692*/          OPC_Scope, 12, /*->231706*/ // 2 children in Scope
/*231694*/            OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #3 #4
/*231697*/            OPC_EmitMergeInputChains1_0,
/*231698*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRBBui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 2, 3, 4, 
                      // Src: (atomic_store (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>><<P:Predicate_anonymous_6498>> - Complexity = 13
                      // Dst: (STRBBui GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset)
/*231706*/          /*Scope*/ 12, /*->231719*/
/*231707*/            OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #3 #4
/*231710*/            OPC_EmitMergeInputChains1_0,
/*231711*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURBBi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 2, 3, 4, 
                      // Src: (atomic_store (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>><<P:Predicate_anonymous_6498>> - Complexity = 13
                      // Dst: (STURBBi GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*231719*/          0, /*End of Scope*/
/*231720*/        /*Scope*/ 32, /*->231753*/
/*231721*/          OPC_CheckPredicate, 16, // Predicate_atomic_store_16
/*231723*/          OPC_CheckPredicate, 52, // Predicate_anonymous_6505
/*231725*/          OPC_Scope, 12, /*->231739*/ // 2 children in Scope
/*231727*/            OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #3 #4
/*231730*/            OPC_EmitMergeInputChains1_0,
/*231731*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRHHui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 2, 3, 4, 
                      // Src: (atomic_store (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>><<P:Predicate_anonymous_6505>> - Complexity = 13
                      // Dst: (STRHHui GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset)
/*231739*/          /*Scope*/ 12, /*->231752*/
/*231740*/            OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #3 #4
/*231743*/            OPC_EmitMergeInputChains1_0,
/*231744*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURHHi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 2, 3, 4, 
                      // Src: (atomic_store (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>><<P:Predicate_anonymous_6505>> - Complexity = 13
                      // Dst: (STURHHi GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*231752*/          0, /*End of Scope*/
/*231753*/        /*Scope*/ 32, /*->231786*/
/*231754*/          OPC_CheckPredicate, 18, // Predicate_atomic_store_32
/*231756*/          OPC_CheckPredicate, 52, // Predicate_anonymous_6512
/*231758*/          OPC_Scope, 12, /*->231772*/ // 2 children in Scope
/*231760*/            OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #3 #4
/*231763*/            OPC_EmitMergeInputChains1_0,
/*231764*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRWui), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 2, 3, 4, 
                      // Src: (atomic_store (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>><<P:Predicate_anonymous_6512>> - Complexity = 13
                      // Dst: (STRWui GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset)
/*231772*/          /*Scope*/ 12, /*->231785*/
/*231773*/            OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #3 #4
/*231776*/            OPC_EmitMergeInputChains1_0,
/*231777*/            OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURWi), 0|OPFL_Chain|OPFL_MemRefs,
                          3/*#Ops*/, 2, 3, 4, 
                      // Src: (atomic_store (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>><<P:Predicate_anonymous_6512>> - Complexity = 13
                      // Dst: (STURWi GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*231785*/          0, /*End of Scope*/
/*231786*/        0, /*End of Scope*/
/*231787*/      /*Scope*/ 64, /*->231852*/
/*231788*/        OPC_CheckChild2Type, MVT::i64,
/*231790*/        OPC_CheckPredicate, 50, // Predicate_atomic_store_64
/*231792*/        OPC_CheckPredicate, 52, // Predicate_anonymous_6519
/*231794*/        OPC_Scope, 14, /*->231810*/ // 4 children in Scope
/*231796*/          OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #3 #4 #5 #6
/*231799*/          OPC_EmitMergeInputChains1_0,
/*231800*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXroW), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 2, 3, 4, 5, 6, 
                    // Src: (atomic_store (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend), GPR64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>><<P:Predicate_anonymous_6519>> - Complexity = 19
                    // Dst: (STRXroW GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*231810*/        /*Scope*/ 14, /*->231825*/
/*231811*/          OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #3 #4 #5 #6
/*231814*/          OPC_EmitMergeInputChains1_0,
/*231815*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXroX), 0|OPFL_Chain|OPFL_MemRefs,
                        5/*#Ops*/, 2, 3, 4, 5, 6, 
                    // Src: (atomic_store (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend), GPR64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>><<P:Predicate_anonymous_6519>> - Complexity = 19
                    // Dst: (STRXroX GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*231825*/        /*Scope*/ 12, /*->231838*/
/*231826*/          OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #3 #4
/*231829*/          OPC_EmitMergeInputChains1_0,
/*231830*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STRXui), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 2, 3, 4, 
                    // Src: (atomic_store (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset), GPR64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>><<P:Predicate_anonymous_6519>> - Complexity = 13
                    // Dst: (STRXui GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*231838*/        /*Scope*/ 12, /*->231851*/
/*231839*/          OPC_CheckComplexPat, /*CP*/29, /*#*/1, // SelectAddrModeUnscaled64:$ #3 #4
/*231842*/          OPC_EmitMergeInputChains1_0,
/*231843*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STURXi), 0|OPFL_Chain|OPFL_MemRefs,
                        3/*#Ops*/, 2, 3, 4, 
                    // Src: (atomic_store (am_unscaled64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), GPR64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>><<P:Predicate_anonymous_6519>> - Complexity = 13
                    // Dst: (STURXi GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset)
/*231851*/        0, /*End of Scope*/
/*231852*/      0, /*End of Scope*/
/*231853*/    /*Scope*/ 64, /*->231918*/
/*231854*/      OPC_CheckChild1Type, MVT::i64,
/*231856*/      OPC_RecordChild2, // #2 = $val
/*231857*/      OPC_Scope, 43, /*->231902*/ // 2 children in Scope
/*231859*/        OPC_CheckChild2Type, MVT::i32,
/*231861*/        OPC_Scope, 12, /*->231875*/ // 3 children in Scope
/*231863*/          OPC_CheckPredicate, 6, // Predicate_atomic_store_8
/*231865*/          OPC_CheckPredicate, 53, // Predicate_anonymous_6496
/*231867*/          OPC_EmitMergeInputChains1_0,
/*231868*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLRB), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 2, 1, 
                    // Src: (atomic_store GPR64sp:{ *:[i64] }:$ptr, GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_8>><<P:Predicate_anonymous_6496>> - Complexity = 4
                    // Dst: (STLRB GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$ptr)
/*231875*/        /*Scope*/ 12, /*->231888*/
/*231876*/          OPC_CheckPredicate, 16, // Predicate_atomic_store_16
/*231878*/          OPC_CheckPredicate, 53, // Predicate_anonymous_6503
/*231880*/          OPC_EmitMergeInputChains1_0,
/*231881*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLRH), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 2, 1, 
                    // Src: (atomic_store GPR64sp:{ *:[i64] }:$ptr, GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_16>><<P:Predicate_anonymous_6503>> - Complexity = 4
                    // Dst: (STLRH GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$ptr)
/*231888*/        /*Scope*/ 12, /*->231901*/
/*231889*/          OPC_CheckPredicate, 18, // Predicate_atomic_store_32
/*231891*/          OPC_CheckPredicate, 53, // Predicate_anonymous_6510
/*231893*/          OPC_EmitMergeInputChains1_0,
/*231894*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLRW), 0|OPFL_Chain|OPFL_MemRefs,
                        2/*#Ops*/, 2, 1, 
                    // Src: (atomic_store GPR64sp:{ *:[i64] }:$ptr, GPR32:{ *:[i32] }:$val)<<P:Predicate_atomic_store_32>><<P:Predicate_anonymous_6510>> - Complexity = 4
                    // Dst: (STLRW GPR32:{ *:[i32] }:$val, GPR64sp:{ *:[i64] }:$ptr)
/*231901*/        0, /*End of Scope*/
/*231902*/      /*Scope*/ 14, /*->231917*/
/*231903*/        OPC_CheckChild2Type, MVT::i64,
/*231905*/        OPC_CheckPredicate, 50, // Predicate_atomic_store_64
/*231907*/        OPC_CheckPredicate, 53, // Predicate_anonymous_6517
/*231909*/        OPC_EmitMergeInputChains1_0,
/*231910*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STLRX), 0|OPFL_Chain|OPFL_MemRefs,
                      2/*#Ops*/, 2, 1, 
                  // Src: (atomic_store GPR64sp:{ *:[i64] }:$ptr, GPR64:{ *:[i64] }:$val)<<P:Predicate_atomic_store_64>><<P:Predicate_anonymous_6517>> - Complexity = 4
                  // Dst: (STLRX GPR64:{ *:[i64] }:$val, GPR64sp:{ *:[i64] }:$ptr)
/*231917*/      0, /*End of Scope*/
/*231918*/    0, /*End of Scope*/
/*231919*/  /*SwitchOpcode*/ 110|128,6/*878*/, TARGET_VAL(ISD::SIGN_EXTEND),// ->232801
/*231923*/    OPC_Scope, 80|128,5/*720*/, /*->232646*/ // 4 children in Scope
/*231926*/      OPC_MoveChild0,
/*231927*/      OPC_SwitchOpcode /*2 cases */, 44|128,5/*684*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->232616
/*231932*/        OPC_Scope, 50, /*->231984*/ // 10 children in Scope
/*231934*/          OPC_CheckChild0Integer, 62|128,5/*702*/, 
/*231937*/          OPC_RecordChild1, // #0 = $Rn
/*231938*/          OPC_RecordChild2, // #1 = $pattern
/*231939*/          OPC_MoveChild2,
/*231940*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*231943*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*231945*/          OPC_MoveParent,
/*231946*/          OPC_RecordChild3, // #2 = $imm4
/*231947*/          OPC_MoveChild3,
/*231948*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*231951*/          OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*231953*/          OPC_MoveParent,
/*231954*/          OPC_MoveParent,
/*231955*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*231957*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #3
/*231963*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*231966*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*231975*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCB_XPiWdI), 0,
                        MVT::i64, 3/*#Ops*/, 5, 1, 2, 
                    // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 702:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)) - Complexity = 19
                    // Dst: (SQINCB_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*231984*/        /*Scope*/ 50, /*->232035*/
/*231985*/          OPC_CheckChild0Integer, 48|128,5/*688*/, 
/*231988*/          OPC_RecordChild1, // #0 = $Rn
/*231989*/          OPC_RecordChild2, // #1 = $pattern
/*231990*/          OPC_MoveChild2,
/*231991*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*231994*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*231996*/          OPC_MoveParent,
/*231997*/          OPC_RecordChild3, // #2 = $imm4
/*231998*/          OPC_MoveChild3,
/*231999*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232002*/          OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*232004*/          OPC_MoveParent,
/*232005*/          OPC_MoveParent,
/*232006*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232008*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #3
/*232014*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232017*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*232026*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECB_XPiWdI), 0,
                        MVT::i64, 3/*#Ops*/, 5, 1, 2, 
                    // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 688:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)) - Complexity = 19
                    // Dst: (SQDECB_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*232035*/        /*Scope*/ 50, /*->232086*/
/*232036*/          OPC_CheckChild0Integer, 68|128,5/*708*/, 
/*232039*/          OPC_RecordChild1, // #0 = $Rn
/*232040*/          OPC_RecordChild2, // #1 = $pattern
/*232041*/          OPC_MoveChild2,
/*232042*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232045*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*232047*/          OPC_MoveParent,
/*232048*/          OPC_RecordChild3, // #2 = $imm4
/*232049*/          OPC_MoveChild3,
/*232050*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232053*/          OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*232055*/          OPC_MoveParent,
/*232056*/          OPC_MoveParent,
/*232057*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232059*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #3
/*232065*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232068*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*232077*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCH_XPiWdI), 0,
                        MVT::i64, 3/*#Ops*/, 5, 1, 2, 
                    // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 708:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)) - Complexity = 19
                    // Dst: (SQINCH_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*232086*/        /*Scope*/ 50, /*->232137*/
/*232087*/          OPC_CheckChild0Integer, 54|128,5/*694*/, 
/*232090*/          OPC_RecordChild1, // #0 = $Rn
/*232091*/          OPC_RecordChild2, // #1 = $pattern
/*232092*/          OPC_MoveChild2,
/*232093*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232096*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*232098*/          OPC_MoveParent,
/*232099*/          OPC_RecordChild3, // #2 = $imm4
/*232100*/          OPC_MoveChild3,
/*232101*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232104*/          OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*232106*/          OPC_MoveParent,
/*232107*/          OPC_MoveParent,
/*232108*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232110*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #3
/*232116*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232119*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*232128*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECH_XPiWdI), 0,
                        MVT::i64, 3/*#Ops*/, 5, 1, 2, 
                    // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 694:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)) - Complexity = 19
                    // Dst: (SQDECH_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*232137*/        /*Scope*/ 50, /*->232188*/
/*232138*/          OPC_CheckChild0Integer, 74|128,5/*714*/, 
/*232141*/          OPC_RecordChild1, // #0 = $Rn
/*232142*/          OPC_RecordChild2, // #1 = $pattern
/*232143*/          OPC_MoveChild2,
/*232144*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232147*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*232149*/          OPC_MoveParent,
/*232150*/          OPC_RecordChild3, // #2 = $imm4
/*232151*/          OPC_MoveChild3,
/*232152*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232155*/          OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*232157*/          OPC_MoveParent,
/*232158*/          OPC_MoveParent,
/*232159*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232161*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #3
/*232167*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232170*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*232179*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCW_XPiWdI), 0,
                        MVT::i64, 3/*#Ops*/, 5, 1, 2, 
                    // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 714:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)) - Complexity = 19
                    // Dst: (SQINCW_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*232188*/        /*Scope*/ 50, /*->232239*/
/*232189*/          OPC_CheckChild0Integer, 60|128,5/*700*/, 
/*232192*/          OPC_RecordChild1, // #0 = $Rn
/*232193*/          OPC_RecordChild2, // #1 = $pattern
/*232194*/          OPC_MoveChild2,
/*232195*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232198*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*232200*/          OPC_MoveParent,
/*232201*/          OPC_RecordChild3, // #2 = $imm4
/*232202*/          OPC_MoveChild3,
/*232203*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232206*/          OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*232208*/          OPC_MoveParent,
/*232209*/          OPC_MoveParent,
/*232210*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232212*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #3
/*232218*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232221*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*232230*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECW_XPiWdI), 0,
                        MVT::i64, 3/*#Ops*/, 5, 1, 2, 
                    // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 700:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)) - Complexity = 19
                    // Dst: (SQDECW_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*232239*/        /*Scope*/ 50, /*->232290*/
/*232240*/          OPC_CheckChild0Integer, 65|128,5/*705*/, 
/*232243*/          OPC_RecordChild1, // #0 = $Rn
/*232244*/          OPC_RecordChild2, // #1 = $pattern
/*232245*/          OPC_MoveChild2,
/*232246*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232249*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*232251*/          OPC_MoveParent,
/*232252*/          OPC_RecordChild3, // #2 = $imm4
/*232253*/          OPC_MoveChild3,
/*232254*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232257*/          OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*232259*/          OPC_MoveParent,
/*232260*/          OPC_MoveParent,
/*232261*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232263*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #3
/*232269*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232272*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*232281*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCD_XPiWdI), 0,
                        MVT::i64, 3/*#Ops*/, 5, 1, 2, 
                    // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 705:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)) - Complexity = 19
                    // Dst: (SQINCD_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*232290*/        /*Scope*/ 50, /*->232341*/
/*232291*/          OPC_CheckChild0Integer, 51|128,5/*691*/, 
/*232294*/          OPC_RecordChild1, // #0 = $Rn
/*232295*/          OPC_RecordChild2, // #1 = $pattern
/*232296*/          OPC_MoveChild2,
/*232297*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232300*/          OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*232302*/          OPC_MoveParent,
/*232303*/          OPC_RecordChild3, // #2 = $imm4
/*232304*/          OPC_MoveChild3,
/*232305*/          OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232308*/          OPC_CheckPredicate, 12, // Predicate_sve_incdec_imm
/*232310*/          OPC_MoveParent,
/*232311*/          OPC_MoveParent,
/*232312*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232314*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::i64, 0/*#Ops*/,  // Results = #3
/*232320*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232323*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::i64, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*232332*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECD_XPiWdI), 0,
                        MVT::i64, 3/*#Ops*/, 5, 1, 2, 
                    // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 691:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)) - Complexity = 19
                    // Dst: (SQDECD_XPiWdI:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }), (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern, (timm:{ *:[i32] })<<P:Predicate_sve_incdec_imm>>:$imm4)
/*232341*/        /*Scope*/ 7|128,1/*135*/, /*->232478*/
/*232343*/          OPC_CheckChild0Integer, 71|128,5/*711*/, 
/*232346*/          OPC_RecordChild1, // #0 = $Rn
/*232347*/          OPC_RecordChild2, // #1 = $Pg
/*232348*/          OPC_Scope, 31, /*->232381*/ // 4 children in Scope
/*232350*/            OPC_CheckChild2Type, MVT::nxv16i1,
/*232352*/            OPC_MoveParent,
/*232353*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232355*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::i64, 0/*#Ops*/,  // Results = #2
/*232361*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232364*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*232373*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_XPWd_B), 0,
                          MVT::i64, 2/*#Ops*/, 1, 4, 
                      // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 711:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg)) - Complexity = 11
                      // Dst: (SQINCP_XPWd_B:{ *:[i64] } PPRAny:{ *:[nxv16i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }))
/*232381*/          /*Scope*/ 31, /*->232413*/
/*232382*/            OPC_CheckChild2Type, MVT::nxv8i1,
/*232384*/            OPC_MoveParent,
/*232385*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232387*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::i64, 0/*#Ops*/,  // Results = #2
/*232393*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232396*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*232405*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_XPWd_H), 0,
                          MVT::i64, 2/*#Ops*/, 1, 4, 
                      // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 711:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg)) - Complexity = 11
                      // Dst: (SQINCP_XPWd_H:{ *:[i64] } PPRAny:{ *:[nxv8i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }))
/*232413*/          /*Scope*/ 31, /*->232445*/
/*232414*/            OPC_CheckChild2Type, MVT::nxv4i1,
/*232416*/            OPC_MoveParent,
/*232417*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232419*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::i64, 0/*#Ops*/,  // Results = #2
/*232425*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232428*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*232437*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_XPWd_S), 0,
                          MVT::i64, 2/*#Ops*/, 1, 4, 
                      // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 711:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg)) - Complexity = 11
                      // Dst: (SQINCP_XPWd_S:{ *:[i64] } PPRAny:{ *:[nxv4i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }))
/*232445*/          /*Scope*/ 31, /*->232477*/
/*232446*/            OPC_CheckChild2Type, MVT::nxv2i1,
/*232448*/            OPC_MoveParent,
/*232449*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232451*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::i64, 0/*#Ops*/,  // Results = #2
/*232457*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232460*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*232469*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQINCP_XPWd_D), 0,
                          MVT::i64, 2/*#Ops*/, 1, 4, 
                      // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 711:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg)) - Complexity = 11
                      // Dst: (SQINCP_XPWd_D:{ *:[i64] } PPRAny:{ *:[nxv2i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }))
/*232477*/          0, /*End of Scope*/
/*232478*/        /*Scope*/ 7|128,1/*135*/, /*->232615*/
/*232480*/          OPC_CheckChild0Integer, 57|128,5/*697*/, 
/*232483*/          OPC_RecordChild1, // #0 = $Rn
/*232484*/          OPC_RecordChild2, // #1 = $Pg
/*232485*/          OPC_Scope, 31, /*->232518*/ // 4 children in Scope
/*232487*/            OPC_CheckChild2Type, MVT::nxv16i1,
/*232489*/            OPC_MoveParent,
/*232490*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232492*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::i64, 0/*#Ops*/,  // Results = #2
/*232498*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232501*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*232510*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_XPWd_B), 0,
                          MVT::i64, 2/*#Ops*/, 1, 4, 
                      // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 697:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv16i1] }:$Pg)) - Complexity = 11
                      // Dst: (SQDECP_XPWd_B:{ *:[i64] } PPRAny:{ *:[nxv16i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }))
/*232518*/          /*Scope*/ 31, /*->232550*/
/*232519*/            OPC_CheckChild2Type, MVT::nxv8i1,
/*232521*/            OPC_MoveParent,
/*232522*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232524*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::i64, 0/*#Ops*/,  // Results = #2
/*232530*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232533*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*232542*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_XPWd_H), 0,
                          MVT::i64, 2/*#Ops*/, 1, 4, 
                      // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 697:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv8i1] }:$Pg)) - Complexity = 11
                      // Dst: (SQDECP_XPWd_H:{ *:[i64] } PPRAny:{ *:[nxv8i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }))
/*232550*/          /*Scope*/ 31, /*->232582*/
/*232551*/            OPC_CheckChild2Type, MVT::nxv4i1,
/*232553*/            OPC_MoveParent,
/*232554*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232556*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::i64, 0/*#Ops*/,  // Results = #2
/*232562*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232565*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*232574*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_XPWd_S), 0,
                          MVT::i64, 2/*#Ops*/, 1, 4, 
                      // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 697:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv4i1] }:$Pg)) - Complexity = 11
                      // Dst: (SQDECP_XPWd_S:{ *:[i64] } PPRAny:{ *:[nxv4i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }))
/*232582*/          /*Scope*/ 31, /*->232614*/
/*232583*/            OPC_CheckChild2Type, MVT::nxv2i1,
/*232585*/            OPC_MoveParent,
/*232586*/            OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*232588*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::i64, 0/*#Ops*/,  // Results = #2
/*232594*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232597*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*232606*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQDECP_XPWd_D), 0,
                          MVT::i64, 2/*#Ops*/, 1, 4, 
                      // Src: (sext:{ *:[i64] } (intrinsic_wo_chain:{ *:[i32] } 697:{ *:[iPTR] }, GPR32:{ *:[i32] }:$Rn, PPRAny:{ *:[nxv2i1] }:$Pg)) - Complexity = 11
                      // Dst: (SQDECP_XPWd_D:{ *:[i64] } PPRAny:{ *:[nxv2i1] }:$Pg, (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), ?:{ *:[i32] }:$Rn, sub_32:{ *:[i32] }))
/*232614*/          0, /*End of Scope*/
/*232615*/        0, /*End of Scope*/
/*232616*/      /*SwitchOpcode*/ 26, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->232645
/*232619*/        OPC_RecordChild0, // #0 = $Rn
/*232620*/        OPC_CheckChild0Type, MVT::v4i32,
/*232622*/        OPC_RecordChild1, // #1 = $idx
/*232623*/        OPC_MoveChild1,
/*232624*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*232627*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*232629*/        OPC_CheckType, MVT::i64,
/*232631*/        OPC_MoveParent,
/*232632*/        OPC_MoveParent,
/*232633*/        OPC_CheckType, MVT::i64,
/*232635*/        OPC_EmitConvertToTarget, 1,
/*232637*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMOVvi32to64), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (sext:{ *:[i64] } (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 10
                  // Dst: (SMOVvi32to64:{ *:[i64] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*232645*/      0, // EndSwitchOpcode
/*232646*/    /*Scope*/ 36, /*->232683*/
/*232647*/      OPC_RecordChild0, // #0 = $src
/*232648*/      OPC_CheckType, MVT::i64,
/*232650*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #1
/*232656*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*232659*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 1, 0, 2,  // Results = #3
/*232668*/      OPC_EmitInteger, MVT::i64, 0, 
/*232671*/      OPC_EmitInteger, MVT::i64, 31, 
/*232674*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBFMXri), 0,
                    MVT::i64, 3/*#Ops*/, 3, 4, 5, 
                // Src: (sext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
                // Dst: (SBFMXri:{ *:[i64] } (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GPR32:{ *:[i32] }:$src, sub_32:{ *:[i32] }), 0:{ *:[i64] }, 31:{ *:[i64] })
/*232683*/    /*Scope*/ 67, /*->232751*/
/*232684*/      OPC_MoveChild0,
/*232685*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*232688*/      OPC_RecordChild0, // #0 = $Rn
/*232689*/      OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->232710
/*232692*/        OPC_CheckChild1Integer, 8, 
/*232694*/        OPC_CheckChild1Type, MVT::i64,
/*232696*/        OPC_MoveParent,
/*232697*/        OPC_CheckType, MVT::v8i16,
/*232699*/        OPC_EmitInteger, MVT::i32, 0, 
/*232702*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv16i8_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })) - Complexity = 11
                  // Dst: (SSHLLv16i8_shift:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, 0:{ *:[i32] })
/*232710*/      /*SwitchType*/ 18, MVT::v4i16,// ->232730
/*232712*/        OPC_CheckChild1Integer, 4, 
/*232714*/        OPC_CheckChild1Type, MVT::i64,
/*232716*/        OPC_MoveParent,
/*232717*/        OPC_CheckType, MVT::v4i32,
/*232719*/        OPC_EmitInteger, MVT::i32, 0, 
/*232722*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv8i16_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })) - Complexity = 11
                  // Dst: (SSHLLv8i16_shift:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, 0:{ *:[i32] })
/*232730*/      /*SwitchType*/ 18, MVT::v2i32,// ->232750
/*232732*/        OPC_CheckChild1Integer, 2, 
/*232734*/        OPC_CheckChild1Type, MVT::i64,
/*232736*/        OPC_MoveParent,
/*232737*/        OPC_CheckType, MVT::v2i64,
/*232739*/        OPC_EmitInteger, MVT::i32, 0, 
/*232742*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv4i32_shift), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })) - Complexity = 11
                  // Dst: (SSHLLv4i32_shift:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, 0:{ *:[i32] })
/*232750*/      0, // EndSwitchType
/*232751*/    /*Scope*/ 48, /*->232800*/
/*232752*/      OPC_RecordChild0, // #0 = $Rn
/*232753*/      OPC_SwitchType /*3 cases */, 13, MVT::v8i16,// ->232769
/*232756*/        OPC_CheckChild0Type, MVT::v8i8,
/*232758*/        OPC_EmitInteger, MVT::i32, 0, 
/*232761*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv8i8_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                  // Dst: (SSHLLv8i8_shift:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, 0:{ *:[i32] })
/*232769*/      /*SwitchType*/ 13, MVT::v4i32,// ->232784
/*232771*/        OPC_CheckChild0Type, MVT::v4i16,
/*232773*/        OPC_EmitInteger, MVT::i32, 0, 
/*232776*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (SSHLLv4i16_shift:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, 0:{ *:[i32] })
/*232784*/      /*SwitchType*/ 13, MVT::v2i64,// ->232799
/*232786*/        OPC_CheckChild0Type, MVT::v2i32,
/*232788*/        OPC_EmitInteger, MVT::i32, 0, 
/*232791*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (SSHLLv2i32_shift:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, 0:{ *:[i32] })
/*232799*/      0, // EndSwitchType
/*232800*/    0, /*End of Scope*/
/*232801*/  /*SwitchOpcode*/ 106|128,1/*234*/, TARGET_VAL(ISD::INTRINSIC_VOID),// ->233039
/*232805*/    OPC_RecordNode, // #0 = 'intrinsic_void' chained node
/*232806*/    OPC_Scope, 21, /*->232829*/ // 11 children in Scope
/*232808*/      OPC_CheckChild1Integer, 89|128,3/*473*/, 
/*232811*/      OPC_RecordChild2, // #1 = $Rt
/*232812*/      OPC_CheckChild2Type, MVT::i64,
/*232814*/      OPC_RecordChild3, // #2 = $am_indexeds9s128:Rn:offset
/*232815*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*232817*/      OPC_CheckComplexPat, /*CP*/50, /*#*/2, // SelectAddrModeIndexedS9S128:$ #3 #4
/*232820*/      OPC_EmitMergeInputChains1_0,
/*232821*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STGOffset), 0|OPFL_Chain,
                    3/*#Ops*/, 1, 3, 4, 
                // Src: (intrinsic_void 473:{ *:[iPTR] }, GPR64:{ *:[i64] }:$Rt, (am_indexeds9s128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm9s16:{ *:[i64] }:$offset)) - Complexity = 17
                // Dst: (STGOffset GPR64:{ *:[i64] }:$Rt, GPR64sp:{ *:[i64] }:$Rn, simm9s16:{ *:[i64] }:$offset)
/*232829*/    /*Scope*/ 21, /*->232851*/
/*232830*/      OPC_CheckChild1Integer, 90|128,3/*474*/, 
/*232833*/      OPC_RecordChild2, // #1 = $am_indexed7s128:Rn:imm
/*232834*/      OPC_RecordChild3, // #2 = $Rt
/*232835*/      OPC_RecordChild4, // #3 = $Rt2
/*232836*/      OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*232838*/      OPC_CheckComplexPat, /*CP*/51, /*#*/1, // SelectAddrModeIndexed7S128:$ #4 #5
/*232841*/      OPC_EmitMergeInputChains1_0,
/*232842*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::STGPi), 0|OPFL_Chain,
                    4/*#Ops*/, 2, 3, 4, 5, 
                // Src: (intrinsic_void 474:{ *:[iPTR] }, (am_indexed7s128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s16:{ *:[i32] }:$imm), GPR64:{ *:[i64] }:$Rt, GPR64:{ *:[i64] }:$Rt2) - Complexity = 17
                // Dst: (STGPi ?:{ *:[i64] }:$Rt, ?:{ *:[i64] }:$Rt2, ?:{ *:[i64] }:$Rn, ?:{ *:[i32] }:$imm)
/*232851*/    /*Scope*/ 20, /*->232872*/
/*232852*/      OPC_CheckChild1Integer, 43|128,2/*299*/, 
/*232855*/      OPC_RecordChild2, // #1 = $imm
/*232856*/      OPC_MoveChild2,
/*232857*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*232860*/      OPC_CheckPredicate, 26, // Predicate_imm0_127
/*232862*/      OPC_MoveParent,
/*232863*/      OPC_EmitMergeInputChains1_0,
/*232864*/      OPC_EmitConvertToTarget, 1,
/*232866*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::HINT), 0|OPFL_Chain,
                    1/*#Ops*/, 2, 
                // Src: (intrinsic_void 299:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm) - Complexity = 12
                // Dst: (HINT (imm:{ *:[i32] }):$imm)
/*232872*/    /*Scope*/ 20, /*->232893*/
/*232873*/      OPC_CheckChild1Integer, 38|128,2/*294*/, 
/*232876*/      OPC_RecordChild2, // #1 = $CRm
/*232877*/      OPC_MoveChild2,
/*232878*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*232881*/      OPC_CheckPredicate, 54, // Predicate_imm32_0_15
/*232883*/      OPC_MoveParent,
/*232884*/      OPC_EmitMergeInputChains1_0,
/*232885*/      OPC_EmitConvertToTarget, 1,
/*232887*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::DMB), 0|OPFL_Chain,
                    1/*#Ops*/, 2, 
                // Src: (intrinsic_void 294:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_imm32_0_15>>:$CRm) - Complexity = 12
                // Dst: (DMB (imm:{ *:[i32] }):$CRm)
/*232893*/    /*Scope*/ 20, /*->232914*/
/*232894*/      OPC_CheckChild1Integer, 39|128,2/*295*/, 
/*232897*/      OPC_RecordChild2, // #1 = $CRm
/*232898*/      OPC_MoveChild2,
/*232899*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*232902*/      OPC_CheckPredicate, 54, // Predicate_imm32_0_15
/*232904*/      OPC_MoveParent,
/*232905*/      OPC_EmitMergeInputChains1_0,
/*232906*/      OPC_EmitConvertToTarget, 1,
/*232908*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::DSB), 0|OPFL_Chain,
                    1/*#Ops*/, 2, 
                // Src: (intrinsic_void 295:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_imm32_0_15>>:$CRm) - Complexity = 12
                // Dst: (DSB (imm:{ *:[i32] }):$CRm)
/*232914*/    /*Scope*/ 20, /*->232935*/
/*232915*/      OPC_CheckChild1Integer, 46|128,2/*302*/, 
/*232918*/      OPC_RecordChild2, // #1 = $CRm
/*232919*/      OPC_MoveChild2,
/*232920*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*232923*/      OPC_CheckPredicate, 54, // Predicate_imm32_0_15
/*232925*/      OPC_MoveParent,
/*232926*/      OPC_EmitMergeInputChains1_0,
/*232927*/      OPC_EmitConvertToTarget, 1,
/*232929*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ISB), 0|OPFL_Chain,
                    1/*#Ops*/, 2, 
                // Src: (intrinsic_void 302:{ *:[iPTR] }, (imm:{ *:[i32] })<<P:Predicate_imm32_0_15>>:$CRm) - Complexity = 12
                // Dst: (ISB (imm:{ *:[i32] }):$CRm)
/*232935*/    /*Scope*/ 20, /*->232956*/
/*232936*/      OPC_CheckChild1Integer, 48|128,6/*816*/, 
/*232939*/      OPC_RecordChild2, // #1 = $imm
/*232940*/      OPC_MoveChild2,
/*232941*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232944*/      OPC_CheckPredicate, 55, // Predicate_i64_imm0_65535
/*232946*/      OPC_MoveParent,
/*232947*/      OPC_CheckPatternPredicate, 21, // (Subtarget->hasTME())
/*232949*/      OPC_EmitMergeInputChains1_0,
/*232950*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCANCEL), 0|OPFL_Chain,
                    1/*#Ops*/, 1, 
                // Src: (intrinsic_void 816:{ *:[iPTR] }, (timm:{ *:[i64] })<<P:Predicate_i64_imm0_65535>>:$imm) - Complexity = 12
                // Dst: (TCANCEL (timm:{ *:[i64] }):$imm)
/*232956*/    /*Scope*/ 27, /*->232984*/
/*232957*/      OPC_CheckChild1Integer, 8|128,1/*136*/, 
/*232960*/      OPC_RecordChild2, // #1 = physreg input X9
/*232961*/      OPC_CheckChild2Type, MVT::i64,
/*232963*/      OPC_RecordChild3, // #2 = $ptr
/*232964*/      OPC_CheckChild3Type, MVT::i64,
/*232966*/      OPC_RecordChild4, // #3 = $accessinfo
/*232967*/      OPC_MoveChild4,
/*232968*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232971*/      OPC_MoveParent,
/*232972*/      OPC_EmitMergeInputChains1_0,
/*232973*/      OPC_EmitCopyToReg, 1, AArch64::X9,
/*232976*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::HWASAN_CHECK_MEMACCESS), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::i64, 2/*#Ops*/, 2, 3, 
                // Src: (intrinsic_void 136:{ *:[iPTR] }, X9:{ *:[i64] }, GPR64noip:{ *:[i64] }:$ptr, (timm:{ *:[i32] }):$accessinfo) - Complexity = 11
                // Dst: (HWASAN_CHECK_MEMACCESS:{ *:[i64] } GPR64noip:{ *:[i64] }:$ptr, (timm:{ *:[i32] }):$accessinfo)
/*232984*/    /*Scope*/ 27, /*->233012*/
/*232985*/      OPC_CheckChild1Integer, 9|128,1/*137*/, 
/*232988*/      OPC_RecordChild2, // #1 = physreg input X9
/*232989*/      OPC_CheckChild2Type, MVT::i64,
/*232991*/      OPC_RecordChild3, // #2 = $ptr
/*232992*/      OPC_CheckChild3Type, MVT::i64,
/*232994*/      OPC_RecordChild4, // #3 = $accessinfo
/*232995*/      OPC_MoveChild4,
/*232996*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*232999*/      OPC_MoveParent,
/*233000*/      OPC_EmitMergeInputChains1_0,
/*233001*/      OPC_EmitCopyToReg, 1, AArch64::X9,
/*233004*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::HWASAN_CHECK_MEMACCESS_SHORTGRANULES), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::i64, 2/*#Ops*/, 2, 3, 
                // Src: (intrinsic_void 137:{ *:[iPTR] }, X9:{ *:[i64] }, GPR64noip:{ *:[i64] }:$ptr, (timm:{ *:[i32] }):$accessinfo) - Complexity = 11
                // Dst: (HWASAN_CHECK_MEMACCESS_SHORTGRANULES:{ *:[i64] } GPR64noip:{ *:[i64] }:$ptr, (timm:{ *:[i32] }):$accessinfo)
/*233012*/    /*Scope*/ 11, /*->233024*/
/*233013*/      OPC_CheckChild1Integer, 49|128,6/*817*/, 
/*233016*/      OPC_CheckPatternPredicate, 21, // (Subtarget->hasTME())
/*233018*/      OPC_EmitMergeInputChains1_0,
/*233019*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCOMMIT), 0|OPFL_Chain,
                    0/*#Ops*/, 
                // Src: (intrinsic_void 817:{ *:[iPTR] }) - Complexity = 8
                // Dst: (TCOMMIT)
/*233024*/    /*Scope*/ 13, /*->233038*/
/*233025*/      OPC_CheckChild1Integer, 13|128,2/*269*/, 
/*233028*/      OPC_EmitMergeInputChains1_0,
/*233029*/      OPC_EmitInteger, MVT::i64, 15, 
/*233032*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::CLREX), 0|OPFL_Chain,
                    1/*#Ops*/, 1, 
                // Src: (intrinsic_void 269:{ *:[iPTR] }) - Complexity = 8
                // Dst: (CLREX 15:{ *:[i64] })
/*233038*/    0, /*End of Scope*/
/*233039*/  /*SwitchOpcode*/ 56, TARGET_VAL(AArch64ISD::LOADgot),// ->233098
/*233042*/    OPC_RecordChild0, // #0 = $addr
/*233043*/    OPC_MoveChild0,
/*233044*/    OPC_SwitchOpcode /*4 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->233058
/*233048*/      OPC_MoveParent,
/*233049*/      OPC_CheckType, MVT::i64,
/*233051*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LOADgot), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64LOADgot:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$addr) - Complexity = 16
                // Dst: (LOADgot:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$addr)
/*233058*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetGlobalTLSAddress),// ->233071
/*233061*/      OPC_MoveParent,
/*233062*/      OPC_CheckType, MVT::i64,
/*233064*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LOADgot), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64LOADgot:{ *:[i64] } (tglobaltlsaddr:{ *:[i64] }):$addr) - Complexity = 6
                // Dst: (LOADgot:{ *:[i64] } (tglobaltlsaddr:{ *:[i64] }):$addr)
/*233071*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->233084
/*233074*/      OPC_MoveParent,
/*233075*/      OPC_CheckType, MVT::i64,
/*233077*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LOADgot), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64LOADgot:{ *:[i64] } (texternalsym:{ *:[i64] }):$addr) - Complexity = 6
                // Dst: (LOADgot:{ *:[i64] } (texternalsym:{ *:[i64] }):$addr)
/*233084*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetConstantPool),// ->233097
/*233087*/      OPC_MoveParent,
/*233088*/      OPC_CheckType, MVT::i64,
/*233090*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LOADgot), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64LOADgot:{ *:[i64] } (tconstpool:{ *:[i64] }):$addr) - Complexity = 6
                // Dst: (LOADgot:{ *:[i64] } (tconstpool:{ *:[i64] }):$addr)
/*233097*/    0, // EndSwitchOpcode
/*233098*/  /*SwitchOpcode*/ 77|128,6/*845*/, TARGET_VAL(AArch64ISD::CSEL),// ->233947
/*233102*/    OPC_Scope, 1|128,1/*129*/, /*->233234*/ // 12 children in Scope
/*233105*/      OPC_CheckChild0Integer, 0, 
/*233107*/      OPC_Scope, 57, /*->233166*/ // 2 children in Scope
/*233109*/        OPC_CheckChild1Integer, 1, 
/*233111*/        OPC_RecordChild2, // #0 = $cc
/*233112*/        OPC_MoveChild2,
/*233113*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233116*/        OPC_CheckType, MVT::i32,
/*233118*/        OPC_MoveParent,
/*233119*/        OPC_RecordChild3, // #1 = physreg input NZCV
/*233120*/        OPC_SwitchType /*2 cases */, 20, MVT::i32,// ->233143
/*233123*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*233126*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*233129*/          OPC_EmitConvertToTarget, 0,
/*233131*/          OPC_EmitCopyToReg, 1, AArch64::NZCV,
/*233134*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCWr), 0|OPFL_GlueInput,
                        MVT::i32, 3/*#Ops*/, 2, 3, 4, 
                    // Src: (AArch64csel:{ *:[i32] } 0:{ *:[i32] }, 1:{ *:[i32] }, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 16
                    // Dst: (CSINCWr:{ *:[i32] } WZR:{ *:[i32] }, WZR:{ *:[i32] }, (imm:{ *:[i32] }):$cc)
/*233143*/        /*SwitchType*/ 20, MVT::i64,// ->233165
/*233145*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*233148*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*233151*/          OPC_EmitConvertToTarget, 0,
/*233153*/          OPC_EmitCopyToReg, 1, AArch64::NZCV,
/*233156*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCXr), 0|OPFL_GlueInput,
                        MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                    // Src: (AArch64csel:{ *:[i64] } 0:{ *:[i64] }, 1:{ *:[i64] }, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 16
                    // Dst: (CSINCXr:{ *:[i64] } XZR:{ *:[i64] }, XZR:{ *:[i64] }, (imm:{ *:[i32] }):$cc)
/*233165*/        0, // EndSwitchType
/*233166*/      /*Scope*/ 66, /*->233233*/
/*233167*/        OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*233178*/        OPC_RecordChild2, // #0 = $cc
/*233179*/        OPC_MoveChild2,
/*233180*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233183*/        OPC_CheckType, MVT::i32,
/*233185*/        OPC_MoveParent,
/*233186*/        OPC_RecordChild3, // #1 = physreg input NZCV
/*233187*/        OPC_SwitchType /*2 cases */, 20, MVT::i32,// ->233210
/*233190*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*233193*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*233196*/          OPC_EmitConvertToTarget, 0,
/*233198*/          OPC_EmitCopyToReg, 1, AArch64::NZCV,
/*233201*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVWr), 0|OPFL_GlueInput,
                        MVT::i32, 3/*#Ops*/, 2, 3, 4, 
                    // Src: (AArch64csel:{ *:[i32] } 0:{ *:[i32] }, -1:{ *:[i32] }, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 16
                    // Dst: (CSINVWr:{ *:[i32] } WZR:{ *:[i32] }, WZR:{ *:[i32] }, (imm:{ *:[i32] }):$cc)
/*233210*/        /*SwitchType*/ 20, MVT::i64,// ->233232
/*233212*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*233215*/          OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*233218*/          OPC_EmitConvertToTarget, 0,
/*233220*/          OPC_EmitCopyToReg, 1, AArch64::NZCV,
/*233223*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVXr), 0|OPFL_GlueInput,
                        MVT::i64, 3/*#Ops*/, 2, 3, 4, 
                    // Src: (AArch64csel:{ *:[i64] } 0:{ *:[i64] }, -1:{ *:[i64] }, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 16
                    // Dst: (CSINVXr:{ *:[i64] } XZR:{ *:[i64] }, XZR:{ *:[i64] }, (imm:{ *:[i32] }):$cc)
/*233232*/        0, // EndSwitchType
/*233233*/      0, /*End of Scope*/
/*233234*/    /*Scope*/ 52, /*->233287*/
/*233235*/      OPC_RecordChild0, // #0 = $Rn
/*233236*/      OPC_MoveChild1,
/*233237*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*233240*/      OPC_RecordChild0, // #1 = $Rm
/*233241*/      OPC_CheckChild1Integer, 1, 
/*233243*/      OPC_MoveParent,
/*233244*/      OPC_RecordChild2, // #2 = $cond
/*233245*/      OPC_MoveChild2,
/*233246*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233249*/      OPC_CheckType, MVT::i32,
/*233251*/      OPC_MoveParent,
/*233252*/      OPC_RecordChild3, // #3 = physreg input NZCV
/*233253*/      OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->233270
/*233256*/        OPC_EmitConvertToTarget, 2,
/*233258*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233261*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (add:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, 1:{ *:[i32] }), (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSINCWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233270*/      /*SwitchType*/ 14, MVT::i64,// ->233286
/*233272*/        OPC_EmitConvertToTarget, 2,
/*233274*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233277*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (add:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, 1:{ *:[i64] }), (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSINCXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233286*/      0, // EndSwitchType
/*233287*/    /*Scope*/ 58, /*->233346*/
/*233288*/      OPC_MoveChild0,
/*233289*/      OPC_CheckOpcode, TARGET_VAL(ISD::ADD),
/*233292*/      OPC_RecordChild0, // #0 = $Rm
/*233293*/      OPC_CheckChild1Integer, 1, 
/*233295*/      OPC_MoveParent,
/*233296*/      OPC_RecordChild1, // #1 = $Rn
/*233297*/      OPC_RecordChild2, // #2 = $cond
/*233298*/      OPC_MoveChild2,
/*233299*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233302*/      OPC_CheckType, MVT::i32,
/*233304*/      OPC_MoveParent,
/*233305*/      OPC_RecordChild3, // #3 = physreg input NZCV
/*233306*/      OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->233326
/*233309*/        OPC_EmitConvertToTarget, 2,
/*233311*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233314*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233317*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 1, 0, 5, 
                  // Src: (AArch64csel:{ *:[i32] } (add:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, 1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSINCWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cond))
/*233326*/      /*SwitchType*/ 17, MVT::i64,// ->233345
/*233328*/        OPC_EmitConvertToTarget, 2,
/*233330*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233333*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233336*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 1, 0, 5, 
                  // Src: (AArch64csel:{ *:[i64] } (add:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, 1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSINCXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cond))
/*233345*/      0, // EndSwitchType
/*233346*/    /*Scope*/ 61, /*->233408*/
/*233347*/      OPC_RecordChild0, // #0 = $Rn
/*233348*/      OPC_MoveChild1,
/*233349*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*233352*/      OPC_RecordChild0, // #1 = $Rm
/*233353*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*233364*/      OPC_MoveParent,
/*233365*/      OPC_RecordChild2, // #2 = $cond
/*233366*/      OPC_MoveChild2,
/*233367*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233370*/      OPC_CheckType, MVT::i32,
/*233372*/      OPC_MoveParent,
/*233373*/      OPC_RecordChild3, // #3 = physreg input NZCV
/*233374*/      OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->233391
/*233377*/        OPC_EmitConvertToTarget, 2,
/*233379*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233382*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSINVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233391*/      /*SwitchType*/ 14, MVT::i64,// ->233407
/*233393*/        OPC_EmitConvertToTarget, 2,
/*233395*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233398*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSINVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233407*/      0, // EndSwitchType
/*233408*/    /*Scope*/ 67, /*->233476*/
/*233409*/      OPC_MoveChild0,
/*233410*/      OPC_CheckOpcode, TARGET_VAL(ISD::XOR),
/*233413*/      OPC_RecordChild0, // #0 = $Rm
/*233414*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*233425*/      OPC_MoveParent,
/*233426*/      OPC_RecordChild1, // #1 = $Rn
/*233427*/      OPC_RecordChild2, // #2 = $cond
/*233428*/      OPC_MoveChild2,
/*233429*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233432*/      OPC_CheckType, MVT::i32,
/*233434*/      OPC_MoveParent,
/*233435*/      OPC_RecordChild3, // #3 = physreg input NZCV
/*233436*/      OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->233456
/*233439*/        OPC_EmitConvertToTarget, 2,
/*233441*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233444*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233447*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 1, 0, 5, 
                  // Src: (AArch64csel:{ *:[i32] } (xor:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, -1:{ *:[i32] }), GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSINVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cond))
/*233456*/      /*SwitchType*/ 17, MVT::i64,// ->233475
/*233458*/        OPC_EmitConvertToTarget, 2,
/*233460*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233463*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233466*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 1, 0, 5, 
                  // Src: (AArch64csel:{ *:[i64] } (xor:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, -1:{ *:[i64] }), GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSINVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cond))
/*233475*/      0, // EndSwitchType
/*233476*/    /*Scope*/ 52, /*->233529*/
/*233477*/      OPC_RecordChild0, // #0 = $Rn
/*233478*/      OPC_MoveChild1,
/*233479*/      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
/*233482*/      OPC_CheckChild0Integer, 0, 
/*233484*/      OPC_RecordChild1, // #1 = $Rm
/*233485*/      OPC_MoveParent,
/*233486*/      OPC_RecordChild2, // #2 = $cond
/*233487*/      OPC_MoveChild2,
/*233488*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233491*/      OPC_CheckType, MVT::i32,
/*233493*/      OPC_MoveParent,
/*233494*/      OPC_RecordChild3, // #3 = physreg input NZCV
/*233495*/      OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->233512
/*233498*/        OPC_EmitConvertToTarget, 2,
/*233500*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233503*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSNEGWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (sub:{ *:[i32] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSNEGWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233512*/      /*SwitchType*/ 14, MVT::i64,// ->233528
/*233514*/        OPC_EmitConvertToTarget, 2,
/*233516*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233519*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSNEGXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (sub:{ *:[i64] } 0:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSNEGXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233528*/      0, // EndSwitchType
/*233529*/    /*Scope*/ 58, /*->233588*/
/*233530*/      OPC_MoveChild0,
/*233531*/      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
/*233534*/      OPC_CheckChild0Integer, 0, 
/*233536*/      OPC_RecordChild1, // #0 = $Rm
/*233537*/      OPC_MoveParent,
/*233538*/      OPC_RecordChild1, // #1 = $Rn
/*233539*/      OPC_RecordChild2, // #2 = $cond
/*233540*/      OPC_MoveChild2,
/*233541*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233544*/      OPC_CheckType, MVT::i32,
/*233546*/      OPC_MoveParent,
/*233547*/      OPC_RecordChild3, // #3 = physreg input NZCV
/*233548*/      OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->233568
/*233551*/        OPC_EmitConvertToTarget, 2,
/*233553*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233556*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233559*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSNEGWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 1, 0, 5, 
                  // Src: (AArch64csel:{ *:[i32] } (sub:{ *:[i32] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSNEGWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cond))
/*233568*/      /*SwitchType*/ 17, MVT::i64,// ->233587
/*233570*/        OPC_EmitConvertToTarget, 2,
/*233572*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233575*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233578*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSNEGXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 1, 0, 5, 
                  // Src: (AArch64csel:{ *:[i64] } (sub:{ *:[i64] } 0:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 14
                  // Dst: (CSNEGXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cond))
/*233587*/      0, // EndSwitchType
/*233588*/    /*Scope*/ 52, /*->233641*/
/*233589*/      OPC_RecordChild0, // #0 = $tval
/*233590*/      OPC_CheckChild1Integer, 1, 
/*233592*/      OPC_RecordChild2, // #1 = $cc
/*233593*/      OPC_MoveChild2,
/*233594*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233597*/      OPC_CheckType, MVT::i32,
/*233599*/      OPC_MoveParent,
/*233600*/      OPC_RecordChild3, // #2 = physreg input NZCV
/*233601*/      OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->233621
/*233604*/        OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*233607*/        OPC_EmitConvertToTarget, 1,
/*233609*/        OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*233612*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 0, 3, 4, 
                  // Src: (AArch64csel:{ *:[i32] } GPR32:{ *:[i32] }:$tval, 1:{ *:[i32] }, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 11
                  // Dst: (CSINCWr:{ *:[i32] } GPR32:{ *:[i32] }:$tval, WZR:{ *:[i32] }, (imm:{ *:[i32] }):$cc)
/*233621*/      /*SwitchType*/ 17, MVT::i64,// ->233640
/*233623*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*233626*/        OPC_EmitConvertToTarget, 1,
/*233628*/        OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*233631*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 0, 3, 4, 
                  // Src: (AArch64csel:{ *:[i64] } GPR64:{ *:[i64] }:$tval, 1:{ *:[i64] }, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 11
                  // Dst: (CSINCXr:{ *:[i64] } GPR64:{ *:[i64] }:$tval, XZR:{ *:[i64] }, (imm:{ *:[i32] }):$cc)
/*233640*/      0, // EndSwitchType
/*233641*/    /*Scope*/ 58, /*->233700*/
/*233642*/      OPC_CheckChild0Integer, 1, 
/*233644*/      OPC_RecordChild1, // #0 = $fval
/*233645*/      OPC_RecordChild2, // #1 = $cc
/*233646*/      OPC_MoveChild2,
/*233647*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233650*/      OPC_CheckType, MVT::i32,
/*233652*/      OPC_MoveParent,
/*233653*/      OPC_RecordChild3, // #2 = physreg input NZCV
/*233654*/      OPC_SwitchType /*2 cases */, 20, MVT::i32,// ->233677
/*233657*/        OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*233660*/        OPC_EmitConvertToTarget, 1,
/*233662*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233665*/        OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*233668*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 0, 3, 5, 
                  // Src: (AArch64csel:{ *:[i32] } 1:{ *:[i32] }, GPR32:{ *:[i32] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 11
                  // Dst: (CSINCWr:{ *:[i32] } GPR32:{ *:[i32] }:$fval, WZR:{ *:[i32] }, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cc))
/*233677*/      /*SwitchType*/ 20, MVT::i64,// ->233699
/*233679*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*233682*/        OPC_EmitConvertToTarget, 1,
/*233684*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233687*/        OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*233690*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 0, 3, 5, 
                  // Src: (AArch64csel:{ *:[i64] } 1:{ *:[i64] }, GPR64:{ *:[i64] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 11
                  // Dst: (CSINCXr:{ *:[i64] } GPR64:{ *:[i64] }:$fval, XZR:{ *:[i64] }, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cc))
/*233699*/      0, // EndSwitchType
/*233700*/    /*Scope*/ 61, /*->233762*/
/*233701*/      OPC_RecordChild0, // #0 = $tval
/*233702*/      OPC_CheckChild1Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*233713*/      OPC_RecordChild2, // #1 = $cc
/*233714*/      OPC_MoveChild2,
/*233715*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233718*/      OPC_CheckType, MVT::i32,
/*233720*/      OPC_MoveParent,
/*233721*/      OPC_RecordChild3, // #2 = physreg input NZCV
/*233722*/      OPC_SwitchType /*2 cases */, 17, MVT::i32,// ->233742
/*233725*/        OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*233728*/        OPC_EmitConvertToTarget, 1,
/*233730*/        OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*233733*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 0, 3, 4, 
                  // Src: (AArch64csel:{ *:[i32] } GPR32:{ *:[i32] }:$tval, -1:{ *:[i32] }, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 11
                  // Dst: (CSINVWr:{ *:[i32] } GPR32:{ *:[i32] }:$tval, WZR:{ *:[i32] }, (imm:{ *:[i32] }):$cc)
/*233742*/      /*SwitchType*/ 17, MVT::i64,// ->233761
/*233744*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*233747*/        OPC_EmitConvertToTarget, 1,
/*233749*/        OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*233752*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 0, 3, 4, 
                  // Src: (AArch64csel:{ *:[i64] } GPR64:{ *:[i64] }:$tval, -1:{ *:[i64] }, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 11
                  // Dst: (CSINVXr:{ *:[i64] } GPR64:{ *:[i64] }:$tval, XZR:{ *:[i64] }, (imm:{ *:[i32] }):$cc)
/*233761*/      0, // EndSwitchType
/*233762*/    /*Scope*/ 67, /*->233830*/
/*233763*/      OPC_CheckChild0Integer, 127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,127|128,1/*18446744073709551615*/, 
/*233774*/      OPC_RecordChild1, // #0 = $fval
/*233775*/      OPC_RecordChild2, // #1 = $cc
/*233776*/      OPC_MoveChild2,
/*233777*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233780*/      OPC_CheckType, MVT::i32,
/*233782*/      OPC_MoveParent,
/*233783*/      OPC_RecordChild3, // #2 = physreg input NZCV
/*233784*/      OPC_SwitchType /*2 cases */, 20, MVT::i32,// ->233807
/*233787*/        OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*233790*/        OPC_EmitConvertToTarget, 1,
/*233792*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233795*/        OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*233798*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 0, 3, 5, 
                  // Src: (AArch64csel:{ *:[i32] } -1:{ *:[i32] }, GPR32:{ *:[i32] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 11
                  // Dst: (CSINVWr:{ *:[i32] } GPR32:{ *:[i32] }:$fval, WZR:{ *:[i32] }, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cc))
/*233807*/      /*SwitchType*/ 20, MVT::i64,// ->233829
/*233809*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*233812*/        OPC_EmitConvertToTarget, 1,
/*233814*/        OPC_EmitNodeXForm, 14, 4, // inv_cond_XFORM
/*233817*/        OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*233820*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 0, 3, 5, 
                  // Src: (AArch64csel:{ *:[i64] } -1:{ *:[i64] }, GPR64:{ *:[i64] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 11
                  // Dst: (CSINVXr:{ *:[i64] } GPR64:{ *:[i64] }:$fval, XZR:{ *:[i64] }, (inv_cond_XFORM:{ *:[i32] } (imm:{ *:[i32] }):$cc))
/*233829*/      0, // EndSwitchType
/*233830*/    /*Scope*/ 115, /*->233946*/
/*233831*/      OPC_RecordChild0, // #0 = $Rn
/*233832*/      OPC_RecordChild1, // #1 = $Rm
/*233833*/      OPC_RecordChild2, // #2 = $cond
/*233834*/      OPC_MoveChild2,
/*233835*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*233838*/      OPC_CheckType, MVT::i32,
/*233840*/      OPC_MoveParent,
/*233841*/      OPC_RecordChild3, // #3 = physreg input NZCV
/*233842*/      OPC_SwitchType /*6 cases */, 14, MVT::i32,// ->233859
/*233845*/        OPC_EmitConvertToTarget, 2,
/*233847*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233850*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSELWr), 0|OPFL_GlueInput,
                      MVT::i32, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 6
                  // Dst: (CSELWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233859*/      /*SwitchType*/ 14, MVT::i64,// ->233875
/*233861*/        OPC_EmitConvertToTarget, 2,
/*233863*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233866*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSELXr), 0|OPFL_GlueInput,
                      MVT::i64, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 6
                  // Dst: (CSELXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233875*/      /*SwitchType*/ 16, MVT::f16,// ->233893
/*233877*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*233879*/        OPC_EmitConvertToTarget, 2,
/*233881*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233884*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCSELHrrr), 0|OPFL_GlueInput,
                      MVT::f16, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 6
                  // Dst: (FCSELHrrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233893*/      /*SwitchType*/ 16, MVT::f32,// ->233911
/*233895*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*233897*/        OPC_EmitConvertToTarget, 2,
/*233899*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233902*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCSELSrrr), 0|OPFL_GlueInput,
                      MVT::f32, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 6
                  // Dst: (FCSELSrrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233911*/      /*SwitchType*/ 16, MVT::f64,// ->233929
/*233913*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*233915*/        OPC_EmitConvertToTarget, 2,
/*233917*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233920*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCSELDrrr), 0|OPFL_GlueInput,
                      MVT::f64, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 6
                  // Dst: (FCSELDrrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233929*/      /*SwitchType*/ 14, MVT::f128,// ->233945
/*233931*/        OPC_EmitConvertToTarget, 2,
/*233933*/        OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*233936*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::F128CSEL), 0|OPFL_GlueInput,
                      MVT::f128, 3/*#Ops*/, 0, 1, 4, 
                  // Src: (AArch64csel:{ *:[f128] } FPR128:{ *:[f128] }:$Rn, FPR128:{ *:[f128] }:$Rm, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 6
                  // Dst: (F128CSEL:{ *:[f128] } FPR128:{ *:[f128] }:$Rn, FPR128:{ *:[f128] }:$Rm, (imm:{ *:[i32] }):$cond)
/*233945*/      0, // EndSwitchType
/*233946*/    0, /*End of Scope*/
/*233947*/  /*SwitchOpcode*/ 24|128,2/*280*/, TARGET_VAL(AArch64ISD::WrapperLarge),// ->234231
/*233951*/    OPC_RecordChild0, // #0 = $g3
/*233952*/    OPC_MoveChild0,
/*233953*/    OPC_SwitchOpcode /*4 cases */, 66, TARGET_VAL(ISD::TargetGlobalAddress),// ->234023
/*233957*/      OPC_MoveParent,
/*233958*/      OPC_RecordChild1, // #1 = $g2
/*233959*/      OPC_MoveChild1,
/*233960*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
/*233963*/      OPC_MoveParent,
/*233964*/      OPC_RecordChild2, // #2 = $g1
/*233965*/      OPC_MoveChild2,
/*233966*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
/*233969*/      OPC_MoveParent,
/*233970*/      OPC_RecordChild3, // #3 = $g0
/*233971*/      OPC_MoveChild3,
/*233972*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
/*233975*/      OPC_MoveParent,
/*233976*/      OPC_EmitInteger, MVT::i32, 0, 
/*233979*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVZXi), 0,
                    MVT::i64, 2/*#Ops*/, 3, 4,  // Results = #5
/*233987*/      OPC_EmitInteger, MVT::i32, 16, 
/*233990*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 5, 2, 6,  // Results = #7
/*233999*/      OPC_EmitInteger, MVT::i32, 32, 
/*234002*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*234011*/      OPC_EmitInteger, MVT::i32, 48, 
/*234014*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 9, 0, 10, 
                // Src: (AArch64WrapperLarge:{ *:[i64] } (tglobaladdr:{ *:[i32] }):$g3, (tglobaladdr:{ *:[i32] }):$g2, (tglobaladdr:{ *:[i32] }):$g1, (tglobaladdr:{ *:[i32] }):$g0) - Complexity = 15
                // Dst: (MOVKXi:{ *:[i64] } (MOVKXi:{ *:[i64] } (MOVKXi:{ *:[i64] } (MOVZXi:{ *:[i64] } (tglobaladdr:{ *:[i32] }):$g0, 0:{ *:[i32] }), (tglobaladdr:{ *:[i32] }):$g1, 16:{ *:[i32] }), (tglobaladdr:{ *:[i32] }):$g2, 32:{ *:[i32] }), (tglobaladdr:{ *:[i32] }):$g3, 48:{ *:[i32] })
/*234023*/    /*SwitchOpcode*/ 66, TARGET_VAL(ISD::TargetBlockAddress),// ->234092
/*234026*/      OPC_MoveParent,
/*234027*/      OPC_RecordChild1, // #1 = $g2
/*234028*/      OPC_MoveChild1,
/*234029*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
/*234032*/      OPC_MoveParent,
/*234033*/      OPC_RecordChild2, // #2 = $g1
/*234034*/      OPC_MoveChild2,
/*234035*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
/*234038*/      OPC_MoveParent,
/*234039*/      OPC_RecordChild3, // #3 = $g0
/*234040*/      OPC_MoveChild3,
/*234041*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
/*234044*/      OPC_MoveParent,
/*234045*/      OPC_EmitInteger, MVT::i32, 0, 
/*234048*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVZXi), 0,
                    MVT::i64, 2/*#Ops*/, 3, 4,  // Results = #5
/*234056*/      OPC_EmitInteger, MVT::i32, 16, 
/*234059*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 5, 2, 6,  // Results = #7
/*234068*/      OPC_EmitInteger, MVT::i32, 32, 
/*234071*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*234080*/      OPC_EmitInteger, MVT::i32, 48, 
/*234083*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 9, 0, 10, 
                // Src: (AArch64WrapperLarge:{ *:[i64] } (tblockaddress:{ *:[i32] }):$g3, (tblockaddress:{ *:[i32] }):$g2, (tblockaddress:{ *:[i32] }):$g1, (tblockaddress:{ *:[i32] }):$g0) - Complexity = 15
                // Dst: (MOVKXi:{ *:[i64] } (MOVKXi:{ *:[i64] } (MOVKXi:{ *:[i64] } (MOVZXi:{ *:[i64] } (tblockaddress:{ *:[i32] }):$g0, 0:{ *:[i32] }), (tblockaddress:{ *:[i32] }):$g1, 16:{ *:[i32] }), (tblockaddress:{ *:[i32] }):$g2, 32:{ *:[i32] }), (tblockaddress:{ *:[i32] }):$g3, 48:{ *:[i32] })
/*234092*/    /*SwitchOpcode*/ 66, TARGET_VAL(ISD::TargetConstantPool),// ->234161
/*234095*/      OPC_MoveParent,
/*234096*/      OPC_RecordChild1, // #1 = $g2
/*234097*/      OPC_MoveChild1,
/*234098*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
/*234101*/      OPC_MoveParent,
/*234102*/      OPC_RecordChild2, // #2 = $g1
/*234103*/      OPC_MoveChild2,
/*234104*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
/*234107*/      OPC_MoveParent,
/*234108*/      OPC_RecordChild3, // #3 = $g0
/*234109*/      OPC_MoveChild3,
/*234110*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
/*234113*/      OPC_MoveParent,
/*234114*/      OPC_EmitInteger, MVT::i32, 0, 
/*234117*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVZXi), 0,
                    MVT::i64, 2/*#Ops*/, 3, 4,  // Results = #5
/*234125*/      OPC_EmitInteger, MVT::i32, 16, 
/*234128*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 5, 2, 6,  // Results = #7
/*234137*/      OPC_EmitInteger, MVT::i32, 32, 
/*234140*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*234149*/      OPC_EmitInteger, MVT::i32, 48, 
/*234152*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 9, 0, 10, 
                // Src: (AArch64WrapperLarge:{ *:[i64] } (tconstpool:{ *:[i32] }):$g3, (tconstpool:{ *:[i32] }):$g2, (tconstpool:{ *:[i32] }):$g1, (tconstpool:{ *:[i32] }):$g0) - Complexity = 15
                // Dst: (MOVKXi:{ *:[i64] } (MOVKXi:{ *:[i64] } (MOVKXi:{ *:[i64] } (MOVZXi:{ *:[i64] } (tconstpool:{ *:[i32] }):$g0, 0:{ *:[i32] }), (tconstpool:{ *:[i32] }):$g1, 16:{ *:[i32] }), (tconstpool:{ *:[i32] }):$g2, 32:{ *:[i32] }), (tconstpool:{ *:[i32] }):$g3, 48:{ *:[i32] })
/*234161*/    /*SwitchOpcode*/ 66, TARGET_VAL(ISD::TargetJumpTable),// ->234230
/*234164*/      OPC_MoveParent,
/*234165*/      OPC_RecordChild1, // #1 = $g2
/*234166*/      OPC_MoveChild1,
/*234167*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
/*234170*/      OPC_MoveParent,
/*234171*/      OPC_RecordChild2, // #2 = $g1
/*234172*/      OPC_MoveChild2,
/*234173*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
/*234176*/      OPC_MoveParent,
/*234177*/      OPC_RecordChild3, // #3 = $g0
/*234178*/      OPC_MoveChild3,
/*234179*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
/*234182*/      OPC_MoveParent,
/*234183*/      OPC_EmitInteger, MVT::i32, 0, 
/*234186*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVZXi), 0,
                    MVT::i64, 2/*#Ops*/, 3, 4,  // Results = #5
/*234194*/      OPC_EmitInteger, MVT::i32, 16, 
/*234197*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 5, 2, 6,  // Results = #7
/*234206*/      OPC_EmitInteger, MVT::i32, 32, 
/*234209*/      OPC_EmitNode1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*234218*/      OPC_EmitInteger, MVT::i32, 48, 
/*234221*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVKXi), 0,
                    MVT::i64, 3/*#Ops*/, 9, 0, 10, 
                // Src: (AArch64WrapperLarge:{ *:[i64] } (tjumptable:{ *:[i32] }):$g3, (tjumptable:{ *:[i32] }):$g2, (tjumptable:{ *:[i32] }):$g1, (tjumptable:{ *:[i32] }):$g0) - Complexity = 15
                // Dst: (MOVKXi:{ *:[i64] } (MOVKXi:{ *:[i64] } (MOVKXi:{ *:[i64] } (MOVZXi:{ *:[i64] } (tjumptable:{ *:[i32] }):$g0, 0:{ *:[i32] }), (tjumptable:{ *:[i32] }):$g1, 16:{ *:[i32] }), (tjumptable:{ *:[i32] }):$g2, 32:{ *:[i32] }), (tjumptable:{ *:[i32] }):$g3, 48:{ *:[i32] })
/*234230*/    0, // EndSwitchOpcode
/*234231*/  /*SwitchOpcode*/ 0|128,2/*256*/, TARGET_VAL(AArch64ISD::ADDS),// ->234491
/*234235*/    OPC_RecordChild0, // #0 = $R2
/*234236*/    OPC_RecordChild1, // #1 = $R3
/*234237*/    OPC_SwitchType /*2 cases */, 124, MVT::i32,// ->234364
/*234240*/      OPC_Scope, 13, /*->234255*/ // 9 children in Scope
/*234242*/        OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectArithExtendedRegister:$R3 #2 #3
/*234245*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSWrx), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3) - Complexity = 13
                  // Dst: (ADDSWrx:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3)
/*234255*/      /*Scope*/ 13, /*->234269*/
/*234256*/        OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectNegArithImmed:$imm #2 #3
/*234259*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWri), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm) - Complexity = 13
                  // Dst: (SUBSWri:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm)
/*234269*/      /*Scope*/ 13, /*->234283*/
/*234270*/        OPC_CheckComplexPat, /*CP*/2, /*#*/0, // SelectArithExtendedRegister:$R3 #2 #3
/*234273*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSWrx), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } arith_extended_reg32_i32:{ *:[i32] }:$R3, GPR32sp:{ *:[i32] }:$R2) - Complexity = 13
                  // Dst: (ADDSWrx:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3)
/*234283*/      /*Scope*/ 13, /*->234297*/
/*234284*/        OPC_CheckComplexPat, /*CP*/3, /*#*/0, // SelectNegArithImmed:$imm #2 #3
/*234287*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWri), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } neg_addsub_shifted_imm32:{ *:[i32] }:$imm, GPR32:{ *:[i32] }:$Rn) - Complexity = 13
                  // Dst: (SUBSWri:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm)
/*234297*/      /*Scope*/ 13, /*->234311*/
/*234298*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectArithImmed:$imm #2 #3
/*234301*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSWri), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm) - Complexity = 12
                  // Dst: (ADDSWri:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm)
/*234311*/      /*Scope*/ 13, /*->234325*/
/*234312*/        OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectArithShiftedRegister:$Rm #2 #3
/*234315*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSWrs), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 12
                  // Dst: (ADDSWrs:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm)
/*234325*/      /*Scope*/ 13, /*->234339*/
/*234326*/        OPC_CheckComplexPat, /*CP*/0, /*#*/0, // SelectArithImmed:$imm #2 #3
/*234329*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSWri), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } addsub_shifted_imm32:{ *:[i32] }:$imm, GPR32sp:{ *:[i32] }:$Rn) - Complexity = 12
                  // Dst: (ADDSWri:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm)
/*234339*/      /*Scope*/ 13, /*->234353*/
/*234340*/        OPC_CheckComplexPat, /*CP*/4, /*#*/0, // SelectArithShiftedRegister:$Rm #2 #3
/*234343*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSWrs), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } arith_shifted_reg32:{ *:[i32] }:$Rm, GPR32:{ *:[i32] }:$Rn) - Complexity = 12
                  // Dst: (ADDSWrs:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm)
/*234353*/      /*Scope*/ 9, /*->234363*/
/*234354*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSWrr), 0,
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64add_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                  // Dst: (ADDSWrr:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*234363*/      0, /*End of Scope*/
/*234364*/    /*SwitchType*/ 124, MVT::i64,// ->234490
/*234366*/      OPC_Scope, 13, /*->234381*/ // 9 children in Scope
/*234368*/        OPC_CheckComplexPat, /*CP*/52, /*#*/1, // SelectArithExtendedRegister:$R3 #2 #3
/*234371*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSXrx), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32_i64:{ *:[i64] }:$R3) - Complexity = 13
                  // Dst: (ADDSXrx:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32_i64:{ *:[i64] }:$R3)
/*234381*/      /*Scope*/ 13, /*->234395*/
/*234382*/        OPC_CheckComplexPat, /*CP*/6, /*#*/1, // SelectNegArithImmed:$imm #2 #3
/*234385*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXri), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm) - Complexity = 13
                  // Dst: (SUBSXri:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm)
/*234395*/      /*Scope*/ 13, /*->234409*/
/*234396*/        OPC_CheckComplexPat, /*CP*/52, /*#*/0, // SelectArithExtendedRegister:$R3 #2 #3
/*234399*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSXrx), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } arith_extended_reg32_i64:{ *:[i64] }:$R3, GPR64sp:{ *:[i64] }:$R2) - Complexity = 13
                  // Dst: (ADDSXrx:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32_i64:{ *:[i64] }:$R3)
/*234409*/      /*Scope*/ 13, /*->234423*/
/*234410*/        OPC_CheckComplexPat, /*CP*/6, /*#*/0, // SelectNegArithImmed:$imm #2 #3
/*234413*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXri), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } neg_addsub_shifted_imm64:{ *:[i64] }:$imm, GPR64:{ *:[i64] }:$Rn) - Complexity = 13
                  // Dst: (SUBSXri:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm)
/*234423*/      /*Scope*/ 13, /*->234437*/
/*234424*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectArithImmed:$imm #2 #3
/*234427*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSXri), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm) - Complexity = 12
                  // Dst: (ADDSXri:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm)
/*234437*/      /*Scope*/ 13, /*->234451*/
/*234438*/        OPC_CheckComplexPat, /*CP*/7, /*#*/1, // SelectArithShiftedRegister:$Rm #2 #3
/*234441*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSXrs), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 12
                  // Dst: (ADDSXrs:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm)
/*234451*/      /*Scope*/ 13, /*->234465*/
/*234452*/        OPC_CheckComplexPat, /*CP*/1, /*#*/0, // SelectArithImmed:$imm #2 #3
/*234455*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSXri), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } addsub_shifted_imm64:{ *:[i64] }:$imm, GPR64sp:{ *:[i64] }:$Rn) - Complexity = 12
                  // Dst: (ADDSXri:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm)
/*234465*/      /*Scope*/ 13, /*->234479*/
/*234466*/        OPC_CheckComplexPat, /*CP*/7, /*#*/0, // SelectArithShiftedRegister:$Rm #2 #3
/*234469*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSXrs), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } arith_shifted_reg64:{ *:[i64] }:$Rm, GPR64:{ *:[i64] }:$Rn) - Complexity = 12
                  // Dst: (ADDSXrs:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm)
/*234479*/      /*Scope*/ 9, /*->234489*/
/*234480*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSXrr), 0,
                      MVT::i64, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64add_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                  // Dst: (ADDSXrr:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*234489*/      0, /*End of Scope*/
/*234490*/    0, // EndSwitchType
/*234491*/  /*SwitchOpcode*/ 16|128,1/*144*/, TARGET_VAL(AArch64ISD::SUBS),// ->234639
/*234495*/    OPC_RecordChild0, // #0 = $R2
/*234496*/    OPC_RecordChild1, // #1 = $R3
/*234497*/    OPC_SwitchType /*2 cases */, 68, MVT::i32,// ->234568
/*234500*/      OPC_Scope, 13, /*->234515*/ // 5 children in Scope
/*234502*/        OPC_CheckComplexPat, /*CP*/2, /*#*/1, // SelectArithExtendedRegister:$R3 #2 #3
/*234505*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWrx), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64sub_flag:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3) - Complexity = 13
                  // Dst: (SUBSWrx:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$R2, arith_extended_reg32_i32:{ *:[i32] }:$R3)
/*234515*/      /*Scope*/ 13, /*->234529*/
/*234516*/        OPC_CheckComplexPat, /*CP*/3, /*#*/1, // SelectNegArithImmed:$imm #2 #3
/*234519*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSWri), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64sub_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm) - Complexity = 13
                  // Dst: (ADDSWri:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, neg_addsub_shifted_imm32:{ *:[i32] }:$imm)
/*234529*/      /*Scope*/ 13, /*->234543*/
/*234530*/        OPC_CheckComplexPat, /*CP*/0, /*#*/1, // SelectArithImmed:$imm #2 #3
/*234533*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWri), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64sub_flag:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm) - Complexity = 12
                  // Dst: (SUBSWri:{ *:[i32] }:{ *:[i32] } GPR32sp:{ *:[i32] }:$Rn, addsub_shifted_imm32:{ *:[i32] }:$imm)
/*234543*/      /*Scope*/ 13, /*->234557*/
/*234544*/        OPC_CheckComplexPat, /*CP*/4, /*#*/1, // SelectArithShiftedRegister:$Rm #2 #3
/*234547*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWrs), 0,
                      MVT::i32, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64sub_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm) - Complexity = 12
                  // Dst: (SUBSWrs:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, arith_shifted_reg32:{ *:[i32] }:$Rm)
/*234557*/      /*Scope*/ 9, /*->234567*/
/*234558*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSWrr), 0,
                      MVT::i32, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64sub_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                  // Dst: (SUBSWrr:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*234567*/      0, /*End of Scope*/
/*234568*/    /*SwitchType*/ 68, MVT::i64,// ->234638
/*234570*/      OPC_Scope, 13, /*->234585*/ // 5 children in Scope
/*234572*/        OPC_CheckComplexPat, /*CP*/52, /*#*/1, // SelectArithExtendedRegister:$R3 #2 #3
/*234575*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXrx), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64sub_flag:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32_i64:{ *:[i64] }:$R3) - Complexity = 13
                  // Dst: (SUBSXrx:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$R2, arith_extended_reg32_i64:{ *:[i64] }:$R3)
/*234585*/      /*Scope*/ 13, /*->234599*/
/*234586*/        OPC_CheckComplexPat, /*CP*/6, /*#*/1, // SelectNegArithImmed:$imm #2 #3
/*234589*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADDSXri), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64sub_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm) - Complexity = 13
                  // Dst: (ADDSXri:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, neg_addsub_shifted_imm64:{ *:[i64] }:$imm)
/*234599*/      /*Scope*/ 13, /*->234613*/
/*234600*/        OPC_CheckComplexPat, /*CP*/1, /*#*/1, // SelectArithImmed:$imm #2 #3
/*234603*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXri), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64sub_flag:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm) - Complexity = 12
                  // Dst: (SUBSXri:{ *:[i64] }:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, addsub_shifted_imm64:{ *:[i64] }:$imm)
/*234613*/      /*Scope*/ 13, /*->234627*/
/*234614*/        OPC_CheckComplexPat, /*CP*/7, /*#*/1, // SelectArithShiftedRegister:$Rm #2 #3
/*234617*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXrs), 0,
                      MVT::i64, MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (AArch64sub_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm) - Complexity = 12
                  // Dst: (SUBSXrs:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, arith_shifted_reg64:{ *:[i64] }:$Rm)
/*234627*/      /*Scope*/ 9, /*->234637*/
/*234628*/        OPC_MorphNodeTo2, TARGET_VAL(AArch64::SUBSXrr), 0,
                      MVT::i64, MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64sub_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                  // Dst: (SUBSXrr:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*234637*/      0, /*End of Scope*/
/*234638*/    0, // EndSwitchType
/*234639*/  /*SwitchOpcode*/ 45|128,1/*173*/, TARGET_VAL(AArch64ISD::CCMN),// ->234816
/*234643*/    OPC_RecordChild0, // #0 = $Rn
/*234644*/    OPC_Scope, 84, /*->234730*/ // 2 children in Scope
/*234646*/      OPC_CheckChild0Type, MVT::i32,
/*234648*/      OPC_RecordChild1, // #1 = $imm
/*234649*/      OPC_Scope, 43, /*->234694*/ // 2 children in Scope
/*234651*/        OPC_MoveChild1,
/*234652*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234655*/        OPC_CheckPredicate, 35, // Predicate_imm32_0_31
/*234657*/        OPC_MoveParent,
/*234658*/        OPC_RecordChild2, // #2 = $nzcv
/*234659*/        OPC_MoveChild2,
/*234660*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234663*/        OPC_CheckType, MVT::i32,
/*234665*/        OPC_MoveParent,
/*234666*/        OPC_RecordChild3, // #3 = $cond
/*234667*/        OPC_MoveChild3,
/*234668*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234671*/        OPC_CheckType, MVT::i32,
/*234673*/        OPC_MoveParent,
/*234674*/        OPC_RecordChild4, // #4 = physreg input NZCV
/*234675*/        OPC_EmitConvertToTarget, 1,
/*234677*/        OPC_EmitConvertToTarget, 2,
/*234679*/        OPC_EmitConvertToTarget, 3,
/*234681*/        OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*234684*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CCMNWi), 0|OPFL_GlueInput,
                      MVT::i32, 4/*#Ops*/, 0, 5, 6, 7, 
                  // Src: (AArch64ccmn:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm32_0_31>>:$imm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 13
                  // Dst: (CCMNWi:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*234694*/      /*Scope*/ 34, /*->234729*/
/*234695*/        OPC_RecordChild2, // #2 = $nzcv
/*234696*/        OPC_MoveChild2,
/*234697*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234700*/        OPC_CheckType, MVT::i32,
/*234702*/        OPC_MoveParent,
/*234703*/        OPC_RecordChild3, // #3 = $cond
/*234704*/        OPC_MoveChild3,
/*234705*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234708*/        OPC_CheckType, MVT::i32,
/*234710*/        OPC_MoveParent,
/*234711*/        OPC_RecordChild4, // #4 = physreg input NZCV
/*234712*/        OPC_EmitConvertToTarget, 2,
/*234714*/        OPC_EmitConvertToTarget, 3,
/*234716*/        OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*234719*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CCMNWr), 0|OPFL_GlueInput,
                      MVT::i32, 4/*#Ops*/, 0, 1, 5, 6, 
                  // Src: (AArch64ccmn:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 9
                  // Dst: (CCMNWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*234729*/      0, /*End of Scope*/
/*234730*/    /*Scope*/ 84, /*->234815*/
/*234731*/      OPC_CheckChild0Type, MVT::i64,
/*234733*/      OPC_RecordChild1, // #1 = $imm
/*234734*/      OPC_Scope, 43, /*->234779*/ // 2 children in Scope
/*234736*/        OPC_MoveChild1,
/*234737*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234740*/        OPC_CheckPredicate, 35, // Predicate_imm0_31
/*234742*/        OPC_MoveParent,
/*234743*/        OPC_RecordChild2, // #2 = $nzcv
/*234744*/        OPC_MoveChild2,
/*234745*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234748*/        OPC_CheckType, MVT::i32,
/*234750*/        OPC_MoveParent,
/*234751*/        OPC_RecordChild3, // #3 = $cond
/*234752*/        OPC_MoveChild3,
/*234753*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234756*/        OPC_CheckType, MVT::i32,
/*234758*/        OPC_MoveParent,
/*234759*/        OPC_RecordChild4, // #4 = physreg input NZCV
/*234760*/        OPC_EmitConvertToTarget, 1,
/*234762*/        OPC_EmitConvertToTarget, 2,
/*234764*/        OPC_EmitConvertToTarget, 3,
/*234766*/        OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*234769*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CCMNXi), 0|OPFL_GlueInput,
                      MVT::i32, 4/*#Ops*/, 0, 5, 6, 7, 
                  // Src: (AArch64ccmn:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 13
                  // Dst: (CCMNXi:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$imm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*234779*/      /*Scope*/ 34, /*->234814*/
/*234780*/        OPC_RecordChild2, // #2 = $nzcv
/*234781*/        OPC_MoveChild2,
/*234782*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234785*/        OPC_CheckType, MVT::i32,
/*234787*/        OPC_MoveParent,
/*234788*/        OPC_RecordChild3, // #3 = $cond
/*234789*/        OPC_MoveChild3,
/*234790*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234793*/        OPC_CheckType, MVT::i32,
/*234795*/        OPC_MoveParent,
/*234796*/        OPC_RecordChild4, // #4 = physreg input NZCV
/*234797*/        OPC_EmitConvertToTarget, 2,
/*234799*/        OPC_EmitConvertToTarget, 3,
/*234801*/        OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*234804*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CCMNXr), 0|OPFL_GlueInput,
                      MVT::i32, 4/*#Ops*/, 0, 1, 5, 6, 
                  // Src: (AArch64ccmn:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 9
                  // Dst: (CCMNXr:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*234814*/      0, /*End of Scope*/
/*234815*/    0, /*End of Scope*/
/*234816*/  /*SwitchOpcode*/ 45|128,1/*173*/, TARGET_VAL(AArch64ISD::CCMP),// ->234993
/*234820*/    OPC_RecordChild0, // #0 = $Rn
/*234821*/    OPC_Scope, 84, /*->234907*/ // 2 children in Scope
/*234823*/      OPC_CheckChild0Type, MVT::i32,
/*234825*/      OPC_RecordChild1, // #1 = $imm
/*234826*/      OPC_Scope, 43, /*->234871*/ // 2 children in Scope
/*234828*/        OPC_MoveChild1,
/*234829*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234832*/        OPC_CheckPredicate, 35, // Predicate_imm32_0_31
/*234834*/        OPC_MoveParent,
/*234835*/        OPC_RecordChild2, // #2 = $nzcv
/*234836*/        OPC_MoveChild2,
/*234837*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234840*/        OPC_CheckType, MVT::i32,
/*234842*/        OPC_MoveParent,
/*234843*/        OPC_RecordChild3, // #3 = $cond
/*234844*/        OPC_MoveChild3,
/*234845*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234848*/        OPC_CheckType, MVT::i32,
/*234850*/        OPC_MoveParent,
/*234851*/        OPC_RecordChild4, // #4 = physreg input NZCV
/*234852*/        OPC_EmitConvertToTarget, 1,
/*234854*/        OPC_EmitConvertToTarget, 2,
/*234856*/        OPC_EmitConvertToTarget, 3,
/*234858*/        OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*234861*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CCMPWi), 0|OPFL_GlueInput,
                      MVT::i32, 4/*#Ops*/, 0, 5, 6, 7, 
                  // Src: (AArch64ccmp:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_imm32_0_31>>:$imm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 13
                  // Dst: (CCMPWi:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*234871*/      /*Scope*/ 34, /*->234906*/
/*234872*/        OPC_RecordChild2, // #2 = $nzcv
/*234873*/        OPC_MoveChild2,
/*234874*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234877*/        OPC_CheckType, MVT::i32,
/*234879*/        OPC_MoveParent,
/*234880*/        OPC_RecordChild3, // #3 = $cond
/*234881*/        OPC_MoveChild3,
/*234882*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234885*/        OPC_CheckType, MVT::i32,
/*234887*/        OPC_MoveParent,
/*234888*/        OPC_RecordChild4, // #4 = physreg input NZCV
/*234889*/        OPC_EmitConvertToTarget, 2,
/*234891*/        OPC_EmitConvertToTarget, 3,
/*234893*/        OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*234896*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CCMPWr), 0|OPFL_GlueInput,
                      MVT::i32, 4/*#Ops*/, 0, 1, 5, 6, 
                  // Src: (AArch64ccmp:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 9
                  // Dst: (CCMPWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*234906*/      0, /*End of Scope*/
/*234907*/    /*Scope*/ 84, /*->234992*/
/*234908*/      OPC_CheckChild0Type, MVT::i64,
/*234910*/      OPC_RecordChild1, // #1 = $imm
/*234911*/      OPC_Scope, 43, /*->234956*/ // 2 children in Scope
/*234913*/        OPC_MoveChild1,
/*234914*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234917*/        OPC_CheckPredicate, 35, // Predicate_imm0_31
/*234919*/        OPC_MoveParent,
/*234920*/        OPC_RecordChild2, // #2 = $nzcv
/*234921*/        OPC_MoveChild2,
/*234922*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234925*/        OPC_CheckType, MVT::i32,
/*234927*/        OPC_MoveParent,
/*234928*/        OPC_RecordChild3, // #3 = $cond
/*234929*/        OPC_MoveChild3,
/*234930*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234933*/        OPC_CheckType, MVT::i32,
/*234935*/        OPC_MoveParent,
/*234936*/        OPC_RecordChild4, // #4 = physreg input NZCV
/*234937*/        OPC_EmitConvertToTarget, 1,
/*234939*/        OPC_EmitConvertToTarget, 2,
/*234941*/        OPC_EmitConvertToTarget, 3,
/*234943*/        OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*234946*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CCMPXi), 0|OPFL_GlueInput,
                      MVT::i32, 4/*#Ops*/, 0, 5, 6, 7, 
                  // Src: (AArch64ccmp:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 13
                  // Dst: (CCMPXi:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] }):$imm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*234956*/      /*Scope*/ 34, /*->234991*/
/*234957*/        OPC_RecordChild2, // #2 = $nzcv
/*234958*/        OPC_MoveChild2,
/*234959*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234962*/        OPC_CheckType, MVT::i32,
/*234964*/        OPC_MoveParent,
/*234965*/        OPC_RecordChild3, // #3 = $cond
/*234966*/        OPC_MoveChild3,
/*234967*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*234970*/        OPC_CheckType, MVT::i32,
/*234972*/        OPC_MoveParent,
/*234973*/        OPC_RecordChild4, // #4 = physreg input NZCV
/*234974*/        OPC_EmitConvertToTarget, 2,
/*234976*/        OPC_EmitConvertToTarget, 3,
/*234978*/        OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*234981*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CCMPXr), 0|OPFL_GlueInput,
                      MVT::i32, 4/*#Ops*/, 0, 1, 5, 6, 
                  // Src: (AArch64ccmp:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 9
                  // Dst: (CCMPXr:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*234991*/      0, /*End of Scope*/
/*234992*/    0, /*End of Scope*/
/*234993*/  /*SwitchOpcode*/ 28|128,1/*156*/, TARGET_VAL(AArch64ISD::ADDlow),// ->235153
/*234997*/    OPC_Scope, 6|128,1/*134*/, /*->235134*/ // 2 children in Scope
/*235000*/      OPC_MoveChild0,
/*235001*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::ADRP),
/*235004*/      OPC_RecordChild0, // #0 = $hi
/*235005*/      OPC_MoveChild0,
/*235006*/      OPC_SwitchOpcode /*6 cases */, 18, TARGET_VAL(ISD::TargetGlobalAddress),// ->235028
/*235010*/        OPC_MoveParent,
/*235011*/        OPC_MoveParent,
/*235012*/        OPC_RecordChild1, // #1 = $low
/*235013*/        OPC_MoveChild1,
/*235014*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalAddress),
/*235017*/        OPC_MoveParent,
/*235018*/        OPC_CheckType, MVT::i64,
/*235020*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVaddr), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64addlow:{ *:[i64] } (AArch64adrp:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$hi), (tglobaladdr:{ *:[i64] }):$low) - Complexity = 12
                  // Dst: (MOVaddr:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$hi, (tglobaladdr:{ *:[i64] }):$low)
/*235028*/      /*SwitchOpcode*/ 18, TARGET_VAL(ISD::TargetJumpTable),// ->235049
/*235031*/        OPC_MoveParent,
/*235032*/        OPC_MoveParent,
/*235033*/        OPC_RecordChild1, // #1 = $low
/*235034*/        OPC_MoveChild1,
/*235035*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetJumpTable),
/*235038*/        OPC_MoveParent,
/*235039*/        OPC_CheckType, MVT::i64,
/*235041*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVaddrJT), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64addlow:{ *:[i64] } (AArch64adrp:{ *:[i64] } (tjumptable:{ *:[i64] }):$hi), (tjumptable:{ *:[i64] }):$low) - Complexity = 12
                  // Dst: (MOVaddrJT:{ *:[i64] } (tjumptable:{ *:[i64] }):$hi, (tjumptable:{ *:[i64] }):$low)
/*235049*/      /*SwitchOpcode*/ 18, TARGET_VAL(ISD::TargetConstantPool),// ->235070
/*235052*/        OPC_MoveParent,
/*235053*/        OPC_MoveParent,
/*235054*/        OPC_RecordChild1, // #1 = $low
/*235055*/        OPC_MoveChild1,
/*235056*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstantPool),
/*235059*/        OPC_MoveParent,
/*235060*/        OPC_CheckType, MVT::i64,
/*235062*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVaddrCP), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64addlow:{ *:[i64] } (AArch64adrp:{ *:[i64] } (tconstpool:{ *:[i64] }):$hi), (tconstpool:{ *:[i64] }):$low) - Complexity = 12
                  // Dst: (MOVaddrCP:{ *:[i64] } (tconstpool:{ *:[i64] }):$hi, (tconstpool:{ *:[i64] }):$low)
/*235070*/      /*SwitchOpcode*/ 18, TARGET_VAL(ISD::TargetBlockAddress),// ->235091
/*235073*/        OPC_MoveParent,
/*235074*/        OPC_MoveParent,
/*235075*/        OPC_RecordChild1, // #1 = $low
/*235076*/        OPC_MoveChild1,
/*235077*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetBlockAddress),
/*235080*/        OPC_MoveParent,
/*235081*/        OPC_CheckType, MVT::i64,
/*235083*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVaddrBA), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64addlow:{ *:[i64] } (AArch64adrp:{ *:[i64] } (tblockaddress:{ *:[i64] }):$hi), (tblockaddress:{ *:[i64] }):$low) - Complexity = 12
                  // Dst: (MOVaddrBA:{ *:[i64] } (tblockaddress:{ *:[i64] }):$hi, (tblockaddress:{ *:[i64] }):$low)
/*235091*/      /*SwitchOpcode*/ 18, TARGET_VAL(ISD::TargetGlobalTLSAddress),// ->235112
/*235094*/        OPC_MoveParent,
/*235095*/        OPC_MoveParent,
/*235096*/        OPC_RecordChild1, // #1 = $low
/*235097*/        OPC_MoveChild1,
/*235098*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
/*235101*/        OPC_MoveParent,
/*235102*/        OPC_CheckType, MVT::i64,
/*235104*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVaddrTLS), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64addlow:{ *:[i64] } (AArch64adrp:{ *:[i64] } (tglobaltlsaddr:{ *:[i64] }):$hi), (tglobaltlsaddr:{ *:[i64] }):$low) - Complexity = 12
                  // Dst: (MOVaddrTLS:{ *:[i64] } (tglobaltlsaddr:{ *:[i64] }):$hi, (tglobaltlsaddr:{ *:[i64] }):$low)
/*235112*/      /*SwitchOpcode*/ 18, TARGET_VAL(ISD::TargetExternalSymbol),// ->235133
/*235115*/        OPC_MoveParent,
/*235116*/        OPC_MoveParent,
/*235117*/        OPC_RecordChild1, // #1 = $low
/*235118*/        OPC_MoveChild1,
/*235119*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetExternalSymbol),
/*235122*/        OPC_MoveParent,
/*235123*/        OPC_CheckType, MVT::i64,
/*235125*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVaddrEXT), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64addlow:{ *:[i64] } (AArch64adrp:{ *:[i64] } (texternalsym:{ *:[i64] }):$hi), (texternalsym:{ *:[i64] }):$low) - Complexity = 12
                  // Dst: (MOVaddrEXT:{ *:[i64] } (texternalsym:{ *:[i64] }):$hi, (texternalsym:{ *:[i64] }):$low)
/*235133*/      0, // EndSwitchOpcode
/*235134*/    /*Scope*/ 17, /*->235152*/
/*235135*/      OPC_RecordChild0, // #0 = $src
/*235136*/      OPC_RecordChild1, // #1 = $low
/*235137*/      OPC_MoveChild1,
/*235138*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetGlobalTLSAddress),
/*235141*/      OPC_MoveParent,
/*235142*/      OPC_CheckType, MVT::i64,
/*235144*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDlowTLS), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64addlow:{ *:[i64] } GPR64:{ *:[i64] }:$src, (tglobaltlsaddr:{ *:[i64] }):$low) - Complexity = 6
                // Dst: (ADDlowTLS:{ *:[i64] } GPR64:{ *:[i64] }:$src, (tglobaltlsaddr:{ *:[i64] }):$low)
/*235152*/    0, /*End of Scope*/
/*235153*/  /*SwitchOpcode*/ 20, TARGET_VAL(AArch64ISD::STG),// ->235176
/*235156*/    OPC_RecordMemRef,
/*235157*/    OPC_RecordNode, // #0 = 'AArch64stg' chained node
/*235158*/    OPC_RecordChild1, // #1 = $Rn
/*235159*/    OPC_CheckChild1Type, MVT::i64,
/*235161*/    OPC_RecordChild2, // #2 = $am_indexeds9s128:Rm:imm
/*235162*/    OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*235164*/    OPC_CheckComplexPat, /*CP*/50, /*#*/2, // SelectAddrModeIndexedS9S128:$ #3 #4
/*235167*/    OPC_EmitMergeInputChains1_0,
/*235168*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STGOffset), 0|OPFL_Chain|OPFL_MemRefs,
                  3/*#Ops*/, 1, 3, 4, 
              // Src: (AArch64stg GPR64sp:{ *:[i64] }:$Rn, (am_indexeds9s128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rm, simm9s16:{ *:[i64] }:$imm)) - Complexity = 12
              // Dst: (STGOffset ?:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm, ?:{ *:[i64] }:$imm)
/*235176*/  /*SwitchOpcode*/ 20, TARGET_VAL(AArch64ISD::STZG),// ->235199
/*235179*/    OPC_RecordMemRef,
/*235180*/    OPC_RecordNode, // #0 = 'AArch64stzg' chained node
/*235181*/    OPC_RecordChild1, // #1 = $Rn
/*235182*/    OPC_CheckChild1Type, MVT::i64,
/*235184*/    OPC_RecordChild2, // #2 = $am_indexeds9s128:Rm:imm
/*235185*/    OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*235187*/    OPC_CheckComplexPat, /*CP*/50, /*#*/2, // SelectAddrModeIndexedS9S128:$ #3 #4
/*235190*/    OPC_EmitMergeInputChains1_0,
/*235191*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STZGOffset), 0|OPFL_Chain|OPFL_MemRefs,
                  3/*#Ops*/, 1, 3, 4, 
              // Src: (AArch64stzg GPR64sp:{ *:[i64] }:$Rn, (am_indexeds9s128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rm, simm9s16:{ *:[i64] }:$imm)) - Complexity = 12
              // Dst: (STZGOffset ?:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm, ?:{ *:[i64] }:$imm)
/*235199*/  /*SwitchOpcode*/ 20, TARGET_VAL(AArch64ISD::ST2G),// ->235222
/*235202*/    OPC_RecordMemRef,
/*235203*/    OPC_RecordNode, // #0 = 'AArch64st2g' chained node
/*235204*/    OPC_RecordChild1, // #1 = $Rn
/*235205*/    OPC_CheckChild1Type, MVT::i64,
/*235207*/    OPC_RecordChild2, // #2 = $am_indexeds9s128:Rm:imm
/*235208*/    OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*235210*/    OPC_CheckComplexPat, /*CP*/50, /*#*/2, // SelectAddrModeIndexedS9S128:$ #3 #4
/*235213*/    OPC_EmitMergeInputChains1_0,
/*235214*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST2GOffset), 0|OPFL_Chain|OPFL_MemRefs,
                  3/*#Ops*/, 1, 3, 4, 
              // Src: (AArch64st2g GPR64sp:{ *:[i64] }:$Rn, (am_indexeds9s128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rm, simm9s16:{ *:[i64] }:$imm)) - Complexity = 12
              // Dst: (ST2GOffset ?:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm, ?:{ *:[i64] }:$imm)
/*235222*/  /*SwitchOpcode*/ 20, TARGET_VAL(AArch64ISD::STZ2G),// ->235245
/*235225*/    OPC_RecordMemRef,
/*235226*/    OPC_RecordNode, // #0 = 'AArch64stz2g' chained node
/*235227*/    OPC_RecordChild1, // #1 = $Rn
/*235228*/    OPC_CheckChild1Type, MVT::i64,
/*235230*/    OPC_RecordChild2, // #2 = $am_indexeds9s128:Rm:imm
/*235231*/    OPC_CheckPatternPredicate, 8, // (Subtarget->hasMTE())
/*235233*/    OPC_CheckComplexPat, /*CP*/50, /*#*/2, // SelectAddrModeIndexedS9S128:$ #3 #4
/*235236*/    OPC_EmitMergeInputChains1_0,
/*235237*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STZ2GOffset), 0|OPFL_Chain|OPFL_MemRefs,
                  3/*#Ops*/, 1, 3, 4, 
              // Src: (AArch64stz2g GPR64sp:{ *:[i64] }:$Rn, (am_indexeds9s128:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rm, simm9s16:{ *:[i64] }:$imm)) - Complexity = 12
              // Dst: (STZ2GOffset ?:{ *:[i64] }:$Rn, ?:{ *:[i64] }:$Rm, ?:{ *:[i64] }:$imm)
/*235245*/  /*SwitchOpcode*/ 16, TARGET_VAL(AArch64ISD::LDP),// ->235264
/*235248*/    OPC_RecordMemRef,
/*235249*/    OPC_RecordNode, // #0 = 'AArch64ldp' chained node
/*235250*/    OPC_RecordChild1, // #1 = $am_indexed7s64:Rn:offset
/*235251*/    OPC_CheckComplexPat, /*CP*/30, /*#*/1, // SelectAddrModeIndexed7S64:$ #2 #3
/*235254*/    OPC_EmitMergeInputChains1_0,
/*235255*/    OPC_MorphNodeTo2, TARGET_VAL(AArch64::LDPXi), 0|OPFL_Chain|OPFL_MemRefs,
                  MVT::i64, MVT::i64, 2/*#Ops*/, 2, 3, 
              // Src: (AArch64ldp:{ *:[i64] }:{ *:[i64] } (am_indexed7s64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset)) - Complexity = 12
              // Dst: (LDPXi:{ *:[i64] }:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset)
/*235264*/  /*SwitchOpcode*/ 18, TARGET_VAL(AArch64ISD::STP),// ->235285
/*235267*/    OPC_RecordMemRef,
/*235268*/    OPC_RecordNode, // #0 = 'AArch64stp' chained node
/*235269*/    OPC_RecordChild1, // #1 = $Rt
/*235270*/    OPC_RecordChild2, // #2 = $Rt2
/*235271*/    OPC_RecordChild3, // #3 = $am_indexed7s64:Rn:offset
/*235272*/    OPC_CheckComplexPat, /*CP*/30, /*#*/3, // SelectAddrModeIndexed7S64:$ #4 #5
/*235275*/    OPC_EmitMergeInputChains1_0,
/*235276*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::STPXi), 0|OPFL_Chain|OPFL_MemRefs,
                  4/*#Ops*/, 1, 2, 4, 5, 
              // Src: (AArch64stp GPR64z:{ *:[i64] }:$Rt, GPR64z:{ *:[i64] }:$Rt2, (am_indexed7s64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset)) - Complexity = 12
              // Dst: (STPXi GPR64z:{ *:[i64] }:$Rt, GPR64z:{ *:[i64] }:$Rt2, GPR64sp:{ *:[i64] }:$Rn, simm7s8:{ *:[i32] }:$offset)
/*235285*/  /*SwitchOpcode*/ 55|128,2/*311*/, TARGET_VAL(ISD::STRICT_FP_TO_SINT),// ->235600
/*235289*/    OPC_RecordNode, // #0 = 'strict_fp_to_sint' chained node
/*235290*/    OPC_Scope, 87|128,1/*215*/, /*->235508*/ // 2 children in Scope
/*235293*/      OPC_MoveChild1,
/*235294*/      OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
/*235297*/      OPC_RecordChild0, // #1 = $Rn
/*235298*/      OPC_RecordChild1, // #2 = $scale
/*235299*/      OPC_SwitchType /*3 cases */, 67, MVT::f16,// ->235369
/*235302*/        OPC_MoveParent,
/*235303*/        OPC_SwitchType /*2 cases */, 30, MVT::i32,// ->235336
/*235306*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*235308*/          OPC_Scope, 12, /*->235322*/ // 2 children in Scope
/*235310*/            OPC_CheckComplexPat, /*CP*/35, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*235313*/            OPC_EmitMergeInputChains1_0,
/*235314*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWHri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i32] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZSSWHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*235322*/          /*Scope*/ 12, /*->235335*/
/*235323*/            OPC_CheckComplexPat, /*CP*/35, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #3
/*235326*/            OPC_EmitMergeInputChains1_0,
/*235327*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWHri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i32] } (fmul:{ *:[f16] } fixedpoint_f16_i32:{ *:[f16] }:$scale, FPR16:{ *:[f16] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZSSWHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*235335*/          0, /*End of Scope*/
/*235336*/        /*SwitchType*/ 30, MVT::i64,// ->235368
/*235338*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*235340*/          OPC_Scope, 12, /*->235354*/ // 2 children in Scope
/*235342*/            OPC_CheckComplexPat, /*CP*/36, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*235345*/            OPC_EmitMergeInputChains1_0,
/*235346*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXHri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i64] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZSSXHri:{ *:[i64] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*235354*/          /*Scope*/ 12, /*->235367*/
/*235355*/            OPC_CheckComplexPat, /*CP*/36, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #3
/*235358*/            OPC_EmitMergeInputChains1_0,
/*235359*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXHri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i64] } (fmul:{ *:[f16] } fixedpoint_f16_i64:{ *:[f16] }:$scale, FPR16:{ *:[f16] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZSSXHri:{ *:[i64] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*235367*/          0, /*End of Scope*/
/*235368*/        0, // EndSwitchType
/*235369*/      /*SwitchType*/ 67, MVT::f32,// ->235438
/*235371*/        OPC_MoveParent,
/*235372*/        OPC_SwitchType /*2 cases */, 30, MVT::i32,// ->235405
/*235375*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235377*/          OPC_Scope, 12, /*->235391*/ // 2 children in Scope
/*235379*/            OPC_CheckComplexPat, /*CP*/37, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*235382*/            OPC_EmitMergeInputChains1_0,
/*235383*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWSri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i32] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZSSWSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*235391*/          /*Scope*/ 12, /*->235404*/
/*235392*/            OPC_CheckComplexPat, /*CP*/37, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #3
/*235395*/            OPC_EmitMergeInputChains1_0,
/*235396*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWSri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i32] } (fmul:{ *:[f32] } fixedpoint_f32_i32:{ *:[f32] }:$scale, FPR32:{ *:[f32] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZSSWSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*235404*/          0, /*End of Scope*/
/*235405*/        /*SwitchType*/ 30, MVT::i64,// ->235437
/*235407*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235409*/          OPC_Scope, 12, /*->235423*/ // 2 children in Scope
/*235411*/            OPC_CheckComplexPat, /*CP*/38, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*235414*/            OPC_EmitMergeInputChains1_0,
/*235415*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXSri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i64] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZSSXSri:{ *:[i64] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*235423*/          /*Scope*/ 12, /*->235436*/
/*235424*/            OPC_CheckComplexPat, /*CP*/38, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #3
/*235427*/            OPC_EmitMergeInputChains1_0,
/*235428*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXSri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i64] } (fmul:{ *:[f32] } fixedpoint_f32_i64:{ *:[f32] }:$scale, FPR32:{ *:[f32] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZSSXSri:{ *:[i64] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*235436*/          0, /*End of Scope*/
/*235437*/        0, // EndSwitchType
/*235438*/      /*SwitchType*/ 67, MVT::f64,// ->235507
/*235440*/        OPC_MoveParent,
/*235441*/        OPC_SwitchType /*2 cases */, 30, MVT::i32,// ->235474
/*235444*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235446*/          OPC_Scope, 12, /*->235460*/ // 2 children in Scope
/*235448*/            OPC_CheckComplexPat, /*CP*/39, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*235451*/            OPC_EmitMergeInputChains1_0,
/*235452*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWDri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i32] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZSSWDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*235460*/          /*Scope*/ 12, /*->235473*/
/*235461*/            OPC_CheckComplexPat, /*CP*/39, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #3
/*235464*/            OPC_EmitMergeInputChains1_0,
/*235465*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWDri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i32] } (fmul:{ *:[f64] } fixedpoint_f64_i32:{ *:[f64] }:$scale, FPR64:{ *:[f64] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZSSWDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*235473*/          0, /*End of Scope*/
/*235474*/        /*SwitchType*/ 30, MVT::i64,// ->235506
/*235476*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235478*/          OPC_Scope, 12, /*->235492*/ // 2 children in Scope
/*235480*/            OPC_CheckComplexPat, /*CP*/40, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*235483*/            OPC_EmitMergeInputChains1_0,
/*235484*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXDri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i64] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZSSXDri:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*235492*/          /*Scope*/ 12, /*->235505*/
/*235493*/            OPC_CheckComplexPat, /*CP*/40, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #3
/*235496*/            OPC_EmitMergeInputChains1_0,
/*235497*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXDri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_sint:{ *:[i64] } (fmul:{ *:[f64] } fixedpoint_f64_i64:{ *:[f64] }:$scale, FPR64:{ *:[f64] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZSSXDri:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*235505*/          0, /*End of Scope*/
/*235506*/        0, // EndSwitchType
/*235507*/      0, // EndSwitchType
/*235508*/    /*Scope*/ 90, /*->235599*/
/*235509*/      OPC_RecordChild1, // #1 = $Rn
/*235510*/      OPC_Scope, 28, /*->235540*/ // 3 children in Scope
/*235512*/        OPC_CheckChild1Type, MVT::f16,
/*235514*/        OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->235527
/*235517*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*235519*/          OPC_EmitMergeInputChains1_0,
/*235520*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWHr), 0|OPFL_Chain,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_sint:{ *:[i32] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*235527*/        /*SwitchType*/ 10, MVT::i64,// ->235539
/*235529*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*235531*/          OPC_EmitMergeInputChains1_0,
/*235532*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXHr), 0|OPFL_Chain,
                        MVT::i64, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_sint:{ *:[i64] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*235539*/        0, // EndSwitchType
/*235540*/      /*Scope*/ 28, /*->235569*/
/*235541*/        OPC_CheckChild1Type, MVT::f32,
/*235543*/        OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->235556
/*235546*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235548*/          OPC_EmitMergeInputChains1_0,
/*235549*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWSr), 0|OPFL_Chain,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_sint:{ *:[i32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*235556*/        /*SwitchType*/ 10, MVT::i64,// ->235568
/*235558*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235560*/          OPC_EmitMergeInputChains1_0,
/*235561*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXSr), 0|OPFL_Chain,
                        MVT::i64, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_sint:{ *:[i64] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*235568*/        0, // EndSwitchType
/*235569*/      /*Scope*/ 28, /*->235598*/
/*235570*/        OPC_CheckChild1Type, MVT::f64,
/*235572*/        OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->235585
/*235575*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235577*/          OPC_EmitMergeInputChains1_0,
/*235578*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWDr), 0|OPFL_Chain,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_sint:{ *:[i32] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*235585*/        /*SwitchType*/ 10, MVT::i64,// ->235597
/*235587*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235589*/          OPC_EmitMergeInputChains1_0,
/*235590*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXDr), 0|OPFL_Chain,
                        MVT::i64, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_sint:{ *:[i64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*235597*/        0, // EndSwitchType
/*235598*/      0, /*End of Scope*/
/*235599*/    0, /*End of Scope*/
/*235600*/  /*SwitchOpcode*/ 62|128,4/*574*/, TARGET_VAL(ISD::FP_TO_SINT),// ->236178
/*235604*/    OPC_Scope, 30|128,3/*414*/, /*->236021*/ // 2 children in Scope
/*235607*/      OPC_MoveChild0,
/*235608*/      OPC_SwitchOpcode /*5 cases */, 71|128,1/*199*/, TARGET_VAL(ISD::FMUL),// ->235812
/*235613*/        OPC_RecordChild0, // #0 = $Rn
/*235614*/        OPC_RecordChild1, // #1 = $scale
/*235615*/        OPC_SwitchType /*3 cases */, 63, MVT::f16,// ->235681
/*235618*/          OPC_MoveParent,
/*235619*/          OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->235650
/*235622*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*235624*/            OPC_Scope, 11, /*->235637*/ // 2 children in Scope
/*235626*/              OPC_CheckComplexPat, /*CP*/35, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*235629*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWHri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_sint:{ *:[i32] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZSSWHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*235637*/            /*Scope*/ 11, /*->235649*/
/*235638*/              OPC_CheckComplexPat, /*CP*/35, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*235641*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWHri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_sint:{ *:[i32] } (fmul:{ *:[f16] } fixedpoint_f16_i32:{ *:[f16] }:$scale, FPR16:{ *:[f16] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZSSWHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*235649*/            0, /*End of Scope*/
/*235650*/          /*SwitchType*/ 28, MVT::i64,// ->235680
/*235652*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*235654*/            OPC_Scope, 11, /*->235667*/ // 2 children in Scope
/*235656*/              OPC_CheckComplexPat, /*CP*/36, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*235659*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXHri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_sint:{ *:[i64] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZSSXHri:{ *:[i64] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*235667*/            /*Scope*/ 11, /*->235679*/
/*235668*/              OPC_CheckComplexPat, /*CP*/36, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*235671*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXHri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_sint:{ *:[i64] } (fmul:{ *:[f16] } fixedpoint_f16_i64:{ *:[f16] }:$scale, FPR16:{ *:[f16] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZSSXHri:{ *:[i64] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*235679*/            0, /*End of Scope*/
/*235680*/          0, // EndSwitchType
/*235681*/        /*SwitchType*/ 63, MVT::f32,// ->235746
/*235683*/          OPC_MoveParent,
/*235684*/          OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->235715
/*235687*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235689*/            OPC_Scope, 11, /*->235702*/ // 2 children in Scope
/*235691*/              OPC_CheckComplexPat, /*CP*/37, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*235694*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWSri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_sint:{ *:[i32] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZSSWSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*235702*/            /*Scope*/ 11, /*->235714*/
/*235703*/              OPC_CheckComplexPat, /*CP*/37, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*235706*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWSri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_sint:{ *:[i32] } (fmul:{ *:[f32] } fixedpoint_f32_i32:{ *:[f32] }:$scale, FPR32:{ *:[f32] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZSSWSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*235714*/            0, /*End of Scope*/
/*235715*/          /*SwitchType*/ 28, MVT::i64,// ->235745
/*235717*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235719*/            OPC_Scope, 11, /*->235732*/ // 2 children in Scope
/*235721*/              OPC_CheckComplexPat, /*CP*/38, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*235724*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXSri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_sint:{ *:[i64] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZSSXSri:{ *:[i64] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*235732*/            /*Scope*/ 11, /*->235744*/
/*235733*/              OPC_CheckComplexPat, /*CP*/38, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*235736*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXSri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_sint:{ *:[i64] } (fmul:{ *:[f32] } fixedpoint_f32_i64:{ *:[f32] }:$scale, FPR32:{ *:[f32] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZSSXSri:{ *:[i64] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*235744*/            0, /*End of Scope*/
/*235745*/          0, // EndSwitchType
/*235746*/        /*SwitchType*/ 63, MVT::f64,// ->235811
/*235748*/          OPC_MoveParent,
/*235749*/          OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->235780
/*235752*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235754*/            OPC_Scope, 11, /*->235767*/ // 2 children in Scope
/*235756*/              OPC_CheckComplexPat, /*CP*/39, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*235759*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWDri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_sint:{ *:[i32] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZSSWDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*235767*/            /*Scope*/ 11, /*->235779*/
/*235768*/              OPC_CheckComplexPat, /*CP*/39, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*235771*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSWDri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_sint:{ *:[i32] } (fmul:{ *:[f64] } fixedpoint_f64_i32:{ *:[f64] }:$scale, FPR64:{ *:[f64] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZSSWDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*235779*/            0, /*End of Scope*/
/*235780*/          /*SwitchType*/ 28, MVT::i64,// ->235810
/*235782*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*235784*/            OPC_Scope, 11, /*->235797*/ // 2 children in Scope
/*235786*/              OPC_CheckComplexPat, /*CP*/40, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*235789*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXDri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_sint:{ *:[i64] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZSSXDri:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*235797*/            /*Scope*/ 11, /*->235809*/
/*235798*/              OPC_CheckComplexPat, /*CP*/40, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*235801*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSSXDri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_sint:{ *:[i64] } (fmul:{ *:[f64] } fixedpoint_f64_i64:{ *:[f64] }:$scale, FPR64:{ *:[f64] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZSSXDri:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*235809*/            0, /*End of Scope*/
/*235810*/          0, // EndSwitchType
/*235811*/        0, // EndSwitchType
/*235812*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::FCEIL),// ->235864
/*235815*/        OPC_RecordChild0, // #0 = $Rn
/*235816*/        OPC_SwitchType /*2 cases */, 21, MVT::f32,// ->235840
/*235819*/          OPC_MoveParent,
/*235820*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->235830
/*235823*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i32] } (fceil:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTPSUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*235830*/          /*SwitchType*/ 7, MVT::i64,// ->235839
/*235832*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i64] } (fceil:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTPSUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*235839*/          0, // EndSwitchType
/*235840*/        /*SwitchType*/ 21, MVT::f64,// ->235863
/*235842*/          OPC_MoveParent,
/*235843*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->235853
/*235846*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i32] } (fceil:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTPSUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*235853*/          /*SwitchType*/ 7, MVT::i64,// ->235862
/*235855*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPSUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i64] } (fceil:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTPSUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*235862*/          0, // EndSwitchType
/*235863*/        0, // EndSwitchType
/*235864*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::FFLOOR),// ->235916
/*235867*/        OPC_RecordChild0, // #0 = $Rn
/*235868*/        OPC_SwitchType /*2 cases */, 21, MVT::f32,// ->235892
/*235871*/          OPC_MoveParent,
/*235872*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->235882
/*235875*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i32] } (ffloor:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTMSUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*235882*/          /*SwitchType*/ 7, MVT::i64,// ->235891
/*235884*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i64] } (ffloor:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTMSUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*235891*/          0, // EndSwitchType
/*235892*/        /*SwitchType*/ 21, MVT::f64,// ->235915
/*235894*/          OPC_MoveParent,
/*235895*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->235905
/*235898*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i32] } (ffloor:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTMSUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*235905*/          /*SwitchType*/ 7, MVT::i64,// ->235914
/*235907*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMSUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i64] } (ffloor:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTMSUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*235914*/          0, // EndSwitchType
/*235915*/        0, // EndSwitchType
/*235916*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::FTRUNC),// ->235968
/*235919*/        OPC_RecordChild0, // #0 = $Rn
/*235920*/        OPC_SwitchType /*2 cases */, 21, MVT::f32,// ->235944
/*235923*/          OPC_MoveParent,
/*235924*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->235934
/*235927*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i32] } (ftrunc:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTZSUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*235934*/          /*SwitchType*/ 7, MVT::i64,// ->235943
/*235936*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i64] } (ftrunc:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTZSUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*235943*/          0, // EndSwitchType
/*235944*/        /*SwitchType*/ 21, MVT::f64,// ->235967
/*235946*/          OPC_MoveParent,
/*235947*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->235957
/*235950*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i32] } (ftrunc:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTZSUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*235957*/          /*SwitchType*/ 7, MVT::i64,// ->235966
/*235959*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i64] } (ftrunc:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTZSUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*235966*/          0, // EndSwitchType
/*235967*/        0, // EndSwitchType
/*235968*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::FROUND),// ->236020
/*235971*/        OPC_RecordChild0, // #0 = $Rn
/*235972*/        OPC_SwitchType /*2 cases */, 21, MVT::f32,// ->235996
/*235975*/          OPC_MoveParent,
/*235976*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->235986
/*235979*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i32] } (fround:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTASUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*235986*/          /*SwitchType*/ 7, MVT::i64,// ->235995
/*235988*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i64] } (fround:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTASUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*235995*/          0, // EndSwitchType
/*235996*/        /*SwitchType*/ 21, MVT::f64,// ->236019
/*235998*/          OPC_MoveParent,
/*235999*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236009
/*236002*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i32] } (fround:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTASUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*236009*/          /*SwitchType*/ 7, MVT::i64,// ->236018
/*236011*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_sint:{ *:[i64] } (fround:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTASUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*236018*/          0, // EndSwitchType
/*236019*/        0, // EndSwitchType
/*236020*/      0, // EndSwitchOpcode
/*236021*/    /*Scope*/ 26|128,1/*154*/, /*->236177*/
/*236023*/      OPC_RecordChild0, // #0 = $Rn
/*236024*/      OPC_Scope, 26, /*->236052*/ // 8 children in Scope
/*236026*/        OPC_CheckChild0Type, MVT::f16,
/*236028*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->236040
/*236031*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236033*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (fp_to_sint:{ *:[i32] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*236040*/        /*SwitchType*/ 9, MVT::i64,// ->236051
/*236042*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236044*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (fp_to_sint:{ *:[i64] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*236051*/        0, // EndSwitchType
/*236052*/      /*Scope*/ 26, /*->236079*/
/*236053*/        OPC_CheckChild0Type, MVT::f32,
/*236055*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->236067
/*236058*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236060*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (fp_to_sint:{ *:[i32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*236067*/        /*SwitchType*/ 9, MVT::i64,// ->236078
/*236069*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236071*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (fp_to_sint:{ *:[i64] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*236078*/        0, // EndSwitchType
/*236079*/      /*Scope*/ 26, /*->236106*/
/*236080*/        OPC_CheckChild0Type, MVT::f64,
/*236082*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->236094
/*236085*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236087*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (fp_to_sint:{ *:[i32] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*236094*/        /*SwitchType*/ 9, MVT::i64,// ->236105
/*236096*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236098*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (fp_to_sint:{ *:[i64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZSUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*236105*/        0, // EndSwitchType
/*236106*/      /*Scope*/ 13, /*->236120*/
/*236107*/        OPC_CheckChild0Type, MVT::v4f16,
/*236109*/        OPC_CheckType, MVT::v4i16,
/*236111*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*236113*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (fp_to_sint:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*236120*/      /*Scope*/ 13, /*->236134*/
/*236121*/        OPC_CheckChild0Type, MVT::v8f16,
/*236123*/        OPC_CheckType, MVT::v8i16,
/*236125*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*236127*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (fp_to_sint:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*236134*/      /*Scope*/ 13, /*->236148*/
/*236135*/        OPC_CheckChild0Type, MVT::v2f32,
/*236137*/        OPC_CheckType, MVT::v2i32,
/*236139*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*236141*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (fp_to_sint:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*236148*/      /*Scope*/ 13, /*->236162*/
/*236149*/        OPC_CheckChild0Type, MVT::v4f32,
/*236151*/        OPC_CheckType, MVT::v4i32,
/*236153*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*236155*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (fp_to_sint:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*236162*/      /*Scope*/ 13, /*->236176*/
/*236163*/        OPC_CheckChild0Type, MVT::v2f64,
/*236165*/        OPC_CheckType, MVT::v2i64,
/*236167*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*236169*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (fp_to_sint:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*236176*/      0, /*End of Scope*/
/*236177*/    0, /*End of Scope*/
/*236178*/  /*SwitchOpcode*/ 55|128,2/*311*/, TARGET_VAL(ISD::STRICT_FP_TO_UINT),// ->236493
/*236182*/    OPC_RecordNode, // #0 = 'strict_fp_to_uint' chained node
/*236183*/    OPC_Scope, 87|128,1/*215*/, /*->236401*/ // 2 children in Scope
/*236186*/      OPC_MoveChild1,
/*236187*/      OPC_CheckOpcode, TARGET_VAL(ISD::FMUL),
/*236190*/      OPC_RecordChild0, // #1 = $Rn
/*236191*/      OPC_RecordChild1, // #2 = $scale
/*236192*/      OPC_SwitchType /*3 cases */, 67, MVT::f16,// ->236262
/*236195*/        OPC_MoveParent,
/*236196*/        OPC_SwitchType /*2 cases */, 30, MVT::i32,// ->236229
/*236199*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236201*/          OPC_Scope, 12, /*->236215*/ // 2 children in Scope
/*236203*/            OPC_CheckComplexPat, /*CP*/35, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*236206*/            OPC_EmitMergeInputChains1_0,
/*236207*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWHri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i32] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZUSWHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*236215*/          /*Scope*/ 12, /*->236228*/
/*236216*/            OPC_CheckComplexPat, /*CP*/35, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #3
/*236219*/            OPC_EmitMergeInputChains1_0,
/*236220*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWHri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i32] } (fmul:{ *:[f16] } fixedpoint_f16_i32:{ *:[f16] }:$scale, FPR16:{ *:[f16] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZUSWHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*236228*/          0, /*End of Scope*/
/*236229*/        /*SwitchType*/ 30, MVT::i64,// ->236261
/*236231*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236233*/          OPC_Scope, 12, /*->236247*/ // 2 children in Scope
/*236235*/            OPC_CheckComplexPat, /*CP*/36, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*236238*/            OPC_EmitMergeInputChains1_0,
/*236239*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXHri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i64] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZUSXHri:{ *:[i64] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*236247*/          /*Scope*/ 12, /*->236260*/
/*236248*/            OPC_CheckComplexPat, /*CP*/36, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #3
/*236251*/            OPC_EmitMergeInputChains1_0,
/*236252*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXHri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i64] } (fmul:{ *:[f16] } fixedpoint_f16_i64:{ *:[f16] }:$scale, FPR16:{ *:[f16] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZUSXHri:{ *:[i64] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*236260*/          0, /*End of Scope*/
/*236261*/        0, // EndSwitchType
/*236262*/      /*SwitchType*/ 67, MVT::f32,// ->236331
/*236264*/        OPC_MoveParent,
/*236265*/        OPC_SwitchType /*2 cases */, 30, MVT::i32,// ->236298
/*236268*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236270*/          OPC_Scope, 12, /*->236284*/ // 2 children in Scope
/*236272*/            OPC_CheckComplexPat, /*CP*/37, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*236275*/            OPC_EmitMergeInputChains1_0,
/*236276*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWSri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i32] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZUSWSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*236284*/          /*Scope*/ 12, /*->236297*/
/*236285*/            OPC_CheckComplexPat, /*CP*/37, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #3
/*236288*/            OPC_EmitMergeInputChains1_0,
/*236289*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWSri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i32] } (fmul:{ *:[f32] } fixedpoint_f32_i32:{ *:[f32] }:$scale, FPR32:{ *:[f32] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZUSWSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*236297*/          0, /*End of Scope*/
/*236298*/        /*SwitchType*/ 30, MVT::i64,// ->236330
/*236300*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236302*/          OPC_Scope, 12, /*->236316*/ // 2 children in Scope
/*236304*/            OPC_CheckComplexPat, /*CP*/38, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*236307*/            OPC_EmitMergeInputChains1_0,
/*236308*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXSri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i64] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZUSXSri:{ *:[i64] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*236316*/          /*Scope*/ 12, /*->236329*/
/*236317*/            OPC_CheckComplexPat, /*CP*/38, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #3
/*236320*/            OPC_EmitMergeInputChains1_0,
/*236321*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXSri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i64] } (fmul:{ *:[f32] } fixedpoint_f32_i64:{ *:[f32] }:$scale, FPR32:{ *:[f32] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZUSXSri:{ *:[i64] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*236329*/          0, /*End of Scope*/
/*236330*/        0, // EndSwitchType
/*236331*/      /*SwitchType*/ 67, MVT::f64,// ->236400
/*236333*/        OPC_MoveParent,
/*236334*/        OPC_SwitchType /*2 cases */, 30, MVT::i32,// ->236367
/*236337*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236339*/          OPC_Scope, 12, /*->236353*/ // 2 children in Scope
/*236341*/            OPC_CheckComplexPat, /*CP*/39, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*236344*/            OPC_EmitMergeInputChains1_0,
/*236345*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWDri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i32] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZUSWDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*236353*/          /*Scope*/ 12, /*->236366*/
/*236354*/            OPC_CheckComplexPat, /*CP*/39, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #3
/*236357*/            OPC_EmitMergeInputChains1_0,
/*236358*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWDri), 0|OPFL_Chain,
                          MVT::i32, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i32] } (fmul:{ *:[f64] } fixedpoint_f64_i32:{ *:[f64] }:$scale, FPR64:{ *:[f64] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZUSWDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*236366*/          0, /*End of Scope*/
/*236367*/        /*SwitchType*/ 30, MVT::i64,// ->236399
/*236369*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236371*/          OPC_Scope, 12, /*->236385*/ // 2 children in Scope
/*236373*/            OPC_CheckComplexPat, /*CP*/40, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*236376*/            OPC_EmitMergeInputChains1_0,
/*236377*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXDri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 1, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i64] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)) - Complexity = 12
                      // Dst: (FCVTZUSXDri:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*236385*/          /*Scope*/ 12, /*->236398*/
/*236386*/            OPC_CheckComplexPat, /*CP*/40, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #3
/*236389*/            OPC_EmitMergeInputChains1_0,
/*236390*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXDri), 0|OPFL_Chain,
                          MVT::i64, 2/*#Ops*/, 2, 3, 
                      // Src: (strict_fp_to_uint:{ *:[i64] } (fmul:{ *:[f64] } fixedpoint_f64_i64:{ *:[f64] }:$scale, FPR64:{ *:[f64] }:$Rn)) - Complexity = 12
                      // Dst: (FCVTZUSXDri:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*236398*/          0, /*End of Scope*/
/*236399*/        0, // EndSwitchType
/*236400*/      0, // EndSwitchType
/*236401*/    /*Scope*/ 90, /*->236492*/
/*236402*/      OPC_RecordChild1, // #1 = $Rn
/*236403*/      OPC_Scope, 28, /*->236433*/ // 3 children in Scope
/*236405*/        OPC_CheckChild1Type, MVT::f16,
/*236407*/        OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->236420
/*236410*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236412*/          OPC_EmitMergeInputChains1_0,
/*236413*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWHr), 0|OPFL_Chain,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_uint:{ *:[i32] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*236420*/        /*SwitchType*/ 10, MVT::i64,// ->236432
/*236422*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236424*/          OPC_EmitMergeInputChains1_0,
/*236425*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXHr), 0|OPFL_Chain,
                        MVT::i64, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_uint:{ *:[i64] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*236432*/        0, // EndSwitchType
/*236433*/      /*Scope*/ 28, /*->236462*/
/*236434*/        OPC_CheckChild1Type, MVT::f32,
/*236436*/        OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->236449
/*236439*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236441*/          OPC_EmitMergeInputChains1_0,
/*236442*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWSr), 0|OPFL_Chain,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_uint:{ *:[i32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*236449*/        /*SwitchType*/ 10, MVT::i64,// ->236461
/*236451*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236453*/          OPC_EmitMergeInputChains1_0,
/*236454*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXSr), 0|OPFL_Chain,
                        MVT::i64, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_uint:{ *:[i64] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*236461*/        0, // EndSwitchType
/*236462*/      /*Scope*/ 28, /*->236491*/
/*236463*/        OPC_CheckChild1Type, MVT::f64,
/*236465*/        OPC_SwitchType /*2 cases */, 10, MVT::i32,// ->236478
/*236468*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236470*/          OPC_EmitMergeInputChains1_0,
/*236471*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWDr), 0|OPFL_Chain,
                        MVT::i32, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_uint:{ *:[i32] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*236478*/        /*SwitchType*/ 10, MVT::i64,// ->236490
/*236480*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236482*/          OPC_EmitMergeInputChains1_0,
/*236483*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXDr), 0|OPFL_Chain,
                        MVT::i64, 1/*#Ops*/, 1, 
                    // Src: (strict_fp_to_uint:{ *:[i64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*236490*/        0, // EndSwitchType
/*236491*/      0, /*End of Scope*/
/*236492*/    0, /*End of Scope*/
/*236493*/  /*SwitchOpcode*/ 62|128,4/*574*/, TARGET_VAL(ISD::FP_TO_UINT),// ->237071
/*236497*/    OPC_Scope, 30|128,3/*414*/, /*->236914*/ // 2 children in Scope
/*236500*/      OPC_MoveChild0,
/*236501*/      OPC_SwitchOpcode /*5 cases */, 71|128,1/*199*/, TARGET_VAL(ISD::FMUL),// ->236705
/*236506*/        OPC_RecordChild0, // #0 = $Rn
/*236507*/        OPC_RecordChild1, // #1 = $scale
/*236508*/        OPC_SwitchType /*3 cases */, 63, MVT::f16,// ->236574
/*236511*/          OPC_MoveParent,
/*236512*/          OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->236543
/*236515*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236517*/            OPC_Scope, 11, /*->236530*/ // 2 children in Scope
/*236519*/              OPC_CheckComplexPat, /*CP*/35, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*236522*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWHri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_uint:{ *:[i32] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZUSWHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*236530*/            /*Scope*/ 11, /*->236542*/
/*236531*/              OPC_CheckComplexPat, /*CP*/35, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*236534*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWHri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_uint:{ *:[i32] } (fmul:{ *:[f16] } fixedpoint_f16_i32:{ *:[f16] }:$scale, FPR16:{ *:[f16] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZUSWHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*236542*/            0, /*End of Scope*/
/*236543*/          /*SwitchType*/ 28, MVT::i64,// ->236573
/*236545*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236547*/            OPC_Scope, 11, /*->236560*/ // 2 children in Scope
/*236549*/              OPC_CheckComplexPat, /*CP*/36, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*236552*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXHri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_uint:{ *:[i64] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZUSXHri:{ *:[i64] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*236560*/            /*Scope*/ 11, /*->236572*/
/*236561*/              OPC_CheckComplexPat, /*CP*/36, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*236564*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXHri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_uint:{ *:[i64] } (fmul:{ *:[f16] } fixedpoint_f16_i64:{ *:[f16] }:$scale, FPR16:{ *:[f16] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZUSXHri:{ *:[i64] } FPR16:{ *:[f16] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*236572*/            0, /*End of Scope*/
/*236573*/          0, // EndSwitchType
/*236574*/        /*SwitchType*/ 63, MVT::f32,// ->236639
/*236576*/          OPC_MoveParent,
/*236577*/          OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->236608
/*236580*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236582*/            OPC_Scope, 11, /*->236595*/ // 2 children in Scope
/*236584*/              OPC_CheckComplexPat, /*CP*/37, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*236587*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWSri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_uint:{ *:[i32] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZUSWSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*236595*/            /*Scope*/ 11, /*->236607*/
/*236596*/              OPC_CheckComplexPat, /*CP*/37, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*236599*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWSri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_uint:{ *:[i32] } (fmul:{ *:[f32] } fixedpoint_f32_i32:{ *:[f32] }:$scale, FPR32:{ *:[f32] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZUSWSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*236607*/            0, /*End of Scope*/
/*236608*/          /*SwitchType*/ 28, MVT::i64,// ->236638
/*236610*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236612*/            OPC_Scope, 11, /*->236625*/ // 2 children in Scope
/*236614*/              OPC_CheckComplexPat, /*CP*/38, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*236617*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXSri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_uint:{ *:[i64] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZUSXSri:{ *:[i64] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*236625*/            /*Scope*/ 11, /*->236637*/
/*236626*/              OPC_CheckComplexPat, /*CP*/38, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*236629*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXSri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_uint:{ *:[i64] } (fmul:{ *:[f32] } fixedpoint_f32_i64:{ *:[f32] }:$scale, FPR32:{ *:[f32] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZUSXSri:{ *:[i64] } FPR32:{ *:[f32] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*236637*/            0, /*End of Scope*/
/*236638*/          0, // EndSwitchType
/*236639*/        /*SwitchType*/ 63, MVT::f64,// ->236704
/*236641*/          OPC_MoveParent,
/*236642*/          OPC_SwitchType /*2 cases */, 28, MVT::i32,// ->236673
/*236645*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236647*/            OPC_Scope, 11, /*->236660*/ // 2 children in Scope
/*236649*/              OPC_CheckComplexPat, /*CP*/39, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*236652*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWDri), 0,
                            MVT::i32, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_uint:{ *:[i32] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZUSWDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*236660*/            /*Scope*/ 11, /*->236672*/
/*236661*/              OPC_CheckComplexPat, /*CP*/39, /*#*/0, // SelectCVTFixedPosOperand<32>:$scale #2
/*236664*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSWDri), 0,
                            MVT::i32, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_uint:{ *:[i32] } (fmul:{ *:[f64] } fixedpoint_f64_i32:{ *:[f64] }:$scale, FPR64:{ *:[f64] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZUSWDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*236672*/            0, /*End of Scope*/
/*236673*/          /*SwitchType*/ 28, MVT::i64,// ->236703
/*236675*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236677*/            OPC_Scope, 11, /*->236690*/ // 2 children in Scope
/*236679*/              OPC_CheckComplexPat, /*CP*/40, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*236682*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXDri), 0,
                            MVT::i64, 2/*#Ops*/, 0, 2, 
                        // Src: (fp_to_uint:{ *:[i64] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)) - Complexity = 12
                        // Dst: (FCVTZUSXDri:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*236690*/            /*Scope*/ 11, /*->236702*/
/*236691*/              OPC_CheckComplexPat, /*CP*/40, /*#*/0, // SelectCVTFixedPosOperand<64>:$scale #2
/*236694*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUSXDri), 0,
                            MVT::i64, 2/*#Ops*/, 1, 2, 
                        // Src: (fp_to_uint:{ *:[i64] } (fmul:{ *:[f64] } fixedpoint_f64_i64:{ *:[f64] }:$scale, FPR64:{ *:[f64] }:$Rn)) - Complexity = 12
                        // Dst: (FCVTZUSXDri:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*236702*/            0, /*End of Scope*/
/*236703*/          0, // EndSwitchType
/*236704*/        0, // EndSwitchType
/*236705*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::FCEIL),// ->236757
/*236708*/        OPC_RecordChild0, // #0 = $Rn
/*236709*/        OPC_SwitchType /*2 cases */, 21, MVT::f32,// ->236733
/*236712*/          OPC_MoveParent,
/*236713*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236723
/*236716*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i32] } (fceil:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTPUUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*236723*/          /*SwitchType*/ 7, MVT::i64,// ->236732
/*236725*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i64] } (fceil:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTPUUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*236732*/          0, // EndSwitchType
/*236733*/        /*SwitchType*/ 21, MVT::f64,// ->236756
/*236735*/          OPC_MoveParent,
/*236736*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236746
/*236739*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i32] } (fceil:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTPUUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*236746*/          /*SwitchType*/ 7, MVT::i64,// ->236755
/*236748*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTPUUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i64] } (fceil:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTPUUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*236755*/          0, // EndSwitchType
/*236756*/        0, // EndSwitchType
/*236757*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::FFLOOR),// ->236809
/*236760*/        OPC_RecordChild0, // #0 = $Rn
/*236761*/        OPC_SwitchType /*2 cases */, 21, MVT::f32,// ->236785
/*236764*/          OPC_MoveParent,
/*236765*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236775
/*236768*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i32] } (ffloor:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTMUUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*236775*/          /*SwitchType*/ 7, MVT::i64,// ->236784
/*236777*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i64] } (ffloor:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTMUUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*236784*/          0, // EndSwitchType
/*236785*/        /*SwitchType*/ 21, MVT::f64,// ->236808
/*236787*/          OPC_MoveParent,
/*236788*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236798
/*236791*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i32] } (ffloor:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTMUUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*236798*/          /*SwitchType*/ 7, MVT::i64,// ->236807
/*236800*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTMUUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i64] } (ffloor:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTMUUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*236807*/          0, // EndSwitchType
/*236808*/        0, // EndSwitchType
/*236809*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::FTRUNC),// ->236861
/*236812*/        OPC_RecordChild0, // #0 = $Rn
/*236813*/        OPC_SwitchType /*2 cases */, 21, MVT::f32,// ->236837
/*236816*/          OPC_MoveParent,
/*236817*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236827
/*236820*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i32] } (ftrunc:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTZUUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*236827*/          /*SwitchType*/ 7, MVT::i64,// ->236836
/*236829*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i64] } (ftrunc:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTZUUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*236836*/          0, // EndSwitchType
/*236837*/        /*SwitchType*/ 21, MVT::f64,// ->236860
/*236839*/          OPC_MoveParent,
/*236840*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236850
/*236843*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i32] } (ftrunc:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTZUUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*236850*/          /*SwitchType*/ 7, MVT::i64,// ->236859
/*236852*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i64] } (ftrunc:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTZUUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*236859*/          0, // EndSwitchType
/*236860*/        0, // EndSwitchType
/*236861*/      /*SwitchOpcode*/ 49, TARGET_VAL(ISD::FROUND),// ->236913
/*236864*/        OPC_RecordChild0, // #0 = $Rn
/*236865*/        OPC_SwitchType /*2 cases */, 21, MVT::f32,// ->236889
/*236868*/          OPC_MoveParent,
/*236869*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236879
/*236872*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUWSr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i32] } (fround:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTAUUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*236879*/          /*SwitchType*/ 7, MVT::i64,// ->236888
/*236881*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUXSr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i64] } (fround:{ *:[f32] } f32:{ *:[f32] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTAUUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*236888*/          0, // EndSwitchType
/*236889*/        /*SwitchType*/ 21, MVT::f64,// ->236912
/*236891*/          OPC_MoveParent,
/*236892*/          OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->236902
/*236895*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUWDr), 0,
                          MVT::i32, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i32] } (fround:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTAUUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*236902*/          /*SwitchType*/ 7, MVT::i64,// ->236911
/*236904*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTAUUXDr), 0,
                          MVT::i64, 1/*#Ops*/, 0, 
                      // Src: (fp_to_uint:{ *:[i64] } (fround:{ *:[f64] } f64:{ *:[f64] }:$Rn)) - Complexity = 6
                      // Dst: (FCVTAUUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*236911*/          0, // EndSwitchType
/*236912*/        0, // EndSwitchType
/*236913*/      0, // EndSwitchOpcode
/*236914*/    /*Scope*/ 26|128,1/*154*/, /*->237070*/
/*236916*/      OPC_RecordChild0, // #0 = $Rn
/*236917*/      OPC_Scope, 26, /*->236945*/ // 8 children in Scope
/*236919*/        OPC_CheckChild0Type, MVT::f16,
/*236921*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->236933
/*236924*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236926*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWHr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (fp_to_uint:{ *:[i32] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUWHr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*236933*/        /*SwitchType*/ 9, MVT::i64,// ->236944
/*236935*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*236937*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXHr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (fp_to_uint:{ *:[i64] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUXHr:{ *:[i64] } FPR16:{ *:[f16] }:$Rn)
/*236944*/        0, // EndSwitchType
/*236945*/      /*Scope*/ 26, /*->236972*/
/*236946*/        OPC_CheckChild0Type, MVT::f32,
/*236948*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->236960
/*236951*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236953*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWSr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (fp_to_uint:{ *:[i32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUWSr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*236960*/        /*SwitchType*/ 9, MVT::i64,// ->236971
/*236962*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236964*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXSr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (fp_to_uint:{ *:[i64] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUXSr:{ *:[i64] } FPR32:{ *:[f32] }:$Rn)
/*236971*/        0, // EndSwitchType
/*236972*/      /*Scope*/ 26, /*->236999*/
/*236973*/        OPC_CheckChild0Type, MVT::f64,
/*236975*/        OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->236987
/*236978*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236980*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUWDr), 0,
                        MVT::i32, 1/*#Ops*/, 0, 
                    // Src: (fp_to_uint:{ *:[i32] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUWDr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*236987*/        /*SwitchType*/ 9, MVT::i64,// ->236998
/*236989*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*236991*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUUXDr), 0,
                        MVT::i64, 1/*#Ops*/, 0, 
                    // Src: (fp_to_uint:{ *:[i64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (FCVTZUUXDr:{ *:[i64] } FPR64:{ *:[f64] }:$Rn)
/*236998*/        0, // EndSwitchType
/*236999*/      /*Scope*/ 13, /*->237013*/
/*237000*/        OPC_CheckChild0Type, MVT::v4f16,
/*237002*/        OPC_CheckType, MVT::v4i16,
/*237004*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*237006*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv4f16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (fp_to_uint:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZUv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*237013*/      /*Scope*/ 13, /*->237027*/
/*237014*/        OPC_CheckChild0Type, MVT::v8f16,
/*237016*/        OPC_CheckType, MVT::v8i16,
/*237018*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*237020*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv8f16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (fp_to_uint:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZUv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*237027*/      /*Scope*/ 13, /*->237041*/
/*237028*/        OPC_CheckChild0Type, MVT::v2f32,
/*237030*/        OPC_CheckType, MVT::v2i32,
/*237032*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*237034*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv2f32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (fp_to_uint:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZUv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*237041*/      /*Scope*/ 13, /*->237055*/
/*237042*/        OPC_CheckChild0Type, MVT::v4f32,
/*237044*/        OPC_CheckType, MVT::v4i32,
/*237046*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*237048*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv4f32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (fp_to_uint:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZUv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*237055*/      /*Scope*/ 13, /*->237069*/
/*237056*/        OPC_CheckChild0Type, MVT::v2f64,
/*237058*/        OPC_CheckType, MVT::v2i64,
/*237060*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*237062*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZUv2f64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (fp_to_uint:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZUv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*237069*/      0, /*End of Scope*/
/*237070*/    0, /*End of Scope*/
/*237071*/  /*SwitchOpcode*/ 104|128,1/*232*/, TARGET_VAL(ISD::ROTR),// ->237307
/*237075*/    OPC_Scope, 34, /*->237111*/ // 2 children in Scope
/*237077*/      OPC_MoveChild0,
/*237078*/      OPC_CheckOpcode, TARGET_VAL(ISD::BSWAP),
/*237081*/      OPC_RecordChild0, // #0 = $Rn
/*237082*/      OPC_MoveParent,
/*237083*/      OPC_SwitchType /*2 cases */, 11, MVT::i32,// ->237097
/*237086*/        OPC_CheckChild1Integer, 16, 
/*237088*/        OPC_CheckChild1Type, MVT::i64,
/*237090*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16Wr), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (rotr:{ *:[i32] } (bswap:{ *:[i32] } GPR32:{ *:[i32] }:$Rn), 16:{ *:[i64] }) - Complexity = 11
                  // Dst: (REV16Wr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn)
/*237097*/      /*SwitchType*/ 11, MVT::i64,// ->237110
/*237099*/        OPC_CheckChild1Integer, 32, 
/*237101*/        OPC_CheckChild1Type, MVT::i64,
/*237103*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32Xr), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (rotr:{ *:[i64] } (bswap:{ *:[i64] } GPR64:{ *:[i64] }:$Rn), 32:{ *:[i64] }) - Complexity = 11
                  // Dst: (REV32Xr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn)
/*237110*/      0, // EndSwitchType
/*237111*/    /*Scope*/ 65|128,1/*193*/, /*->237306*/
/*237113*/      OPC_RecordChild0, // #0 = $Rn
/*237114*/      OPC_Scope, 43, /*->237159*/ // 3 children in Scope
/*237116*/        OPC_RecordChild1, // #1 = $imm
/*237117*/        OPC_MoveChild1,
/*237118*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237121*/        OPC_CheckType, MVT::i64,
/*237123*/        OPC_Scope, 16, /*->237141*/ // 2 children in Scope
/*237125*/          OPC_CheckPredicate, 35, // Predicate_imm0_31
/*237127*/          OPC_MoveParent,
/*237128*/          OPC_CheckType, MVT::i32,
/*237130*/          OPC_EmitConvertToTarget, 1,
/*237132*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTRWrri), 0,
                        MVT::i32, 3/*#Ops*/, 0, 0, 2, 
                    // Src: (rotr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm) - Complexity = 7
                    // Dst: (EXTRWrri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm)
/*237141*/        /*Scope*/ 16, /*->237158*/
/*237142*/          OPC_CheckPredicate, 36, // Predicate_imm0_63
/*237144*/          OPC_MoveParent,
/*237145*/          OPC_CheckType, MVT::i64,
/*237147*/          OPC_EmitConvertToTarget, 1,
/*237149*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTRXrri), 0,
                        MVT::i64, 3/*#Ops*/, 0, 0, 2, 
                    // Src: (rotr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm) - Complexity = 7
                    // Dst: (EXTRXrri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm)
/*237158*/        0, /*End of Scope*/
/*237159*/      /*Scope*/ 108, /*->237268*/
/*237160*/        OPC_MoveChild1,
/*237161*/        OPC_SwitchOpcode /*3 cases */, 41, TARGET_VAL(ISD::ZERO_EXTEND),// ->237206
/*237165*/          OPC_RecordChild0, // #1 = $Rm
/*237166*/          OPC_CheckType, MVT::i64,
/*237168*/          OPC_MoveParent,
/*237169*/          OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->237180
/*237172*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RORVWr), 0,
                          MVT::i32, 2/*#Ops*/, 0, 1, 
                      // Src: (rotr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (RORVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*237180*/          /*SwitchType*/ 23, MVT::i64,// ->237205
/*237182*/            OPC_EmitInteger, MVT::i32, 0, 
/*237185*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*237188*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*237197*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RORVXr), 0,
                          MVT::i64, 2/*#Ops*/, 0, 4, 
                      // Src: (rotr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (RORVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm, sub_32:{ *:[i32] }))
/*237205*/          0, // EndSwitchType
/*237206*/        /*SwitchOpcode*/ 14, TARGET_VAL(ISD::ANY_EXTEND),// ->237223
/*237209*/          OPC_RecordChild0, // #1 = $Rm
/*237210*/          OPC_CheckType, MVT::i64,
/*237212*/          OPC_MoveParent,
/*237213*/          OPC_CheckType, MVT::i32,
/*237215*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::RORVWr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (rotr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                    // Dst: (RORVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*237223*/        /*SwitchOpcode*/ 41, TARGET_VAL(ISD::SIGN_EXTEND),// ->237267
/*237226*/          OPC_RecordChild0, // #1 = $Rm
/*237227*/          OPC_CheckType, MVT::i64,
/*237229*/          OPC_MoveParent,
/*237230*/          OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->237241
/*237233*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RORVWr), 0,
                          MVT::i32, 2/*#Ops*/, 0, 1, 
                      // Src: (rotr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (RORVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*237241*/          /*SwitchType*/ 23, MVT::i64,// ->237266
/*237243*/            OPC_EmitInteger, MVT::i32, 0, 
/*237246*/            OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*237249*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::i64, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*237258*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RORVXr), 0,
                          MVT::i64, 2/*#Ops*/, 0, 4, 
                      // Src: (rotr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                      // Dst: (RORVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm, sub_32:{ *:[i32] }))
/*237266*/          0, // EndSwitchType
/*237267*/        0, // EndSwitchOpcode
/*237268*/      /*Scope*/ 36, /*->237305*/
/*237269*/        OPC_RecordChild1, // #1 = $Rm
/*237270*/        OPC_CheckChild1Type, MVT::i64,
/*237272*/        OPC_SwitchType /*2 cases */, 8, MVT::i64,// ->237283
/*237275*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::RORVXr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (rotr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (RORVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*237283*/        /*SwitchType*/ 19, MVT::i32,// ->237304
/*237285*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*237288*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i32, 2/*#Ops*/, 1, 2,  // Results = #3
/*237296*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::RORVWr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 3, 
                    // Src: (rotr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, i64:{ *:[i64] }:$Rm) - Complexity = 3
                    // Dst: (RORVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (EXTRACT_SUBREG:{ *:[i32] } i64:{ *:[i64] }:$Rm, sub_32:{ *:[i32] }))
/*237304*/        0, // EndSwitchType
/*237305*/      0, /*End of Scope*/
/*237306*/    0, /*End of Scope*/
/*237307*/  /*SwitchOpcode*/ 21|128,1/*149*/, TARGET_VAL(ISD::BSWAP),// ->237460
/*237311*/    OPC_Scope, 37, /*->237350*/ // 2 children in Scope
/*237313*/      OPC_MoveChild0,
/*237314*/      OPC_CheckOpcode, TARGET_VAL(ISD::ROTR),
/*237317*/      OPC_RecordChild0, // #0 = $Rn
/*237318*/      OPC_Scope, 14, /*->237334*/ // 2 children in Scope
/*237320*/        OPC_CheckChild1Integer, 16, 
/*237322*/        OPC_CheckChild1Type, MVT::i64,
/*237324*/        OPC_MoveParent,
/*237325*/        OPC_CheckType, MVT::i32,
/*237327*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16Wr), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (bswap:{ *:[i32] } (rotr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, 16:{ *:[i64] })) - Complexity = 11
                  // Dst: (REV16Wr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn)
/*237334*/      /*Scope*/ 14, /*->237349*/
/*237335*/        OPC_CheckChild1Integer, 32, 
/*237337*/        OPC_CheckChild1Type, MVT::i64,
/*237339*/        OPC_MoveParent,
/*237340*/        OPC_CheckType, MVT::i64,
/*237342*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32Xr), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (bswap:{ *:[i64] } (rotr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, 32:{ *:[i64] })) - Complexity = 11
                  // Dst: (REV32Xr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn)
/*237349*/      0, /*End of Scope*/
/*237350*/    /*Scope*/ 108, /*->237459*/
/*237351*/      OPC_RecordChild0, // #0 = $Rn
/*237352*/      OPC_SwitchType /*5 cases */, 7, MVT::i32,// ->237362
/*237355*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVWr), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (bswap:{ *:[i32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                  // Dst: (REVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn)
/*237362*/      /*SwitchType*/ 7, MVT::i64,// ->237371
/*237364*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVXr), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (bswap:{ *:[i64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                  // Dst: (REVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn)
/*237371*/      /*SwitchType*/ 27, MVT::nxv8i16,// ->237400
/*237373*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*237375*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*237381*/        OPC_EmitInteger, MVT::i32, 31, 
/*237384*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*237391*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVB_ZPmZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (bswap:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 3
                  // Dst: (REVB_ZPmZ_H:{ *:[nxv8i16] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ?:{ *:[nxv8i16] }:$Op1)
/*237400*/      /*SwitchType*/ 27, MVT::nxv4i32,// ->237429
/*237402*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*237404*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*237410*/        OPC_EmitInteger, MVT::i32, 31, 
/*237413*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*237420*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVB_ZPmZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (bswap:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 3
                  // Dst: (REVB_ZPmZ_S:{ *:[nxv4i32] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ?:{ *:[nxv4i32] }:$Op1)
/*237429*/      /*SwitchType*/ 27, MVT::nxv2i64,// ->237458
/*237431*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*237433*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::nxv16i8, 0/*#Ops*/,  // Results = #1
/*237439*/        OPC_EmitInteger, MVT::i32, 31, 
/*237442*/        OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                      MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*237449*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::REVB_ZPmZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 3, 0, 
                  // Src: (bswap:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1) - Complexity = 3
                  // Dst: (REVB_ZPmZ_D:{ *:[nxv2i64] } (IMPLICIT_DEF:{ *:[nxv16i8] }), (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ?:{ *:[nxv2i64] }:$Op1)
/*237458*/      0, // EndSwitchType
/*237459*/    0, /*End of Scope*/
/*237460*/  /*SwitchOpcode*/ 22, TARGET_VAL(ISD::CALLSEQ_START),// ->237485
/*237463*/    OPC_RecordNode, // #0 = 'AArch64callseq_start' chained node
/*237464*/    OPC_RecordChild1, // #1 = $amt1
/*237465*/    OPC_MoveChild1,
/*237466*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*237469*/    OPC_MoveParent,
/*237470*/    OPC_RecordChild2, // #2 = $amt2
/*237471*/    OPC_MoveChild2,
/*237472*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*237475*/    OPC_MoveParent,
/*237476*/    OPC_EmitMergeInputChains1_0,
/*237477*/    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADJCALLSTACKDOWN), 0|OPFL_Chain|OPFL_GlueOutput,
                  MVT::i64, 2/*#Ops*/, 1, 2, 
              // Src: (AArch64callseq_start (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2) - Complexity = 9
              // Dst: (ADJCALLSTACKDOWN:{ *:[i64] } (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2)
/*237485*/  /*SwitchOpcode*/ 23, TARGET_VAL(ISD::CALLSEQ_END),// ->237511
/*237488*/    OPC_RecordNode, // #0 = 'AArch64callseq_end' chained node
/*237489*/    OPC_CaptureGlueInput,
/*237490*/    OPC_RecordChild1, // #1 = $amt1
/*237491*/    OPC_MoveChild1,
/*237492*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*237495*/    OPC_MoveParent,
/*237496*/    OPC_RecordChild2, // #2 = $amt2
/*237497*/    OPC_MoveChild2,
/*237498*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*237501*/    OPC_MoveParent,
/*237502*/    OPC_EmitMergeInputChains1_0,
/*237503*/    OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADJCALLSTACKUP), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput,
                  MVT::i64, 2/*#Ops*/, 1, 2, 
              // Src: (AArch64callseq_end (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2) - Complexity = 9
              // Dst: (ADJCALLSTACKUP:{ *:[i64] } (timm:{ *:[i32] }):$amt1, (timm:{ *:[i32] }):$amt2)
/*237511*/  /*SwitchOpcode*/ 123, TARGET_VAL(AArch64ISD::FCCMP),// ->237637
/*237514*/    OPC_RecordChild0, // #0 = $Rn
/*237515*/    OPC_Scope, 39, /*->237556*/ // 3 children in Scope
/*237517*/      OPC_CheckChild0Type, MVT::f16,
/*237519*/      OPC_RecordChild1, // #1 = $Rm
/*237520*/      OPC_RecordChild2, // #2 = $nzcv
/*237521*/      OPC_MoveChild2,
/*237522*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237525*/      OPC_CheckType, MVT::i32,
/*237527*/      OPC_MoveParent,
/*237528*/      OPC_RecordChild3, // #3 = $cond
/*237529*/      OPC_MoveChild3,
/*237530*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237533*/      OPC_CheckType, MVT::i32,
/*237535*/      OPC_MoveParent,
/*237536*/      OPC_RecordChild4, // #4 = physreg input NZCV
/*237537*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*237539*/      OPC_EmitConvertToTarget, 2,
/*237541*/      OPC_EmitConvertToTarget, 3,
/*237543*/      OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*237546*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCCMPHrr), 0|OPFL_GlueInput,
                    MVT::i32, 4/*#Ops*/, 0, 1, 5, 6, 
                // Src: (AArch64fccmp:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 9
                // Dst: (FCCMPHrr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*237556*/    /*Scope*/ 39, /*->237596*/
/*237557*/      OPC_CheckChild0Type, MVT::f32,
/*237559*/      OPC_RecordChild1, // #1 = $Rm
/*237560*/      OPC_RecordChild2, // #2 = $nzcv
/*237561*/      OPC_MoveChild2,
/*237562*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237565*/      OPC_CheckType, MVT::i32,
/*237567*/      OPC_MoveParent,
/*237568*/      OPC_RecordChild3, // #3 = $cond
/*237569*/      OPC_MoveChild3,
/*237570*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237573*/      OPC_CheckType, MVT::i32,
/*237575*/      OPC_MoveParent,
/*237576*/      OPC_RecordChild4, // #4 = physreg input NZCV
/*237577*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*237579*/      OPC_EmitConvertToTarget, 2,
/*237581*/      OPC_EmitConvertToTarget, 3,
/*237583*/      OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*237586*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCCMPSrr), 0|OPFL_GlueInput,
                    MVT::i32, 4/*#Ops*/, 0, 1, 5, 6, 
                // Src: (AArch64fccmp:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 9
                // Dst: (FCCMPSrr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*237596*/    /*Scope*/ 39, /*->237636*/
/*237597*/      OPC_CheckChild0Type, MVT::f64,
/*237599*/      OPC_RecordChild1, // #1 = $Rm
/*237600*/      OPC_RecordChild2, // #2 = $nzcv
/*237601*/      OPC_MoveChild2,
/*237602*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237605*/      OPC_CheckType, MVT::i32,
/*237607*/      OPC_MoveParent,
/*237608*/      OPC_RecordChild3, // #3 = $cond
/*237609*/      OPC_MoveChild3,
/*237610*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237613*/      OPC_CheckType, MVT::i32,
/*237615*/      OPC_MoveParent,
/*237616*/      OPC_RecordChild4, // #4 = physreg input NZCV
/*237617*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*237619*/      OPC_EmitConvertToTarget, 2,
/*237621*/      OPC_EmitConvertToTarget, 3,
/*237623*/      OPC_EmitCopyToReg, 4, AArch64::NZCV,
/*237626*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCCMPDrr), 0|OPFL_GlueInput,
                    MVT::i32, 4/*#Ops*/, 0, 1, 5, 6, 
                // Src: (AArch64fccmp:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 9
                // Dst: (FCCMPDrr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, (imm:{ *:[i32] }):$nzcv, (imm:{ *:[i32] }):$cond)
/*237636*/    0, /*End of Scope*/
/*237637*/  /*SwitchOpcode*/ 92, TARGET_VAL(AArch64ISD::TC_RETURN),// ->237732
/*237640*/    OPC_RecordNode, // #0 = 'AArch64tcret' chained node
/*237641*/    OPC_CaptureGlueInput,
/*237642*/    OPC_RecordChild1, // #1 = $dst
/*237643*/    OPC_Scope, 47, /*->237692*/ // 2 children in Scope
/*237645*/      OPC_MoveChild1,
/*237646*/      OPC_SwitchOpcode /*2 cases */, 19, TARGET_VAL(ISD::TargetGlobalAddress),// ->237669
/*237650*/        OPC_MoveParent,
/*237651*/        OPC_RecordChild2, // #2 = $FPDiff
/*237652*/        OPC_MoveChild2,
/*237653*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*237656*/        OPC_CheckType, MVT::i32,
/*237658*/        OPC_MoveParent,
/*237659*/        OPC_EmitMergeInputChains1_0,
/*237660*/        OPC_EmitConvertToTarget, 2,
/*237662*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                      2/*#Ops*/, 1, 3, 
                  // Src: (AArch64tcret (tglobaladdr:{ *:[iPTR] }):$dst, (timm:{ *:[i32] }):$FPDiff) - Complexity = 9
                  // Dst: (TCRETURNdi (texternalsym:{ *:[i64] }):$dst, (imm:{ *:[i32] }):$FPDiff)
/*237669*/      /*SwitchOpcode*/ 19, TARGET_VAL(ISD::TargetExternalSymbol),// ->237691
/*237672*/        OPC_MoveParent,
/*237673*/        OPC_RecordChild2, // #2 = $FPDiff
/*237674*/        OPC_MoveChild2,
/*237675*/        OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*237678*/        OPC_CheckType, MVT::i32,
/*237680*/        OPC_MoveParent,
/*237681*/        OPC_EmitMergeInputChains1_0,
/*237682*/        OPC_EmitConvertToTarget, 2,
/*237684*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNdi), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                      2/*#Ops*/, 1, 3, 
                  // Src: (AArch64tcret (texternalsym:{ *:[iPTR] }):$dst, (timm:{ *:[i32] }):$FPDiff) - Complexity = 9
                  // Dst: (TCRETURNdi (texternalsym:{ *:[i64] }):$dst, (imm:{ *:[i32] }):$FPDiff)
/*237691*/      0, // EndSwitchOpcode
/*237692*/    /*Scope*/ 38, /*->237731*/
/*237693*/      OPC_CheckChild1Type, MVT::i64,
/*237695*/      OPC_RecordChild2, // #2 = $FPDiff
/*237696*/      OPC_MoveChild2,
/*237697*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*237700*/      OPC_CheckType, MVT::i32,
/*237702*/      OPC_MoveParent,
/*237703*/      OPC_Scope, 12, /*->237717*/ // 2 children in Scope
/*237705*/        OPC_CheckPatternPredicate, 22, // ( !MF->getFunction().hasFnAttribute("branch-target-enforcement") )
/*237707*/        OPC_EmitMergeInputChains1_0,
/*237708*/        OPC_EmitConvertToTarget, 2,
/*237710*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNri), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                      2/*#Ops*/, 1, 3, 
                  // Src: (AArch64tcret tcGPR64:{ *:[i64] }:$dst, (timm:{ *:[i32] }):$FPDiff) - Complexity = 6
                  // Dst: (TCRETURNri tcGPR64:{ *:[i64] }:$dst, (imm:{ *:[i32] }):$FPDiff)
/*237717*/      /*Scope*/ 12, /*->237730*/
/*237718*/        OPC_CheckPatternPredicate, 23, // ( MF->getFunction().hasFnAttribute("branch-target-enforcement") )
/*237720*/        OPC_EmitMergeInputChains1_0,
/*237721*/        OPC_EmitConvertToTarget, 2,
/*237723*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::TCRETURNriBTI), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic2,
                      2/*#Ops*/, 1, 3, 
                  // Src: (AArch64tcret rtcGPR64:{ *:[i64] }:$dst, (timm:{ *:[i32] }):$FPDiff) - Complexity = 6
                  // Dst: (TCRETURNriBTI rtcGPR64:{ *:[i64] }:$dst, (imm:{ *:[i32] }):$FPDiff)
/*237730*/      0, /*End of Scope*/
/*237731*/    0, /*End of Scope*/
/*237732*/  /*SwitchOpcode*/ 45, TARGET_VAL(AArch64ISD::EXTR),// ->237780
/*237735*/    OPC_RecordChild0, // #0 = $Rn
/*237736*/    OPC_RecordChild1, // #1 = $Rm
/*237737*/    OPC_RecordChild2, // #2 = $imm
/*237738*/    OPC_MoveChild2,
/*237739*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237742*/    OPC_CheckType, MVT::i64,
/*237744*/    OPC_Scope, 16, /*->237762*/ // 2 children in Scope
/*237746*/      OPC_CheckPredicate, 35, // Predicate_imm0_31
/*237748*/      OPC_MoveParent,
/*237749*/      OPC_CheckType, MVT::i32,
/*237751*/      OPC_EmitConvertToTarget, 2,
/*237753*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTRWrri), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 3, 
                // Src: (AArch64Extr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm) - Complexity = 7
                // Dst: (EXTRWrri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, (imm:{ *:[i64] }):$imm)
/*237762*/    /*Scope*/ 16, /*->237779*/
/*237763*/      OPC_CheckPredicate, 36, // Predicate_imm0_63
/*237765*/      OPC_MoveParent,
/*237766*/      OPC_CheckType, MVT::i64,
/*237768*/      OPC_EmitConvertToTarget, 2,
/*237770*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTRXrri), 0,
                    MVT::i64, 3/*#Ops*/, 0, 1, 3, 
                // Src: (AArch64Extr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm) - Complexity = 7
                // Dst: (EXTRXrri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, (imm:{ *:[i64] }):$imm)
/*237779*/    0, /*End of Scope*/
/*237780*/  /*SwitchOpcode*/ 71|128,1/*199*/, TARGET_VAL(ISD::SRL),// ->237983
/*237784*/    OPC_RecordChild0, // #0 = $Rn
/*237785*/    OPC_Scope, 49, /*->237836*/ // 3 children in Scope
/*237787*/      OPC_RecordChild1, // #1 = $imm
/*237788*/      OPC_MoveChild1,
/*237789*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237792*/      OPC_CheckType, MVT::i64,
/*237794*/      OPC_Scope, 19, /*->237815*/ // 2 children in Scope
/*237796*/        OPC_CheckPredicate, 35, // Predicate_imm0_31
/*237798*/        OPC_MoveParent,
/*237799*/        OPC_CheckType, MVT::i32,
/*237801*/        OPC_EmitConvertToTarget, 1,
/*237803*/        OPC_EmitInteger, MVT::i64, 31, 
/*237806*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UBFMWri), 0,
                      MVT::i32, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (srl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm) - Complexity = 7
                  // Dst: (UBFMWri:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$imm, 31:{ *:[i64] })
/*237815*/      /*Scope*/ 19, /*->237835*/
/*237816*/        OPC_CheckPredicate, 36, // Predicate_imm0_63
/*237818*/        OPC_MoveParent,
/*237819*/        OPC_CheckType, MVT::i64,
/*237821*/        OPC_EmitConvertToTarget, 1,
/*237823*/        OPC_EmitInteger, MVT::i64, 63, 
/*237826*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UBFMXri), 0,
                      MVT::i64, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (srl:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm) - Complexity = 7
                  // Dst: (UBFMXri:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_imm0_63>>:$imm, 63:{ *:[i64] })
/*237835*/      0, /*End of Scope*/
/*237836*/    /*Scope*/ 108, /*->237945*/
/*237837*/      OPC_MoveChild1,
/*237838*/      OPC_SwitchOpcode /*3 cases */, 41, TARGET_VAL(ISD::ZERO_EXTEND),// ->237883
/*237842*/        OPC_RecordChild0, // #1 = $Rm
/*237843*/        OPC_CheckType, MVT::i64,
/*237845*/        OPC_MoveParent,
/*237846*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->237857
/*237849*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSRVWr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (srl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                    // Dst: (LSRVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*237857*/        /*SwitchType*/ 23, MVT::i64,// ->237882
/*237859*/          OPC_EmitInteger, MVT::i32, 0, 
/*237862*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*237865*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::i64, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*237874*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSRVXr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 4, 
                    // Src: (srl:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (zext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                    // Dst: (LSRVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm, sub_32:{ *:[i32] }))
/*237882*/        0, // EndSwitchType
/*237883*/      /*SwitchOpcode*/ 14, TARGET_VAL(ISD::ANY_EXTEND),// ->237900
/*237886*/        OPC_RecordChild0, // #1 = $Rm
/*237887*/        OPC_CheckType, MVT::i64,
/*237889*/        OPC_MoveParent,
/*237890*/        OPC_CheckType, MVT::i32,
/*237892*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSRVWr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (srl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                  // Dst: (LSRVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*237900*/      /*SwitchOpcode*/ 41, TARGET_VAL(ISD::SIGN_EXTEND),// ->237944
/*237903*/        OPC_RecordChild0, // #1 = $Rm
/*237904*/        OPC_CheckType, MVT::i64,
/*237906*/        OPC_MoveParent,
/*237907*/        OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->237918
/*237910*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSRVWr), 0,
                        MVT::i32, 2/*#Ops*/, 0, 1, 
                    // Src: (srl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                    // Dst: (LSRVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*237918*/        /*SwitchType*/ 23, MVT::i64,// ->237943
/*237920*/          OPC_EmitInteger, MVT::i32, 0, 
/*237923*/          OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*237926*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::i64, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*237935*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSRVXr), 0,
                        MVT::i64, 2/*#Ops*/, 0, 4, 
                    // Src: (srl:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (sext:{ *:[i64] } GPR32:{ *:[i32] }:$Rm)) - Complexity = 6
                    // Dst: (LSRVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm, sub_32:{ *:[i32] }))
/*237943*/        0, // EndSwitchType
/*237944*/      0, // EndSwitchOpcode
/*237945*/    /*Scope*/ 36, /*->237982*/
/*237946*/      OPC_RecordChild1, // #1 = $Rm
/*237947*/      OPC_CheckChild1Type, MVT::i64,
/*237949*/      OPC_SwitchType /*2 cases */, 8, MVT::i64,// ->237960
/*237952*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSRVXr), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (srl:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                  // Dst: (LSRVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*237960*/      /*SwitchType*/ 19, MVT::i32,// ->237981
/*237962*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*237965*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 1, 2,  // Results = #3
/*237973*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LSRVWr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 3, 
                  // Src: (srl:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, i64:{ *:[i64] }:$Rm) - Complexity = 3
                  // Dst: (LSRVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, (EXTRACT_SUBREG:{ *:[i32] } i64:{ *:[i64] }:$Rm, sub_32:{ *:[i32] }))
/*237981*/      0, // EndSwitchType
/*237982*/    0, /*End of Scope*/
/*237983*/  /*SwitchOpcode*/ 99, TARGET_VAL(AArch64ISD::TBZ),// ->238085
/*237986*/    OPC_RecordNode, // #0 = 'AArch64tbz' chained node
/*237987*/    OPC_RecordChild1, // #1 = $Rt
/*237988*/    OPC_Scope, 29, /*->238019*/ // 2 children in Scope
/*237990*/      OPC_CheckChild1Type, MVT::i32,
/*237992*/      OPC_RecordChild2, // #2 = $bit_off
/*237993*/      OPC_MoveChild2,
/*237994*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*237997*/      OPC_CheckPredicate, 30, // Predicate_tbz_imm0_31_diag
/*237999*/      OPC_CheckType, MVT::i64,
/*238001*/      OPC_MoveParent,
/*238002*/      OPC_RecordChild3, // #3 = $target
/*238003*/      OPC_MoveChild3,
/*238004*/      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*238007*/      OPC_MoveParent,
/*238008*/      OPC_EmitMergeInputChains1_0,
/*238009*/      OPC_EmitConvertToTarget, 2,
/*238011*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::TBZW), 0|OPFL_Chain,
                    3/*#Ops*/, 1, 4, 3, 
                // Src: (AArch64tbz GPR32:{ *:[i32] }:$Rt, (imm:{ *:[i64] })<<P:Predicate_tbz_imm0_31_diag>>:$bit_off, (bb:{ *:[Other] }):$target) - Complexity = 7
                // Dst: (TBZW GPR32:{ *:[i32] }:$Rt, (imm:{ *:[i64] }):$bit_off, (bb:{ *:[Other] }):$target)
/*238019*/    /*Scope*/ 64, /*->238084*/
/*238020*/      OPC_CheckChild1Type, MVT::i64,
/*238022*/      OPC_RecordChild2, // #2 = $bit_off
/*238023*/      OPC_MoveChild2,
/*238024*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*238027*/      OPC_CheckType, MVT::i64,
/*238029*/      OPC_Scope, 20, /*->238051*/ // 2 children in Scope
/*238031*/        OPC_CheckPredicate, 56, // Predicate_tbz_imm32_63
/*238033*/        OPC_MoveParent,
/*238034*/        OPC_RecordChild3, // #3 = $target
/*238035*/        OPC_MoveChild3,
/*238036*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*238039*/        OPC_MoveParent,
/*238040*/        OPC_EmitMergeInputChains1_0,
/*238041*/        OPC_EmitConvertToTarget, 2,
/*238043*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::TBZX), 0|OPFL_Chain,
                      3/*#Ops*/, 1, 4, 3, 
                  // Src: (AArch64tbz GPR64:{ *:[i64] }:$Rt, (imm:{ *:[i64] })<<P:Predicate_tbz_imm32_63>>:$bit_off, (bb:{ *:[Other] }):$target) - Complexity = 7
                  // Dst: (TBZX GPR64:{ *:[i64] }:$Rt, (imm:{ *:[i64] }):$bit_off, (bb:{ *:[Other] }):$target)
/*238051*/      /*Scope*/ 31, /*->238083*/
/*238052*/        OPC_CheckPredicate, 30, // Predicate_tbz_imm0_31_diag
/*238054*/        OPC_MoveParent,
/*238055*/        OPC_RecordChild3, // #3 = $target
/*238056*/        OPC_MoveChild3,
/*238057*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*238060*/        OPC_MoveParent,
/*238061*/        OPC_EmitMergeInputChains1_0,
/*238062*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*238065*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 1, 4,  // Results = #5
/*238073*/        OPC_EmitConvertToTarget, 2,
/*238075*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::TBZW), 0|OPFL_Chain,
                      3/*#Ops*/, 5, 6, 3, 
                  // Src: (AArch64tbz GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_tbz_imm0_31_diag>>:$imm, (bb:{ *:[Other] }):$target) - Complexity = 7
                  // Dst: (TBZW (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, sub_32:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_tbz_imm0_31_diag>>:$imm, (bb:{ *:[Other] }):$target)
/*238083*/      0, /*End of Scope*/
/*238084*/    0, /*End of Scope*/
/*238085*/  /*SwitchOpcode*/ 99, TARGET_VAL(AArch64ISD::TBNZ),// ->238187
/*238088*/    OPC_RecordNode, // #0 = 'AArch64tbnz' chained node
/*238089*/    OPC_RecordChild1, // #1 = $Rt
/*238090*/    OPC_Scope, 29, /*->238121*/ // 2 children in Scope
/*238092*/      OPC_CheckChild1Type, MVT::i32,
/*238094*/      OPC_RecordChild2, // #2 = $bit_off
/*238095*/      OPC_MoveChild2,
/*238096*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*238099*/      OPC_CheckPredicate, 30, // Predicate_tbz_imm0_31_diag
/*238101*/      OPC_CheckType, MVT::i64,
/*238103*/      OPC_MoveParent,
/*238104*/      OPC_RecordChild3, // #3 = $target
/*238105*/      OPC_MoveChild3,
/*238106*/      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*238109*/      OPC_MoveParent,
/*238110*/      OPC_EmitMergeInputChains1_0,
/*238111*/      OPC_EmitConvertToTarget, 2,
/*238113*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::TBNZW), 0|OPFL_Chain,
                    3/*#Ops*/, 1, 4, 3, 
                // Src: (AArch64tbnz GPR32:{ *:[i32] }:$Rt, (imm:{ *:[i64] })<<P:Predicate_tbz_imm0_31_diag>>:$bit_off, (bb:{ *:[Other] }):$target) - Complexity = 7
                // Dst: (TBNZW GPR32:{ *:[i32] }:$Rt, (imm:{ *:[i64] }):$bit_off, (bb:{ *:[Other] }):$target)
/*238121*/    /*Scope*/ 64, /*->238186*/
/*238122*/      OPC_CheckChild1Type, MVT::i64,
/*238124*/      OPC_RecordChild2, // #2 = $bit_off
/*238125*/      OPC_MoveChild2,
/*238126*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*238129*/      OPC_CheckType, MVT::i64,
/*238131*/      OPC_Scope, 20, /*->238153*/ // 2 children in Scope
/*238133*/        OPC_CheckPredicate, 56, // Predicate_tbz_imm32_63
/*238135*/        OPC_MoveParent,
/*238136*/        OPC_RecordChild3, // #3 = $target
/*238137*/        OPC_MoveChild3,
/*238138*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*238141*/        OPC_MoveParent,
/*238142*/        OPC_EmitMergeInputChains1_0,
/*238143*/        OPC_EmitConvertToTarget, 2,
/*238145*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::TBNZX), 0|OPFL_Chain,
                      3/*#Ops*/, 1, 4, 3, 
                  // Src: (AArch64tbnz GPR64:{ *:[i64] }:$Rt, (imm:{ *:[i64] })<<P:Predicate_tbz_imm32_63>>:$bit_off, (bb:{ *:[Other] }):$target) - Complexity = 7
                  // Dst: (TBNZX GPR64:{ *:[i64] }:$Rt, (imm:{ *:[i64] }):$bit_off, (bb:{ *:[Other] }):$target)
/*238153*/      /*Scope*/ 31, /*->238185*/
/*238154*/        OPC_CheckPredicate, 30, // Predicate_tbz_imm0_31_diag
/*238156*/        OPC_MoveParent,
/*238157*/        OPC_RecordChild3, // #3 = $target
/*238158*/        OPC_MoveChild3,
/*238159*/        OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*238162*/        OPC_MoveParent,
/*238163*/        OPC_EmitMergeInputChains1_0,
/*238164*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*238167*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::i32, 2/*#Ops*/, 1, 4,  // Results = #5
/*238175*/        OPC_EmitConvertToTarget, 2,
/*238177*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::TBNZW), 0|OPFL_Chain,
                      3/*#Ops*/, 5, 6, 3, 
                  // Src: (AArch64tbnz GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_tbz_imm0_31_diag>>:$imm, (bb:{ *:[Other] }):$target) - Complexity = 7
                  // Dst: (TBNZW (EXTRACT_SUBREG:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, sub_32:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_tbz_imm0_31_diag>>:$imm, (bb:{ *:[Other] }):$target)
/*238185*/      0, /*End of Scope*/
/*238186*/    0, /*End of Scope*/
/*238187*/  /*SwitchOpcode*/ 112, TARGET_VAL(AArch64ISD::STRICT_FCMPE),// ->238302
/*238190*/    OPC_RecordNode, // #0 = 'AArch64strict_fcmpe' chained node
/*238191*/    OPC_RecordChild1, // #1 = $Rn
/*238192*/    OPC_Scope, 35, /*->238229*/ // 3 children in Scope
/*238194*/      OPC_CheckChild1Type, MVT::f16,
/*238196*/      OPC_Scope, 17, /*->238215*/ // 2 children in Scope
/*238198*/        OPC_MoveChild2,
/*238199*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238202*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238204*/        OPC_MoveParent,
/*238205*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*238207*/        OPC_EmitMergeInputChains1_0,
/*238208*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPEHri), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (AArch64strict_fcmpe FPR16:{ *:[f16] }:$Rn, (fpimm:{ *:[f16] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPEHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*238215*/      /*Scope*/ 12, /*->238228*/
/*238216*/        OPC_RecordChild2, // #2 = $Rm
/*238217*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*238219*/        OPC_EmitMergeInputChains1_0,
/*238220*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPEHrr), 0|OPFL_Chain,
                      MVT::i32, 2/*#Ops*/, 1, 2, 
                  // Src: (AArch64strict_fcmpe FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                  // Dst: (FCMPEHrr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*238228*/      0, /*End of Scope*/
/*238229*/    /*Scope*/ 35, /*->238265*/
/*238230*/      OPC_CheckChild1Type, MVT::f32,
/*238232*/      OPC_Scope, 17, /*->238251*/ // 2 children in Scope
/*238234*/        OPC_MoveChild2,
/*238235*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238238*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238240*/        OPC_MoveParent,
/*238241*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238243*/        OPC_EmitMergeInputChains1_0,
/*238244*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPESri), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (AArch64strict_fcmpe FPR32:{ *:[f32] }:$Rn, (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPESri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*238251*/      /*Scope*/ 12, /*->238264*/
/*238252*/        OPC_RecordChild2, // #2 = $Rm
/*238253*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238255*/        OPC_EmitMergeInputChains1_0,
/*238256*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPESrr), 0|OPFL_Chain,
                      MVT::i32, 2/*#Ops*/, 1, 2, 
                  // Src: (AArch64strict_fcmpe FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                  // Dst: (FCMPESrr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*238264*/      0, /*End of Scope*/
/*238265*/    /*Scope*/ 35, /*->238301*/
/*238266*/      OPC_CheckChild1Type, MVT::f64,
/*238268*/      OPC_Scope, 17, /*->238287*/ // 2 children in Scope
/*238270*/        OPC_MoveChild2,
/*238271*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238274*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238276*/        OPC_MoveParent,
/*238277*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238279*/        OPC_EmitMergeInputChains1_0,
/*238280*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPEDri), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (AArch64strict_fcmpe FPR64:{ *:[f64] }:$Rn, (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPEDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*238287*/      /*Scope*/ 12, /*->238300*/
/*238288*/        OPC_RecordChild2, // #2 = $Rm
/*238289*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238291*/        OPC_EmitMergeInputChains1_0,
/*238292*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPEDrr), 0|OPFL_Chain,
                      MVT::i32, 2/*#Ops*/, 1, 2, 
                  // Src: (AArch64strict_fcmpe FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                  // Dst: (FCMPEDrr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*238300*/      0, /*End of Scope*/
/*238301*/    0, /*End of Scope*/
/*238302*/  /*SwitchOpcode*/ 112, TARGET_VAL(AArch64ISD::STRICT_FCMP),// ->238417
/*238305*/    OPC_RecordNode, // #0 = 'AArch64strict_fcmp' chained node
/*238306*/    OPC_RecordChild1, // #1 = $Rn
/*238307*/    OPC_Scope, 35, /*->238344*/ // 3 children in Scope
/*238309*/      OPC_CheckChild1Type, MVT::f16,
/*238311*/      OPC_Scope, 17, /*->238330*/ // 2 children in Scope
/*238313*/        OPC_MoveChild2,
/*238314*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238317*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238319*/        OPC_MoveParent,
/*238320*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*238322*/        OPC_EmitMergeInputChains1_0,
/*238323*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPHri), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (AArch64strict_fcmp FPR16:{ *:[f16] }:$Rn, (fpimm:{ *:[f16] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*238330*/      /*Scope*/ 12, /*->238343*/
/*238331*/        OPC_RecordChild2, // #2 = $Rm
/*238332*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*238334*/        OPC_EmitMergeInputChains1_0,
/*238335*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPHrr), 0|OPFL_Chain,
                      MVT::i32, 2/*#Ops*/, 1, 2, 
                  // Src: (AArch64strict_fcmp FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                  // Dst: (FCMPHrr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*238343*/      0, /*End of Scope*/
/*238344*/    /*Scope*/ 35, /*->238380*/
/*238345*/      OPC_CheckChild1Type, MVT::f32,
/*238347*/      OPC_Scope, 17, /*->238366*/ // 2 children in Scope
/*238349*/        OPC_MoveChild2,
/*238350*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238353*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238355*/        OPC_MoveParent,
/*238356*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238358*/        OPC_EmitMergeInputChains1_0,
/*238359*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPSri), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (AArch64strict_fcmp FPR32:{ *:[f32] }:$Rn, (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*238366*/      /*Scope*/ 12, /*->238379*/
/*238367*/        OPC_RecordChild2, // #2 = $Rm
/*238368*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238370*/        OPC_EmitMergeInputChains1_0,
/*238371*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPSrr), 0|OPFL_Chain,
                      MVT::i32, 2/*#Ops*/, 1, 2, 
                  // Src: (AArch64strict_fcmp FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                  // Dst: (FCMPSrr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*238379*/      0, /*End of Scope*/
/*238380*/    /*Scope*/ 35, /*->238416*/
/*238381*/      OPC_CheckChild1Type, MVT::f64,
/*238383*/      OPC_Scope, 17, /*->238402*/ // 2 children in Scope
/*238385*/        OPC_MoveChild2,
/*238386*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238389*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238391*/        OPC_MoveParent,
/*238392*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238394*/        OPC_EmitMergeInputChains1_0,
/*238395*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPDri), 0|OPFL_Chain,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (AArch64strict_fcmp FPR64:{ *:[f64] }:$Rn, (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*238402*/      /*Scope*/ 12, /*->238415*/
/*238403*/        OPC_RecordChild2, // #2 = $Rm
/*238404*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238406*/        OPC_EmitMergeInputChains1_0,
/*238407*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPDrr), 0|OPFL_Chain,
                      MVT::i32, 2/*#Ops*/, 1, 2, 
                  // Src: (AArch64strict_fcmp FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                  // Dst: (FCMPDrr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*238415*/      0, /*End of Scope*/
/*238416*/    0, /*End of Scope*/
/*238417*/  /*SwitchOpcode*/ 105, TARGET_VAL(AArch64ISD::FCMP),// ->238525
/*238420*/    OPC_RecordChild0, // #0 = $Rn
/*238421*/    OPC_Scope, 33, /*->238456*/ // 3 children in Scope
/*238423*/      OPC_CheckChild0Type, MVT::f16,
/*238425*/      OPC_Scope, 16, /*->238443*/ // 2 children in Scope
/*238427*/        OPC_MoveChild1,
/*238428*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238431*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238433*/        OPC_MoveParent,
/*238434*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*238436*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPHri), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (AArch64fcmp FPR16:{ *:[f16] }:$Rn, (fpimm:{ *:[f16] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPHri:{ *:[i32] } FPR16:{ *:[f16] }:$Rn)
/*238443*/      /*Scope*/ 11, /*->238455*/
/*238444*/        OPC_RecordChild1, // #1 = $Rm
/*238445*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*238447*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPHrr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64fcmp FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                  // Dst: (FCMPHrr:{ *:[i32] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*238455*/      0, /*End of Scope*/
/*238456*/    /*Scope*/ 33, /*->238490*/
/*238457*/      OPC_CheckChild0Type, MVT::f32,
/*238459*/      OPC_Scope, 16, /*->238477*/ // 2 children in Scope
/*238461*/        OPC_MoveChild1,
/*238462*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238465*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238467*/        OPC_MoveParent,
/*238468*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238470*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPSri), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (AArch64fcmp FPR32:{ *:[f32] }:$Rn, (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPSri:{ *:[i32] } FPR32:{ *:[f32] }:$Rn)
/*238477*/      /*Scope*/ 11, /*->238489*/
/*238478*/        OPC_RecordChild1, // #1 = $Rm
/*238479*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238481*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPSrr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64fcmp FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                  // Dst: (FCMPSrr:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*238489*/      0, /*End of Scope*/
/*238490*/    /*Scope*/ 33, /*->238524*/
/*238491*/      OPC_CheckChild0Type, MVT::f64,
/*238493*/      OPC_Scope, 16, /*->238511*/ // 2 children in Scope
/*238495*/        OPC_MoveChild1,
/*238496*/        OPC_CheckOpcode, TARGET_VAL(ISD::ConstantFP),
/*238499*/        OPC_CheckPredicate, 57, // Predicate_fpimm0
/*238501*/        OPC_MoveParent,
/*238502*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238504*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPDri), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (AArch64fcmp FPR64:{ *:[f64] }:$Rn, (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>>) - Complexity = 7
                  // Dst: (FCMPDri:{ *:[i32] } FPR64:{ *:[f64] }:$Rn)
/*238511*/      /*Scope*/ 11, /*->238523*/
/*238512*/        OPC_RecordChild1, // #1 = $Rm
/*238513*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*238515*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMPDrr), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64fcmp FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                  // Dst: (FCMPDrr:{ *:[i32] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*238523*/      0, /*End of Scope*/
/*238524*/    0, /*End of Scope*/
/*238525*/  /*SwitchOpcode*/ 54|128,1/*182*/, TARGET_VAL(AArch64ISD::SQSHLU_I),// ->238711
/*238529*/    OPC_RecordChild0, // #0 = $Rn
/*238530*/    OPC_RecordChild1, // #1 = $imm
/*238531*/    OPC_MoveChild1,
/*238532*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*238535*/    OPC_CheckType, MVT::i32,
/*238537*/    OPC_Scope, 17, /*->238556*/ // 6 children in Scope
/*238539*/      OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*238541*/      OPC_MoveParent,
/*238542*/      OPC_CheckType, MVT::i32,
/*238544*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238546*/      OPC_EmitConvertToTarget, 1,
/*238548*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUs), 0,
                    MVT::i32, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64sqshlui:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                // Dst: (SQSHLUs:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238556*/    /*Scope*/ 33, /*->238590*/
/*238557*/      OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*238559*/      OPC_MoveParent,
/*238560*/      OPC_SwitchType /*2 cases */, 12, MVT::i64,// ->238575
/*238563*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238565*/        OPC_EmitConvertToTarget, 1,
/*238567*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshlui:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                  // Dst: (SQSHLUd:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238575*/      /*SwitchType*/ 12, MVT::v1i64,// ->238589
/*238577*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238579*/        OPC_EmitConvertToTarget, 1,
/*238581*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshlui:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                  // Dst: (SQSHLUd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm)
/*238589*/      0, // EndSwitchType
/*238590*/    /*Scope*/ 33, /*->238624*/
/*238591*/      OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*238593*/      OPC_MoveParent,
/*238594*/      OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->238609
/*238597*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238599*/        OPC_EmitConvertToTarget, 1,
/*238601*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshlui:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 7
                  // Dst: (SQSHLUv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238609*/      /*SwitchType*/ 12, MVT::v16i8,// ->238623
/*238611*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238613*/        OPC_EmitConvertToTarget, 1,
/*238615*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUv16i8_shift), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshlui:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 7
                  // Dst: (SQSHLUv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238623*/      0, // EndSwitchType
/*238624*/    /*Scope*/ 33, /*->238658*/
/*238625*/      OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*238627*/      OPC_MoveParent,
/*238628*/      OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->238643
/*238631*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238633*/        OPC_EmitConvertToTarget, 1,
/*238635*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshlui:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 7
                  // Dst: (SQSHLUv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238643*/      /*SwitchType*/ 12, MVT::v8i16,// ->238657
/*238645*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238647*/        OPC_EmitConvertToTarget, 1,
/*238649*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshlui:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 7
                  // Dst: (SQSHLUv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238657*/      0, // EndSwitchType
/*238658*/    /*Scope*/ 33, /*->238692*/
/*238659*/      OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*238661*/      OPC_MoveParent,
/*238662*/      OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->238677
/*238665*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238667*/        OPC_EmitConvertToTarget, 1,
/*238669*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshlui:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                  // Dst: (SQSHLUv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238677*/      /*SwitchType*/ 12, MVT::v4i32,// ->238691
/*238679*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238681*/        OPC_EmitConvertToTarget, 1,
/*238683*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshlui:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                  // Dst: (SQSHLUv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238691*/      0, // EndSwitchType
/*238692*/    /*Scope*/ 17, /*->238710*/
/*238693*/      OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*238695*/      OPC_MoveParent,
/*238696*/      OPC_CheckType, MVT::v2i64,
/*238698*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238700*/      OPC_EmitConvertToTarget, 1,
/*238702*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLUv2i64_shift), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64sqshlui:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                // Dst: (SQSHLUv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238710*/    0, /*End of Scope*/
/*238711*/  /*SwitchOpcode*/ 54|128,1/*182*/, TARGET_VAL(AArch64ISD::SQSHL_I),// ->238897
/*238715*/    OPC_RecordChild0, // #0 = $Rn
/*238716*/    OPC_RecordChild1, // #1 = $imm
/*238717*/    OPC_MoveChild1,
/*238718*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*238721*/    OPC_CheckType, MVT::i32,
/*238723*/    OPC_Scope, 17, /*->238742*/ // 6 children in Scope
/*238725*/      OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*238727*/      OPC_MoveParent,
/*238728*/      OPC_CheckType, MVT::i32,
/*238730*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238732*/      OPC_EmitConvertToTarget, 1,
/*238734*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLs), 0,
                    MVT::i32, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64sqshli:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                // Dst: (SQSHLs:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238742*/    /*Scope*/ 33, /*->238776*/
/*238743*/      OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*238745*/      OPC_MoveParent,
/*238746*/      OPC_SwitchType /*2 cases */, 12, MVT::i64,// ->238761
/*238749*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238751*/        OPC_EmitConvertToTarget, 1,
/*238753*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshli:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                  // Dst: (SQSHLd:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238761*/      /*SwitchType*/ 12, MVT::v1i64,// ->238775
/*238763*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238765*/        OPC_EmitConvertToTarget, 1,
/*238767*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshli:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                  // Dst: (SQSHLd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm)
/*238775*/      0, // EndSwitchType
/*238776*/    /*Scope*/ 33, /*->238810*/
/*238777*/      OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*238779*/      OPC_MoveParent,
/*238780*/      OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->238795
/*238783*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238785*/        OPC_EmitConvertToTarget, 1,
/*238787*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshli:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 7
                  // Dst: (SQSHLv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238795*/      /*SwitchType*/ 12, MVT::v16i8,// ->238809
/*238797*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238799*/        OPC_EmitConvertToTarget, 1,
/*238801*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv16i8_shift), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshli:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 7
                  // Dst: (SQSHLv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238809*/      0, // EndSwitchType
/*238810*/    /*Scope*/ 33, /*->238844*/
/*238811*/      OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*238813*/      OPC_MoveParent,
/*238814*/      OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->238829
/*238817*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238819*/        OPC_EmitConvertToTarget, 1,
/*238821*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshli:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 7
                  // Dst: (SQSHLv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238829*/      /*SwitchType*/ 12, MVT::v8i16,// ->238843
/*238831*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238833*/        OPC_EmitConvertToTarget, 1,
/*238835*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshli:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 7
                  // Dst: (SQSHLv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238843*/      0, // EndSwitchType
/*238844*/    /*Scope*/ 33, /*->238878*/
/*238845*/      OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*238847*/      OPC_MoveParent,
/*238848*/      OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->238863
/*238851*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238853*/        OPC_EmitConvertToTarget, 1,
/*238855*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshli:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                  // Dst: (SQSHLv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238863*/      /*SwitchType*/ 12, MVT::v4i32,// ->238877
/*238865*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238867*/        OPC_EmitConvertToTarget, 1,
/*238869*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64sqshli:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                  // Dst: (SQSHLv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238877*/      0, // EndSwitchType
/*238878*/    /*Scope*/ 17, /*->238896*/
/*238879*/      OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*238881*/      OPC_MoveParent,
/*238882*/      OPC_CheckType, MVT::v2i64,
/*238884*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238886*/      OPC_EmitConvertToTarget, 1,
/*238888*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHLv2i64_shift), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64sqshli:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                // Dst: (SQSHLv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238896*/    0, /*End of Scope*/
/*238897*/  /*SwitchOpcode*/ 36|128,1/*164*/, TARGET_VAL(AArch64ISD::SRSHR_I),// ->239065
/*238901*/    OPC_RecordChild0, // #0 = $Rn
/*238902*/    OPC_RecordChild1, // #1 = $imm
/*238903*/    OPC_MoveChild1,
/*238904*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*238907*/    OPC_CheckType, MVT::i32,
/*238909*/    OPC_Scope, 33, /*->238944*/ // 5 children in Scope
/*238911*/      OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*238913*/      OPC_MoveParent,
/*238914*/      OPC_SwitchType /*2 cases */, 12, MVT::i64,// ->238929
/*238917*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238919*/        OPC_EmitConvertToTarget, 1,
/*238921*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64srshri:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                  // Dst: (SRSHRd:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238929*/      /*SwitchType*/ 12, MVT::v1i64,// ->238943
/*238931*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238933*/        OPC_EmitConvertToTarget, 1,
/*238935*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64srshri:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                  // Dst: (SRSHRd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*238943*/      0, // EndSwitchType
/*238944*/    /*Scope*/ 33, /*->238978*/
/*238945*/      OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*238947*/      OPC_MoveParent,
/*238948*/      OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->238963
/*238951*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238953*/        OPC_EmitConvertToTarget, 1,
/*238955*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64srshri:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 7
                  // Dst: (SRSHRv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238963*/      /*SwitchType*/ 12, MVT::v16i8,// ->238977
/*238965*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238967*/        OPC_EmitConvertToTarget, 1,
/*238969*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRv16i8_shift), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64srshri:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 7
                  // Dst: (SRSHRv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238977*/      0, // EndSwitchType
/*238978*/    /*Scope*/ 33, /*->239012*/
/*238979*/      OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*238981*/      OPC_MoveParent,
/*238982*/      OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->238997
/*238985*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*238987*/        OPC_EmitConvertToTarget, 1,
/*238989*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64srshri:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 7
                  // Dst: (SRSHRv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*238997*/      /*SwitchType*/ 12, MVT::v8i16,// ->239011
/*238999*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239001*/        OPC_EmitConvertToTarget, 1,
/*239003*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64srshri:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 7
                  // Dst: (SRSHRv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239011*/      0, // EndSwitchType
/*239012*/    /*Scope*/ 33, /*->239046*/
/*239013*/      OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*239015*/      OPC_MoveParent,
/*239016*/      OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->239031
/*239019*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239021*/        OPC_EmitConvertToTarget, 1,
/*239023*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64srshri:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 7
                  // Dst: (SRSHRv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239031*/      /*SwitchType*/ 12, MVT::v4i32,// ->239045
/*239033*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239035*/        OPC_EmitConvertToTarget, 1,
/*239037*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64srshri:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 7
                  // Dst: (SRSHRv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239045*/      0, // EndSwitchType
/*239046*/    /*Scope*/ 17, /*->239064*/
/*239047*/      OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*239049*/      OPC_MoveParent,
/*239050*/      OPC_CheckType, MVT::v2i64,
/*239052*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239054*/      OPC_EmitConvertToTarget, 1,
/*239056*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SRSHRv2i64_shift), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64srshri:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                // Dst: (SRSHRv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239064*/    0, /*End of Scope*/
/*239065*/  /*SwitchOpcode*/ 36|128,1/*164*/, TARGET_VAL(AArch64ISD::VASHR),// ->239233
/*239069*/    OPC_RecordChild0, // #0 = $Rn
/*239070*/    OPC_RecordChild1, // #1 = $imm
/*239071*/    OPC_MoveChild1,
/*239072*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*239075*/    OPC_CheckType, MVT::i32,
/*239077*/    OPC_Scope, 33, /*->239112*/ // 5 children in Scope
/*239079*/      OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*239081*/      OPC_MoveParent,
/*239082*/      OPC_SwitchType /*2 cases */, 12, MVT::i64,// ->239097
/*239085*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239087*/        OPC_EmitConvertToTarget, 1,
/*239089*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vashr:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                  // Dst: (SSHRd:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239097*/      /*SwitchType*/ 12, MVT::v1i64,// ->239111
/*239099*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239101*/        OPC_EmitConvertToTarget, 1,
/*239103*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vashr:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                  // Dst: (SSHRd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*239111*/      0, // EndSwitchType
/*239112*/    /*Scope*/ 33, /*->239146*/
/*239113*/      OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*239115*/      OPC_MoveParent,
/*239116*/      OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->239131
/*239119*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239121*/        OPC_EmitConvertToTarget, 1,
/*239123*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vashr:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 7
                  // Dst: (SSHRv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239131*/      /*SwitchType*/ 12, MVT::v16i8,// ->239145
/*239133*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239135*/        OPC_EmitConvertToTarget, 1,
/*239137*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRv16i8_shift), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vashr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 7
                  // Dst: (SSHRv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239145*/      0, // EndSwitchType
/*239146*/    /*Scope*/ 33, /*->239180*/
/*239147*/      OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*239149*/      OPC_MoveParent,
/*239150*/      OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->239165
/*239153*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239155*/        OPC_EmitConvertToTarget, 1,
/*239157*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vashr:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 7
                  // Dst: (SSHRv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239165*/      /*SwitchType*/ 12, MVT::v8i16,// ->239179
/*239167*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239169*/        OPC_EmitConvertToTarget, 1,
/*239171*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vashr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 7
                  // Dst: (SSHRv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239179*/      0, // EndSwitchType
/*239180*/    /*Scope*/ 33, /*->239214*/
/*239181*/      OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*239183*/      OPC_MoveParent,
/*239184*/      OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->239199
/*239187*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239189*/        OPC_EmitConvertToTarget, 1,
/*239191*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vashr:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 7
                  // Dst: (SSHRv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239199*/      /*SwitchType*/ 12, MVT::v4i32,// ->239213
/*239201*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239203*/        OPC_EmitConvertToTarget, 1,
/*239205*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vashr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 7
                  // Dst: (SSHRv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239213*/      0, // EndSwitchType
/*239214*/    /*Scope*/ 17, /*->239232*/
/*239215*/      OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*239217*/      OPC_MoveParent,
/*239218*/      OPC_CheckType, MVT::v2i64,
/*239220*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239222*/      OPC_EmitConvertToTarget, 1,
/*239224*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHRv2i64_shift), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64vashr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                // Dst: (SSHRv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239232*/    0, /*End of Scope*/
/*239233*/  /*SwitchOpcode*/ 54|128,1/*182*/, TARGET_VAL(AArch64ISD::UQSHL_I),// ->239419
/*239237*/    OPC_RecordChild0, // #0 = $Rn
/*239238*/    OPC_RecordChild1, // #1 = $imm
/*239239*/    OPC_MoveChild1,
/*239240*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*239243*/    OPC_CheckType, MVT::i32,
/*239245*/    OPC_Scope, 17, /*->239264*/ // 6 children in Scope
/*239247*/      OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*239249*/      OPC_MoveParent,
/*239250*/      OPC_CheckType, MVT::i32,
/*239252*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239254*/      OPC_EmitConvertToTarget, 1,
/*239256*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLs), 0,
                    MVT::i32, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64uqshli:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                // Dst: (UQSHLs:{ *:[i32] } FPR32:{ *:[i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239264*/    /*Scope*/ 33, /*->239298*/
/*239265*/      OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*239267*/      OPC_MoveParent,
/*239268*/      OPC_SwitchType /*2 cases */, 12, MVT::i64,// ->239283
/*239271*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239273*/        OPC_EmitConvertToTarget, 1,
/*239275*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64uqshli:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                  // Dst: (UQSHLd:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239283*/      /*SwitchType*/ 12, MVT::v1i64,// ->239297
/*239285*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239287*/        OPC_EmitConvertToTarget, 1,
/*239289*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64uqshli:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                  // Dst: (UQSHLd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm)
/*239297*/      0, // EndSwitchType
/*239298*/    /*Scope*/ 33, /*->239332*/
/*239299*/      OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*239301*/      OPC_MoveParent,
/*239302*/      OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->239317
/*239305*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239307*/        OPC_EmitConvertToTarget, 1,
/*239309*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64uqshli:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 7
                  // Dst: (UQSHLv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239317*/      /*SwitchType*/ 12, MVT::v16i8,// ->239331
/*239319*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239321*/        OPC_EmitConvertToTarget, 1,
/*239323*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv16i8_shift), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64uqshli:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 7
                  // Dst: (UQSHLv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239331*/      0, // EndSwitchType
/*239332*/    /*Scope*/ 33, /*->239366*/
/*239333*/      OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*239335*/      OPC_MoveParent,
/*239336*/      OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->239351
/*239339*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239341*/        OPC_EmitConvertToTarget, 1,
/*239343*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64uqshli:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 7
                  // Dst: (UQSHLv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239351*/      /*SwitchType*/ 12, MVT::v8i16,// ->239365
/*239353*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239355*/        OPC_EmitConvertToTarget, 1,
/*239357*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64uqshli:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 7
                  // Dst: (UQSHLv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239365*/      0, // EndSwitchType
/*239366*/    /*Scope*/ 33, /*->239400*/
/*239367*/      OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*239369*/      OPC_MoveParent,
/*239370*/      OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->239385
/*239373*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239375*/        OPC_EmitConvertToTarget, 1,
/*239377*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64uqshli:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                  // Dst: (UQSHLv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239385*/      /*SwitchType*/ 12, MVT::v4i32,// ->239399
/*239387*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239389*/        OPC_EmitConvertToTarget, 1,
/*239391*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64uqshli:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                  // Dst: (UQSHLv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239399*/      0, // EndSwitchType
/*239400*/    /*Scope*/ 17, /*->239418*/
/*239401*/      OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*239403*/      OPC_MoveParent,
/*239404*/      OPC_CheckType, MVT::v2i64,
/*239406*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239408*/      OPC_EmitConvertToTarget, 1,
/*239410*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHLv2i64_shift), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64uqshli:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                // Dst: (UQSHLv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239418*/    0, /*End of Scope*/
/*239419*/  /*SwitchOpcode*/ 36|128,1/*164*/, TARGET_VAL(AArch64ISD::URSHR_I),// ->239587
/*239423*/    OPC_RecordChild0, // #0 = $Rn
/*239424*/    OPC_RecordChild1, // #1 = $imm
/*239425*/    OPC_MoveChild1,
/*239426*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*239429*/    OPC_CheckType, MVT::i32,
/*239431*/    OPC_Scope, 33, /*->239466*/ // 5 children in Scope
/*239433*/      OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*239435*/      OPC_MoveParent,
/*239436*/      OPC_SwitchType /*2 cases */, 12, MVT::i64,// ->239451
/*239439*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239441*/        OPC_EmitConvertToTarget, 1,
/*239443*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64urshri:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                  // Dst: (URSHRd:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239451*/      /*SwitchType*/ 12, MVT::v1i64,// ->239465
/*239453*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239455*/        OPC_EmitConvertToTarget, 1,
/*239457*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64urshri:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                  // Dst: (URSHRd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*239465*/      0, // EndSwitchType
/*239466*/    /*Scope*/ 33, /*->239500*/
/*239467*/      OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*239469*/      OPC_MoveParent,
/*239470*/      OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->239485
/*239473*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239475*/        OPC_EmitConvertToTarget, 1,
/*239477*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64urshri:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 7
                  // Dst: (URSHRv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239485*/      /*SwitchType*/ 12, MVT::v16i8,// ->239499
/*239487*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239489*/        OPC_EmitConvertToTarget, 1,
/*239491*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRv16i8_shift), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64urshri:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 7
                  // Dst: (URSHRv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239499*/      0, // EndSwitchType
/*239500*/    /*Scope*/ 33, /*->239534*/
/*239501*/      OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*239503*/      OPC_MoveParent,
/*239504*/      OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->239519
/*239507*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239509*/        OPC_EmitConvertToTarget, 1,
/*239511*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64urshri:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 7
                  // Dst: (URSHRv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239519*/      /*SwitchType*/ 12, MVT::v8i16,// ->239533
/*239521*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239523*/        OPC_EmitConvertToTarget, 1,
/*239525*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64urshri:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 7
                  // Dst: (URSHRv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239533*/      0, // EndSwitchType
/*239534*/    /*Scope*/ 33, /*->239568*/
/*239535*/      OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*239537*/      OPC_MoveParent,
/*239538*/      OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->239553
/*239541*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239543*/        OPC_EmitConvertToTarget, 1,
/*239545*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64urshri:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 7
                  // Dst: (URSHRv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239553*/      /*SwitchType*/ 12, MVT::v4i32,// ->239567
/*239555*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239557*/        OPC_EmitConvertToTarget, 1,
/*239559*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64urshri:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 7
                  // Dst: (URSHRv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239567*/      0, // EndSwitchType
/*239568*/    /*Scope*/ 17, /*->239586*/
/*239569*/      OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*239571*/      OPC_MoveParent,
/*239572*/      OPC_CheckType, MVT::v2i64,
/*239574*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239576*/      OPC_EmitConvertToTarget, 1,
/*239578*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::URSHRv2i64_shift), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64urshri:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                // Dst: (URSHRv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239586*/    0, /*End of Scope*/
/*239587*/  /*SwitchOpcode*/ 36|128,1/*164*/, TARGET_VAL(AArch64ISD::VLSHR),// ->239755
/*239591*/    OPC_RecordChild0, // #0 = $Rn
/*239592*/    OPC_RecordChild1, // #1 = $imm
/*239593*/    OPC_MoveChild1,
/*239594*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*239597*/    OPC_CheckType, MVT::i32,
/*239599*/    OPC_Scope, 33, /*->239634*/ // 5 children in Scope
/*239601*/      OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*239603*/      OPC_MoveParent,
/*239604*/      OPC_SwitchType /*2 cases */, 12, MVT::i64,// ->239619
/*239607*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239609*/        OPC_EmitConvertToTarget, 1,
/*239611*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRd), 0,
                      MVT::i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vlshr:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                  // Dst: (USHRd:{ *:[i64] } FPR64:{ *:[i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239619*/      /*SwitchType*/ 12, MVT::v1i64,// ->239633
/*239621*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239623*/        OPC_EmitConvertToTarget, 1,
/*239625*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vlshr:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                  // Dst: (USHRd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm)
/*239633*/      0, // EndSwitchType
/*239634*/    /*Scope*/ 33, /*->239668*/
/*239635*/      OPC_CheckPredicate, 11, // Predicate_vecshiftR8
/*239637*/      OPC_MoveParent,
/*239638*/      OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->239653
/*239641*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239643*/        OPC_EmitConvertToTarget, 1,
/*239645*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRv8i8_shift), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vlshr:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 7
                  // Dst: (USHRv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239653*/      /*SwitchType*/ 12, MVT::v16i8,// ->239667
/*239655*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239657*/        OPC_EmitConvertToTarget, 1,
/*239659*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRv16i8_shift), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vlshr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR8>>:$imm) - Complexity = 7
                  // Dst: (USHRv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239667*/      0, // EndSwitchType
/*239668*/    /*Scope*/ 33, /*->239702*/
/*239669*/      OPC_CheckPredicate, 12, // Predicate_vecshiftR16
/*239671*/      OPC_MoveParent,
/*239672*/      OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->239687
/*239675*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239677*/        OPC_EmitConvertToTarget, 1,
/*239679*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRv4i16_shift), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vlshr:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 7
                  // Dst: (USHRv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239687*/      /*SwitchType*/ 12, MVT::v8i16,// ->239701
/*239689*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239691*/        OPC_EmitConvertToTarget, 1,
/*239693*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRv8i16_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vlshr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16>>:$imm) - Complexity = 7
                  // Dst: (USHRv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239701*/      0, // EndSwitchType
/*239702*/    /*Scope*/ 33, /*->239736*/
/*239703*/      OPC_CheckPredicate, 13, // Predicate_vecshiftR32
/*239705*/      OPC_MoveParent,
/*239706*/      OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->239721
/*239709*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239711*/        OPC_EmitConvertToTarget, 1,
/*239713*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRv2i32_shift), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vlshr:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 7
                  // Dst: (USHRv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239721*/      /*SwitchType*/ 12, MVT::v4i32,// ->239735
/*239723*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239725*/        OPC_EmitConvertToTarget, 1,
/*239727*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRv4i32_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vlshr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32>>:$imm) - Complexity = 7
                  // Dst: (USHRv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239735*/      0, // EndSwitchType
/*239736*/    /*Scope*/ 17, /*->239754*/
/*239737*/      OPC_CheckPredicate, 10, // Predicate_vecshiftR64
/*239739*/      OPC_MoveParent,
/*239740*/      OPC_CheckType, MVT::v2i64,
/*239742*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*239744*/      OPC_EmitConvertToTarget, 1,
/*239746*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHRv2i64_shift), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64vlshr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64>>:$imm) - Complexity = 7
                // Dst: (USHRv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*239754*/    0, /*End of Scope*/
/*239755*/  /*SwitchOpcode*/ 64|128,1/*192*/, TARGET_VAL(AArch64ISD::SST1_IMM),// ->239951
/*239759*/    OPC_RecordNode, // #0 = 'AArch64st1_scatter_imm' chained node
/*239760*/    OPC_CaptureGlueInput,
/*239761*/    OPC_RecordChild1, // #1 = $data
/*239762*/    OPC_Scope, 81, /*->239845*/ // 2 children in Scope
/*239764*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*239766*/      OPC_RecordChild2, // #2 = $gp
/*239767*/      OPC_RecordChild3, // #3 = $ptrs
/*239768*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*239770*/      OPC_RecordChild4, // #4 = $index
/*239771*/      OPC_MoveChild4,
/*239772*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*239775*/      OPC_CheckType, MVT::i64,
/*239777*/      OPC_Scope, 19, /*->239798*/ // 3 children in Scope
/*239779*/        OPC_CheckPredicate, 35, // Predicate_timm0_31
/*239781*/        OPC_MoveParent,
/*239782*/        OPC_MoveChild5,
/*239783*/        OPC_CheckValueType, MVT::nxv4i8,
/*239785*/        OPC_MoveParent,
/*239786*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*239788*/        OPC_EmitMergeInputChains1_0,
/*239789*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_S_IMM), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_imm ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_timm0_31>>:$index, nxv4i8:{ *:[Other] }) - Complexity = 7
                  // Dst: (SST1B_S_IMM ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_timm0_31>>:$index)
/*239798*/      /*Scope*/ 22, /*->239821*/
/*239799*/        OPC_CheckPredicate, 58, // Predicate_tuimm5s2
/*239801*/        OPC_MoveParent,
/*239802*/        OPC_MoveChild5,
/*239803*/        OPC_CheckValueType, MVT::nxv4i16,
/*239805*/        OPC_MoveParent,
/*239806*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*239808*/        OPC_EmitMergeInputChains1_0,
/*239809*/        OPC_EmitNodeXForm, 15, 4, // UImmS2XForm
/*239812*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_IMM), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 5, 
                  // Src: (AArch64st1_scatter_imm ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_tuimm5s2>><<X:UImmS2XForm>>:$index, nxv4i16:{ *:[Other] }) - Complexity = 7
                  // Dst: (SST1H_S_IMM ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (UImmS2XForm:{ *:[i64] } (timm:{ *:[i64] })<<P:Predicate_tuimm5s2>>:$index))
/*239821*/      /*Scope*/ 22, /*->239844*/
/*239822*/        OPC_CheckPredicate, 59, // Predicate_tuimm5s4
/*239824*/        OPC_MoveParent,
/*239825*/        OPC_MoveChild5,
/*239826*/        OPC_CheckValueType, MVT::nxv4i32,
/*239828*/        OPC_MoveParent,
/*239829*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*239831*/        OPC_EmitMergeInputChains1_0,
/*239832*/        OPC_EmitNodeXForm, 16, 4, // UImmS4XForm
/*239835*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_IMM), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 5, 
                  // Src: (AArch64st1_scatter_imm ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_tuimm5s4>><<X:UImmS4XForm>>:$index, nxv4i32:{ *:[Other] }) - Complexity = 7
                  // Dst: (SST1W_IMM ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (UImmS4XForm:{ *:[i64] } (timm:{ *:[i64] })<<P:Predicate_tuimm5s4>>:$index))
/*239844*/      0, /*End of Scope*/
/*239845*/    /*Scope*/ 104, /*->239950*/
/*239846*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*239848*/      OPC_RecordChild2, // #2 = $gp
/*239849*/      OPC_RecordChild3, // #3 = $ptrs
/*239850*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*239852*/      OPC_RecordChild4, // #4 = $index
/*239853*/      OPC_MoveChild4,
/*239854*/      OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*239857*/      OPC_CheckType, MVT::i64,
/*239859*/      OPC_Scope, 19, /*->239880*/ // 4 children in Scope
/*239861*/        OPC_CheckPredicate, 35, // Predicate_timm0_31
/*239863*/        OPC_MoveParent,
/*239864*/        OPC_MoveChild5,
/*239865*/        OPC_CheckValueType, MVT::nxv2i8,
/*239867*/        OPC_MoveParent,
/*239868*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*239870*/        OPC_EmitMergeInputChains1_0,
/*239871*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D_IMM), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_imm ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_timm0_31>>:$index, nxv2i8:{ *:[Other] }) - Complexity = 7
                  // Dst: (SST1B_D_IMM ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_timm0_31>>:$index)
/*239880*/      /*Scope*/ 22, /*->239903*/
/*239881*/        OPC_CheckPredicate, 58, // Predicate_tuimm5s2
/*239883*/        OPC_MoveParent,
/*239884*/        OPC_MoveChild5,
/*239885*/        OPC_CheckValueType, MVT::nxv2i16,
/*239887*/        OPC_MoveParent,
/*239888*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*239890*/        OPC_EmitMergeInputChains1_0,
/*239891*/        OPC_EmitNodeXForm, 15, 4, // UImmS2XForm
/*239894*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_IMM), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 5, 
                  // Src: (AArch64st1_scatter_imm ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_tuimm5s2>><<X:UImmS2XForm>>:$index, nxv2i16:{ *:[Other] }) - Complexity = 7
                  // Dst: (SST1H_D_IMM ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (UImmS2XForm:{ *:[i64] } (timm:{ *:[i64] })<<P:Predicate_tuimm5s2>>:$index))
/*239903*/      /*Scope*/ 22, /*->239926*/
/*239904*/        OPC_CheckPredicate, 59, // Predicate_tuimm5s4
/*239906*/        OPC_MoveParent,
/*239907*/        OPC_MoveChild5,
/*239908*/        OPC_CheckValueType, MVT::nxv2i32,
/*239910*/        OPC_MoveParent,
/*239911*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*239913*/        OPC_EmitMergeInputChains1_0,
/*239914*/        OPC_EmitNodeXForm, 16, 4, // UImmS4XForm
/*239917*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_IMM), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 5, 
                  // Src: (AArch64st1_scatter_imm ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_tuimm5s4>><<X:UImmS4XForm>>:$index, nxv2i32:{ *:[Other] }) - Complexity = 7
                  // Dst: (SST1W_D_IMM ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (UImmS4XForm:{ *:[i64] } (timm:{ *:[i64] })<<P:Predicate_tuimm5s4>>:$index))
/*239926*/      /*Scope*/ 22, /*->239949*/
/*239927*/        OPC_CheckPredicate, 60, // Predicate_tuimm5s8
/*239929*/        OPC_MoveParent,
/*239930*/        OPC_MoveChild5,
/*239931*/        OPC_CheckValueType, MVT::nxv2i64,
/*239933*/        OPC_MoveParent,
/*239934*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*239936*/        OPC_EmitMergeInputChains1_0,
/*239937*/        OPC_EmitNodeXForm, 17, 4, // UImmS8XForm
/*239940*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_IMM), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 5, 
                  // Src: (AArch64st1_scatter_imm ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (timm:{ *:[i64] })<<P:Predicate_tuimm5s8>><<X:UImmS8XForm>>:$index, nxv2i64:{ *:[Other] }) - Complexity = 7
                  // Dst: (SST1D_IMM ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (UImmS8XForm:{ *:[i64] } (timm:{ *:[i64] })<<P:Predicate_tuimm5s8>>:$index))
/*239949*/      0, /*End of Scope*/
/*239950*/    0, /*End of Scope*/
/*239951*/  /*SwitchOpcode*/ 7|128,4/*519*/, TARGET_VAL(ISD::MSTORE),// ->240474
/*239955*/    OPC_RecordMemRef,
/*239956*/    OPC_RecordNode, // #0 = 'masked_st' chained node
/*239957*/    OPC_RecordChild1, // #1 = $vec
/*239958*/    OPC_Scope, 110, /*->240070*/ // 10 children in Scope
/*239960*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*239962*/      OPC_RecordChild2, // #2 = $base
/*239963*/      OPC_CheckChild2Type, MVT::i64,
/*239965*/      OPC_MoveChild3,
/*239966*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*239969*/      OPC_MoveParent,
/*239970*/      OPC_RecordChild4, // #3 = $gp
/*239971*/      OPC_CheckChild4Type, MVT::nxv2i1,
/*239973*/      OPC_Scope, 58, /*->240033*/ // 3 children in Scope
/*239975*/        OPC_CheckPredicate, 61, // Predicate_trunc_masked_store
/*239977*/        OPC_Scope, 17, /*->239996*/ // 3 children in Scope
/*239979*/          OPC_CheckPredicate, 62, // Predicate_trunc_masked_store_i8
/*239981*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*239983*/          OPC_EmitMergeInputChains1_0,
/*239984*/          OPC_EmitInteger, MVT::i64, 0, 
/*239987*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 1, 3, 2, 4, 
                    // Src: (masked_st ZPR:{ *:[nxv2i64] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp)<<P:Predicate_trunc_masked_store>><<P:Predicate_trunc_masked_store_i8>> - Complexity = 7
                    // Dst: (ST1B_D_IMM ZPR:{ *:[nxv2i64] }:$vec, PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*239996*/        /*Scope*/ 17, /*->240014*/
/*239997*/          OPC_CheckPredicate, 63, // Predicate_trunc_masked_store_i16
/*239999*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240001*/          OPC_EmitMergeInputChains1_0,
/*240002*/          OPC_EmitInteger, MVT::i64, 0, 
/*240005*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 1, 3, 2, 4, 
                    // Src: (masked_st ZPR:{ *:[nxv2i64] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp)<<P:Predicate_trunc_masked_store>><<P:Predicate_trunc_masked_store_i16>> - Complexity = 7
                    // Dst: (ST1H_D_IMM ZPR:{ *:[nxv2i64] }:$vec, PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240014*/        /*Scope*/ 17, /*->240032*/
/*240015*/          OPC_CheckPredicate, 64, // Predicate_trunc_masked_store_i32
/*240017*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240019*/          OPC_EmitMergeInputChains1_0,
/*240020*/          OPC_EmitInteger, MVT::i64, 0, 
/*240023*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 1, 3, 2, 4, 
                    // Src: (masked_st ZPR:{ *:[nxv2i64] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp)<<P:Predicate_trunc_masked_store>><<P:Predicate_trunc_masked_store_i32>> - Complexity = 7
                    // Dst: (ST1W_D_IMM ZPR:{ *:[nxv2i64] }:$vec, PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240032*/        0, /*End of Scope*/
/*240033*/      /*Scope*/ 17, /*->240051*/
/*240034*/        OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240036*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240038*/        OPC_EmitMergeInputChains1_0,
/*240039*/        OPC_EmitInteger, MVT::i64, 0, 
/*240042*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv2i64] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                  // Dst: (ST1D_IMM ZPR:{ *:[nxv2i64] }:$vec, PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240051*/      /*Scope*/ 17, /*->240069*/
/*240052*/        OPC_CheckPredicate, 66, // Predicate_non_temporal_store
/*240054*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240056*/        OPC_EmitMergeInputChains1_0,
/*240057*/        OPC_EmitInteger, MVT::i64, 0, 
/*240060*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv2i64] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp)<<P:Predicate_non_temporal_store>> - Complexity = 7
                  // Dst: (STNT1D_ZRI ZPR:{ *:[nxv2i64] }:$vec, PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240069*/      0, /*End of Scope*/
/*240070*/    /*Scope*/ 30, /*->240101*/
/*240071*/      OPC_CheckChild1Type, MVT::nxv2f16,
/*240073*/      OPC_RecordChild2, // #2 = $base
/*240074*/      OPC_CheckChild2Type, MVT::i64,
/*240076*/      OPC_MoveChild3,
/*240077*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240080*/      OPC_MoveParent,
/*240081*/      OPC_RecordChild4, // #3 = $gp
/*240082*/      OPC_CheckChild4Type, MVT::nxv2i1,
/*240084*/      OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240086*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240088*/      OPC_EmitMergeInputChains1_0,
/*240089*/      OPC_EmitInteger, MVT::i64, 0, 
/*240092*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4/*#Ops*/, 1, 3, 2, 4, 
                // Src: (masked_st ZPR:{ *:[nxv2f16] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                // Dst: (ST1H_D_IMM ZPR:{ *:[nxv2f16] }:$vec, PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240101*/    /*Scope*/ 30, /*->240132*/
/*240102*/      OPC_CheckChild1Type, MVT::nxv2f32,
/*240104*/      OPC_RecordChild2, // #2 = $base
/*240105*/      OPC_CheckChild2Type, MVT::i64,
/*240107*/      OPC_MoveChild3,
/*240108*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240111*/      OPC_MoveParent,
/*240112*/      OPC_RecordChild4, // #3 = $gp
/*240113*/      OPC_CheckChild4Type, MVT::nxv2i1,
/*240115*/      OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240117*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240119*/      OPC_EmitMergeInputChains1_0,
/*240120*/      OPC_EmitInteger, MVT::i64, 0, 
/*240123*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4/*#Ops*/, 1, 3, 2, 4, 
                // Src: (masked_st ZPR:{ *:[nxv2f32] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                // Dst: (ST1W_D_IMM ZPR:{ *:[nxv2f32] }:$vec, PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240132*/    /*Scope*/ 30, /*->240163*/
/*240133*/      OPC_CheckChild1Type, MVT::nxv2f64,
/*240135*/      OPC_RecordChild2, // #2 = $base
/*240136*/      OPC_CheckChild2Type, MVT::i64,
/*240138*/      OPC_MoveChild3,
/*240139*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240142*/      OPC_MoveParent,
/*240143*/      OPC_RecordChild4, // #3 = $gp
/*240144*/      OPC_CheckChild4Type, MVT::nxv2i1,
/*240146*/      OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240148*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240150*/      OPC_EmitMergeInputChains1_0,
/*240151*/      OPC_EmitInteger, MVT::i64, 0, 
/*240154*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4/*#Ops*/, 1, 3, 2, 4, 
                // Src: (masked_st ZPR:{ *:[nxv2f64] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                // Dst: (ST1D_IMM ZPR:{ *:[nxv2f64] }:$vec, PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240163*/    /*Scope*/ 92, /*->240256*/
/*240164*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*240166*/      OPC_RecordChild2, // #2 = $base
/*240167*/      OPC_CheckChild2Type, MVT::i64,
/*240169*/      OPC_MoveChild3,
/*240170*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240173*/      OPC_MoveParent,
/*240174*/      OPC_RecordChild4, // #3 = $gp
/*240175*/      OPC_CheckChild4Type, MVT::nxv4i1,
/*240177*/      OPC_Scope, 40, /*->240219*/ // 3 children in Scope
/*240179*/        OPC_CheckPredicate, 61, // Predicate_trunc_masked_store
/*240181*/        OPC_Scope, 17, /*->240200*/ // 2 children in Scope
/*240183*/          OPC_CheckPredicate, 62, // Predicate_trunc_masked_store_i8
/*240185*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240187*/          OPC_EmitMergeInputChains1_0,
/*240188*/          OPC_EmitInteger, MVT::i64, 0, 
/*240191*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 1, 3, 2, 4, 
                    // Src: (masked_st ZPR:{ *:[nxv4i32] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp)<<P:Predicate_trunc_masked_store>><<P:Predicate_trunc_masked_store_i8>> - Complexity = 7
                    // Dst: (ST1B_S_IMM ZPR:{ *:[nxv4i32] }:$vec, PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240200*/        /*Scope*/ 17, /*->240218*/
/*240201*/          OPC_CheckPredicate, 63, // Predicate_trunc_masked_store_i16
/*240203*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240205*/          OPC_EmitMergeInputChains1_0,
/*240206*/          OPC_EmitInteger, MVT::i64, 0, 
/*240209*/          OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        4/*#Ops*/, 1, 3, 2, 4, 
                    // Src: (masked_st ZPR:{ *:[nxv4i32] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp)<<P:Predicate_trunc_masked_store>><<P:Predicate_trunc_masked_store_i16>> - Complexity = 7
                    // Dst: (ST1H_S_IMM ZPR:{ *:[nxv4i32] }:$vec, PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240218*/        0, /*End of Scope*/
/*240219*/      /*Scope*/ 17, /*->240237*/
/*240220*/        OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240222*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240224*/        OPC_EmitMergeInputChains1_0,
/*240225*/        OPC_EmitInteger, MVT::i64, 0, 
/*240228*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv4i32] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                  // Dst: (ST1W_IMM ZPR:{ *:[nxv4i32] }:$vec, PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240237*/      /*Scope*/ 17, /*->240255*/
/*240238*/        OPC_CheckPredicate, 66, // Predicate_non_temporal_store
/*240240*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240242*/        OPC_EmitMergeInputChains1_0,
/*240243*/        OPC_EmitInteger, MVT::i64, 0, 
/*240246*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv4i32] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp)<<P:Predicate_non_temporal_store>> - Complexity = 7
                  // Dst: (STNT1W_ZRI ZPR:{ *:[nxv4i32] }:$vec, PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240255*/      0, /*End of Scope*/
/*240256*/    /*Scope*/ 30, /*->240287*/
/*240257*/      OPC_CheckChild1Type, MVT::nxv4f16,
/*240259*/      OPC_RecordChild2, // #2 = $base
/*240260*/      OPC_CheckChild2Type, MVT::i64,
/*240262*/      OPC_MoveChild3,
/*240263*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240266*/      OPC_MoveParent,
/*240267*/      OPC_RecordChild4, // #3 = $gp
/*240268*/      OPC_CheckChild4Type, MVT::nxv4i1,
/*240270*/      OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240272*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240274*/      OPC_EmitMergeInputChains1_0,
/*240275*/      OPC_EmitInteger, MVT::i64, 0, 
/*240278*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4/*#Ops*/, 1, 3, 2, 4, 
                // Src: (masked_st ZPR:{ *:[nxv4f16] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                // Dst: (ST1H_S_IMM ZPR:{ *:[nxv4f16] }:$vec, PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240287*/    /*Scope*/ 30, /*->240318*/
/*240288*/      OPC_CheckChild1Type, MVT::nxv4f32,
/*240290*/      OPC_RecordChild2, // #2 = $base
/*240291*/      OPC_CheckChild2Type, MVT::i64,
/*240293*/      OPC_MoveChild3,
/*240294*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240297*/      OPC_MoveParent,
/*240298*/      OPC_RecordChild4, // #3 = $gp
/*240299*/      OPC_CheckChild4Type, MVT::nxv4i1,
/*240301*/      OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240303*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240305*/      OPC_EmitMergeInputChains1_0,
/*240306*/      OPC_EmitInteger, MVT::i64, 0, 
/*240309*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4/*#Ops*/, 1, 3, 2, 4, 
                // Src: (masked_st ZPR:{ *:[nxv4f32] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                // Dst: (ST1W_IMM ZPR:{ *:[nxv4f32] }:$vec, PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240318*/    /*Scope*/ 71, /*->240390*/
/*240319*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*240321*/      OPC_RecordChild2, // #2 = $base
/*240322*/      OPC_CheckChild2Type, MVT::i64,
/*240324*/      OPC_MoveChild3,
/*240325*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240328*/      OPC_MoveParent,
/*240329*/      OPC_RecordChild4, // #3 = $gp
/*240330*/      OPC_CheckChild4Type, MVT::nxv8i1,
/*240332*/      OPC_Scope, 19, /*->240353*/ // 3 children in Scope
/*240334*/        OPC_CheckPredicate, 61, // Predicate_trunc_masked_store
/*240336*/        OPC_CheckPredicate, 62, // Predicate_trunc_masked_store_i8
/*240338*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240340*/        OPC_EmitMergeInputChains1_0,
/*240341*/        OPC_EmitInteger, MVT::i64, 0, 
/*240344*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv8i16] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp)<<P:Predicate_trunc_masked_store>><<P:Predicate_trunc_masked_store_i8>> - Complexity = 7
                  // Dst: (ST1B_H_IMM ZPR:{ *:[nxv8i16] }:$vec, PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240353*/      /*Scope*/ 17, /*->240371*/
/*240354*/        OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240356*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240358*/        OPC_EmitMergeInputChains1_0,
/*240359*/        OPC_EmitInteger, MVT::i64, 0, 
/*240362*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv8i16] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                  // Dst: (ST1H_IMM ZPR:{ *:[nxv8i16] }:$vec, PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240371*/      /*Scope*/ 17, /*->240389*/
/*240372*/        OPC_CheckPredicate, 66, // Predicate_non_temporal_store
/*240374*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240376*/        OPC_EmitMergeInputChains1_0,
/*240377*/        OPC_EmitInteger, MVT::i64, 0, 
/*240380*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv8i16] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp)<<P:Predicate_non_temporal_store>> - Complexity = 7
                  // Dst: (STNT1H_ZRI ZPR:{ *:[nxv8i16] }:$vec, PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240389*/      0, /*End of Scope*/
/*240390*/    /*Scope*/ 30, /*->240421*/
/*240391*/      OPC_CheckChild1Type, MVT::nxv8f16,
/*240393*/      OPC_RecordChild2, // #2 = $base
/*240394*/      OPC_CheckChild2Type, MVT::i64,
/*240396*/      OPC_MoveChild3,
/*240397*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240400*/      OPC_MoveParent,
/*240401*/      OPC_RecordChild4, // #3 = $gp
/*240402*/      OPC_CheckChild4Type, MVT::nxv8i1,
/*240404*/      OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240406*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240408*/      OPC_EmitMergeInputChains1_0,
/*240409*/      OPC_EmitInteger, MVT::i64, 0, 
/*240412*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                    4/*#Ops*/, 1, 3, 2, 4, 
                // Src: (masked_st ZPR:{ *:[nxv8f16] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                // Dst: (ST1H_IMM ZPR:{ *:[nxv8f16] }:$vec, PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240421*/    /*Scope*/ 51, /*->240473*/
/*240422*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*240424*/      OPC_RecordChild2, // #2 = $base
/*240425*/      OPC_CheckChild2Type, MVT::i64,
/*240427*/      OPC_MoveChild3,
/*240428*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*240431*/      OPC_MoveParent,
/*240432*/      OPC_RecordChild4, // #3 = $gp
/*240433*/      OPC_CheckChild4Type, MVT::nxv16i1,
/*240435*/      OPC_Scope, 17, /*->240454*/ // 2 children in Scope
/*240437*/        OPC_CheckPredicate, 65, // Predicate_nontrunc_masked_store
/*240439*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240441*/        OPC_EmitMergeInputChains1_0,
/*240442*/        OPC_EmitInteger, MVT::i64, 0, 
/*240445*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::ST1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv16i8] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv16i1] }:$gp)<<P:Predicate_nontrunc_masked_store>> - Complexity = 7
                  // Dst: (ST1B_IMM ZPR:{ *:[nxv16i8] }:$vec, PPR:{ *:[nxv16i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240454*/      /*Scope*/ 17, /*->240472*/
/*240455*/        OPC_CheckPredicate, 66, // Predicate_non_temporal_store
/*240457*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*240459*/        OPC_EmitMergeInputChains1_0,
/*240460*/        OPC_EmitInteger, MVT::i64, 0, 
/*240463*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::STNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      4/*#Ops*/, 1, 3, 2, 4, 
                  // Src: (masked_st ZPR:{ *:[nxv16i8] }:$vec, GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv16i1] }:$gp)<<P:Predicate_non_temporal_store>> - Complexity = 7
                  // Dst: (STNT1B_ZRI ZPR:{ *:[nxv16i8] }:$vec, PPR:{ *:[nxv16i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*240472*/      0, /*End of Scope*/
/*240473*/    0, /*End of Scope*/
/*240474*/  /*SwitchOpcode*/ 45, TARGET_VAL(AArch64ISD::CSINV),// ->240522
/*240477*/    OPC_RecordChild0, // #0 = $tval
/*240478*/    OPC_RecordChild1, // #1 = $fval
/*240479*/    OPC_RecordChild2, // #2 = $cc
/*240480*/    OPC_MoveChild2,
/*240481*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*240484*/    OPC_CheckType, MVT::i32,
/*240486*/    OPC_MoveParent,
/*240487*/    OPC_RecordChild3, // #3 = physreg input NZCV
/*240488*/    OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->240505
/*240491*/      OPC_EmitConvertToTarget, 2,
/*240493*/      OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*240496*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVWr), 0|OPFL_GlueInput,
                    MVT::i32, 3/*#Ops*/, 0, 1, 4, 
                // Src: (AArch64csinv:{ *:[i32] } GPR32:{ *:[i32] }:$tval, GPR32:{ *:[i32] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 6
                // Dst: (CSINVWr:{ *:[i32] } GPR32:{ *:[i32] }:$tval, GPR32:{ *:[i32] }:$fval, (imm:{ *:[i32] }):$cc)
/*240505*/    /*SwitchType*/ 14, MVT::i64,// ->240521
/*240507*/      OPC_EmitConvertToTarget, 2,
/*240509*/      OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*240512*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINVXr), 0|OPFL_GlueInput,
                    MVT::i64, 3/*#Ops*/, 0, 1, 4, 
                // Src: (AArch64csinv:{ *:[i64] } GPR64:{ *:[i64] }:$tval, GPR64:{ *:[i64] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 6
                // Dst: (CSINVXr:{ *:[i64] } GPR64:{ *:[i64] }:$tval, GPR64:{ *:[i64] }:$fval, (imm:{ *:[i32] }):$cc)
/*240521*/    0, // EndSwitchType
/*240522*/  /*SwitchOpcode*/ 45, TARGET_VAL(AArch64ISD::CSNEG),// ->240570
/*240525*/    OPC_RecordChild0, // #0 = $tval
/*240526*/    OPC_RecordChild1, // #1 = $fval
/*240527*/    OPC_RecordChild2, // #2 = $cc
/*240528*/    OPC_MoveChild2,
/*240529*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*240532*/    OPC_CheckType, MVT::i32,
/*240534*/    OPC_MoveParent,
/*240535*/    OPC_RecordChild3, // #3 = physreg input NZCV
/*240536*/    OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->240553
/*240539*/      OPC_EmitConvertToTarget, 2,
/*240541*/      OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*240544*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSNEGWr), 0|OPFL_GlueInput,
                    MVT::i32, 3/*#Ops*/, 0, 1, 4, 
                // Src: (AArch64csneg:{ *:[i32] } GPR32:{ *:[i32] }:$tval, GPR32:{ *:[i32] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 6
                // Dst: (CSNEGWr:{ *:[i32] } GPR32:{ *:[i32] }:$tval, GPR32:{ *:[i32] }:$fval, (imm:{ *:[i32] }):$cc)
/*240553*/    /*SwitchType*/ 14, MVT::i64,// ->240569
/*240555*/      OPC_EmitConvertToTarget, 2,
/*240557*/      OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*240560*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSNEGXr), 0|OPFL_GlueInput,
                    MVT::i64, 3/*#Ops*/, 0, 1, 4, 
                // Src: (AArch64csneg:{ *:[i64] } GPR64:{ *:[i64] }:$tval, GPR64:{ *:[i64] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 6
                // Dst: (CSNEGXr:{ *:[i64] } GPR64:{ *:[i64] }:$tval, GPR64:{ *:[i64] }:$fval, (imm:{ *:[i32] }):$cc)
/*240569*/    0, // EndSwitchType
/*240570*/  /*SwitchOpcode*/ 45, TARGET_VAL(AArch64ISD::CSINC),// ->240618
/*240573*/    OPC_RecordChild0, // #0 = $tval
/*240574*/    OPC_RecordChild1, // #1 = $fval
/*240575*/    OPC_RecordChild2, // #2 = $cc
/*240576*/    OPC_MoveChild2,
/*240577*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*240580*/    OPC_CheckType, MVT::i32,
/*240582*/    OPC_MoveParent,
/*240583*/    OPC_RecordChild3, // #3 = physreg input NZCV
/*240584*/    OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->240601
/*240587*/      OPC_EmitConvertToTarget, 2,
/*240589*/      OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*240592*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCWr), 0|OPFL_GlueInput,
                    MVT::i32, 3/*#Ops*/, 0, 1, 4, 
                // Src: (AArch64csinc:{ *:[i32] } GPR32:{ *:[i32] }:$tval, GPR32:{ *:[i32] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 6
                // Dst: (CSINCWr:{ *:[i32] } GPR32:{ *:[i32] }:$tval, GPR32:{ *:[i32] }:$fval, (imm:{ *:[i32] }):$cc)
/*240601*/    /*SwitchType*/ 14, MVT::i64,// ->240617
/*240603*/      OPC_EmitConvertToTarget, 2,
/*240605*/      OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*240608*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CSINCXr), 0|OPFL_GlueInput,
                    MVT::i64, 3/*#Ops*/, 0, 1, 4, 
                // Src: (AArch64csinc:{ *:[i64] } GPR64:{ *:[i64] }:$tval, GPR64:{ *:[i64] }:$fval, (imm:{ *:[i32] }):$cc, NZCV:{ *:[i32] }) - Complexity = 6
                // Dst: (CSINCXr:{ *:[i64] } GPR64:{ *:[i64] }:$tval, GPR64:{ *:[i64] }:$fval, (imm:{ *:[i32] }):$cc)
/*240617*/    0, // EndSwitchType
/*240618*/  /*SwitchOpcode*/ 69, TARGET_VAL(AArch64ISD::ADR),// ->240690
/*240621*/    OPC_RecordChild0, // #0 = $label
/*240622*/    OPC_MoveChild0,
/*240623*/    OPC_SwitchOpcode /*5 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->240637
/*240627*/      OPC_MoveParent,
/*240628*/      OPC_CheckType, MVT::i64,
/*240630*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADR), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adr:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$label) - Complexity = 6
                // Dst: (ADR:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$label)
/*240637*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetConstantPool),// ->240650
/*240640*/      OPC_MoveParent,
/*240641*/      OPC_CheckType, MVT::i64,
/*240643*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADR), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adr:{ *:[i64] } (tconstpool:{ *:[i64] }):$cp) - Complexity = 6
                // Dst: (ADR:{ *:[i64] } (tconstpool:{ *:[i64] }):$cp)
/*240650*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetBlockAddress),// ->240663
/*240653*/      OPC_MoveParent,
/*240654*/      OPC_CheckType, MVT::i64,
/*240656*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADR), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adr:{ *:[i64] } (tblockaddress:{ *:[i64] }):$cp) - Complexity = 6
                // Dst: (ADR:{ *:[i64] } (tblockaddress:{ *:[i64] }):$cp)
/*240663*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->240676
/*240666*/      OPC_MoveParent,
/*240667*/      OPC_CheckType, MVT::i64,
/*240669*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADR), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adr:{ *:[i64] } (texternalsym:{ *:[i64] }):$sym) - Complexity = 6
                // Dst: (ADR:{ *:[i64] } (texternalsym:{ *:[i64] }):$sym)
/*240676*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetJumpTable),// ->240689
/*240679*/      OPC_MoveParent,
/*240680*/      OPC_CheckType, MVT::i64,
/*240682*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADR), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adr:{ *:[i64] } (tjumptable:{ *:[i64] }):$sym) - Complexity = 6
                // Dst: (ADR:{ *:[i64] } (tjumptable:{ *:[i64] }):$sym)
/*240689*/    0, // EndSwitchOpcode
/*240690*/  /*SwitchOpcode*/ 56, TARGET_VAL(AArch64ISD::ADRP),// ->240749
/*240693*/    OPC_RecordChild0, // #0 = $label
/*240694*/    OPC_MoveChild0,
/*240695*/    OPC_SwitchOpcode /*4 cases */, 10, TARGET_VAL(ISD::TargetGlobalAddress),// ->240709
/*240699*/      OPC_MoveParent,
/*240700*/      OPC_CheckType, MVT::i64,
/*240702*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADRP), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adrp:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$label) - Complexity = 6
                // Dst: (ADRP:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$label)
/*240709*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetConstantPool),// ->240722
/*240712*/      OPC_MoveParent,
/*240713*/      OPC_CheckType, MVT::i64,
/*240715*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADRP), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adrp:{ *:[i64] } (tconstpool:{ *:[i64] }):$cp) - Complexity = 6
                // Dst: (ADRP:{ *:[i64] } (tconstpool:{ *:[i64] }):$cp)
/*240722*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetBlockAddress),// ->240735
/*240725*/      OPC_MoveParent,
/*240726*/      OPC_CheckType, MVT::i64,
/*240728*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADRP), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adrp:{ *:[i64] } (tblockaddress:{ *:[i64] }):$cp) - Complexity = 6
                // Dst: (ADRP:{ *:[i64] } (tblockaddress:{ *:[i64] }):$cp)
/*240735*/    /*SwitchOpcode*/ 10, TARGET_VAL(ISD::TargetExternalSymbol),// ->240748
/*240738*/      OPC_MoveParent,
/*240739*/      OPC_CheckType, MVT::i64,
/*240741*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADRP), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (AArch64adrp:{ *:[i64] } (texternalsym:{ *:[i64] }):$sym) - Complexity = 6
                // Dst: (ADRP:{ *:[i64] } (texternalsym:{ *:[i64] }):$sym)
/*240748*/    0, // EndSwitchOpcode
/*240749*/  /*SwitchOpcode*/ 30, TARGET_VAL(AArch64ISD::TLSDESC_CALLSEQ),// ->240782
/*240752*/    OPC_RecordNode, // #0 = 'AArch64tlsdesc_callseq' chained node
/*240753*/    OPC_CaptureGlueInput,
/*240754*/    OPC_RecordChild1, // #1 = $sym
/*240755*/    OPC_MoveChild1,
/*240756*/    OPC_SwitchOpcode /*2 cases */, 9, TARGET_VAL(ISD::TargetGlobalTLSAddress),// ->240769
/*240760*/      OPC_MoveParent,
/*240761*/      OPC_EmitMergeInputChains1_0,
/*240762*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TLSDESC_CALLSEQ), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i64, 1/*#Ops*/, 1, 
                // Src: (AArch64tlsdesc_callseq (tglobaltlsaddr:{ *:[iPTR] }):$sym) - Complexity = 6
                // Dst: (TLSDESC_CALLSEQ:{ *:[i64] } (tglobaltlsaddr:{ *:[i64] }):$sym)
/*240769*/    /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->240781
/*240772*/      OPC_MoveParent,
/*240773*/      OPC_EmitMergeInputChains1_0,
/*240774*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TLSDESC_CALLSEQ), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i64, 1/*#Ops*/, 1, 
                // Src: (AArch64tlsdesc_callseq (texternalsym:{ *:[iPTR] }):$sym) - Complexity = 6
                // Dst: (TLSDESC_CALLSEQ:{ *:[i64] } (texternalsym:{ *:[i64] }):$sym)
/*240781*/    0, // EndSwitchOpcode
/*240782*/  /*SwitchOpcode*/ 27, TARGET_VAL(AArch64ISD::BRCOND),// ->240812
/*240785*/    OPC_RecordNode, // #0 = 'AArch64brcond' chained node
/*240786*/    OPC_RecordChild1, // #1 = $target
/*240787*/    OPC_MoveChild1,
/*240788*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*240791*/    OPC_MoveParent,
/*240792*/    OPC_RecordChild2, // #2 = $cond
/*240793*/    OPC_MoveChild2,
/*240794*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*240797*/    OPC_MoveParent,
/*240798*/    OPC_RecordChild3, // #3 = physreg input NZCV
/*240799*/    OPC_EmitMergeInputChains1_0,
/*240800*/    OPC_EmitConvertToTarget, 2,
/*240802*/    OPC_EmitCopyToReg, 3, AArch64::NZCV,
/*240805*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::Bcc), 0|OPFL_Chain|OPFL_GlueInput,
                  2/*#Ops*/, 4, 1, 
              // Src: (AArch64brcond (bb:{ *:[Other] }):$target, (imm:{ *:[i32] }):$cond, NZCV:{ *:[i32] }) - Complexity = 6
              // Dst: (Bcc (imm:{ *:[i32] }):$cond, (bb:{ *:[Other] }):$target)
/*240812*/  /*SwitchOpcode*/ 44, TARGET_VAL(AArch64ISD::CALL),// ->240859
/*240815*/    OPC_RecordNode, // #0 = 'AArch64call' chained node
/*240816*/    OPC_CaptureGlueInput,
/*240817*/    OPC_RecordChild1, // #1 = $addr
/*240818*/    OPC_Scope, 27, /*->240847*/ // 2 children in Scope
/*240820*/      OPC_MoveChild1,
/*240821*/      OPC_SwitchOpcode /*2 cases */, 9, TARGET_VAL(ISD::TargetGlobalAddress),// ->240834
/*240825*/        OPC_MoveParent,
/*240826*/        OPC_EmitMergeInputChains1_0,
/*240827*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (AArch64call (tglobaladdr:{ *:[iPTR] }):$addr) - Complexity = 6
                  // Dst: (BL:{ *:[i64] } (tglobaladdr:{ *:[i64] }):$addr)
/*240834*/      /*SwitchOpcode*/ 9, TARGET_VAL(ISD::TargetExternalSymbol),// ->240846
/*240837*/        OPC_MoveParent,
/*240838*/        OPC_EmitMergeInputChains1_0,
/*240839*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::BL), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (AArch64call (texternalsym:{ *:[iPTR] }):$func) - Complexity = 6
                  // Dst: (BL:{ *:[i64] } (texternalsym:{ *:[i64] }):$func)
/*240846*/      0, // EndSwitchOpcode
/*240847*/    /*Scope*/ 10, /*->240858*/
/*240848*/      OPC_CheckChild1Type, MVT::i64,
/*240850*/      OPC_EmitMergeInputChains1_0,
/*240851*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_GlueOutput|OPFL_Variadic1,
                    MVT::i64, 1/*#Ops*/, 1, 
                // Src: (AArch64call GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                // Dst: (BLR:{ *:[i64] } GPR64:{ *:[i64] }:$Rn)
/*240858*/    0, /*End of Scope*/
/*240859*/  /*SwitchOpcode*/ 15, TARGET_VAL(ISD::LOCAL_RECOVER),// ->240877
/*240862*/    OPC_RecordChild0, // #0 = $sym
/*240863*/    OPC_MoveChild0,
/*240864*/    OPC_CheckOpcode, TARGET_VAL(ISD::MCSymbol),
/*240867*/    OPC_MoveParent,
/*240868*/    OPC_CheckType, MVT::i64,
/*240870*/    OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVMCSym), 0,
                  MVT::i64, 1/*#Ops*/, 0, 
              // Src: (AArch64LocalRecover:{ *:[i64] } (mcsym:{ *:[i64] }):$sym) - Complexity = 6
              // Dst: (MOVMCSym:{ *:[i64] } (mcsym:{ *:[i64] }):$sym)
/*240877*/  /*SwitchOpcode*/ 37|128,4/*549*/, TARGET_VAL(ISD::ZERO_EXTEND),// ->241430
/*240881*/    OPC_Scope, 58, /*->240941*/ // 3 children in Scope
/*240883*/      OPC_RecordChild0, // #0 = $src
/*240884*/      OPC_Scope, 21, /*->240907*/ // 2 children in Scope
/*240886*/        OPC_MoveChild0,
/*240887*/        OPC_CheckPredicate, 67, // Predicate_def32
/*240889*/        OPC_MoveParent,
/*240890*/        OPC_CheckType, MVT::i64,
/*240892*/        OPC_EmitInteger, MVT::i64, 0, 
/*240895*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*240898*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::i64, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (zext:{ *:[i64] } GPR32:{ *:[i32] }<<P:Predicate_def32>>:$src) - Complexity = 4
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, GPR32:{ *:[i32] }:$src, sub_32:{ *:[i32] })
/*240907*/      /*Scope*/ 32, /*->240940*/
/*240908*/        OPC_CheckType, MVT::i64,
/*240910*/        OPC_EmitInteger, MVT::i32, 0, 
/*240913*/        OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*240916*/        OPC_EmitInteger, MVT::i32, 0, 
/*240919*/        OPC_EmitNode1, TARGET_VAL(AArch64::ORRWrs), 0,
                      MVT::i32, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*240928*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*240931*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::i64, 3/*#Ops*/, 1, 4, 5, 
                  // Src: (zext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i32] }, (ORRWrs:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$src, 0:{ *:[i32] }), sub_32:{ *:[i32] })
/*240940*/      0, /*End of Scope*/
/*240941*/    /*Scope*/ 53|128,3/*437*/, /*->241380*/
/*240943*/      OPC_MoveChild0,
/*240944*/      OPC_SwitchOpcode /*2 cases */, 108|128,2/*364*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->241313
/*240949*/        OPC_Scope, 51|128,1/*179*/, /*->241131*/ // 2 children in Scope
/*240952*/          OPC_CheckChild0Integer, 44|128,3/*428*/, 
/*240955*/          OPC_Scope, 109, /*->241066*/ // 2 children in Scope
/*240957*/            OPC_MoveChild1,
/*240958*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*240961*/            OPC_RecordChild0, // #0 = $Rn
/*240962*/            OPC_SwitchType /*3 cases */, 32, MVT::v8i8,// ->240997
/*240965*/              OPC_CheckChild1Integer, 8, 
/*240967*/              OPC_CheckChild1Type, MVT::i64,
/*240969*/              OPC_MoveParent,
/*240970*/              OPC_MoveChild2,
/*240971*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*240974*/              OPC_RecordChild0, // #1 = $Rm
/*240975*/              OPC_CheckChild1Integer, 8, 
/*240977*/              OPC_CheckChild1Type, MVT::i64,
/*240979*/              OPC_CheckType, MVT::v8i8,
/*240981*/              OPC_MoveParent,
/*240982*/              OPC_CheckType, MVT::v8i8,
/*240984*/              OPC_MoveParent,
/*240985*/              OPC_CheckType, MVT::v8i16,
/*240987*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*240989*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv16i8_v8i16), 0,
                            MVT::v8i16, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 27
                        // Dst: (UABDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*240997*/            /*SwitchType*/ 32, MVT::v4i16,// ->241031
/*240999*/              OPC_CheckChild1Integer, 4, 
/*241001*/              OPC_CheckChild1Type, MVT::i64,
/*241003*/              OPC_MoveParent,
/*241004*/              OPC_MoveChild2,
/*241005*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*241008*/              OPC_RecordChild0, // #1 = $Rm
/*241009*/              OPC_CheckChild1Integer, 4, 
/*241011*/              OPC_CheckChild1Type, MVT::i64,
/*241013*/              OPC_CheckType, MVT::v4i16,
/*241015*/              OPC_MoveParent,
/*241016*/              OPC_CheckType, MVT::v4i16,
/*241018*/              OPC_MoveParent,
/*241019*/              OPC_CheckType, MVT::v4i32,
/*241021*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241023*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv8i16_v4i32), 0,
                            MVT::v4i32, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 27
                        // Dst: (UABDLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*241031*/            /*SwitchType*/ 32, MVT::v2i32,// ->241065
/*241033*/              OPC_CheckChild1Integer, 2, 
/*241035*/              OPC_CheckChild1Type, MVT::i64,
/*241037*/              OPC_MoveParent,
/*241038*/              OPC_MoveChild2,
/*241039*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*241042*/              OPC_RecordChild0, // #1 = $Rm
/*241043*/              OPC_CheckChild1Integer, 2, 
/*241045*/              OPC_CheckChild1Type, MVT::i64,
/*241047*/              OPC_CheckType, MVT::v2i32,
/*241049*/              OPC_MoveParent,
/*241050*/              OPC_CheckType, MVT::v2i32,
/*241052*/              OPC_MoveParent,
/*241053*/              OPC_CheckType, MVT::v2i64,
/*241055*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241057*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv4i32_v2i64), 0,
                            MVT::v2i64, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 27
                        // Dst: (UABDLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*241065*/            0, // EndSwitchType
/*241066*/          /*Scope*/ 63, /*->241130*/
/*241067*/            OPC_RecordChild1, // #0 = $Rn
/*241068*/            OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->241089
/*241071*/              OPC_CheckChild1Type, MVT::v8i8,
/*241073*/              OPC_RecordChild2, // #1 = $Rm
/*241074*/              OPC_CheckChild2Type, MVT::v8i8,
/*241076*/              OPC_MoveParent,
/*241077*/              OPC_CheckType, MVT::v8i16,
/*241079*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241081*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv8i8_v8i16), 0,
                            MVT::v8i16, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 428:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 11
                        // Dst: (UABDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*241089*/            /*SwitchType*/ 18, MVT::v4i16,// ->241109
/*241091*/              OPC_CheckChild1Type, MVT::v4i16,
/*241093*/              OPC_RecordChild2, // #1 = $Rm
/*241094*/              OPC_CheckChild2Type, MVT::v4i16,
/*241096*/              OPC_MoveParent,
/*241097*/              OPC_CheckType, MVT::v4i32,
/*241099*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241101*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv4i16_v4i32), 0,
                            MVT::v4i32, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 428:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 11
                        // Dst: (UABDLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*241109*/            /*SwitchType*/ 18, MVT::v2i32,// ->241129
/*241111*/              OPC_CheckChild1Type, MVT::v2i32,
/*241113*/              OPC_RecordChild2, // #1 = $Rm
/*241114*/              OPC_CheckChild2Type, MVT::v2i32,
/*241116*/              OPC_MoveParent,
/*241117*/              OPC_CheckType, MVT::v2i64,
/*241119*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241121*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv2i32_v2i64), 0,
                            MVT::v2i64, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 428:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 11
                        // Dst: (UABDLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*241129*/            0, // EndSwitchType
/*241130*/          0, /*End of Scope*/
/*241131*/        /*Scope*/ 51|128,1/*179*/, /*->241312*/
/*241133*/          OPC_CheckChild0Integer, 114|128,2/*370*/, 
/*241136*/          OPC_Scope, 109, /*->241247*/ // 2 children in Scope
/*241138*/            OPC_MoveChild1,
/*241139*/            OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*241142*/            OPC_RecordChild0, // #0 = $Rn
/*241143*/            OPC_SwitchType /*3 cases */, 32, MVT::v8i8,// ->241178
/*241146*/              OPC_CheckChild1Integer, 8, 
/*241148*/              OPC_CheckChild1Type, MVT::i64,
/*241150*/              OPC_MoveParent,
/*241151*/              OPC_MoveChild2,
/*241152*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*241155*/              OPC_RecordChild0, // #1 = $Rm
/*241156*/              OPC_CheckChild1Integer, 8, 
/*241158*/              OPC_CheckChild1Type, MVT::i64,
/*241160*/              OPC_CheckType, MVT::v8i8,
/*241162*/              OPC_MoveParent,
/*241163*/              OPC_CheckType, MVT::v8i8,
/*241165*/              OPC_MoveParent,
/*241166*/              OPC_CheckType, MVT::v8i16,
/*241168*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241170*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDLv16i8_v8i16), 0,
                            MVT::v8i16, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] }))) - Complexity = 27
                        // Dst: (SABDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*241178*/            /*SwitchType*/ 32, MVT::v4i16,// ->241212
/*241180*/              OPC_CheckChild1Integer, 4, 
/*241182*/              OPC_CheckChild1Type, MVT::i64,
/*241184*/              OPC_MoveParent,
/*241185*/              OPC_MoveChild2,
/*241186*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*241189*/              OPC_RecordChild0, // #1 = $Rm
/*241190*/              OPC_CheckChild1Integer, 4, 
/*241192*/              OPC_CheckChild1Type, MVT::i64,
/*241194*/              OPC_CheckType, MVT::v4i16,
/*241196*/              OPC_MoveParent,
/*241197*/              OPC_CheckType, MVT::v4i16,
/*241199*/              OPC_MoveParent,
/*241200*/              OPC_CheckType, MVT::v4i32,
/*241202*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241204*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDLv8i16_v4i32), 0,
                            MVT::v4i32, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] }))) - Complexity = 27
                        // Dst: (SABDLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*241212*/            /*SwitchType*/ 32, MVT::v2i32,// ->241246
/*241214*/              OPC_CheckChild1Integer, 2, 
/*241216*/              OPC_CheckChild1Type, MVT::i64,
/*241218*/              OPC_MoveParent,
/*241219*/              OPC_MoveChild2,
/*241220*/              OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*241223*/              OPC_RecordChild0, // #1 = $Rm
/*241224*/              OPC_CheckChild1Integer, 2, 
/*241226*/              OPC_CheckChild1Type, MVT::i64,
/*241228*/              OPC_CheckType, MVT::v2i32,
/*241230*/              OPC_MoveParent,
/*241231*/              OPC_CheckType, MVT::v2i32,
/*241233*/              OPC_MoveParent,
/*241234*/              OPC_CheckType, MVT::v2i64,
/*241236*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241238*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDLv4i32_v2i64), 0,
                            MVT::v2i64, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] }))) - Complexity = 27
                        // Dst: (SABDLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*241246*/            0, // EndSwitchType
/*241247*/          /*Scope*/ 63, /*->241311*/
/*241248*/            OPC_RecordChild1, // #0 = $Rn
/*241249*/            OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->241270
/*241252*/              OPC_CheckChild1Type, MVT::v8i8,
/*241254*/              OPC_RecordChild2, // #1 = $Rm
/*241255*/              OPC_CheckChild2Type, MVT::v8i8,
/*241257*/              OPC_MoveParent,
/*241258*/              OPC_CheckType, MVT::v8i16,
/*241260*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241262*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDLv8i8_v8i16), 0,
                            MVT::v8i16, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v8i16] } (intrinsic_wo_chain:{ *:[v8i8] } 370:{ *:[iPTR] }, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)) - Complexity = 11
                        // Dst: (SABDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*241270*/            /*SwitchType*/ 18, MVT::v4i16,// ->241290
/*241272*/              OPC_CheckChild1Type, MVT::v4i16,
/*241274*/              OPC_RecordChild2, // #1 = $Rm
/*241275*/              OPC_CheckChild2Type, MVT::v4i16,
/*241277*/              OPC_MoveParent,
/*241278*/              OPC_CheckType, MVT::v4i32,
/*241280*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241282*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDLv4i16_v4i32), 0,
                            MVT::v4i32, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v4i32] } (intrinsic_wo_chain:{ *:[v4i16] } 370:{ *:[iPTR] }, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)) - Complexity = 11
                        // Dst: (SABDLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*241290*/            /*SwitchType*/ 18, MVT::v2i32,// ->241310
/*241292*/              OPC_CheckChild1Type, MVT::v2i32,
/*241294*/              OPC_RecordChild2, // #1 = $Rm
/*241295*/              OPC_CheckChild2Type, MVT::v2i32,
/*241297*/              OPC_MoveParent,
/*241298*/              OPC_CheckType, MVT::v2i64,
/*241300*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*241302*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SABDLv2i32_v2i64), 0,
                            MVT::v2i64, 2/*#Ops*/, 0, 1, 
                        // Src: (zext:{ *:[v2i64] } (intrinsic_wo_chain:{ *:[v2i32] } 370:{ *:[iPTR] }, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)) - Complexity = 11
                        // Dst: (SABDLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*241310*/            0, // EndSwitchType
/*241311*/          0, /*End of Scope*/
/*241312*/        0, /*End of Scope*/
/*241313*/      /*SwitchOpcode*/ 63, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),// ->241379
/*241316*/        OPC_RecordChild0, // #0 = $Rn
/*241317*/        OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->241338
/*241320*/          OPC_CheckChild1Integer, 8, 
/*241322*/          OPC_CheckChild1Type, MVT::i64,
/*241324*/          OPC_MoveParent,
/*241325*/          OPC_CheckType, MVT::v8i16,
/*241327*/          OPC_EmitInteger, MVT::i32, 0, 
/*241330*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv16i8_shift), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })) - Complexity = 11
                    // Dst: (USHLLv16i8_shift:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, 0:{ *:[i32] })
/*241338*/        /*SwitchType*/ 18, MVT::v4i16,// ->241358
/*241340*/          OPC_CheckChild1Integer, 4, 
/*241342*/          OPC_CheckChild1Type, MVT::i64,
/*241344*/          OPC_MoveParent,
/*241345*/          OPC_CheckType, MVT::v4i32,
/*241347*/          OPC_EmitInteger, MVT::i32, 0, 
/*241350*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv8i16_shift), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })) - Complexity = 11
                    // Dst: (USHLLv8i16_shift:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, 0:{ *:[i32] })
/*241358*/        /*SwitchType*/ 18, MVT::v2i32,// ->241378
/*241360*/          OPC_CheckChild1Integer, 2, 
/*241362*/          OPC_CheckChild1Type, MVT::i64,
/*241364*/          OPC_MoveParent,
/*241365*/          OPC_CheckType, MVT::v2i64,
/*241367*/          OPC_EmitInteger, MVT::i32, 0, 
/*241370*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv4i32_shift), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })) - Complexity = 11
                    // Dst: (USHLLv4i32_shift:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, 0:{ *:[i32] })
/*241378*/        0, // EndSwitchType
/*241379*/      0, // EndSwitchOpcode
/*241380*/    /*Scope*/ 48, /*->241429*/
/*241381*/      OPC_RecordChild0, // #0 = $Rn
/*241382*/      OPC_SwitchType /*3 cases */, 13, MVT::v8i16,// ->241398
/*241385*/        OPC_CheckChild0Type, MVT::v8i8,
/*241387*/        OPC_EmitInteger, MVT::i32, 0, 
/*241390*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv8i8_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                  // Dst: (USHLLv8i8_shift:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, 0:{ *:[i32] })
/*241398*/      /*SwitchType*/ 13, MVT::v4i32,// ->241413
/*241400*/        OPC_CheckChild0Type, MVT::v4i16,
/*241402*/        OPC_EmitInteger, MVT::i32, 0, 
/*241405*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv4i16_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (USHLLv4i16_shift:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, 0:{ *:[i32] })
/*241413*/      /*SwitchType*/ 13, MVT::v2i64,// ->241428
/*241415*/        OPC_CheckChild0Type, MVT::v2i32,
/*241417*/        OPC_EmitInteger, MVT::i32, 0, 
/*241420*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv2i32_shift), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (USHLLv2i32_shift:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, 0:{ *:[i32] })
/*241428*/      0, // EndSwitchType
/*241429*/    0, /*End of Scope*/
/*241430*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_LOAD_ADD),// ->241748
/*241434*/    OPC_RecordMemRef,
/*241435*/    OPC_RecordNode, // #0 = 'atomic_load_add' chained node
/*241436*/    OPC_RecordChild1, // #1 = $Rn
/*241437*/    OPC_CheckChild1Type, MVT::i64,
/*241439*/    OPC_RecordChild2, // #2 = $Rm
/*241440*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->241517
/*241443*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_add_64
/*241445*/      OPC_Scope, 13, /*->241460*/ // 5 children in Scope
/*241447*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_add_64_monotonic
/*241449*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241451*/        OPC_EmitMergeInputChains1_0,
/*241452*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_add_64>><<P:Predicate_atomic_load_add_64_monotonic>> - Complexity = 4
                  // Dst: (LDADDX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241460*/      /*Scope*/ 13, /*->241474*/
/*241461*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_add_64_acquire
/*241463*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241465*/        OPC_EmitMergeInputChains1_0,
/*241466*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_add_64>><<P:Predicate_atomic_load_add_64_acquire>> - Complexity = 4
                  // Dst: (LDADDAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241474*/      /*Scope*/ 13, /*->241488*/
/*241475*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_add_64_release
/*241477*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241479*/        OPC_EmitMergeInputChains1_0,
/*241480*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_add_64>><<P:Predicate_atomic_load_add_64_release>> - Complexity = 4
                  // Dst: (LDADDLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241488*/      /*Scope*/ 13, /*->241502*/
/*241489*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_add_64_acq_rel
/*241491*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241493*/        OPC_EmitMergeInputChains1_0,
/*241494*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_add_64>><<P:Predicate_atomic_load_add_64_acq_rel>> - Complexity = 4
                  // Dst: (LDADDALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241502*/      /*Scope*/ 13, /*->241516*/
/*241503*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_add_64_seq_cst
/*241505*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241507*/        OPC_EmitMergeInputChains1_0,
/*241508*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_add:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_add_64>><<P:Predicate_atomic_load_add_64_seq_cst>> - Complexity = 4
                  // Dst: (LDADDALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241516*/      0, /*End of Scope*/
/*241517*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->241747
/*241520*/      OPC_Scope, 74, /*->241596*/ // 3 children in Scope
/*241522*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_add_32
/*241524*/        OPC_Scope, 13, /*->241539*/ // 5 children in Scope
/*241526*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_add_32_monotonic
/*241528*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241530*/          OPC_EmitMergeInputChains1_0,
/*241531*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_32>><<P:Predicate_atomic_load_add_32_monotonic>> - Complexity = 4
                    // Dst: (LDADDW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241539*/        /*Scope*/ 13, /*->241553*/
/*241540*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_add_32_acquire
/*241542*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241544*/          OPC_EmitMergeInputChains1_0,
/*241545*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_32>><<P:Predicate_atomic_load_add_32_acquire>> - Complexity = 4
                    // Dst: (LDADDAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241553*/        /*Scope*/ 13, /*->241567*/
/*241554*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_add_32_release
/*241556*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241558*/          OPC_EmitMergeInputChains1_0,
/*241559*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_32>><<P:Predicate_atomic_load_add_32_release>> - Complexity = 4
                    // Dst: (LDADDLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241567*/        /*Scope*/ 13, /*->241581*/
/*241568*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_add_32_acq_rel
/*241570*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241572*/          OPC_EmitMergeInputChains1_0,
/*241573*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_32>><<P:Predicate_atomic_load_add_32_acq_rel>> - Complexity = 4
                    // Dst: (LDADDALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241581*/        /*Scope*/ 13, /*->241595*/
/*241582*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_add_32_seq_cst
/*241584*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241586*/          OPC_EmitMergeInputChains1_0,
/*241587*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_32>><<P:Predicate_atomic_load_add_32_seq_cst>> - Complexity = 4
                    // Dst: (LDADDALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241595*/        0, /*End of Scope*/
/*241596*/      /*Scope*/ 74, /*->241671*/
/*241597*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_add_16
/*241599*/        OPC_Scope, 13, /*->241614*/ // 5 children in Scope
/*241601*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_add_16_monotonic
/*241603*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241605*/          OPC_EmitMergeInputChains1_0,
/*241606*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_16>><<P:Predicate_atomic_load_add_16_monotonic>> - Complexity = 4
                    // Dst: (LDADDH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241614*/        /*Scope*/ 13, /*->241628*/
/*241615*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_add_16_acquire
/*241617*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241619*/          OPC_EmitMergeInputChains1_0,
/*241620*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_16>><<P:Predicate_atomic_load_add_16_acquire>> - Complexity = 4
                    // Dst: (LDADDAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241628*/        /*Scope*/ 13, /*->241642*/
/*241629*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_add_16_release
/*241631*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241633*/          OPC_EmitMergeInputChains1_0,
/*241634*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_16>><<P:Predicate_atomic_load_add_16_release>> - Complexity = 4
                    // Dst: (LDADDLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241642*/        /*Scope*/ 13, /*->241656*/
/*241643*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_add_16_acq_rel
/*241645*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241647*/          OPC_EmitMergeInputChains1_0,
/*241648*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_16>><<P:Predicate_atomic_load_add_16_acq_rel>> - Complexity = 4
                    // Dst: (LDADDALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241656*/        /*Scope*/ 13, /*->241670*/
/*241657*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_add_16_seq_cst
/*241659*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241661*/          OPC_EmitMergeInputChains1_0,
/*241662*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_16>><<P:Predicate_atomic_load_add_16_seq_cst>> - Complexity = 4
                    // Dst: (LDADDALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241670*/        0, /*End of Scope*/
/*241671*/      /*Scope*/ 74, /*->241746*/
/*241672*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_add_8
/*241674*/        OPC_Scope, 13, /*->241689*/ // 5 children in Scope
/*241676*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_add_8_monotonic
/*241678*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241680*/          OPC_EmitMergeInputChains1_0,
/*241681*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_8>><<P:Predicate_atomic_load_add_8_monotonic>> - Complexity = 4
                    // Dst: (LDADDB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241689*/        /*Scope*/ 13, /*->241703*/
/*241690*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_add_8_acquire
/*241692*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241694*/          OPC_EmitMergeInputChains1_0,
/*241695*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_8>><<P:Predicate_atomic_load_add_8_acquire>> - Complexity = 4
                    // Dst: (LDADDAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241703*/        /*Scope*/ 13, /*->241717*/
/*241704*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_add_8_release
/*241706*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241708*/          OPC_EmitMergeInputChains1_0,
/*241709*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_8>><<P:Predicate_atomic_load_add_8_release>> - Complexity = 4
                    // Dst: (LDADDLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241717*/        /*Scope*/ 13, /*->241731*/
/*241718*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_add_8_acq_rel
/*241720*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241722*/          OPC_EmitMergeInputChains1_0,
/*241723*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_8>><<P:Predicate_atomic_load_add_8_acq_rel>> - Complexity = 4
                    // Dst: (LDADDALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241731*/        /*Scope*/ 13, /*->241745*/
/*241732*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_add_8_seq_cst
/*241734*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241736*/          OPC_EmitMergeInputChains1_0,
/*241737*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_add:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_add_8>><<P:Predicate_atomic_load_add_8_seq_cst>> - Complexity = 4
                    // Dst: (LDADDALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241745*/        0, /*End of Scope*/
/*241746*/      0, /*End of Scope*/
/*241747*/    0, // EndSwitchType
/*241748*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_LOAD_OR),// ->242066
/*241752*/    OPC_RecordMemRef,
/*241753*/    OPC_RecordNode, // #0 = 'atomic_load_or' chained node
/*241754*/    OPC_RecordChild1, // #1 = $Rn
/*241755*/    OPC_CheckChild1Type, MVT::i64,
/*241757*/    OPC_RecordChild2, // #2 = $Rm
/*241758*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->241835
/*241761*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_or_64
/*241763*/      OPC_Scope, 13, /*->241778*/ // 5 children in Scope
/*241765*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_or_64_monotonic
/*241767*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241769*/        OPC_EmitMergeInputChains1_0,
/*241770*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_or:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_or_64>><<P:Predicate_atomic_load_or_64_monotonic>> - Complexity = 4
                  // Dst: (LDSETX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241778*/      /*Scope*/ 13, /*->241792*/
/*241779*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_or_64_acquire
/*241781*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241783*/        OPC_EmitMergeInputChains1_0,
/*241784*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_or:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_or_64>><<P:Predicate_atomic_load_or_64_acquire>> - Complexity = 4
                  // Dst: (LDSETAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241792*/      /*Scope*/ 13, /*->241806*/
/*241793*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_or_64_release
/*241795*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241797*/        OPC_EmitMergeInputChains1_0,
/*241798*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_or:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_or_64>><<P:Predicate_atomic_load_or_64_release>> - Complexity = 4
                  // Dst: (LDSETLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241806*/      /*Scope*/ 13, /*->241820*/
/*241807*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_or_64_acq_rel
/*241809*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241811*/        OPC_EmitMergeInputChains1_0,
/*241812*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_or:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_or_64>><<P:Predicate_atomic_load_or_64_acq_rel>> - Complexity = 4
                  // Dst: (LDSETALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241820*/      /*Scope*/ 13, /*->241834*/
/*241821*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_or_64_seq_cst
/*241823*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241825*/        OPC_EmitMergeInputChains1_0,
/*241826*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_or:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_or_64>><<P:Predicate_atomic_load_or_64_seq_cst>> - Complexity = 4
                  // Dst: (LDSETALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241834*/      0, /*End of Scope*/
/*241835*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->242065
/*241838*/      OPC_Scope, 74, /*->241914*/ // 3 children in Scope
/*241840*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_or_32
/*241842*/        OPC_Scope, 13, /*->241857*/ // 5 children in Scope
/*241844*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_or_32_monotonic
/*241846*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241848*/          OPC_EmitMergeInputChains1_0,
/*241849*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_32>><<P:Predicate_atomic_load_or_32_monotonic>> - Complexity = 4
                    // Dst: (LDSETW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241857*/        /*Scope*/ 13, /*->241871*/
/*241858*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_or_32_acquire
/*241860*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241862*/          OPC_EmitMergeInputChains1_0,
/*241863*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_32>><<P:Predicate_atomic_load_or_32_acquire>> - Complexity = 4
                    // Dst: (LDSETAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241871*/        /*Scope*/ 13, /*->241885*/
/*241872*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_or_32_release
/*241874*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241876*/          OPC_EmitMergeInputChains1_0,
/*241877*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_32>><<P:Predicate_atomic_load_or_32_release>> - Complexity = 4
                    // Dst: (LDSETLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241885*/        /*Scope*/ 13, /*->241899*/
/*241886*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_or_32_acq_rel
/*241888*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241890*/          OPC_EmitMergeInputChains1_0,
/*241891*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_32>><<P:Predicate_atomic_load_or_32_acq_rel>> - Complexity = 4
                    // Dst: (LDSETALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241899*/        /*Scope*/ 13, /*->241913*/
/*241900*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_or_32_seq_cst
/*241902*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241904*/          OPC_EmitMergeInputChains1_0,
/*241905*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_32>><<P:Predicate_atomic_load_or_32_seq_cst>> - Complexity = 4
                    // Dst: (LDSETALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241913*/        0, /*End of Scope*/
/*241914*/      /*Scope*/ 74, /*->241989*/
/*241915*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_or_16
/*241917*/        OPC_Scope, 13, /*->241932*/ // 5 children in Scope
/*241919*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_or_16_monotonic
/*241921*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241923*/          OPC_EmitMergeInputChains1_0,
/*241924*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_16>><<P:Predicate_atomic_load_or_16_monotonic>> - Complexity = 4
                    // Dst: (LDSETH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241932*/        /*Scope*/ 13, /*->241946*/
/*241933*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_or_16_acquire
/*241935*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241937*/          OPC_EmitMergeInputChains1_0,
/*241938*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_16>><<P:Predicate_atomic_load_or_16_acquire>> - Complexity = 4
                    // Dst: (LDSETAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241946*/        /*Scope*/ 13, /*->241960*/
/*241947*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_or_16_release
/*241949*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241951*/          OPC_EmitMergeInputChains1_0,
/*241952*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_16>><<P:Predicate_atomic_load_or_16_release>> - Complexity = 4
                    // Dst: (LDSETLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241960*/        /*Scope*/ 13, /*->241974*/
/*241961*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_or_16_acq_rel
/*241963*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241965*/          OPC_EmitMergeInputChains1_0,
/*241966*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_16>><<P:Predicate_atomic_load_or_16_acq_rel>> - Complexity = 4
                    // Dst: (LDSETALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241974*/        /*Scope*/ 13, /*->241988*/
/*241975*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_or_16_seq_cst
/*241977*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241979*/          OPC_EmitMergeInputChains1_0,
/*241980*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_16>><<P:Predicate_atomic_load_or_16_seq_cst>> - Complexity = 4
                    // Dst: (LDSETALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*241988*/        0, /*End of Scope*/
/*241989*/      /*Scope*/ 74, /*->242064*/
/*241990*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_or_8
/*241992*/        OPC_Scope, 13, /*->242007*/ // 5 children in Scope
/*241994*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_or_8_monotonic
/*241996*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*241998*/          OPC_EmitMergeInputChains1_0,
/*241999*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_8>><<P:Predicate_atomic_load_or_8_monotonic>> - Complexity = 4
                    // Dst: (LDSETB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242007*/        /*Scope*/ 13, /*->242021*/
/*242008*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_or_8_acquire
/*242010*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242012*/          OPC_EmitMergeInputChains1_0,
/*242013*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_8>><<P:Predicate_atomic_load_or_8_acquire>> - Complexity = 4
                    // Dst: (LDSETAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242021*/        /*Scope*/ 13, /*->242035*/
/*242022*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_or_8_release
/*242024*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242026*/          OPC_EmitMergeInputChains1_0,
/*242027*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_8>><<P:Predicate_atomic_load_or_8_release>> - Complexity = 4
                    // Dst: (LDSETLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242035*/        /*Scope*/ 13, /*->242049*/
/*242036*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_or_8_acq_rel
/*242038*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242040*/          OPC_EmitMergeInputChains1_0,
/*242041*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_8>><<P:Predicate_atomic_load_or_8_acq_rel>> - Complexity = 4
                    // Dst: (LDSETALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242049*/        /*Scope*/ 13, /*->242063*/
/*242050*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_or_8_seq_cst
/*242052*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242054*/          OPC_EmitMergeInputChains1_0,
/*242055*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSETALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_or:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_or_8>><<P:Predicate_atomic_load_or_8_seq_cst>> - Complexity = 4
                    // Dst: (LDSETALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242063*/        0, /*End of Scope*/
/*242064*/      0, /*End of Scope*/
/*242065*/    0, // EndSwitchType
/*242066*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_LOAD_XOR),// ->242384
/*242070*/    OPC_RecordMemRef,
/*242071*/    OPC_RecordNode, // #0 = 'atomic_load_xor' chained node
/*242072*/    OPC_RecordChild1, // #1 = $Rn
/*242073*/    OPC_CheckChild1Type, MVT::i64,
/*242075*/    OPC_RecordChild2, // #2 = $Rm
/*242076*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->242153
/*242079*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_xor_64
/*242081*/      OPC_Scope, 13, /*->242096*/ // 5 children in Scope
/*242083*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_xor_64_monotonic
/*242085*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242087*/        OPC_EmitMergeInputChains1_0,
/*242088*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_xor:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_xor_64>><<P:Predicate_atomic_load_xor_64_monotonic>> - Complexity = 4
                  // Dst: (LDEORX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242096*/      /*Scope*/ 13, /*->242110*/
/*242097*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_xor_64_acquire
/*242099*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242101*/        OPC_EmitMergeInputChains1_0,
/*242102*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_xor:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_xor_64>><<P:Predicate_atomic_load_xor_64_acquire>> - Complexity = 4
                  // Dst: (LDEORAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242110*/      /*Scope*/ 13, /*->242124*/
/*242111*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_xor_64_release
/*242113*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242115*/        OPC_EmitMergeInputChains1_0,
/*242116*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_xor:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_xor_64>><<P:Predicate_atomic_load_xor_64_release>> - Complexity = 4
                  // Dst: (LDEORLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242124*/      /*Scope*/ 13, /*->242138*/
/*242125*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_xor_64_acq_rel
/*242127*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242129*/        OPC_EmitMergeInputChains1_0,
/*242130*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_xor:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_xor_64>><<P:Predicate_atomic_load_xor_64_acq_rel>> - Complexity = 4
                  // Dst: (LDEORALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242138*/      /*Scope*/ 13, /*->242152*/
/*242139*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_xor_64_seq_cst
/*242141*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242143*/        OPC_EmitMergeInputChains1_0,
/*242144*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_xor:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_xor_64>><<P:Predicate_atomic_load_xor_64_seq_cst>> - Complexity = 4
                  // Dst: (LDEORALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242152*/      0, /*End of Scope*/
/*242153*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->242383
/*242156*/      OPC_Scope, 74, /*->242232*/ // 3 children in Scope
/*242158*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_xor_32
/*242160*/        OPC_Scope, 13, /*->242175*/ // 5 children in Scope
/*242162*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_xor_32_monotonic
/*242164*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242166*/          OPC_EmitMergeInputChains1_0,
/*242167*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_32>><<P:Predicate_atomic_load_xor_32_monotonic>> - Complexity = 4
                    // Dst: (LDEORW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242175*/        /*Scope*/ 13, /*->242189*/
/*242176*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_xor_32_acquire
/*242178*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242180*/          OPC_EmitMergeInputChains1_0,
/*242181*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_32>><<P:Predicate_atomic_load_xor_32_acquire>> - Complexity = 4
                    // Dst: (LDEORAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242189*/        /*Scope*/ 13, /*->242203*/
/*242190*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_xor_32_release
/*242192*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242194*/          OPC_EmitMergeInputChains1_0,
/*242195*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_32>><<P:Predicate_atomic_load_xor_32_release>> - Complexity = 4
                    // Dst: (LDEORLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242203*/        /*Scope*/ 13, /*->242217*/
/*242204*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_xor_32_acq_rel
/*242206*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242208*/          OPC_EmitMergeInputChains1_0,
/*242209*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_32>><<P:Predicate_atomic_load_xor_32_acq_rel>> - Complexity = 4
                    // Dst: (LDEORALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242217*/        /*Scope*/ 13, /*->242231*/
/*242218*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_xor_32_seq_cst
/*242220*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242222*/          OPC_EmitMergeInputChains1_0,
/*242223*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_32>><<P:Predicate_atomic_load_xor_32_seq_cst>> - Complexity = 4
                    // Dst: (LDEORALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242231*/        0, /*End of Scope*/
/*242232*/      /*Scope*/ 74, /*->242307*/
/*242233*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_xor_16
/*242235*/        OPC_Scope, 13, /*->242250*/ // 5 children in Scope
/*242237*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_xor_16_monotonic
/*242239*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242241*/          OPC_EmitMergeInputChains1_0,
/*242242*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_16>><<P:Predicate_atomic_load_xor_16_monotonic>> - Complexity = 4
                    // Dst: (LDEORH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242250*/        /*Scope*/ 13, /*->242264*/
/*242251*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_xor_16_acquire
/*242253*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242255*/          OPC_EmitMergeInputChains1_0,
/*242256*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_16>><<P:Predicate_atomic_load_xor_16_acquire>> - Complexity = 4
                    // Dst: (LDEORAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242264*/        /*Scope*/ 13, /*->242278*/
/*242265*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_xor_16_release
/*242267*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242269*/          OPC_EmitMergeInputChains1_0,
/*242270*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_16>><<P:Predicate_atomic_load_xor_16_release>> - Complexity = 4
                    // Dst: (LDEORLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242278*/        /*Scope*/ 13, /*->242292*/
/*242279*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_xor_16_acq_rel
/*242281*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242283*/          OPC_EmitMergeInputChains1_0,
/*242284*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_16>><<P:Predicate_atomic_load_xor_16_acq_rel>> - Complexity = 4
                    // Dst: (LDEORALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242292*/        /*Scope*/ 13, /*->242306*/
/*242293*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_xor_16_seq_cst
/*242295*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242297*/          OPC_EmitMergeInputChains1_0,
/*242298*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_16>><<P:Predicate_atomic_load_xor_16_seq_cst>> - Complexity = 4
                    // Dst: (LDEORALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242306*/        0, /*End of Scope*/
/*242307*/      /*Scope*/ 74, /*->242382*/
/*242308*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_xor_8
/*242310*/        OPC_Scope, 13, /*->242325*/ // 5 children in Scope
/*242312*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_xor_8_monotonic
/*242314*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242316*/          OPC_EmitMergeInputChains1_0,
/*242317*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_8>><<P:Predicate_atomic_load_xor_8_monotonic>> - Complexity = 4
                    // Dst: (LDEORB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242325*/        /*Scope*/ 13, /*->242339*/
/*242326*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_xor_8_acquire
/*242328*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242330*/          OPC_EmitMergeInputChains1_0,
/*242331*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_8>><<P:Predicate_atomic_load_xor_8_acquire>> - Complexity = 4
                    // Dst: (LDEORAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242339*/        /*Scope*/ 13, /*->242353*/
/*242340*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_xor_8_release
/*242342*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242344*/          OPC_EmitMergeInputChains1_0,
/*242345*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_8>><<P:Predicate_atomic_load_xor_8_release>> - Complexity = 4
                    // Dst: (LDEORLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242353*/        /*Scope*/ 13, /*->242367*/
/*242354*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_xor_8_acq_rel
/*242356*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242358*/          OPC_EmitMergeInputChains1_0,
/*242359*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_8>><<P:Predicate_atomic_load_xor_8_acq_rel>> - Complexity = 4
                    // Dst: (LDEORALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242367*/        /*Scope*/ 13, /*->242381*/
/*242368*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_xor_8_seq_cst
/*242370*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242372*/          OPC_EmitMergeInputChains1_0,
/*242373*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDEORALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_xor:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_xor_8>><<P:Predicate_atomic_load_xor_8_seq_cst>> - Complexity = 4
                    // Dst: (LDEORALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242381*/        0, /*End of Scope*/
/*242382*/      0, /*End of Scope*/
/*242383*/    0, // EndSwitchType
/*242384*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_LOAD_CLR),// ->242702
/*242388*/    OPC_RecordMemRef,
/*242389*/    OPC_RecordNode, // #0 = 'atomic_load_clr' chained node
/*242390*/    OPC_RecordChild1, // #1 = $Rn
/*242391*/    OPC_CheckChild1Type, MVT::i64,
/*242393*/    OPC_RecordChild2, // #2 = $Rm
/*242394*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->242471
/*242397*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_clr_64
/*242399*/      OPC_Scope, 13, /*->242414*/ // 5 children in Scope
/*242401*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_clr_64_monotonic
/*242403*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242405*/        OPC_EmitMergeInputChains1_0,
/*242406*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_clr:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_clr_64>><<P:Predicate_atomic_load_clr_64_monotonic>> - Complexity = 4
                  // Dst: (LDCLRX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242414*/      /*Scope*/ 13, /*->242428*/
/*242415*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_clr_64_acquire
/*242417*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242419*/        OPC_EmitMergeInputChains1_0,
/*242420*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_clr:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_clr_64>><<P:Predicate_atomic_load_clr_64_acquire>> - Complexity = 4
                  // Dst: (LDCLRAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242428*/      /*Scope*/ 13, /*->242442*/
/*242429*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_clr_64_release
/*242431*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242433*/        OPC_EmitMergeInputChains1_0,
/*242434*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_clr:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_clr_64>><<P:Predicate_atomic_load_clr_64_release>> - Complexity = 4
                  // Dst: (LDCLRLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242442*/      /*Scope*/ 13, /*->242456*/
/*242443*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_clr_64_acq_rel
/*242445*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242447*/        OPC_EmitMergeInputChains1_0,
/*242448*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_clr:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_clr_64>><<P:Predicate_atomic_load_clr_64_acq_rel>> - Complexity = 4
                  // Dst: (LDCLRALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242456*/      /*Scope*/ 13, /*->242470*/
/*242457*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_clr_64_seq_cst
/*242459*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242461*/        OPC_EmitMergeInputChains1_0,
/*242462*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_clr:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_clr_64>><<P:Predicate_atomic_load_clr_64_seq_cst>> - Complexity = 4
                  // Dst: (LDCLRALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242470*/      0, /*End of Scope*/
/*242471*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->242701
/*242474*/      OPC_Scope, 74, /*->242550*/ // 3 children in Scope
/*242476*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_clr_32
/*242478*/        OPC_Scope, 13, /*->242493*/ // 5 children in Scope
/*242480*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_clr_32_monotonic
/*242482*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242484*/          OPC_EmitMergeInputChains1_0,
/*242485*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_32>><<P:Predicate_atomic_load_clr_32_monotonic>> - Complexity = 4
                    // Dst: (LDCLRW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242493*/        /*Scope*/ 13, /*->242507*/
/*242494*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_clr_32_acquire
/*242496*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242498*/          OPC_EmitMergeInputChains1_0,
/*242499*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_32>><<P:Predicate_atomic_load_clr_32_acquire>> - Complexity = 4
                    // Dst: (LDCLRAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242507*/        /*Scope*/ 13, /*->242521*/
/*242508*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_clr_32_release
/*242510*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242512*/          OPC_EmitMergeInputChains1_0,
/*242513*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_32>><<P:Predicate_atomic_load_clr_32_release>> - Complexity = 4
                    // Dst: (LDCLRLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242521*/        /*Scope*/ 13, /*->242535*/
/*242522*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_clr_32_acq_rel
/*242524*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242526*/          OPC_EmitMergeInputChains1_0,
/*242527*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_32>><<P:Predicate_atomic_load_clr_32_acq_rel>> - Complexity = 4
                    // Dst: (LDCLRALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242535*/        /*Scope*/ 13, /*->242549*/
/*242536*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_clr_32_seq_cst
/*242538*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242540*/          OPC_EmitMergeInputChains1_0,
/*242541*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_32>><<P:Predicate_atomic_load_clr_32_seq_cst>> - Complexity = 4
                    // Dst: (LDCLRALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242549*/        0, /*End of Scope*/
/*242550*/      /*Scope*/ 74, /*->242625*/
/*242551*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_clr_16
/*242553*/        OPC_Scope, 13, /*->242568*/ // 5 children in Scope
/*242555*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_clr_16_monotonic
/*242557*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242559*/          OPC_EmitMergeInputChains1_0,
/*242560*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_16>><<P:Predicate_atomic_load_clr_16_monotonic>> - Complexity = 4
                    // Dst: (LDCLRH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242568*/        /*Scope*/ 13, /*->242582*/
/*242569*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_clr_16_acquire
/*242571*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242573*/          OPC_EmitMergeInputChains1_0,
/*242574*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_16>><<P:Predicate_atomic_load_clr_16_acquire>> - Complexity = 4
                    // Dst: (LDCLRAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242582*/        /*Scope*/ 13, /*->242596*/
/*242583*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_clr_16_release
/*242585*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242587*/          OPC_EmitMergeInputChains1_0,
/*242588*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_16>><<P:Predicate_atomic_load_clr_16_release>> - Complexity = 4
                    // Dst: (LDCLRLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242596*/        /*Scope*/ 13, /*->242610*/
/*242597*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_clr_16_acq_rel
/*242599*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242601*/          OPC_EmitMergeInputChains1_0,
/*242602*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_16>><<P:Predicate_atomic_load_clr_16_acq_rel>> - Complexity = 4
                    // Dst: (LDCLRALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242610*/        /*Scope*/ 13, /*->242624*/
/*242611*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_clr_16_seq_cst
/*242613*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242615*/          OPC_EmitMergeInputChains1_0,
/*242616*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_16>><<P:Predicate_atomic_load_clr_16_seq_cst>> - Complexity = 4
                    // Dst: (LDCLRALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242624*/        0, /*End of Scope*/
/*242625*/      /*Scope*/ 74, /*->242700*/
/*242626*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_clr_8
/*242628*/        OPC_Scope, 13, /*->242643*/ // 5 children in Scope
/*242630*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_clr_8_monotonic
/*242632*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242634*/          OPC_EmitMergeInputChains1_0,
/*242635*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_8>><<P:Predicate_atomic_load_clr_8_monotonic>> - Complexity = 4
                    // Dst: (LDCLRB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242643*/        /*Scope*/ 13, /*->242657*/
/*242644*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_clr_8_acquire
/*242646*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242648*/          OPC_EmitMergeInputChains1_0,
/*242649*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_8>><<P:Predicate_atomic_load_clr_8_acquire>> - Complexity = 4
                    // Dst: (LDCLRAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242657*/        /*Scope*/ 13, /*->242671*/
/*242658*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_clr_8_release
/*242660*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242662*/          OPC_EmitMergeInputChains1_0,
/*242663*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_8>><<P:Predicate_atomic_load_clr_8_release>> - Complexity = 4
                    // Dst: (LDCLRLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242671*/        /*Scope*/ 13, /*->242685*/
/*242672*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_clr_8_acq_rel
/*242674*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242676*/          OPC_EmitMergeInputChains1_0,
/*242677*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_8>><<P:Predicate_atomic_load_clr_8_acq_rel>> - Complexity = 4
                    // Dst: (LDCLRALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242685*/        /*Scope*/ 13, /*->242699*/
/*242686*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_clr_8_seq_cst
/*242688*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242690*/          OPC_EmitMergeInputChains1_0,
/*242691*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_clr:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_clr_8>><<P:Predicate_atomic_load_clr_8_seq_cst>> - Complexity = 4
                    // Dst: (LDCLRALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242699*/        0, /*End of Scope*/
/*242700*/      0, /*End of Scope*/
/*242701*/    0, // EndSwitchType
/*242702*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_LOAD_MAX),// ->243020
/*242706*/    OPC_RecordMemRef,
/*242707*/    OPC_RecordNode, // #0 = 'atomic_load_max' chained node
/*242708*/    OPC_RecordChild1, // #1 = $Rn
/*242709*/    OPC_CheckChild1Type, MVT::i64,
/*242711*/    OPC_RecordChild2, // #2 = $Rm
/*242712*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->242789
/*242715*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_max_64
/*242717*/      OPC_Scope, 13, /*->242732*/ // 5 children in Scope
/*242719*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_max_64_monotonic
/*242721*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242723*/        OPC_EmitMergeInputChains1_0,
/*242724*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_max:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_max_64>><<P:Predicate_atomic_load_max_64_monotonic>> - Complexity = 4
                  // Dst: (LDSMAXX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242732*/      /*Scope*/ 13, /*->242746*/
/*242733*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_max_64_acquire
/*242735*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242737*/        OPC_EmitMergeInputChains1_0,
/*242738*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_max:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_max_64>><<P:Predicate_atomic_load_max_64_acquire>> - Complexity = 4
                  // Dst: (LDSMAXAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242746*/      /*Scope*/ 13, /*->242760*/
/*242747*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_max_64_release
/*242749*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242751*/        OPC_EmitMergeInputChains1_0,
/*242752*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_max:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_max_64>><<P:Predicate_atomic_load_max_64_release>> - Complexity = 4
                  // Dst: (LDSMAXLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242760*/      /*Scope*/ 13, /*->242774*/
/*242761*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_max_64_acq_rel
/*242763*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242765*/        OPC_EmitMergeInputChains1_0,
/*242766*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_max:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_max_64>><<P:Predicate_atomic_load_max_64_acq_rel>> - Complexity = 4
                  // Dst: (LDSMAXALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242774*/      /*Scope*/ 13, /*->242788*/
/*242775*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_max_64_seq_cst
/*242777*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242779*/        OPC_EmitMergeInputChains1_0,
/*242780*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_max:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_max_64>><<P:Predicate_atomic_load_max_64_seq_cst>> - Complexity = 4
                  // Dst: (LDSMAXALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242788*/      0, /*End of Scope*/
/*242789*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->243019
/*242792*/      OPC_Scope, 74, /*->242868*/ // 3 children in Scope
/*242794*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_max_32
/*242796*/        OPC_Scope, 13, /*->242811*/ // 5 children in Scope
/*242798*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_max_32_monotonic
/*242800*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242802*/          OPC_EmitMergeInputChains1_0,
/*242803*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_32>><<P:Predicate_atomic_load_max_32_monotonic>> - Complexity = 4
                    // Dst: (LDSMAXW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242811*/        /*Scope*/ 13, /*->242825*/
/*242812*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_max_32_acquire
/*242814*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242816*/          OPC_EmitMergeInputChains1_0,
/*242817*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_32>><<P:Predicate_atomic_load_max_32_acquire>> - Complexity = 4
                    // Dst: (LDSMAXAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242825*/        /*Scope*/ 13, /*->242839*/
/*242826*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_max_32_release
/*242828*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242830*/          OPC_EmitMergeInputChains1_0,
/*242831*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_32>><<P:Predicate_atomic_load_max_32_release>> - Complexity = 4
                    // Dst: (LDSMAXLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242839*/        /*Scope*/ 13, /*->242853*/
/*242840*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_max_32_acq_rel
/*242842*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242844*/          OPC_EmitMergeInputChains1_0,
/*242845*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_32>><<P:Predicate_atomic_load_max_32_acq_rel>> - Complexity = 4
                    // Dst: (LDSMAXALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242853*/        /*Scope*/ 13, /*->242867*/
/*242854*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_max_32_seq_cst
/*242856*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242858*/          OPC_EmitMergeInputChains1_0,
/*242859*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_32>><<P:Predicate_atomic_load_max_32_seq_cst>> - Complexity = 4
                    // Dst: (LDSMAXALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242867*/        0, /*End of Scope*/
/*242868*/      /*Scope*/ 74, /*->242943*/
/*242869*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_max_16
/*242871*/        OPC_Scope, 13, /*->242886*/ // 5 children in Scope
/*242873*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_max_16_monotonic
/*242875*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242877*/          OPC_EmitMergeInputChains1_0,
/*242878*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_16>><<P:Predicate_atomic_load_max_16_monotonic>> - Complexity = 4
                    // Dst: (LDSMAXH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242886*/        /*Scope*/ 13, /*->242900*/
/*242887*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_max_16_acquire
/*242889*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242891*/          OPC_EmitMergeInputChains1_0,
/*242892*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_16>><<P:Predicate_atomic_load_max_16_acquire>> - Complexity = 4
                    // Dst: (LDSMAXAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242900*/        /*Scope*/ 13, /*->242914*/
/*242901*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_max_16_release
/*242903*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242905*/          OPC_EmitMergeInputChains1_0,
/*242906*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_16>><<P:Predicate_atomic_load_max_16_release>> - Complexity = 4
                    // Dst: (LDSMAXLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242914*/        /*Scope*/ 13, /*->242928*/
/*242915*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_max_16_acq_rel
/*242917*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242919*/          OPC_EmitMergeInputChains1_0,
/*242920*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_16>><<P:Predicate_atomic_load_max_16_acq_rel>> - Complexity = 4
                    // Dst: (LDSMAXALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242928*/        /*Scope*/ 13, /*->242942*/
/*242929*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_max_16_seq_cst
/*242931*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242933*/          OPC_EmitMergeInputChains1_0,
/*242934*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_16>><<P:Predicate_atomic_load_max_16_seq_cst>> - Complexity = 4
                    // Dst: (LDSMAXALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242942*/        0, /*End of Scope*/
/*242943*/      /*Scope*/ 74, /*->243018*/
/*242944*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_max_8
/*242946*/        OPC_Scope, 13, /*->242961*/ // 5 children in Scope
/*242948*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_max_8_monotonic
/*242950*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242952*/          OPC_EmitMergeInputChains1_0,
/*242953*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_8>><<P:Predicate_atomic_load_max_8_monotonic>> - Complexity = 4
                    // Dst: (LDSMAXB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242961*/        /*Scope*/ 13, /*->242975*/
/*242962*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_max_8_acquire
/*242964*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242966*/          OPC_EmitMergeInputChains1_0,
/*242967*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_8>><<P:Predicate_atomic_load_max_8_acquire>> - Complexity = 4
                    // Dst: (LDSMAXAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242975*/        /*Scope*/ 13, /*->242989*/
/*242976*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_max_8_release
/*242978*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242980*/          OPC_EmitMergeInputChains1_0,
/*242981*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_8>><<P:Predicate_atomic_load_max_8_release>> - Complexity = 4
                    // Dst: (LDSMAXLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*242989*/        /*Scope*/ 13, /*->243003*/
/*242990*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_max_8_acq_rel
/*242992*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*242994*/          OPC_EmitMergeInputChains1_0,
/*242995*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_8>><<P:Predicate_atomic_load_max_8_acq_rel>> - Complexity = 4
                    // Dst: (LDSMAXALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243003*/        /*Scope*/ 13, /*->243017*/
/*243004*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_max_8_seq_cst
/*243006*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243008*/          OPC_EmitMergeInputChains1_0,
/*243009*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMAXALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_max:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_max_8>><<P:Predicate_atomic_load_max_8_seq_cst>> - Complexity = 4
                    // Dst: (LDSMAXALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243017*/        0, /*End of Scope*/
/*243018*/      0, /*End of Scope*/
/*243019*/    0, // EndSwitchType
/*243020*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_LOAD_MIN),// ->243338
/*243024*/    OPC_RecordMemRef,
/*243025*/    OPC_RecordNode, // #0 = 'atomic_load_min' chained node
/*243026*/    OPC_RecordChild1, // #1 = $Rn
/*243027*/    OPC_CheckChild1Type, MVT::i64,
/*243029*/    OPC_RecordChild2, // #2 = $Rm
/*243030*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->243107
/*243033*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_min_64
/*243035*/      OPC_Scope, 13, /*->243050*/ // 5 children in Scope
/*243037*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_min_64_monotonic
/*243039*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243041*/        OPC_EmitMergeInputChains1_0,
/*243042*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_min:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_min_64>><<P:Predicate_atomic_load_min_64_monotonic>> - Complexity = 4
                  // Dst: (LDSMINX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243050*/      /*Scope*/ 13, /*->243064*/
/*243051*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_min_64_acquire
/*243053*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243055*/        OPC_EmitMergeInputChains1_0,
/*243056*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_min:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_min_64>><<P:Predicate_atomic_load_min_64_acquire>> - Complexity = 4
                  // Dst: (LDSMINAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243064*/      /*Scope*/ 13, /*->243078*/
/*243065*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_min_64_release
/*243067*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243069*/        OPC_EmitMergeInputChains1_0,
/*243070*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_min:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_min_64>><<P:Predicate_atomic_load_min_64_release>> - Complexity = 4
                  // Dst: (LDSMINLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243078*/      /*Scope*/ 13, /*->243092*/
/*243079*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_min_64_acq_rel
/*243081*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243083*/        OPC_EmitMergeInputChains1_0,
/*243084*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_min:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_min_64>><<P:Predicate_atomic_load_min_64_acq_rel>> - Complexity = 4
                  // Dst: (LDSMINALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243092*/      /*Scope*/ 13, /*->243106*/
/*243093*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_min_64_seq_cst
/*243095*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243097*/        OPC_EmitMergeInputChains1_0,
/*243098*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_min:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_min_64>><<P:Predicate_atomic_load_min_64_seq_cst>> - Complexity = 4
                  // Dst: (LDSMINALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243106*/      0, /*End of Scope*/
/*243107*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->243337
/*243110*/      OPC_Scope, 74, /*->243186*/ // 3 children in Scope
/*243112*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_min_32
/*243114*/        OPC_Scope, 13, /*->243129*/ // 5 children in Scope
/*243116*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_min_32_monotonic
/*243118*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243120*/          OPC_EmitMergeInputChains1_0,
/*243121*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_32>><<P:Predicate_atomic_load_min_32_monotonic>> - Complexity = 4
                    // Dst: (LDSMINW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243129*/        /*Scope*/ 13, /*->243143*/
/*243130*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_min_32_acquire
/*243132*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243134*/          OPC_EmitMergeInputChains1_0,
/*243135*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_32>><<P:Predicate_atomic_load_min_32_acquire>> - Complexity = 4
                    // Dst: (LDSMINAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243143*/        /*Scope*/ 13, /*->243157*/
/*243144*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_min_32_release
/*243146*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243148*/          OPC_EmitMergeInputChains1_0,
/*243149*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_32>><<P:Predicate_atomic_load_min_32_release>> - Complexity = 4
                    // Dst: (LDSMINLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243157*/        /*Scope*/ 13, /*->243171*/
/*243158*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_min_32_acq_rel
/*243160*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243162*/          OPC_EmitMergeInputChains1_0,
/*243163*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_32>><<P:Predicate_atomic_load_min_32_acq_rel>> - Complexity = 4
                    // Dst: (LDSMINALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243171*/        /*Scope*/ 13, /*->243185*/
/*243172*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_min_32_seq_cst
/*243174*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243176*/          OPC_EmitMergeInputChains1_0,
/*243177*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_32>><<P:Predicate_atomic_load_min_32_seq_cst>> - Complexity = 4
                    // Dst: (LDSMINALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243185*/        0, /*End of Scope*/
/*243186*/      /*Scope*/ 74, /*->243261*/
/*243187*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_min_16
/*243189*/        OPC_Scope, 13, /*->243204*/ // 5 children in Scope
/*243191*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_min_16_monotonic
/*243193*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243195*/          OPC_EmitMergeInputChains1_0,
/*243196*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_16>><<P:Predicate_atomic_load_min_16_monotonic>> - Complexity = 4
                    // Dst: (LDSMINH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243204*/        /*Scope*/ 13, /*->243218*/
/*243205*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_min_16_acquire
/*243207*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243209*/          OPC_EmitMergeInputChains1_0,
/*243210*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_16>><<P:Predicate_atomic_load_min_16_acquire>> - Complexity = 4
                    // Dst: (LDSMINAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243218*/        /*Scope*/ 13, /*->243232*/
/*243219*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_min_16_release
/*243221*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243223*/          OPC_EmitMergeInputChains1_0,
/*243224*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_16>><<P:Predicate_atomic_load_min_16_release>> - Complexity = 4
                    // Dst: (LDSMINLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243232*/        /*Scope*/ 13, /*->243246*/
/*243233*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_min_16_acq_rel
/*243235*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243237*/          OPC_EmitMergeInputChains1_0,
/*243238*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_16>><<P:Predicate_atomic_load_min_16_acq_rel>> - Complexity = 4
                    // Dst: (LDSMINALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243246*/        /*Scope*/ 13, /*->243260*/
/*243247*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_min_16_seq_cst
/*243249*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243251*/          OPC_EmitMergeInputChains1_0,
/*243252*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_16>><<P:Predicate_atomic_load_min_16_seq_cst>> - Complexity = 4
                    // Dst: (LDSMINALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243260*/        0, /*End of Scope*/
/*243261*/      /*Scope*/ 74, /*->243336*/
/*243262*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_min_8
/*243264*/        OPC_Scope, 13, /*->243279*/ // 5 children in Scope
/*243266*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_min_8_monotonic
/*243268*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243270*/          OPC_EmitMergeInputChains1_0,
/*243271*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_8>><<P:Predicate_atomic_load_min_8_monotonic>> - Complexity = 4
                    // Dst: (LDSMINB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243279*/        /*Scope*/ 13, /*->243293*/
/*243280*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_min_8_acquire
/*243282*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243284*/          OPC_EmitMergeInputChains1_0,
/*243285*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_8>><<P:Predicate_atomic_load_min_8_acquire>> - Complexity = 4
                    // Dst: (LDSMINAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243293*/        /*Scope*/ 13, /*->243307*/
/*243294*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_min_8_release
/*243296*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243298*/          OPC_EmitMergeInputChains1_0,
/*243299*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_8>><<P:Predicate_atomic_load_min_8_release>> - Complexity = 4
                    // Dst: (LDSMINLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243307*/        /*Scope*/ 13, /*->243321*/
/*243308*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_min_8_acq_rel
/*243310*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243312*/          OPC_EmitMergeInputChains1_0,
/*243313*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_8>><<P:Predicate_atomic_load_min_8_acq_rel>> - Complexity = 4
                    // Dst: (LDSMINALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243321*/        /*Scope*/ 13, /*->243335*/
/*243322*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_min_8_seq_cst
/*243324*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243326*/          OPC_EmitMergeInputChains1_0,
/*243327*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDSMINALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_min:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_min_8>><<P:Predicate_atomic_load_min_8_seq_cst>> - Complexity = 4
                    // Dst: (LDSMINALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243335*/        0, /*End of Scope*/
/*243336*/      0, /*End of Scope*/
/*243337*/    0, // EndSwitchType
/*243338*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_LOAD_UMAX),// ->243656
/*243342*/    OPC_RecordMemRef,
/*243343*/    OPC_RecordNode, // #0 = 'atomic_load_umax' chained node
/*243344*/    OPC_RecordChild1, // #1 = $Rn
/*243345*/    OPC_CheckChild1Type, MVT::i64,
/*243347*/    OPC_RecordChild2, // #2 = $Rm
/*243348*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->243425
/*243351*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_umax_64
/*243353*/      OPC_Scope, 13, /*->243368*/ // 5 children in Scope
/*243355*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_umax_64_monotonic
/*243357*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243359*/        OPC_EmitMergeInputChains1_0,
/*243360*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umax:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umax_64>><<P:Predicate_atomic_load_umax_64_monotonic>> - Complexity = 4
                  // Dst: (LDUMAXX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243368*/      /*Scope*/ 13, /*->243382*/
/*243369*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_umax_64_acquire
/*243371*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243373*/        OPC_EmitMergeInputChains1_0,
/*243374*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umax:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umax_64>><<P:Predicate_atomic_load_umax_64_acquire>> - Complexity = 4
                  // Dst: (LDUMAXAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243382*/      /*Scope*/ 13, /*->243396*/
/*243383*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_umax_64_release
/*243385*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243387*/        OPC_EmitMergeInputChains1_0,
/*243388*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umax:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umax_64>><<P:Predicate_atomic_load_umax_64_release>> - Complexity = 4
                  // Dst: (LDUMAXLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243396*/      /*Scope*/ 13, /*->243410*/
/*243397*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_umax_64_acq_rel
/*243399*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243401*/        OPC_EmitMergeInputChains1_0,
/*243402*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umax:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umax_64>><<P:Predicate_atomic_load_umax_64_acq_rel>> - Complexity = 4
                  // Dst: (LDUMAXALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243410*/      /*Scope*/ 13, /*->243424*/
/*243411*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_umax_64_seq_cst
/*243413*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243415*/        OPC_EmitMergeInputChains1_0,
/*243416*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umax:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umax_64>><<P:Predicate_atomic_load_umax_64_seq_cst>> - Complexity = 4
                  // Dst: (LDUMAXALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243424*/      0, /*End of Scope*/
/*243425*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->243655
/*243428*/      OPC_Scope, 74, /*->243504*/ // 3 children in Scope
/*243430*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_umax_32
/*243432*/        OPC_Scope, 13, /*->243447*/ // 5 children in Scope
/*243434*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_umax_32_monotonic
/*243436*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243438*/          OPC_EmitMergeInputChains1_0,
/*243439*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_32>><<P:Predicate_atomic_load_umax_32_monotonic>> - Complexity = 4
                    // Dst: (LDUMAXW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243447*/        /*Scope*/ 13, /*->243461*/
/*243448*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_umax_32_acquire
/*243450*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243452*/          OPC_EmitMergeInputChains1_0,
/*243453*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_32>><<P:Predicate_atomic_load_umax_32_acquire>> - Complexity = 4
                    // Dst: (LDUMAXAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243461*/        /*Scope*/ 13, /*->243475*/
/*243462*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_umax_32_release
/*243464*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243466*/          OPC_EmitMergeInputChains1_0,
/*243467*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_32>><<P:Predicate_atomic_load_umax_32_release>> - Complexity = 4
                    // Dst: (LDUMAXLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243475*/        /*Scope*/ 13, /*->243489*/
/*243476*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_umax_32_acq_rel
/*243478*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243480*/          OPC_EmitMergeInputChains1_0,
/*243481*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_32>><<P:Predicate_atomic_load_umax_32_acq_rel>> - Complexity = 4
                    // Dst: (LDUMAXALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243489*/        /*Scope*/ 13, /*->243503*/
/*243490*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_umax_32_seq_cst
/*243492*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243494*/          OPC_EmitMergeInputChains1_0,
/*243495*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_32>><<P:Predicate_atomic_load_umax_32_seq_cst>> - Complexity = 4
                    // Dst: (LDUMAXALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243503*/        0, /*End of Scope*/
/*243504*/      /*Scope*/ 74, /*->243579*/
/*243505*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_umax_16
/*243507*/        OPC_Scope, 13, /*->243522*/ // 5 children in Scope
/*243509*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_umax_16_monotonic
/*243511*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243513*/          OPC_EmitMergeInputChains1_0,
/*243514*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_16>><<P:Predicate_atomic_load_umax_16_monotonic>> - Complexity = 4
                    // Dst: (LDUMAXH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243522*/        /*Scope*/ 13, /*->243536*/
/*243523*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_umax_16_acquire
/*243525*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243527*/          OPC_EmitMergeInputChains1_0,
/*243528*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_16>><<P:Predicate_atomic_load_umax_16_acquire>> - Complexity = 4
                    // Dst: (LDUMAXAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243536*/        /*Scope*/ 13, /*->243550*/
/*243537*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_umax_16_release
/*243539*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243541*/          OPC_EmitMergeInputChains1_0,
/*243542*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_16>><<P:Predicate_atomic_load_umax_16_release>> - Complexity = 4
                    // Dst: (LDUMAXLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243550*/        /*Scope*/ 13, /*->243564*/
/*243551*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_umax_16_acq_rel
/*243553*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243555*/          OPC_EmitMergeInputChains1_0,
/*243556*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_16>><<P:Predicate_atomic_load_umax_16_acq_rel>> - Complexity = 4
                    // Dst: (LDUMAXALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243564*/        /*Scope*/ 13, /*->243578*/
/*243565*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_umax_16_seq_cst
/*243567*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243569*/          OPC_EmitMergeInputChains1_0,
/*243570*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_16>><<P:Predicate_atomic_load_umax_16_seq_cst>> - Complexity = 4
                    // Dst: (LDUMAXALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243578*/        0, /*End of Scope*/
/*243579*/      /*Scope*/ 74, /*->243654*/
/*243580*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_umax_8
/*243582*/        OPC_Scope, 13, /*->243597*/ // 5 children in Scope
/*243584*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_umax_8_monotonic
/*243586*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243588*/          OPC_EmitMergeInputChains1_0,
/*243589*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_8>><<P:Predicate_atomic_load_umax_8_monotonic>> - Complexity = 4
                    // Dst: (LDUMAXB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243597*/        /*Scope*/ 13, /*->243611*/
/*243598*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_umax_8_acquire
/*243600*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243602*/          OPC_EmitMergeInputChains1_0,
/*243603*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_8>><<P:Predicate_atomic_load_umax_8_acquire>> - Complexity = 4
                    // Dst: (LDUMAXAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243611*/        /*Scope*/ 13, /*->243625*/
/*243612*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_umax_8_release
/*243614*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243616*/          OPC_EmitMergeInputChains1_0,
/*243617*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_8>><<P:Predicate_atomic_load_umax_8_release>> - Complexity = 4
                    // Dst: (LDUMAXLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243625*/        /*Scope*/ 13, /*->243639*/
/*243626*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_umax_8_acq_rel
/*243628*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243630*/          OPC_EmitMergeInputChains1_0,
/*243631*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_8>><<P:Predicate_atomic_load_umax_8_acq_rel>> - Complexity = 4
                    // Dst: (LDUMAXALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243639*/        /*Scope*/ 13, /*->243653*/
/*243640*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_umax_8_seq_cst
/*243642*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243644*/          OPC_EmitMergeInputChains1_0,
/*243645*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMAXALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umax:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umax_8>><<P:Predicate_atomic_load_umax_8_seq_cst>> - Complexity = 4
                    // Dst: (LDUMAXALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243653*/        0, /*End of Scope*/
/*243654*/      0, /*End of Scope*/
/*243655*/    0, // EndSwitchType
/*243656*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_LOAD_UMIN),// ->243974
/*243660*/    OPC_RecordMemRef,
/*243661*/    OPC_RecordNode, // #0 = 'atomic_load_umin' chained node
/*243662*/    OPC_RecordChild1, // #1 = $Rn
/*243663*/    OPC_CheckChild1Type, MVT::i64,
/*243665*/    OPC_RecordChild2, // #2 = $Rm
/*243666*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->243743
/*243669*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_umin_64
/*243671*/      OPC_Scope, 13, /*->243686*/ // 5 children in Scope
/*243673*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_umin_64_monotonic
/*243675*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243677*/        OPC_EmitMergeInputChains1_0,
/*243678*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umin:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umin_64>><<P:Predicate_atomic_load_umin_64_monotonic>> - Complexity = 4
                  // Dst: (LDUMINX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243686*/      /*Scope*/ 13, /*->243700*/
/*243687*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_umin_64_acquire
/*243689*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243691*/        OPC_EmitMergeInputChains1_0,
/*243692*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umin:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umin_64>><<P:Predicate_atomic_load_umin_64_acquire>> - Complexity = 4
                  // Dst: (LDUMINAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243700*/      /*Scope*/ 13, /*->243714*/
/*243701*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_umin_64_release
/*243703*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243705*/        OPC_EmitMergeInputChains1_0,
/*243706*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umin:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umin_64>><<P:Predicate_atomic_load_umin_64_release>> - Complexity = 4
                  // Dst: (LDUMINLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243714*/      /*Scope*/ 13, /*->243728*/
/*243715*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_umin_64_acq_rel
/*243717*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243719*/        OPC_EmitMergeInputChains1_0,
/*243720*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umin:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umin_64>><<P:Predicate_atomic_load_umin_64_acq_rel>> - Complexity = 4
                  // Dst: (LDUMINALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243728*/      /*Scope*/ 13, /*->243742*/
/*243729*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_umin_64_seq_cst
/*243731*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243733*/        OPC_EmitMergeInputChains1_0,
/*243734*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_load_umin:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_umin_64>><<P:Predicate_atomic_load_umin_64_seq_cst>> - Complexity = 4
                  // Dst: (LDUMINALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243742*/      0, /*End of Scope*/
/*243743*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->243973
/*243746*/      OPC_Scope, 74, /*->243822*/ // 3 children in Scope
/*243748*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_umin_32
/*243750*/        OPC_Scope, 13, /*->243765*/ // 5 children in Scope
/*243752*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_umin_32_monotonic
/*243754*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243756*/          OPC_EmitMergeInputChains1_0,
/*243757*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_32>><<P:Predicate_atomic_load_umin_32_monotonic>> - Complexity = 4
                    // Dst: (LDUMINW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243765*/        /*Scope*/ 13, /*->243779*/
/*243766*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_umin_32_acquire
/*243768*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243770*/          OPC_EmitMergeInputChains1_0,
/*243771*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_32>><<P:Predicate_atomic_load_umin_32_acquire>> - Complexity = 4
                    // Dst: (LDUMINAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243779*/        /*Scope*/ 13, /*->243793*/
/*243780*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_umin_32_release
/*243782*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243784*/          OPC_EmitMergeInputChains1_0,
/*243785*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_32>><<P:Predicate_atomic_load_umin_32_release>> - Complexity = 4
                    // Dst: (LDUMINLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243793*/        /*Scope*/ 13, /*->243807*/
/*243794*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_umin_32_acq_rel
/*243796*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243798*/          OPC_EmitMergeInputChains1_0,
/*243799*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_32>><<P:Predicate_atomic_load_umin_32_acq_rel>> - Complexity = 4
                    // Dst: (LDUMINALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243807*/        /*Scope*/ 13, /*->243821*/
/*243808*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_umin_32_seq_cst
/*243810*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243812*/          OPC_EmitMergeInputChains1_0,
/*243813*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_32>><<P:Predicate_atomic_load_umin_32_seq_cst>> - Complexity = 4
                    // Dst: (LDUMINALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243821*/        0, /*End of Scope*/
/*243822*/      /*Scope*/ 74, /*->243897*/
/*243823*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_umin_16
/*243825*/        OPC_Scope, 13, /*->243840*/ // 5 children in Scope
/*243827*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_umin_16_monotonic
/*243829*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243831*/          OPC_EmitMergeInputChains1_0,
/*243832*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_16>><<P:Predicate_atomic_load_umin_16_monotonic>> - Complexity = 4
                    // Dst: (LDUMINH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243840*/        /*Scope*/ 13, /*->243854*/
/*243841*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_umin_16_acquire
/*243843*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243845*/          OPC_EmitMergeInputChains1_0,
/*243846*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_16>><<P:Predicate_atomic_load_umin_16_acquire>> - Complexity = 4
                    // Dst: (LDUMINAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243854*/        /*Scope*/ 13, /*->243868*/
/*243855*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_umin_16_release
/*243857*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243859*/          OPC_EmitMergeInputChains1_0,
/*243860*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_16>><<P:Predicate_atomic_load_umin_16_release>> - Complexity = 4
                    // Dst: (LDUMINLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243868*/        /*Scope*/ 13, /*->243882*/
/*243869*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_umin_16_acq_rel
/*243871*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243873*/          OPC_EmitMergeInputChains1_0,
/*243874*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_16>><<P:Predicate_atomic_load_umin_16_acq_rel>> - Complexity = 4
                    // Dst: (LDUMINALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243882*/        /*Scope*/ 13, /*->243896*/
/*243883*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_umin_16_seq_cst
/*243885*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243887*/          OPC_EmitMergeInputChains1_0,
/*243888*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_16>><<P:Predicate_atomic_load_umin_16_seq_cst>> - Complexity = 4
                    // Dst: (LDUMINALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243896*/        0, /*End of Scope*/
/*243897*/      /*Scope*/ 74, /*->243972*/
/*243898*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_umin_8
/*243900*/        OPC_Scope, 13, /*->243915*/ // 5 children in Scope
/*243902*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_umin_8_monotonic
/*243904*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243906*/          OPC_EmitMergeInputChains1_0,
/*243907*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_8>><<P:Predicate_atomic_load_umin_8_monotonic>> - Complexity = 4
                    // Dst: (LDUMINB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243915*/        /*Scope*/ 13, /*->243929*/
/*243916*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_umin_8_acquire
/*243918*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243920*/          OPC_EmitMergeInputChains1_0,
/*243921*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_8>><<P:Predicate_atomic_load_umin_8_acquire>> - Complexity = 4
                    // Dst: (LDUMINAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243929*/        /*Scope*/ 13, /*->243943*/
/*243930*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_umin_8_release
/*243932*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243934*/          OPC_EmitMergeInputChains1_0,
/*243935*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_8>><<P:Predicate_atomic_load_umin_8_release>> - Complexity = 4
                    // Dst: (LDUMINLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243943*/        /*Scope*/ 13, /*->243957*/
/*243944*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_umin_8_acq_rel
/*243946*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243948*/          OPC_EmitMergeInputChains1_0,
/*243949*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_8>><<P:Predicate_atomic_load_umin_8_acq_rel>> - Complexity = 4
                    // Dst: (LDUMINALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243957*/        /*Scope*/ 13, /*->243971*/
/*243958*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_umin_8_seq_cst
/*243960*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243962*/          OPC_EmitMergeInputChains1_0,
/*243963*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDUMINALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_load_umin:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_umin_8>><<P:Predicate_atomic_load_umin_8_seq_cst>> - Complexity = 4
                    // Dst: (LDUMINALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*243971*/        0, /*End of Scope*/
/*243972*/      0, /*End of Scope*/
/*243973*/    0, // EndSwitchType
/*243974*/  /*SwitchOpcode*/ 58|128,2/*314*/, TARGET_VAL(ISD::ATOMIC_SWAP),// ->244292
/*243978*/    OPC_RecordMemRef,
/*243979*/    OPC_RecordNode, // #0 = 'atomic_swap' chained node
/*243980*/    OPC_RecordChild1, // #1 = $Rn
/*243981*/    OPC_CheckChild1Type, MVT::i64,
/*243983*/    OPC_RecordChild2, // #2 = $Rm
/*243984*/    OPC_SwitchType /*2 cases */, 74, MVT::i64,// ->244061
/*243987*/      OPC_CheckPredicate, 50, // Predicate_atomic_swap_64
/*243989*/      OPC_Scope, 13, /*->244004*/ // 5 children in Scope
/*243991*/        OPC_CheckPredicate, 68, // Predicate_atomic_swap_64_monotonic
/*243993*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*243995*/        OPC_EmitMergeInputChains1_0,
/*243996*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_swap_64>><<P:Predicate_atomic_swap_64_monotonic>> - Complexity = 4
                  // Dst: (SWPX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244004*/      /*Scope*/ 13, /*->244018*/
/*244005*/        OPC_CheckPredicate, 69, // Predicate_atomic_swap_64_acquire
/*244007*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244009*/        OPC_EmitMergeInputChains1_0,
/*244010*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_swap_64>><<P:Predicate_atomic_swap_64_acquire>> - Complexity = 4
                  // Dst: (SWPAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244018*/      /*Scope*/ 13, /*->244032*/
/*244019*/        OPC_CheckPredicate, 70, // Predicate_atomic_swap_64_release
/*244021*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244023*/        OPC_EmitMergeInputChains1_0,
/*244024*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_swap_64>><<P:Predicate_atomic_swap_64_release>> - Complexity = 4
                  // Dst: (SWPLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244032*/      /*Scope*/ 13, /*->244046*/
/*244033*/        OPC_CheckPredicate, 71, // Predicate_atomic_swap_64_acq_rel
/*244035*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244037*/        OPC_EmitMergeInputChains1_0,
/*244038*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_swap_64>><<P:Predicate_atomic_swap_64_acq_rel>> - Complexity = 4
                  // Dst: (SWPALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244046*/      /*Scope*/ 13, /*->244060*/
/*244047*/        OPC_CheckPredicate, 72, // Predicate_atomic_swap_64_seq_cst
/*244049*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244051*/        OPC_EmitMergeInputChains1_0,
/*244052*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 2, 1, 
                  // Src: (atomic_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_swap_64>><<P:Predicate_atomic_swap_64_seq_cst>> - Complexity = 4
                  // Dst: (SWPALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244060*/      0, /*End of Scope*/
/*244061*/    /*SwitchType*/ 99|128,1/*227*/, MVT::i32,// ->244291
/*244064*/      OPC_Scope, 74, /*->244140*/ // 3 children in Scope
/*244066*/        OPC_CheckPredicate, 18, // Predicate_atomic_swap_32
/*244068*/        OPC_Scope, 13, /*->244083*/ // 5 children in Scope
/*244070*/          OPC_CheckPredicate, 68, // Predicate_atomic_swap_32_monotonic
/*244072*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244074*/          OPC_EmitMergeInputChains1_0,
/*244075*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_32>><<P:Predicate_atomic_swap_32_monotonic>> - Complexity = 4
                    // Dst: (SWPW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244083*/        /*Scope*/ 13, /*->244097*/
/*244084*/          OPC_CheckPredicate, 69, // Predicate_atomic_swap_32_acquire
/*244086*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244088*/          OPC_EmitMergeInputChains1_0,
/*244089*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_32>><<P:Predicate_atomic_swap_32_acquire>> - Complexity = 4
                    // Dst: (SWPAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244097*/        /*Scope*/ 13, /*->244111*/
/*244098*/          OPC_CheckPredicate, 70, // Predicate_atomic_swap_32_release
/*244100*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244102*/          OPC_EmitMergeInputChains1_0,
/*244103*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_32>><<P:Predicate_atomic_swap_32_release>> - Complexity = 4
                    // Dst: (SWPLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244111*/        /*Scope*/ 13, /*->244125*/
/*244112*/          OPC_CheckPredicate, 71, // Predicate_atomic_swap_32_acq_rel
/*244114*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244116*/          OPC_EmitMergeInputChains1_0,
/*244117*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_32>><<P:Predicate_atomic_swap_32_acq_rel>> - Complexity = 4
                    // Dst: (SWPALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244125*/        /*Scope*/ 13, /*->244139*/
/*244126*/          OPC_CheckPredicate, 72, // Predicate_atomic_swap_32_seq_cst
/*244128*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244130*/          OPC_EmitMergeInputChains1_0,
/*244131*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_32>><<P:Predicate_atomic_swap_32_seq_cst>> - Complexity = 4
                    // Dst: (SWPALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244139*/        0, /*End of Scope*/
/*244140*/      /*Scope*/ 74, /*->244215*/
/*244141*/        OPC_CheckPredicate, 16, // Predicate_atomic_swap_16
/*244143*/        OPC_Scope, 13, /*->244158*/ // 5 children in Scope
/*244145*/          OPC_CheckPredicate, 68, // Predicate_atomic_swap_16_monotonic
/*244147*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244149*/          OPC_EmitMergeInputChains1_0,
/*244150*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_16>><<P:Predicate_atomic_swap_16_monotonic>> - Complexity = 4
                    // Dst: (SWPH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244158*/        /*Scope*/ 13, /*->244172*/
/*244159*/          OPC_CheckPredicate, 69, // Predicate_atomic_swap_16_acquire
/*244161*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244163*/          OPC_EmitMergeInputChains1_0,
/*244164*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_16>><<P:Predicate_atomic_swap_16_acquire>> - Complexity = 4
                    // Dst: (SWPAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244172*/        /*Scope*/ 13, /*->244186*/
/*244173*/          OPC_CheckPredicate, 70, // Predicate_atomic_swap_16_release
/*244175*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244177*/          OPC_EmitMergeInputChains1_0,
/*244178*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_16>><<P:Predicate_atomic_swap_16_release>> - Complexity = 4
                    // Dst: (SWPLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244186*/        /*Scope*/ 13, /*->244200*/
/*244187*/          OPC_CheckPredicate, 71, // Predicate_atomic_swap_16_acq_rel
/*244189*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244191*/          OPC_EmitMergeInputChains1_0,
/*244192*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_16>><<P:Predicate_atomic_swap_16_acq_rel>> - Complexity = 4
                    // Dst: (SWPALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244200*/        /*Scope*/ 13, /*->244214*/
/*244201*/          OPC_CheckPredicate, 72, // Predicate_atomic_swap_16_seq_cst
/*244203*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244205*/          OPC_EmitMergeInputChains1_0,
/*244206*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_16>><<P:Predicate_atomic_swap_16_seq_cst>> - Complexity = 4
                    // Dst: (SWPALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244214*/        0, /*End of Scope*/
/*244215*/      /*Scope*/ 74, /*->244290*/
/*244216*/        OPC_CheckPredicate, 6, // Predicate_atomic_swap_8
/*244218*/        OPC_Scope, 13, /*->244233*/ // 5 children in Scope
/*244220*/          OPC_CheckPredicate, 68, // Predicate_atomic_swap_8_monotonic
/*244222*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244224*/          OPC_EmitMergeInputChains1_0,
/*244225*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_8>><<P:Predicate_atomic_swap_8_monotonic>> - Complexity = 4
                    // Dst: (SWPB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244233*/        /*Scope*/ 13, /*->244247*/
/*244234*/          OPC_CheckPredicate, 69, // Predicate_atomic_swap_8_acquire
/*244236*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244238*/          OPC_EmitMergeInputChains1_0,
/*244239*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_8>><<P:Predicate_atomic_swap_8_acquire>> - Complexity = 4
                    // Dst: (SWPAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244247*/        /*Scope*/ 13, /*->244261*/
/*244248*/          OPC_CheckPredicate, 70, // Predicate_atomic_swap_8_release
/*244250*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244252*/          OPC_EmitMergeInputChains1_0,
/*244253*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_8>><<P:Predicate_atomic_swap_8_release>> - Complexity = 4
                    // Dst: (SWPLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244261*/        /*Scope*/ 13, /*->244275*/
/*244262*/          OPC_CheckPredicate, 71, // Predicate_atomic_swap_8_acq_rel
/*244264*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244266*/          OPC_EmitMergeInputChains1_0,
/*244267*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_8>><<P:Predicate_atomic_swap_8_acq_rel>> - Complexity = 4
                    // Dst: (SWPALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244275*/        /*Scope*/ 13, /*->244289*/
/*244276*/          OPC_CheckPredicate, 72, // Predicate_atomic_swap_8_seq_cst
/*244278*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244280*/          OPC_EmitMergeInputChains1_0,
/*244281*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SWPALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 1, 
                    // Src: (atomic_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_swap_8>><<P:Predicate_atomic_swap_8_seq_cst>> - Complexity = 4
                    // Dst: (SWPALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rm, GPR64sp:{ *:[i64] }:$Rn)
/*244289*/        0, /*End of Scope*/
/*244290*/      0, /*End of Scope*/
/*244291*/    0, // EndSwitchType
/*244292*/  /*SwitchOpcode*/ 79|128,2/*335*/, TARGET_VAL(ISD::ATOMIC_CMP_SWAP),// ->244631
/*244296*/    OPC_RecordMemRef,
/*244297*/    OPC_RecordNode, // #0 = 'atomic_cmp_swap' chained node
/*244298*/    OPC_RecordChild1, // #1 = $Rn
/*244299*/    OPC_CheckChild1Type, MVT::i64,
/*244301*/    OPC_RecordChild2, // #2 = $Rold
/*244302*/    OPC_RecordChild3, // #3 = $Rnew
/*244303*/    OPC_SwitchType /*2 cases */, 79, MVT::i64,// ->244385
/*244306*/      OPC_CheckPredicate, 50, // Predicate_atomic_cmp_swap_64
/*244308*/      OPC_Scope, 14, /*->244324*/ // 5 children in Scope
/*244310*/        OPC_CheckPredicate, 68, // Predicate_atomic_cmp_swap_64_monotonic
/*244312*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244314*/        OPC_EmitMergeInputChains1_0,
/*244315*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3/*#Ops*/, 2, 3, 1, 
                  // Src: (atomic_cmp_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew)<<P:Predicate_atomic_cmp_swap_64>><<P:Predicate_atomic_cmp_swap_64_monotonic>> - Complexity = 4
                  // Dst: (CASX:{ *:[i64] } GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244324*/      /*Scope*/ 14, /*->244339*/
/*244325*/        OPC_CheckPredicate, 69, // Predicate_atomic_cmp_swap_64_acquire
/*244327*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244329*/        OPC_EmitMergeInputChains1_0,
/*244330*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3/*#Ops*/, 2, 3, 1, 
                  // Src: (atomic_cmp_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew)<<P:Predicate_atomic_cmp_swap_64>><<P:Predicate_atomic_cmp_swap_64_acquire>> - Complexity = 4
                  // Dst: (CASAX:{ *:[i64] } GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244339*/      /*Scope*/ 14, /*->244354*/
/*244340*/        OPC_CheckPredicate, 70, // Predicate_atomic_cmp_swap_64_release
/*244342*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244344*/        OPC_EmitMergeInputChains1_0,
/*244345*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3/*#Ops*/, 2, 3, 1, 
                  // Src: (atomic_cmp_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew)<<P:Predicate_atomic_cmp_swap_64>><<P:Predicate_atomic_cmp_swap_64_release>> - Complexity = 4
                  // Dst: (CASLX:{ *:[i64] } GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244354*/      /*Scope*/ 14, /*->244369*/
/*244355*/        OPC_CheckPredicate, 71, // Predicate_atomic_cmp_swap_64_acq_rel
/*244357*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244359*/        OPC_EmitMergeInputChains1_0,
/*244360*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3/*#Ops*/, 2, 3, 1, 
                  // Src: (atomic_cmp_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew)<<P:Predicate_atomic_cmp_swap_64>><<P:Predicate_atomic_cmp_swap_64_acq_rel>> - Complexity = 4
                  // Dst: (CASALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244369*/      /*Scope*/ 14, /*->244384*/
/*244370*/        OPC_CheckPredicate, 72, // Predicate_atomic_cmp_swap_64_seq_cst
/*244372*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244374*/        OPC_EmitMergeInputChains1_0,
/*244375*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 3/*#Ops*/, 2, 3, 1, 
                  // Src: (atomic_cmp_swap:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew)<<P:Predicate_atomic_cmp_swap_64>><<P:Predicate_atomic_cmp_swap_64_seq_cst>> - Complexity = 4
                  // Dst: (CASALX:{ *:[i64] } GPR64:{ *:[i64] }:$Rold, GPR64:{ *:[i64] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244384*/      0, /*End of Scope*/
/*244385*/    /*SwitchType*/ 114|128,1/*242*/, MVT::i32,// ->244630
/*244388*/      OPC_Scope, 79, /*->244469*/ // 3 children in Scope
/*244390*/        OPC_CheckPredicate, 18, // Predicate_atomic_cmp_swap_32
/*244392*/        OPC_Scope, 14, /*->244408*/ // 5 children in Scope
/*244394*/          OPC_CheckPredicate, 68, // Predicate_atomic_cmp_swap_32_monotonic
/*244396*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244398*/          OPC_EmitMergeInputChains1_0,
/*244399*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_32>><<P:Predicate_atomic_cmp_swap_32_monotonic>> - Complexity = 4
                    // Dst: (CASW:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244408*/        /*Scope*/ 14, /*->244423*/
/*244409*/          OPC_CheckPredicate, 69, // Predicate_atomic_cmp_swap_32_acquire
/*244411*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244413*/          OPC_EmitMergeInputChains1_0,
/*244414*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_32>><<P:Predicate_atomic_cmp_swap_32_acquire>> - Complexity = 4
                    // Dst: (CASAW:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244423*/        /*Scope*/ 14, /*->244438*/
/*244424*/          OPC_CheckPredicate, 70, // Predicate_atomic_cmp_swap_32_release
/*244426*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244428*/          OPC_EmitMergeInputChains1_0,
/*244429*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_32>><<P:Predicate_atomic_cmp_swap_32_release>> - Complexity = 4
                    // Dst: (CASLW:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244438*/        /*Scope*/ 14, /*->244453*/
/*244439*/          OPC_CheckPredicate, 71, // Predicate_atomic_cmp_swap_32_acq_rel
/*244441*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244443*/          OPC_EmitMergeInputChains1_0,
/*244444*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_32>><<P:Predicate_atomic_cmp_swap_32_acq_rel>> - Complexity = 4
                    // Dst: (CASALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244453*/        /*Scope*/ 14, /*->244468*/
/*244454*/          OPC_CheckPredicate, 72, // Predicate_atomic_cmp_swap_32_seq_cst
/*244456*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244458*/          OPC_EmitMergeInputChains1_0,
/*244459*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_32>><<P:Predicate_atomic_cmp_swap_32_seq_cst>> - Complexity = 4
                    // Dst: (CASALW:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244468*/        0, /*End of Scope*/
/*244469*/      /*Scope*/ 79, /*->244549*/
/*244470*/        OPC_CheckPredicate, 16, // Predicate_atomic_cmp_swap_16
/*244472*/        OPC_Scope, 14, /*->244488*/ // 5 children in Scope
/*244474*/          OPC_CheckPredicate, 68, // Predicate_atomic_cmp_swap_16_monotonic
/*244476*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244478*/          OPC_EmitMergeInputChains1_0,
/*244479*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_16>><<P:Predicate_atomic_cmp_swap_16_monotonic>> - Complexity = 4
                    // Dst: (CASH:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244488*/        /*Scope*/ 14, /*->244503*/
/*244489*/          OPC_CheckPredicate, 69, // Predicate_atomic_cmp_swap_16_acquire
/*244491*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244493*/          OPC_EmitMergeInputChains1_0,
/*244494*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_16>><<P:Predicate_atomic_cmp_swap_16_acquire>> - Complexity = 4
                    // Dst: (CASAH:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244503*/        /*Scope*/ 14, /*->244518*/
/*244504*/          OPC_CheckPredicate, 70, // Predicate_atomic_cmp_swap_16_release
/*244506*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244508*/          OPC_EmitMergeInputChains1_0,
/*244509*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_16>><<P:Predicate_atomic_cmp_swap_16_release>> - Complexity = 4
                    // Dst: (CASLH:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244518*/        /*Scope*/ 14, /*->244533*/
/*244519*/          OPC_CheckPredicate, 71, // Predicate_atomic_cmp_swap_16_acq_rel
/*244521*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244523*/          OPC_EmitMergeInputChains1_0,
/*244524*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_16>><<P:Predicate_atomic_cmp_swap_16_acq_rel>> - Complexity = 4
                    // Dst: (CASALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244533*/        /*Scope*/ 14, /*->244548*/
/*244534*/          OPC_CheckPredicate, 72, // Predicate_atomic_cmp_swap_16_seq_cst
/*244536*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244538*/          OPC_EmitMergeInputChains1_0,
/*244539*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_16>><<P:Predicate_atomic_cmp_swap_16_seq_cst>> - Complexity = 4
                    // Dst: (CASALH:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244548*/        0, /*End of Scope*/
/*244549*/      /*Scope*/ 79, /*->244629*/
/*244550*/        OPC_CheckPredicate, 6, // Predicate_atomic_cmp_swap_8
/*244552*/        OPC_Scope, 14, /*->244568*/ // 5 children in Scope
/*244554*/          OPC_CheckPredicate, 68, // Predicate_atomic_cmp_swap_8_monotonic
/*244556*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244558*/          OPC_EmitMergeInputChains1_0,
/*244559*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_8>><<P:Predicate_atomic_cmp_swap_8_monotonic>> - Complexity = 4
                    // Dst: (CASB:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244568*/        /*Scope*/ 14, /*->244583*/
/*244569*/          OPC_CheckPredicate, 69, // Predicate_atomic_cmp_swap_8_acquire
/*244571*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244573*/          OPC_EmitMergeInputChains1_0,
/*244574*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_8>><<P:Predicate_atomic_cmp_swap_8_acquire>> - Complexity = 4
                    // Dst: (CASAB:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244583*/        /*Scope*/ 14, /*->244598*/
/*244584*/          OPC_CheckPredicate, 70, // Predicate_atomic_cmp_swap_8_release
/*244586*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244588*/          OPC_EmitMergeInputChains1_0,
/*244589*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_8>><<P:Predicate_atomic_cmp_swap_8_release>> - Complexity = 4
                    // Dst: (CASLB:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244598*/        /*Scope*/ 14, /*->244613*/
/*244599*/          OPC_CheckPredicate, 71, // Predicate_atomic_cmp_swap_8_acq_rel
/*244601*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244603*/          OPC_EmitMergeInputChains1_0,
/*244604*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_8>><<P:Predicate_atomic_cmp_swap_8_acq_rel>> - Complexity = 4
                    // Dst: (CASALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244613*/        /*Scope*/ 14, /*->244628*/
/*244614*/          OPC_CheckPredicate, 72, // Predicate_atomic_cmp_swap_8_seq_cst
/*244616*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244618*/          OPC_EmitMergeInputChains1_0,
/*244619*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::CASALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 3/*#Ops*/, 2, 3, 1, 
                    // Src: (atomic_cmp_swap:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew)<<P:Predicate_atomic_cmp_swap_8>><<P:Predicate_atomic_cmp_swap_8_seq_cst>> - Complexity = 4
                    // Dst: (CASALB:{ *:[i32] } GPR32:{ *:[i32] }:$Rold, GPR32:{ *:[i32] }:$Rnew, GPR64sp:{ *:[i64] }:$Rn)
/*244628*/        0, /*End of Scope*/
/*244629*/      0, /*End of Scope*/
/*244630*/    0, // EndSwitchType
/*244631*/  /*SwitchOpcode*/ 60, TARGET_VAL(ISD::Constant),// ->244694
/*244634*/    OPC_RecordNode, // #0 = $src
/*244635*/    OPC_SwitchType /*2 cases */, 44, MVT::i64,// ->244682
/*244638*/      OPC_Scope, 31, /*->244671*/ // 2 children in Scope
/*244640*/        OPC_CheckPredicate, 9, // Predicate_i64imm_32bit
/*244642*/        OPC_CheckPatternPredicate, 25, // (!MF->getFunction().hasOptNone() || MF->getProperties().hasProperty(MachineFunctionProperties::Property::FailedISel) || !MF->getProperties().hasProperty(MachineFunctionProperties::Property::Legalized))
/*244644*/        OPC_EmitInteger, MVT::i64, 0, 
/*244647*/        OPC_EmitConvertToTarget, 0,
/*244649*/        OPC_EmitNodeXForm, 0, 2, // trunc_imm
/*244652*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                      MVT::i32, 1/*#Ops*/, 3,  // Results = #4
/*244659*/        OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*244662*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::i64, 3/*#Ops*/, 1, 4, 5, 
                  // Src: (imm:{ *:[i64] })<<P:Predicate_i64imm_32bit>>:$src - Complexity = 4
                  // Dst: (SUBREG_TO_REG:{ *:[i64] } 0:{ *:[i64] }, (MOVi32imm:{ *:[i32] } (trunc_imm:{ *:[i32] } (imm:{ *:[i64] }):$src)), sub_32:{ *:[i32] })
/*244671*/      /*Scope*/ 9, /*->244681*/
/*244672*/        OPC_EmitConvertToTarget, 0,
/*244674*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVi64imm), 0,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (imm:{ *:[i64] }):$src - Complexity = 3
                  // Dst: (MOVi64imm:{ *:[i64] } (imm:{ *:[i64] }):$src)
/*244681*/      0, /*End of Scope*/
/*244682*/    /*SwitchType*/ 9, MVT::i32,// ->244693
/*244684*/      OPC_EmitConvertToTarget, 0,
/*244686*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVi32imm), 0,
                    MVT::i32, 1/*#Ops*/, 1, 
                // Src: (imm:{ *:[i32] }):$src - Complexity = 3
                // Dst: (MOVi32imm:{ *:[i32] } (imm:{ *:[i32] }):$src)
/*244693*/    0, // EndSwitchType
/*244694*/  /*SwitchOpcode*/ 26|128,4/*538*/, TARGET_VAL(ISD::ATOMIC_LOAD_SUB),// ->245236
/*244698*/    OPC_RecordMemRef,
/*244699*/    OPC_RecordNode, // #0 = 'atomic_load_sub' chained node
/*244700*/    OPC_RecordChild1, // #1 = $Rn
/*244701*/    OPC_CheckChild1Type, MVT::i64,
/*244703*/    OPC_RecordChild2, // #2 = $Rm
/*244704*/    OPC_SwitchType /*2 cases */, 1|128,1/*129*/, MVT::i64,// ->244837
/*244708*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_sub_64
/*244710*/      OPC_Scope, 24, /*->244736*/ // 5 children in Scope
/*244712*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_sub_64_monotonic
/*244714*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244716*/        OPC_EmitMergeInputChains1_0,
/*244717*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*244720*/        OPC_EmitNode1, TARGET_VAL(AArch64::SUBXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*244728*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_sub:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_sub_64>><<P:Predicate_atomic_load_sub_64_monotonic>> - Complexity = 4
                  // Dst: (LDADDX:{ *:[i64] } (SUBXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244736*/      /*Scope*/ 24, /*->244761*/
/*244737*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_sub_64_acquire
/*244739*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244741*/        OPC_EmitMergeInputChains1_0,
/*244742*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*244745*/        OPC_EmitNode1, TARGET_VAL(AArch64::SUBXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*244753*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_sub:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_sub_64>><<P:Predicate_atomic_load_sub_64_acquire>> - Complexity = 4
                  // Dst: (LDADDAX:{ *:[i64] } (SUBXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244761*/      /*Scope*/ 24, /*->244786*/
/*244762*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_sub_64_release
/*244764*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244766*/        OPC_EmitMergeInputChains1_0,
/*244767*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*244770*/        OPC_EmitNode1, TARGET_VAL(AArch64::SUBXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*244778*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_sub:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_sub_64>><<P:Predicate_atomic_load_sub_64_release>> - Complexity = 4
                  // Dst: (LDADDLX:{ *:[i64] } (SUBXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244786*/      /*Scope*/ 24, /*->244811*/
/*244787*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_sub_64_acq_rel
/*244789*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244791*/        OPC_EmitMergeInputChains1_0,
/*244792*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*244795*/        OPC_EmitNode1, TARGET_VAL(AArch64::SUBXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*244803*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_sub:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_sub_64>><<P:Predicate_atomic_load_sub_64_acq_rel>> - Complexity = 4
                  // Dst: (LDADDALX:{ *:[i64] } (SUBXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244811*/      /*Scope*/ 24, /*->244836*/
/*244812*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_sub_64_seq_cst
/*244814*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244816*/        OPC_EmitMergeInputChains1_0,
/*244817*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*244820*/        OPC_EmitNode1, TARGET_VAL(AArch64::SUBXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*244828*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_sub:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_sub_64>><<P:Predicate_atomic_load_sub_64_seq_cst>> - Complexity = 4
                  // Dst: (LDADDALX:{ *:[i64] } (SUBXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244836*/      0, /*End of Scope*/
/*244837*/    /*SwitchType*/ 11|128,3/*395*/, MVT::i32,// ->245235
/*244840*/      OPC_Scope, 1|128,1/*129*/, /*->244972*/ // 3 children in Scope
/*244843*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_sub_32
/*244845*/        OPC_Scope, 24, /*->244871*/ // 5 children in Scope
/*244847*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_sub_32_monotonic
/*244849*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244851*/          OPC_EmitMergeInputChains1_0,
/*244852*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*244855*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*244863*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_32>><<P:Predicate_atomic_load_sub_32_monotonic>> - Complexity = 4
                    // Dst: (LDADDW:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244871*/        /*Scope*/ 24, /*->244896*/
/*244872*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_sub_32_acquire
/*244874*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244876*/          OPC_EmitMergeInputChains1_0,
/*244877*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*244880*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*244888*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_32>><<P:Predicate_atomic_load_sub_32_acquire>> - Complexity = 4
                    // Dst: (LDADDAW:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244896*/        /*Scope*/ 24, /*->244921*/
/*244897*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_sub_32_release
/*244899*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244901*/          OPC_EmitMergeInputChains1_0,
/*244902*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*244905*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*244913*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_32>><<P:Predicate_atomic_load_sub_32_release>> - Complexity = 4
                    // Dst: (LDADDLW:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244921*/        /*Scope*/ 24, /*->244946*/
/*244922*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_sub_32_acq_rel
/*244924*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244926*/          OPC_EmitMergeInputChains1_0,
/*244927*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*244930*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*244938*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_32>><<P:Predicate_atomic_load_sub_32_acq_rel>> - Complexity = 4
                    // Dst: (LDADDALW:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244946*/        /*Scope*/ 24, /*->244971*/
/*244947*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_sub_32_seq_cst
/*244949*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244951*/          OPC_EmitMergeInputChains1_0,
/*244952*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*244955*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*244963*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_32>><<P:Predicate_atomic_load_sub_32_seq_cst>> - Complexity = 4
                    // Dst: (LDADDALW:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*244971*/        0, /*End of Scope*/
/*244972*/      /*Scope*/ 1|128,1/*129*/, /*->245103*/
/*244974*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_sub_16
/*244976*/        OPC_Scope, 24, /*->245002*/ // 5 children in Scope
/*244978*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_sub_16_monotonic
/*244980*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*244982*/          OPC_EmitMergeInputChains1_0,
/*244983*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*244986*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*244994*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_16>><<P:Predicate_atomic_load_sub_16_monotonic>> - Complexity = 4
                    // Dst: (LDADDH:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245002*/        /*Scope*/ 24, /*->245027*/
/*245003*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_sub_16_acquire
/*245005*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245007*/          OPC_EmitMergeInputChains1_0,
/*245008*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245011*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245019*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_16>><<P:Predicate_atomic_load_sub_16_acquire>> - Complexity = 4
                    // Dst: (LDADDAH:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245027*/        /*Scope*/ 24, /*->245052*/
/*245028*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_sub_16_release
/*245030*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245032*/          OPC_EmitMergeInputChains1_0,
/*245033*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245036*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245044*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_16>><<P:Predicate_atomic_load_sub_16_release>> - Complexity = 4
                    // Dst: (LDADDLH:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245052*/        /*Scope*/ 24, /*->245077*/
/*245053*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_sub_16_acq_rel
/*245055*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245057*/          OPC_EmitMergeInputChains1_0,
/*245058*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245061*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245069*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_16>><<P:Predicate_atomic_load_sub_16_acq_rel>> - Complexity = 4
                    // Dst: (LDADDALH:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245077*/        /*Scope*/ 24, /*->245102*/
/*245078*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_sub_16_seq_cst
/*245080*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245082*/          OPC_EmitMergeInputChains1_0,
/*245083*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245086*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245094*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_16>><<P:Predicate_atomic_load_sub_16_seq_cst>> - Complexity = 4
                    // Dst: (LDADDALH:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245102*/        0, /*End of Scope*/
/*245103*/      /*Scope*/ 1|128,1/*129*/, /*->245234*/
/*245105*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_sub_8
/*245107*/        OPC_Scope, 24, /*->245133*/ // 5 children in Scope
/*245109*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_sub_8_monotonic
/*245111*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245113*/          OPC_EmitMergeInputChains1_0,
/*245114*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245117*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245125*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_8>><<P:Predicate_atomic_load_sub_8_monotonic>> - Complexity = 4
                    // Dst: (LDADDB:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245133*/        /*Scope*/ 24, /*->245158*/
/*245134*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_sub_8_acquire
/*245136*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245138*/          OPC_EmitMergeInputChains1_0,
/*245139*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245142*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245150*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_8>><<P:Predicate_atomic_load_sub_8_acquire>> - Complexity = 4
                    // Dst: (LDADDAB:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245158*/        /*Scope*/ 24, /*->245183*/
/*245159*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_sub_8_release
/*245161*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245163*/          OPC_EmitMergeInputChains1_0,
/*245164*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245167*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245175*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_8>><<P:Predicate_atomic_load_sub_8_release>> - Complexity = 4
                    // Dst: (LDADDLB:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245183*/        /*Scope*/ 24, /*->245208*/
/*245184*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_sub_8_acq_rel
/*245186*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245188*/          OPC_EmitMergeInputChains1_0,
/*245189*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245192*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245200*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_8>><<P:Predicate_atomic_load_sub_8_acq_rel>> - Complexity = 4
                    // Dst: (LDADDALB:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245208*/        /*Scope*/ 24, /*->245233*/
/*245209*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_sub_8_seq_cst
/*245211*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245213*/          OPC_EmitMergeInputChains1_0,
/*245214*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245217*/          OPC_EmitNode1, TARGET_VAL(AArch64::SUBWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245225*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDADDALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_sub:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_sub_8>><<P:Predicate_atomic_load_sub_8_seq_cst>> - Complexity = 4
                    // Dst: (LDADDALB:{ *:[i32] } (SUBWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245233*/        0, /*End of Scope*/
/*245234*/      0, /*End of Scope*/
/*245235*/    0, // EndSwitchType
/*245236*/  /*SwitchOpcode*/ 26|128,4/*538*/, TARGET_VAL(ISD::ATOMIC_LOAD_AND),// ->245778
/*245240*/    OPC_RecordMemRef,
/*245241*/    OPC_RecordNode, // #0 = 'atomic_load_and' chained node
/*245242*/    OPC_RecordChild1, // #1 = $Rn
/*245243*/    OPC_CheckChild1Type, MVT::i64,
/*245245*/    OPC_RecordChild2, // #2 = $Rm
/*245246*/    OPC_SwitchType /*2 cases */, 1|128,1/*129*/, MVT::i64,// ->245379
/*245250*/      OPC_CheckPredicate, 50, // Predicate_atomic_load_and_64
/*245252*/      OPC_Scope, 24, /*->245278*/ // 5 children in Scope
/*245254*/        OPC_CheckPredicate, 68, // Predicate_atomic_load_and_64_monotonic
/*245256*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245258*/        OPC_EmitMergeInputChains1_0,
/*245259*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*245262*/        OPC_EmitNode1, TARGET_VAL(AArch64::ORNXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*245270*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_and:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_and_64>><<P:Predicate_atomic_load_and_64_monotonic>> - Complexity = 4
                  // Dst: (LDCLRX:{ *:[i64] } (ORNXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245278*/      /*Scope*/ 24, /*->245303*/
/*245279*/        OPC_CheckPredicate, 69, // Predicate_atomic_load_and_64_acquire
/*245281*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245283*/        OPC_EmitMergeInputChains1_0,
/*245284*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*245287*/        OPC_EmitNode1, TARGET_VAL(AArch64::ORNXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*245295*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_and:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_and_64>><<P:Predicate_atomic_load_and_64_acquire>> - Complexity = 4
                  // Dst: (LDCLRAX:{ *:[i64] } (ORNXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245303*/      /*Scope*/ 24, /*->245328*/
/*245304*/        OPC_CheckPredicate, 70, // Predicate_atomic_load_and_64_release
/*245306*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245308*/        OPC_EmitMergeInputChains1_0,
/*245309*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*245312*/        OPC_EmitNode1, TARGET_VAL(AArch64::ORNXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*245320*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_and:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_and_64>><<P:Predicate_atomic_load_and_64_release>> - Complexity = 4
                  // Dst: (LDCLRLX:{ *:[i64] } (ORNXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245328*/      /*Scope*/ 24, /*->245353*/
/*245329*/        OPC_CheckPredicate, 71, // Predicate_atomic_load_and_64_acq_rel
/*245331*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245333*/        OPC_EmitMergeInputChains1_0,
/*245334*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*245337*/        OPC_EmitNode1, TARGET_VAL(AArch64::ORNXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*245345*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_and:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_and_64>><<P:Predicate_atomic_load_and_64_acq_rel>> - Complexity = 4
                  // Dst: (LDCLRALX:{ *:[i64] } (ORNXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245353*/      /*Scope*/ 24, /*->245378*/
/*245354*/        OPC_CheckPredicate, 72, // Predicate_atomic_load_and_64_seq_cst
/*245356*/        OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245358*/        OPC_EmitMergeInputChains1_0,
/*245359*/        OPC_EmitRegister, MVT::i64, AArch64::XZR,
/*245362*/        OPC_EmitNode1, TARGET_VAL(AArch64::ORNXrr), 0,
                      MVT::i64, 2/*#Ops*/, 3, 2,  // Results = #4
/*245370*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALX), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::i64, 2/*#Ops*/, 4, 1, 
                  // Src: (atomic_load_and:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)<<P:Predicate_atomic_load_and_64>><<P:Predicate_atomic_load_and_64_seq_cst>> - Complexity = 4
                  // Dst: (LDCLRALX:{ *:[i64] } (ORNXrr:{ *:[i64] } XZR:{ *:[i64] }, GPR64:{ *:[i64] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245378*/      0, /*End of Scope*/
/*245379*/    /*SwitchType*/ 11|128,3/*395*/, MVT::i32,// ->245777
/*245382*/      OPC_Scope, 1|128,1/*129*/, /*->245514*/ // 3 children in Scope
/*245385*/        OPC_CheckPredicate, 18, // Predicate_atomic_load_and_32
/*245387*/        OPC_Scope, 24, /*->245413*/ // 5 children in Scope
/*245389*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_and_32_monotonic
/*245391*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245393*/          OPC_EmitMergeInputChains1_0,
/*245394*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245397*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245405*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_32>><<P:Predicate_atomic_load_and_32_monotonic>> - Complexity = 4
                    // Dst: (LDCLRW:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245413*/        /*Scope*/ 24, /*->245438*/
/*245414*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_and_32_acquire
/*245416*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245418*/          OPC_EmitMergeInputChains1_0,
/*245419*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245422*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245430*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_32>><<P:Predicate_atomic_load_and_32_acquire>> - Complexity = 4
                    // Dst: (LDCLRAW:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245438*/        /*Scope*/ 24, /*->245463*/
/*245439*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_and_32_release
/*245441*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245443*/          OPC_EmitMergeInputChains1_0,
/*245444*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245447*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245455*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_32>><<P:Predicate_atomic_load_and_32_release>> - Complexity = 4
                    // Dst: (LDCLRLW:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245463*/        /*Scope*/ 24, /*->245488*/
/*245464*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_and_32_acq_rel
/*245466*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245468*/          OPC_EmitMergeInputChains1_0,
/*245469*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245472*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245480*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_32>><<P:Predicate_atomic_load_and_32_acq_rel>> - Complexity = 4
                    // Dst: (LDCLRALW:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245488*/        /*Scope*/ 24, /*->245513*/
/*245489*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_and_32_seq_cst
/*245491*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245493*/          OPC_EmitMergeInputChains1_0,
/*245494*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245497*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245505*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_32>><<P:Predicate_atomic_load_and_32_seq_cst>> - Complexity = 4
                    // Dst: (LDCLRALW:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245513*/        0, /*End of Scope*/
/*245514*/      /*Scope*/ 1|128,1/*129*/, /*->245645*/
/*245516*/        OPC_CheckPredicate, 16, // Predicate_atomic_load_and_16
/*245518*/        OPC_Scope, 24, /*->245544*/ // 5 children in Scope
/*245520*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_and_16_monotonic
/*245522*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245524*/          OPC_EmitMergeInputChains1_0,
/*245525*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245528*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245536*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_16>><<P:Predicate_atomic_load_and_16_monotonic>> - Complexity = 4
                    // Dst: (LDCLRH:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245544*/        /*Scope*/ 24, /*->245569*/
/*245545*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_and_16_acquire
/*245547*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245549*/          OPC_EmitMergeInputChains1_0,
/*245550*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245553*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245561*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_16>><<P:Predicate_atomic_load_and_16_acquire>> - Complexity = 4
                    // Dst: (LDCLRAH:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245569*/        /*Scope*/ 24, /*->245594*/
/*245570*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_and_16_release
/*245572*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245574*/          OPC_EmitMergeInputChains1_0,
/*245575*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245578*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245586*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_16>><<P:Predicate_atomic_load_and_16_release>> - Complexity = 4
                    // Dst: (LDCLRLH:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245594*/        /*Scope*/ 24, /*->245619*/
/*245595*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_and_16_acq_rel
/*245597*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245599*/          OPC_EmitMergeInputChains1_0,
/*245600*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245603*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245611*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_16>><<P:Predicate_atomic_load_and_16_acq_rel>> - Complexity = 4
                    // Dst: (LDCLRALH:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245619*/        /*Scope*/ 24, /*->245644*/
/*245620*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_and_16_seq_cst
/*245622*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245624*/          OPC_EmitMergeInputChains1_0,
/*245625*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245628*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245636*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALH), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_16>><<P:Predicate_atomic_load_and_16_seq_cst>> - Complexity = 4
                    // Dst: (LDCLRALH:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245644*/        0, /*End of Scope*/
/*245645*/      /*Scope*/ 1|128,1/*129*/, /*->245776*/
/*245647*/        OPC_CheckPredicate, 6, // Predicate_atomic_load_and_8
/*245649*/        OPC_Scope, 24, /*->245675*/ // 5 children in Scope
/*245651*/          OPC_CheckPredicate, 68, // Predicate_atomic_load_and_8_monotonic
/*245653*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245655*/          OPC_EmitMergeInputChains1_0,
/*245656*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245659*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245667*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_8>><<P:Predicate_atomic_load_and_8_monotonic>> - Complexity = 4
                    // Dst: (LDCLRB:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245675*/        /*Scope*/ 24, /*->245700*/
/*245676*/          OPC_CheckPredicate, 69, // Predicate_atomic_load_and_8_acquire
/*245678*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245680*/          OPC_EmitMergeInputChains1_0,
/*245681*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245684*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245692*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRAB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_8>><<P:Predicate_atomic_load_and_8_acquire>> - Complexity = 4
                    // Dst: (LDCLRAB:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245700*/        /*Scope*/ 24, /*->245725*/
/*245701*/          OPC_CheckPredicate, 70, // Predicate_atomic_load_and_8_release
/*245703*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245705*/          OPC_EmitMergeInputChains1_0,
/*245706*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245709*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245717*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRLB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_8>><<P:Predicate_atomic_load_and_8_release>> - Complexity = 4
                    // Dst: (LDCLRLB:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245725*/        /*Scope*/ 24, /*->245750*/
/*245726*/          OPC_CheckPredicate, 71, // Predicate_atomic_load_and_8_acq_rel
/*245728*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245730*/          OPC_EmitMergeInputChains1_0,
/*245731*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245734*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245742*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_8>><<P:Predicate_atomic_load_and_8_acq_rel>> - Complexity = 4
                    // Dst: (LDCLRALB:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245750*/        /*Scope*/ 24, /*->245775*/
/*245751*/          OPC_CheckPredicate, 72, // Predicate_atomic_load_and_8_seq_cst
/*245753*/          OPC_CheckPatternPredicate, 24, // (Subtarget->hasLSE())
/*245755*/          OPC_EmitMergeInputChains1_0,
/*245756*/          OPC_EmitRegister, MVT::i32, AArch64::WZR,
/*245759*/          OPC_EmitNode1, TARGET_VAL(AArch64::ORNWrr), 0,
                        MVT::i32, 2/*#Ops*/, 3, 2,  // Results = #4
/*245767*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDCLRALB), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 4, 1, 
                    // Src: (atomic_load_and:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm)<<P:Predicate_atomic_load_and_8>><<P:Predicate_atomic_load_and_8_seq_cst>> - Complexity = 4
                    // Dst: (LDCLRALB:{ *:[i32] } (ORNWrr:{ *:[i32] } WZR:{ *:[i32] }, GPR32:{ *:[i32] }:$Rm), GPR64sp:{ *:[i64] }:$Rn)
/*245775*/        0, /*End of Scope*/
/*245776*/      0, /*End of Scope*/
/*245777*/    0, // EndSwitchType
/*245778*/  /*SwitchOpcode*/ 8, TARGET_VAL(AArch64ISD::THREAD_POINTER),// ->245789
/*245781*/    OPC_CheckType, MVT::i64,
/*245783*/    OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVbaseTLS), 0,
                  MVT::i64, 0/*#Ops*/, 
              // Src: (AArch64threadpointer:{ *:[i64] }) - Complexity = 3
              // Dst: (MOVbaseTLS:{ *:[i64] })
/*245789*/  /*SwitchOpcode*/ 18, TARGET_VAL(ISD::READCYCLECOUNTER),// ->245810
/*245792*/    OPC_RecordNode, // #0 = 'readcyclecounter' chained node
/*245793*/    OPC_CheckType, MVT::i64,
/*245795*/    OPC_CheckPatternPredicate, 26, // (Subtarget->hasPerfMon())
/*245797*/    OPC_EmitMergeInputChains1_0,
/*245798*/    OPC_EmitInteger, MVT::i32, 104|128,57|128,3/*56552*/, 
/*245803*/    OPC_MorphNodeTo1, TARGET_VAL(AArch64::MRS), 0|OPFL_Chain,
                  MVT::i64, 1/*#Ops*/, 1, 
              // Src: (readcyclecounter:{ *:[i64] }) - Complexity = 3
              // Dst: (MRS:{ *:[i64] } 56552:{ *:[i32] })
/*245810*/  /*SwitchOpcode*/ 31, TARGET_VAL(AArch64ISD::ADC),// ->245844
/*245813*/    OPC_RecordChild0, // #0 = $Rn
/*245814*/    OPC_RecordChild1, // #1 = $Rm
/*245815*/    OPC_RecordChild2, // #2 = physreg input NZCV
/*245816*/    OPC_SwitchType /*2 cases */, 11, MVT::i32,// ->245830
/*245819*/      OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*245822*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADCWr), 0|OPFL_GlueInput,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64adc:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, NZCV:{ *:[i32] }) - Complexity = 3
                // Dst: (ADCWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*245830*/    /*SwitchType*/ 11, MVT::i64,// ->245843
/*245832*/      OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*245835*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADCXr), 0|OPFL_GlueInput,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64adc:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, NZCV:{ *:[i32] }) - Complexity = 3
                // Dst: (ADCXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*245843*/    0, // EndSwitchType
/*245844*/  /*SwitchOpcode*/ 33, TARGET_VAL(AArch64ISD::ADCS),// ->245880
/*245847*/    OPC_RecordChild0, // #0 = $Rn
/*245848*/    OPC_RecordChild1, // #1 = $Rm
/*245849*/    OPC_RecordChild2, // #2 = physreg input NZCV
/*245850*/    OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->245865
/*245853*/      OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*245856*/      OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADCSWr), 0|OPFL_GlueInput,
                    MVT::i32, MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64adc_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, NZCV:{ *:[i32] }) - Complexity = 3
                // Dst: (ADCSWr:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*245865*/    /*SwitchType*/ 12, MVT::i64,// ->245879
/*245867*/      OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*245870*/      OPC_MorphNodeTo2, TARGET_VAL(AArch64::ADCSXr), 0|OPFL_GlueInput,
                    MVT::i64, MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64adc_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, NZCV:{ *:[i32] }) - Complexity = 3
                // Dst: (ADCSXr:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*245879*/    0, // EndSwitchType
/*245880*/  /*SwitchOpcode*/ 31, TARGET_VAL(AArch64ISD::SBC),// ->245914
/*245883*/    OPC_RecordChild0, // #0 = $Rn
/*245884*/    OPC_RecordChild1, // #1 = $Rm
/*245885*/    OPC_RecordChild2, // #2 = physreg input NZCV
/*245886*/    OPC_SwitchType /*2 cases */, 11, MVT::i32,// ->245900
/*245889*/      OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*245892*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBCWr), 0|OPFL_GlueInput,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64sbc:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, NZCV:{ *:[i32] }) - Complexity = 3
                // Dst: (SBCWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*245900*/    /*SwitchType*/ 11, MVT::i64,// ->245913
/*245902*/      OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*245905*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SBCXr), 0|OPFL_GlueInput,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64sbc:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, NZCV:{ *:[i32] }) - Complexity = 3
                // Dst: (SBCXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*245913*/    0, // EndSwitchType
/*245914*/  /*SwitchOpcode*/ 33, TARGET_VAL(AArch64ISD::SBCS),// ->245950
/*245917*/    OPC_RecordChild0, // #0 = $Rn
/*245918*/    OPC_RecordChild1, // #1 = $Rm
/*245919*/    OPC_RecordChild2, // #2 = physreg input NZCV
/*245920*/    OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->245935
/*245923*/      OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*245926*/      OPC_MorphNodeTo2, TARGET_VAL(AArch64::SBCSWr), 0|OPFL_GlueInput,
                    MVT::i32, MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64sbc_flag:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm, NZCV:{ *:[i32] }) - Complexity = 3
                // Dst: (SBCSWr:{ *:[i32] }:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*245935*/    /*SwitchType*/ 12, MVT::i64,// ->245949
/*245937*/      OPC_EmitCopyToReg, 2, AArch64::NZCV,
/*245940*/      OPC_MorphNodeTo2, TARGET_VAL(AArch64::SBCSXr), 0|OPFL_GlueInput,
                    MVT::i64, MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64sbc_flag:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, NZCV:{ *:[i32] }) - Complexity = 3
                // Dst: (SBCSXr:{ *:[i64] }:{ *:[i32] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*245949*/    0, // EndSwitchType
/*245950*/  /*SwitchOpcode*/ 24, TARGET_VAL(ISD::UDIV),// ->245977
/*245953*/    OPC_RecordChild0, // #0 = $Rn
/*245954*/    OPC_RecordChild1, // #1 = $Rm
/*245955*/    OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->245966
/*245958*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDIVWr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (udiv:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                // Dst: (UDIVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*245966*/    /*SwitchType*/ 8, MVT::i64,// ->245976
/*245968*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UDIVXr), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (udiv:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                // Dst: (UDIVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*245976*/    0, // EndSwitchType
/*245977*/  /*SwitchOpcode*/ 24, TARGET_VAL(ISD::SDIV),// ->246004
/*245980*/    OPC_RecordChild0, // #0 = $Rn
/*245981*/    OPC_RecordChild1, // #1 = $Rm
/*245982*/    OPC_SwitchType /*2 cases */, 8, MVT::i32,// ->245993
/*245985*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDIVWr), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (sdiv:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm) - Complexity = 3
                // Dst: (SDIVWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn, GPR32:{ *:[i32] }:$Rm)
/*245993*/    /*SwitchType*/ 8, MVT::i64,// ->246003
/*245995*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SDIVXr), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (sdiv:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                // Dst: (SDIVXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*246003*/    0, // EndSwitchType
/*246004*/  /*SwitchOpcode*/ 30|128,1/*158*/, TARGET_VAL(ISD::MULHS),// ->246166
/*246008*/    OPC_RecordChild0, // #0 = $Rn
/*246009*/    OPC_RecordChild1, // #1 = $Rm
/*246010*/    OPC_SwitchType /*4 cases */, 8, MVT::i64,// ->246021
/*246013*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULHrr), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (mulhs:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                // Dst: (SMULHrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*246021*/    /*SwitchType*/ 46, MVT::v16i8,// ->246069
/*246023*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246026*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 0, 2,  // Results = #3
/*246034*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246037*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*246045*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMULLv8i8_v8i16), 0,
                    MVT::f128, 2/*#Ops*/, 3, 5,  // Results = #6
/*246053*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMULLv16i8_v8i16), 0,
                    MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #7
/*246061*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 6, 7, 
                // Src: (mulhs:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (UZP2v16i8:{ *:[v16i8] } (SMULLv8i8_v8i16:{ *:[f128] } (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v16i8] }:$Rn, dsub:{ *:[i32] }), (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v16i8] }:$Rm, dsub:{ *:[i32] })), (SMULLv16i8_v8i16:{ *:[f128] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm))
/*246069*/    /*SwitchType*/ 46, MVT::v8i16,// ->246117
/*246071*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246074*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 0, 2,  // Results = #3
/*246082*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246085*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*246093*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMULLv4i16_v4i32), 0,
                    MVT::f128, 2/*#Ops*/, 3, 5,  // Results = #6
/*246101*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMULLv8i16_v4i32), 0,
                    MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #7
/*246109*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 6, 7, 
                // Src: (mulhs:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (UZP2v8i16:{ *:[v8i16] } (SMULLv4i16_v4i32:{ *:[f128] } (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v8i16] }:$Rn, dsub:{ *:[i32] }), (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v8i16] }:$Rm, dsub:{ *:[i32] })), (SMULLv8i16_v4i32:{ *:[f128] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm))
/*246117*/    /*SwitchType*/ 46, MVT::v4i32,// ->246165
/*246119*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246122*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 0, 2,  // Results = #3
/*246130*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246133*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*246141*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMULLv2i32_v2i64), 0,
                    MVT::f128, 2/*#Ops*/, 3, 5,  // Results = #6
/*246149*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMULLv4i32_v2i64), 0,
                    MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #7
/*246157*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 6, 7, 
                // Src: (mulhs:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (UZP2v4i32:{ *:[v4i32] } (SMULLv2i32_v2i64:{ *:[f128] } (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v4i32] }:$Rn, dsub:{ *:[i32] }), (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v4i32] }:$Rm, dsub:{ *:[i32] })), (SMULLv4i32_v2i64:{ *:[f128] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm))
/*246165*/    0, // EndSwitchType
/*246166*/  /*SwitchOpcode*/ 30|128,1/*158*/, TARGET_VAL(ISD::MULHU),// ->246328
/*246170*/    OPC_RecordChild0, // #0 = $Rn
/*246171*/    OPC_RecordChild1, // #1 = $Rm
/*246172*/    OPC_SwitchType /*4 cases */, 8, MVT::i64,// ->246183
/*246175*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULHrr), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (mulhu:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm) - Complexity = 3
                // Dst: (UMULHrr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm)
/*246183*/    /*SwitchType*/ 46, MVT::v16i8,// ->246231
/*246185*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246188*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 0, 2,  // Results = #3
/*246196*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246199*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*246207*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMULLv8i8_v8i16), 0,
                    MVT::f128, 2/*#Ops*/, 3, 5,  // Results = #6
/*246215*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMULLv16i8_v8i16), 0,
                    MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #7
/*246223*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 6, 7, 
                // Src: (mulhu:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (UZP2v16i8:{ *:[v16i8] } (UMULLv8i8_v8i16:{ *:[f128] } (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v16i8] }:$Rn, dsub:{ *:[i32] }), (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v16i8] }:$Rm, dsub:{ *:[i32] })), (UMULLv16i8_v8i16:{ *:[f128] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm))
/*246231*/    /*SwitchType*/ 46, MVT::v8i16,// ->246279
/*246233*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246236*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 0, 2,  // Results = #3
/*246244*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246247*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*246255*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMULLv4i16_v4i32), 0,
                    MVT::f128, 2/*#Ops*/, 3, 5,  // Results = #6
/*246263*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMULLv8i16_v4i32), 0,
                    MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #7
/*246271*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 6, 7, 
                // Src: (mulhu:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (UZP2v8i16:{ *:[v8i16] } (UMULLv4i16_v4i32:{ *:[f128] } (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v8i16] }:$Rn, dsub:{ *:[i32] }), (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v8i16] }:$Rm, dsub:{ *:[i32] })), (UMULLv8i16_v4i32:{ *:[f128] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm))
/*246279*/    /*SwitchType*/ 46, MVT::v4i32,// ->246327
/*246281*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246284*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 0, 2,  // Results = #3
/*246292*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*246295*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i64, 2/*#Ops*/, 1, 4,  // Results = #5
/*246303*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMULLv2i32_v2i64), 0,
                    MVT::f128, 2/*#Ops*/, 3, 5,  // Results = #6
/*246311*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMULLv4i32_v2i64), 0,
                    MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #7
/*246319*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 6, 7, 
                // Src: (mulhu:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (UZP2v4i32:{ *:[v4i32] } (UMULLv2i32_v2i64:{ *:[f128] } (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v4i32] }:$Rn, dsub:{ *:[i32] }), (EXTRACT_SUBREG:{ *:[i64] } V128:{ *:[v4i32] }:$Rm, dsub:{ *:[i32] })), (UMULLv4i32_v2i64:{ *:[f128] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm))
/*246327*/    0, // EndSwitchType
/*246328*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::BITREVERSE),// ->246352
/*246331*/    OPC_RecordChild0, // #0 = $Rn
/*246332*/    OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->246342
/*246335*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::RBITWr), 0,
                    MVT::i32, 1/*#Ops*/, 0, 
                // Src: (bitreverse:{ *:[i32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                // Dst: (RBITWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn)
/*246342*/    /*SwitchType*/ 7, MVT::i64,// ->246351
/*246344*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::RBITXr), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (bitreverse:{ *:[i64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                // Dst: (RBITXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn)
/*246351*/    0, // EndSwitchType
/*246352*/  /*SwitchOpcode*/ 11, TARGET_VAL(ISD::BRIND),// ->246366
/*246355*/    OPC_RecordNode, // #0 = 'brind' chained node
/*246356*/    OPC_RecordChild1, // #1 = $Rn
/*246357*/    OPC_CheckChild1Type, MVT::i64,
/*246359*/    OPC_EmitMergeInputChains1_0,
/*246360*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::BR), 0|OPFL_Chain,
                  1/*#Ops*/, 1, 
              // Src: (brind GPR64:{ *:[i64] }:$Rn) - Complexity = 3
              // Dst: (BR GPR64:{ *:[i64] }:$Rn)
/*246366*/  /*SwitchOpcode*/ 8, TARGET_VAL(AArch64ISD::RET_FLAG),// ->246377
/*246369*/    OPC_RecordNode, // #0 = 'AArch64retflag' chained node
/*246370*/    OPC_CaptureGlueInput,
/*246371*/    OPC_EmitMergeInputChains1_0,
/*246372*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::RET_ReallyLR), 0|OPFL_Chain|OPFL_GlueInput|OPFL_Variadic0,
                  0/*#Ops*/, 
              // Src: (AArch64retflag) - Complexity = 3
              // Dst: (RET_ReallyLR)
/*246377*/  /*SwitchOpcode*/ 38, TARGET_VAL(AArch64ISD::CBZ),// ->246418
/*246380*/    OPC_RecordNode, // #0 = 'AArch64cbz' chained node
/*246381*/    OPC_RecordChild1, // #1 = $Rt
/*246382*/    OPC_Scope, 16, /*->246400*/ // 2 children in Scope
/*246384*/      OPC_CheckChild1Type, MVT::i32,
/*246386*/      OPC_RecordChild2, // #2 = $target
/*246387*/      OPC_MoveChild2,
/*246388*/      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*246391*/      OPC_MoveParent,
/*246392*/      OPC_EmitMergeInputChains1_0,
/*246393*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::CBZW), 0|OPFL_Chain,
                    2/*#Ops*/, 1, 2, 
                // Src: (AArch64cbz GPR32:{ *:[i32] }:$Rt, (bb:{ *:[Other] }):$target) - Complexity = 3
                // Dst: (CBZW GPR32:{ *:[i32] }:$Rt, (bb:{ *:[Other] }):$target)
/*246400*/    /*Scope*/ 16, /*->246417*/
/*246401*/      OPC_CheckChild1Type, MVT::i64,
/*246403*/      OPC_RecordChild2, // #2 = $target
/*246404*/      OPC_MoveChild2,
/*246405*/      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*246408*/      OPC_MoveParent,
/*246409*/      OPC_EmitMergeInputChains1_0,
/*246410*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::CBZX), 0|OPFL_Chain,
                    2/*#Ops*/, 1, 2, 
                // Src: (AArch64cbz GPR64:{ *:[i64] }:$Rt, (bb:{ *:[Other] }):$target) - Complexity = 3
                // Dst: (CBZX GPR64:{ *:[i64] }:$Rt, (bb:{ *:[Other] }):$target)
/*246417*/    0, /*End of Scope*/
/*246418*/  /*SwitchOpcode*/ 38, TARGET_VAL(AArch64ISD::CBNZ),// ->246459
/*246421*/    OPC_RecordNode, // #0 = 'AArch64cbnz' chained node
/*246422*/    OPC_RecordChild1, // #1 = $Rt
/*246423*/    OPC_Scope, 16, /*->246441*/ // 2 children in Scope
/*246425*/      OPC_CheckChild1Type, MVT::i32,
/*246427*/      OPC_RecordChild2, // #2 = $target
/*246428*/      OPC_MoveChild2,
/*246429*/      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*246432*/      OPC_MoveParent,
/*246433*/      OPC_EmitMergeInputChains1_0,
/*246434*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::CBNZW), 0|OPFL_Chain,
                    2/*#Ops*/, 1, 2, 
                // Src: (AArch64cbnz GPR32:{ *:[i32] }:$Rt, (bb:{ *:[Other] }):$target) - Complexity = 3
                // Dst: (CBNZW GPR32:{ *:[i32] }:$Rt, (bb:{ *:[Other] }):$target)
/*246441*/    /*Scope*/ 16, /*->246458*/
/*246442*/      OPC_CheckChild1Type, MVT::i64,
/*246444*/      OPC_RecordChild2, // #2 = $target
/*246445*/      OPC_MoveChild2,
/*246446*/      OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*246449*/      OPC_MoveParent,
/*246450*/      OPC_EmitMergeInputChains1_0,
/*246451*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::CBNZX), 0|OPFL_Chain,
                    2/*#Ops*/, 1, 2, 
                // Src: (AArch64cbnz GPR64:{ *:[i64] }:$Rt, (bb:{ *:[Other] }):$target) - Complexity = 3
                // Dst: (CBNZX GPR64:{ *:[i64] }:$Rt, (bb:{ *:[Other] }):$target)
/*246458*/    0, /*End of Scope*/
/*246459*/  /*SwitchOpcode*/ 14, TARGET_VAL(ISD::BR),// ->246476
/*246462*/    OPC_RecordNode, // #0 = 'br' chained node
/*246463*/    OPC_RecordChild1, // #1 = $addr
/*246464*/    OPC_MoveChild1,
/*246465*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*246468*/    OPC_MoveParent,
/*246469*/    OPC_EmitMergeInputChains1_0,
/*246470*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::B), 0|OPFL_Chain,
                  1/*#Ops*/, 1, 
              // Src: (br (bb:{ *:[Other] }):$addr) - Complexity = 3
              // Dst: (B (bb:{ *:[Other] }):$addr)
/*246476*/  /*SwitchOpcode*/ 76, TARGET_VAL(ISD::LROUND),// ->246555
/*246479*/    OPC_RecordChild0, // #0 = $Rn
/*246480*/    OPC_Scope, 26, /*->246508*/ // 3 children in Scope
/*246482*/      OPC_CheckChild0Type, MVT::f16,
/*246484*/      OPC_SwitchType /*2 cases */, 9, MVT::i32,// ->246496
/*246487*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*246489*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUWHr), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (lround:{ *:[i32] } f16:{ *:[f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTASUWHr:{ *:[i32] } f16:{ *:[f16] }:$Rn)
/*246496*/      /*SwitchType*/ 9, MVT::i64,// ->246507
/*246498*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*246500*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXHr), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (lround:{ *:[i64] } f16:{ *:[f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTASUXHr:{ *:[i64] } f16:{ *:[f16] }:$Rn)
/*246507*/      0, // EndSwitchType
/*246508*/    /*Scope*/ 22, /*->246531*/
/*246509*/      OPC_CheckChild0Type, MVT::f32,
/*246511*/      OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->246521
/*246514*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUWSr), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (lround:{ *:[i32] } f32:{ *:[f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTASUWSr:{ *:[i32] } f32:{ *:[f32] }:$Rn)
/*246521*/      /*SwitchType*/ 7, MVT::i64,// ->246530
/*246523*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXSr), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (lround:{ *:[i64] } f32:{ *:[f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTASUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*246530*/      0, // EndSwitchType
/*246531*/    /*Scope*/ 22, /*->246554*/
/*246532*/      OPC_CheckChild0Type, MVT::f64,
/*246534*/      OPC_SwitchType /*2 cases */, 7, MVT::i32,// ->246544
/*246537*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUWDr), 0,
                      MVT::i32, 1/*#Ops*/, 0, 
                  // Src: (lround:{ *:[i32] } f64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTASUWDr:{ *:[i32] } f64:{ *:[f64] }:$Rn)
/*246544*/      /*SwitchType*/ 7, MVT::i64,// ->246553
/*246546*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXDr), 0,
                      MVT::i64, 1/*#Ops*/, 0, 
                  // Src: (lround:{ *:[i64] } f64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTASUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*246553*/      0, // EndSwitchType
/*246554*/    0, /*End of Scope*/
/*246555*/  /*SwitchOpcode*/ 37, TARGET_VAL(ISD::LLROUND),// ->246595
/*246558*/    OPC_RecordChild0, // #0 = $Rn
/*246559*/    OPC_CheckType, MVT::i64,
/*246561*/    OPC_Scope, 11, /*->246574*/ // 3 children in Scope
/*246563*/      OPC_CheckChild0Type, MVT::f16,
/*246565*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*246567*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXHr), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (llround:{ *:[i64] } f16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FCVTASUXHr:{ *:[i64] } f16:{ *:[f16] }:$Rn)
/*246574*/    /*Scope*/ 9, /*->246584*/
/*246575*/      OPC_CheckChild0Type, MVT::f32,
/*246577*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXSr), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (llround:{ *:[i64] } f32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FCVTASUXSr:{ *:[i64] } f32:{ *:[f32] }:$Rn)
/*246584*/    /*Scope*/ 9, /*->246594*/
/*246585*/      OPC_CheckChild0Type, MVT::f64,
/*246587*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTASUXDr), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (llround:{ *:[i64] } f64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FCVTASUXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn)
/*246594*/    0, /*End of Scope*/
/*246595*/  /*SwitchOpcode*/ 7, TARGET_VAL(ISD::CLEANUPRET),// ->246605
/*246598*/    OPC_RecordNode, // #0 = 'cleanupret' chained node
/*246599*/    OPC_EmitMergeInputChains1_0,
/*246600*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::CLEANUPRET), 0|OPFL_Chain,
                  0/*#Ops*/, 
              // Src: (cleanupret) - Complexity = 3
              // Dst: (CLEANUPRET)
/*246605*/  /*SwitchOpcode*/ 123, TARGET_VAL(AArch64ISD::FCMEQ),// ->246731
/*246608*/    OPC_RecordChild0, // #0 = $Rn
/*246609*/    OPC_SwitchType /*8 cases */, 13, MVT::i64,// ->246625
/*246612*/      OPC_CheckChild0Type, MVT::f64,
/*246614*/      OPC_RecordChild1, // #1 = $Rm
/*246615*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246617*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQ64), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmeq:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FCMEQ64:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*246625*/    /*SwitchType*/ 13, MVT::i32,// ->246640
/*246627*/      OPC_CheckChild0Type, MVT::f32,
/*246629*/      OPC_RecordChild1, // #1 = $Rm
/*246630*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246632*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQ32), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmeq:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FCMEQ32:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*246640*/    /*SwitchType*/ 13, MVT::v4i16,// ->246655
/*246642*/      OPC_CheckChild0Type, MVT::v4f16,
/*246644*/      OPC_RecordChild1, // #1 = $Rm
/*246645*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*246647*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv4f16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmeq:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (FCMEQv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*246655*/    /*SwitchType*/ 13, MVT::v8i16,// ->246670
/*246657*/      OPC_CheckChild0Type, MVT::v8f16,
/*246659*/      OPC_RecordChild1, // #1 = $Rm
/*246660*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*246662*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv8f16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmeq:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (FCMEQv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*246670*/    /*SwitchType*/ 13, MVT::v2i32,// ->246685
/*246672*/      OPC_CheckChild0Type, MVT::v2f32,
/*246674*/      OPC_RecordChild1, // #1 = $Rm
/*246675*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246677*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv2f32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmeq:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FCMEQv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*246685*/    /*SwitchType*/ 13, MVT::v4i32,// ->246700
/*246687*/      OPC_CheckChild0Type, MVT::v4f32,
/*246689*/      OPC_RecordChild1, // #1 = $Rm
/*246690*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246692*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv4f32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmeq:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FCMEQv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*246700*/    /*SwitchType*/ 13, MVT::v2i64,// ->246715
/*246702*/      OPC_CheckChild0Type, MVT::v2f64,
/*246704*/      OPC_RecordChild1, // #1 = $Rm
/*246705*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246707*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv2f64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmeq:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FCMEQv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*246715*/    /*SwitchType*/ 13, MVT::v1i64,// ->246730
/*246717*/      OPC_CheckChild0Type, MVT::v1f64,
/*246719*/      OPC_RecordChild1, // #1 = $Rm
/*246720*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246722*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQ64), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmeq:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 3
                // Dst: (FCMEQ64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*246730*/    0, // EndSwitchType
/*246731*/  /*SwitchOpcode*/ 123, TARGET_VAL(AArch64ISD::FCMGE),// ->246857
/*246734*/    OPC_RecordChild0, // #0 = $Rn
/*246735*/    OPC_SwitchType /*8 cases */, 13, MVT::i64,// ->246751
/*246738*/      OPC_CheckChild0Type, MVT::f64,
/*246740*/      OPC_RecordChild1, // #1 = $Rm
/*246741*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246743*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGE64), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmge:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FCMGE64:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*246751*/    /*SwitchType*/ 13, MVT::i32,// ->246766
/*246753*/      OPC_CheckChild0Type, MVT::f32,
/*246755*/      OPC_RecordChild1, // #1 = $Rm
/*246756*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246758*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGE32), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmge:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FCMGE32:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*246766*/    /*SwitchType*/ 13, MVT::v4i16,// ->246781
/*246768*/      OPC_CheckChild0Type, MVT::v4f16,
/*246770*/      OPC_RecordChild1, // #1 = $Rm
/*246771*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*246773*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv4f16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmge:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (FCMGEv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*246781*/    /*SwitchType*/ 13, MVT::v8i16,// ->246796
/*246783*/      OPC_CheckChild0Type, MVT::v8f16,
/*246785*/      OPC_RecordChild1, // #1 = $Rm
/*246786*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*246788*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv8f16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmge:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (FCMGEv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*246796*/    /*SwitchType*/ 13, MVT::v2i32,// ->246811
/*246798*/      OPC_CheckChild0Type, MVT::v2f32,
/*246800*/      OPC_RecordChild1, // #1 = $Rm
/*246801*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246803*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv2f32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmge:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FCMGEv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*246811*/    /*SwitchType*/ 13, MVT::v4i32,// ->246826
/*246813*/      OPC_CheckChild0Type, MVT::v4f32,
/*246815*/      OPC_RecordChild1, // #1 = $Rm
/*246816*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246818*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv4f32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmge:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FCMGEv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*246826*/    /*SwitchType*/ 13, MVT::v2i64,// ->246841
/*246828*/      OPC_CheckChild0Type, MVT::v2f64,
/*246830*/      OPC_RecordChild1, // #1 = $Rm
/*246831*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246833*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv2f64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmge:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FCMGEv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*246841*/    /*SwitchType*/ 13, MVT::v1i64,// ->246856
/*246843*/      OPC_CheckChild0Type, MVT::v1f64,
/*246845*/      OPC_RecordChild1, // #1 = $Rm
/*246846*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246848*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGE64), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmge:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 3
                // Dst: (FCMGE64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*246856*/    0, // EndSwitchType
/*246857*/  /*SwitchOpcode*/ 123, TARGET_VAL(AArch64ISD::FCMGT),// ->246983
/*246860*/    OPC_RecordChild0, // #0 = $Rn
/*246861*/    OPC_SwitchType /*8 cases */, 13, MVT::i64,// ->246877
/*246864*/      OPC_CheckChild0Type, MVT::f64,
/*246866*/      OPC_RecordChild1, // #1 = $Rm
/*246867*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246869*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGT64), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmgt:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FCMGT64:{ *:[i64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*246877*/    /*SwitchType*/ 13, MVT::i32,// ->246892
/*246879*/      OPC_CheckChild0Type, MVT::f32,
/*246881*/      OPC_RecordChild1, // #1 = $Rm
/*246882*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246884*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGT32), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmgt:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FCMGT32:{ *:[i32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*246892*/    /*SwitchType*/ 13, MVT::v4i16,// ->246907
/*246894*/      OPC_CheckChild0Type, MVT::v4f16,
/*246896*/      OPC_RecordChild1, // #1 = $Rm
/*246897*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*246899*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv4f16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmgt:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (FCMGTv4f16:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*246907*/    /*SwitchType*/ 13, MVT::v8i16,// ->246922
/*246909*/      OPC_CheckChild0Type, MVT::v8f16,
/*246911*/      OPC_RecordChild1, // #1 = $Rm
/*246912*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*246914*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv8f16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmgt:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (FCMGTv8f16:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*246922*/    /*SwitchType*/ 13, MVT::v2i32,// ->246937
/*246924*/      OPC_CheckChild0Type, MVT::v2f32,
/*246926*/      OPC_RecordChild1, // #1 = $Rm
/*246927*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246929*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv2f32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmgt:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FCMGTv2f32:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*246937*/    /*SwitchType*/ 13, MVT::v4i32,// ->246952
/*246939*/      OPC_CheckChild0Type, MVT::v4f32,
/*246941*/      OPC_RecordChild1, // #1 = $Rm
/*246942*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246944*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv4f32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmgt:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FCMGTv4f32:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*246952*/    /*SwitchType*/ 13, MVT::v2i64,// ->246967
/*246954*/      OPC_CheckChild0Type, MVT::v2f64,
/*246956*/      OPC_RecordChild1, // #1 = $Rm
/*246957*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246959*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv2f64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmgt:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FCMGTv2f64:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*246967*/    /*SwitchType*/ 13, MVT::v1i64,// ->246982
/*246969*/      OPC_CheckChild0Type, MVT::v1f64,
/*246971*/      OPC_RecordChild1, // #1 = $Rm
/*246972*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246974*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGT64), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64fcmgt:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 3
                // Dst: (FCMGT64:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*246982*/    0, // EndSwitchType
/*246983*/  /*SwitchOpcode*/ 52|128,2/*308*/, TARGET_VAL(ISD::ABS),// ->247295
/*246987*/    OPC_Scope, 12, /*->247001*/ // 3 children in Scope
/*246989*/      OPC_RecordChild0, // #0 = $Rn
/*246990*/      OPC_CheckType, MVT::i64,
/*246992*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*246994*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv1i64), 0,
                    MVT::i64, 1/*#Ops*/, 0, 
                // Src: (abs:{ *:[i64] } FPR64:{ *:[i64] }:$Rn) - Complexity = 3
                // Dst: (ABSv1i64:{ *:[i64] } FPR64:{ *:[i64] }:$Rn)
/*247001*/    /*Scope*/ 71|128,1/*199*/, /*->247202*/
/*247003*/      OPC_MoveChild0,
/*247004*/      OPC_CheckOpcode, TARGET_VAL(ISD::SUB),
/*247007*/      OPC_MoveChild0,
/*247008*/      OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*247011*/      OPC_Scope, 115, /*->247128*/ // 2 children in Scope
/*247013*/        OPC_MoveChild0,
/*247014*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*247017*/        OPC_RecordChild0, // #0 = $opA
/*247018*/        OPC_SwitchType /*3 cases */, 34, MVT::v8i8,// ->247055
/*247021*/          OPC_CheckChild1Integer, 8, 
/*247023*/          OPC_CheckChild1Type, MVT::i64,
/*247025*/          OPC_MoveParent,
/*247026*/          OPC_MoveParent,
/*247027*/          OPC_MoveChild1,
/*247028*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*247031*/          OPC_MoveChild0,
/*247032*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*247035*/          OPC_RecordChild0, // #1 = $opB
/*247036*/          OPC_CheckChild1Integer, 8, 
/*247038*/          OPC_CheckChild1Type, MVT::i64,
/*247040*/          OPC_CheckType, MVT::v8i8,
/*247042*/          OPC_MoveParent,
/*247043*/          OPC_MoveParent,
/*247044*/          OPC_MoveParent,
/*247045*/          OPC_CheckType, MVT::v8i16,
/*247047*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv16i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (abs:{ *:[v8i16] } (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opA, 8:{ *:[i64] })), (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$opB, 8:{ *:[i64] })))) - Complexity = 28
                    // Dst: (UABDLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$opA, V128:{ *:[v16i8] }:$opB)
/*247055*/        /*SwitchType*/ 34, MVT::v4i16,// ->247091
/*247057*/          OPC_CheckChild1Integer, 4, 
/*247059*/          OPC_CheckChild1Type, MVT::i64,
/*247061*/          OPC_MoveParent,
/*247062*/          OPC_MoveParent,
/*247063*/          OPC_MoveChild1,
/*247064*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*247067*/          OPC_MoveChild0,
/*247068*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*247071*/          OPC_RecordChild0, // #1 = $opB
/*247072*/          OPC_CheckChild1Integer, 4, 
/*247074*/          OPC_CheckChild1Type, MVT::i64,
/*247076*/          OPC_CheckType, MVT::v4i16,
/*247078*/          OPC_MoveParent,
/*247079*/          OPC_MoveParent,
/*247080*/          OPC_MoveParent,
/*247081*/          OPC_CheckType, MVT::v4i32,
/*247083*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv8i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (abs:{ *:[v4i32] } (sub:{ *:[v4i32] } (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$opA, 4:{ *:[i64] })), (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$opB, 4:{ *:[i64] })))) - Complexity = 28
                    // Dst: (UABDLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$opA, V128:{ *:[v8i16] }:$opB)
/*247091*/        /*SwitchType*/ 34, MVT::v2i32,// ->247127
/*247093*/          OPC_CheckChild1Integer, 2, 
/*247095*/          OPC_CheckChild1Type, MVT::i64,
/*247097*/          OPC_MoveParent,
/*247098*/          OPC_MoveParent,
/*247099*/          OPC_MoveChild1,
/*247100*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*247103*/          OPC_MoveChild0,
/*247104*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*247107*/          OPC_RecordChild0, // #1 = $opB
/*247108*/          OPC_CheckChild1Integer, 2, 
/*247110*/          OPC_CheckChild1Type, MVT::i64,
/*247112*/          OPC_CheckType, MVT::v2i32,
/*247114*/          OPC_MoveParent,
/*247115*/          OPC_MoveParent,
/*247116*/          OPC_MoveParent,
/*247117*/          OPC_CheckType, MVT::v2i64,
/*247119*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv4i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (abs:{ *:[v2i64] } (sub:{ *:[v2i64] } (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$opA, 2:{ *:[i64] })), (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$opB, 2:{ *:[i64] })))) - Complexity = 28
                    // Dst: (UABDLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$opA, V128:{ *:[v4i32] }:$opB)
/*247127*/        0, // EndSwitchType
/*247128*/      /*Scope*/ 72, /*->247201*/
/*247129*/        OPC_RecordChild0, // #0 = $opA
/*247130*/        OPC_Scope, 22, /*->247154*/ // 3 children in Scope
/*247132*/          OPC_CheckChild0Type, MVT::v8i8,
/*247134*/          OPC_MoveParent,
/*247135*/          OPC_MoveChild1,
/*247136*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*247139*/          OPC_RecordChild0, // #1 = $opB
/*247140*/          OPC_CheckChild0Type, MVT::v8i8,
/*247142*/          OPC_MoveParent,
/*247143*/          OPC_MoveParent,
/*247144*/          OPC_CheckType, MVT::v8i16,
/*247146*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv8i8_v8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 1, 
                    // Src: (abs:{ *:[v8i16] } (sub:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA), (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$opB))) - Complexity = 12
                    // Dst: (UABDLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$opA, V64:{ *:[v8i8] }:$opB)
/*247154*/        /*Scope*/ 22, /*->247177*/
/*247155*/          OPC_CheckChild0Type, MVT::v4i16,
/*247157*/          OPC_MoveParent,
/*247158*/          OPC_MoveChild1,
/*247159*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*247162*/          OPC_RecordChild0, // #1 = $opB
/*247163*/          OPC_CheckChild0Type, MVT::v4i16,
/*247165*/          OPC_MoveParent,
/*247166*/          OPC_MoveParent,
/*247167*/          OPC_CheckType, MVT::v4i32,
/*247169*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv4i16_v4i32), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 1, 
                    // Src: (abs:{ *:[v4i32] } (sub:{ *:[v4i32] } (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$opA), (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$opB))) - Complexity = 12
                    // Dst: (UABDLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$opA, V64:{ *:[v4i16] }:$opB)
/*247177*/        /*Scope*/ 22, /*->247200*/
/*247178*/          OPC_CheckChild0Type, MVT::v2i32,
/*247180*/          OPC_MoveParent,
/*247181*/          OPC_MoveChild1,
/*247182*/          OPC_CheckOpcode, TARGET_VAL(ISD::ZERO_EXTEND),
/*247185*/          OPC_RecordChild0, // #1 = $opB
/*247186*/          OPC_CheckChild0Type, MVT::v2i32,
/*247188*/          OPC_MoveParent,
/*247189*/          OPC_MoveParent,
/*247190*/          OPC_CheckType, MVT::v2i64,
/*247192*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UABDLv2i32_v2i64), 0,
                        MVT::v2i64, 2/*#Ops*/, 0, 1, 
                    // Src: (abs:{ *:[v2i64] } (sub:{ *:[v2i64] } (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$opA), (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$opB))) - Complexity = 12
                    // Dst: (UABDLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$opA, V64:{ *:[v2i32] }:$opB)
/*247200*/        0, /*End of Scope*/
/*247201*/      0, /*End of Scope*/
/*247202*/    /*Scope*/ 91, /*->247294*/
/*247203*/      OPC_RecordChild0, // #0 = $Rn
/*247204*/      OPC_SwitchType /*8 cases */, 9, MVT::v8i8,// ->247216
/*247207*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247209*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (abs:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                  // Dst: (ABSv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*247216*/      /*SwitchType*/ 9, MVT::v16i8,// ->247227
/*247218*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247220*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (abs:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                  // Dst: (ABSv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*247227*/      /*SwitchType*/ 9, MVT::v4i16,// ->247238
/*247229*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247231*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (abs:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (ABSv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*247238*/      /*SwitchType*/ 9, MVT::v8i16,// ->247249
/*247240*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247242*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv8i16), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (abs:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                  // Dst: (ABSv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*247249*/      /*SwitchType*/ 9, MVT::v2i32,// ->247260
/*247251*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247253*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (abs:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (ABSv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*247260*/      /*SwitchType*/ 9, MVT::v4i32,// ->247271
/*247262*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247264*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv4i32), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (abs:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                  // Dst: (ABSv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*247271*/      /*SwitchType*/ 9, MVT::v2i64,// ->247282
/*247273*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247275*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv2i64), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (abs:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                  // Dst: (ABSv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*247282*/      /*SwitchType*/ 9, MVT::v1i64,// ->247293
/*247284*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247286*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::ABSv1i64), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (abs:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn) - Complexity = 3
                  // Dst: (ABSv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*247293*/      0, // EndSwitchType
/*247294*/    0, /*End of Scope*/
/*247295*/  /*SwitchOpcode*/ 81|128,2/*337*/, TARGET_VAL(ISD::TRUNCATE),// ->247636
/*247299*/    OPC_Scope, 14, /*->247315*/ // 3 children in Scope
/*247301*/      OPC_RecordChild0, // #0 = $src
/*247302*/      OPC_CheckType, MVT::i32,
/*247304*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*247307*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (trunc:{ *:[i32] } GPR64sp:{ *:[i64] }:$src) - Complexity = 3
                // Dst: (EXTRACT_SUBREG:{ *:[i32] } GPR64sp:{ *:[i64] }:$src, sub_32:{ *:[i32] })
/*247315*/    /*Scope*/ 19|128,2/*275*/, /*->247592*/
/*247317*/      OPC_MoveChild0,
/*247318*/      OPC_SwitchOpcode /*2 cases */, 64|128,1/*192*/, TARGET_VAL(AArch64ISD::VLSHR),// ->247515
/*247323*/        OPC_Scope, 121, /*->247446*/ // 2 children in Scope
/*247325*/          OPC_MoveChild0,
/*247326*/          OPC_SwitchOpcode /*2 cases */, 56, TARGET_VAL(ISD::ADD),// ->247386
/*247330*/            OPC_RecordChild0, // #0 = $Rn
/*247331*/            OPC_RecordChild1, // #1 = $Rm
/*247332*/            OPC_MoveParent,
/*247333*/            OPC_SwitchType /*3 cases */, 15, MVT::v8i16,// ->247351
/*247336*/              OPC_CheckChild1Integer, 8, 
/*247338*/              OPC_CheckChild1Type, MVT::i32,
/*247340*/              OPC_MoveParent,
/*247341*/              OPC_CheckType, MVT::v8i8,
/*247343*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv8i16_v8i8), 0,
                            MVT::v8i8, 2/*#Ops*/, 0, 1, 
                        // Src: (trunc:{ *:[v8i8] } (AArch64vlshr:{ *:[v8i16] } (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm), 8:{ *:[i32] })) - Complexity = 14
                        // Dst: (ADDHNv8i16_v8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*247351*/            /*SwitchType*/ 15, MVT::v4i32,// ->247368
/*247353*/              OPC_CheckChild1Integer, 16, 
/*247355*/              OPC_CheckChild1Type, MVT::i32,
/*247357*/              OPC_MoveParent,
/*247358*/              OPC_CheckType, MVT::v4i16,
/*247360*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv4i32_v4i16), 0,
                            MVT::v4i16, 2/*#Ops*/, 0, 1, 
                        // Src: (trunc:{ *:[v4i16] } (AArch64vlshr:{ *:[v4i32] } (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm), 16:{ *:[i32] })) - Complexity = 14
                        // Dst: (ADDHNv4i32_v4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*247368*/            /*SwitchType*/ 15, MVT::v2i64,// ->247385
/*247370*/              OPC_CheckChild1Integer, 32, 
/*247372*/              OPC_CheckChild1Type, MVT::i32,
/*247374*/              OPC_MoveParent,
/*247375*/              OPC_CheckType, MVT::v2i32,
/*247377*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv2i64_v2i32), 0,
                            MVT::v2i32, 2/*#Ops*/, 0, 1, 
                        // Src: (trunc:{ *:[v2i32] } (AArch64vlshr:{ *:[v2i64] } (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm), 32:{ *:[i32] })) - Complexity = 14
                        // Dst: (ADDHNv2i64_v2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*247385*/            0, // EndSwitchType
/*247386*/          /*SwitchOpcode*/ 56, TARGET_VAL(ISD::SUB),// ->247445
/*247389*/            OPC_RecordChild0, // #0 = $Rn
/*247390*/            OPC_RecordChild1, // #1 = $Rm
/*247391*/            OPC_MoveParent,
/*247392*/            OPC_SwitchType /*3 cases */, 15, MVT::v8i16,// ->247410
/*247395*/              OPC_CheckChild1Integer, 8, 
/*247397*/              OPC_CheckChild1Type, MVT::i32,
/*247399*/              OPC_MoveParent,
/*247400*/              OPC_CheckType, MVT::v8i8,
/*247402*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv8i16_v8i8), 0,
                            MVT::v8i8, 2/*#Ops*/, 0, 1, 
                        // Src: (trunc:{ *:[v8i8] } (AArch64vlshr:{ *:[v8i16] } (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm), 8:{ *:[i32] })) - Complexity = 14
                        // Dst: (SUBHNv8i16_v8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*247410*/            /*SwitchType*/ 15, MVT::v4i32,// ->247427
/*247412*/              OPC_CheckChild1Integer, 16, 
/*247414*/              OPC_CheckChild1Type, MVT::i32,
/*247416*/              OPC_MoveParent,
/*247417*/              OPC_CheckType, MVT::v4i16,
/*247419*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv4i32_v4i16), 0,
                            MVT::v4i16, 2/*#Ops*/, 0, 1, 
                        // Src: (trunc:{ *:[v4i16] } (AArch64vlshr:{ *:[v4i32] } (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm), 16:{ *:[i32] })) - Complexity = 14
                        // Dst: (SUBHNv4i32_v4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*247427*/            /*SwitchType*/ 15, MVT::v2i64,// ->247444
/*247429*/              OPC_CheckChild1Integer, 32, 
/*247431*/              OPC_CheckChild1Type, MVT::i32,
/*247433*/              OPC_MoveParent,
/*247434*/              OPC_CheckType, MVT::v2i32,
/*247436*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv2i64_v2i32), 0,
                            MVT::v2i32, 2/*#Ops*/, 0, 1, 
                        // Src: (trunc:{ *:[v2i32] } (AArch64vlshr:{ *:[v2i64] } (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm), 32:{ *:[i32] })) - Complexity = 14
                        // Dst: (SUBHNv2i64_v2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*247444*/            0, // EndSwitchType
/*247445*/          0, // EndSwitchOpcode
/*247446*/        /*Scope*/ 67, /*->247514*/
/*247447*/          OPC_RecordChild0, // #0 = $Rn
/*247448*/          OPC_RecordChild1, // #1 = $imm
/*247449*/          OPC_MoveChild1,
/*247450*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*247453*/          OPC_CheckType, MVT::i32,
/*247455*/          OPC_Scope, 18, /*->247475*/ // 3 children in Scope
/*247457*/            OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*247459*/            OPC_MoveParent,
/*247460*/            OPC_CheckType, MVT::v8i16,
/*247462*/            OPC_MoveParent,
/*247463*/            OPC_CheckType, MVT::v8i8,
/*247465*/            OPC_EmitConvertToTarget, 1,
/*247467*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv8i8_shift), 0,
                          MVT::v8i8, 2/*#Ops*/, 0, 2, 
                      // Src: (trunc:{ *:[v8i8] } (AArch64vlshr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 10
                      // Dst: (SHRNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*247475*/          /*Scope*/ 18, /*->247494*/
/*247476*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*247478*/            OPC_MoveParent,
/*247479*/            OPC_CheckType, MVT::v4i32,
/*247481*/            OPC_MoveParent,
/*247482*/            OPC_CheckType, MVT::v4i16,
/*247484*/            OPC_EmitConvertToTarget, 1,
/*247486*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv4i16_shift), 0,
                          MVT::v4i16, 2/*#Ops*/, 0, 2, 
                      // Src: (trunc:{ *:[v4i16] } (AArch64vlshr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 10
                      // Dst: (SHRNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*247494*/          /*Scope*/ 18, /*->247513*/
/*247495*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*247497*/            OPC_MoveParent,
/*247498*/            OPC_CheckType, MVT::v2i64,
/*247500*/            OPC_MoveParent,
/*247501*/            OPC_CheckType, MVT::v2i32,
/*247503*/            OPC_EmitConvertToTarget, 1,
/*247505*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv2i32_shift), 0,
                          MVT::v2i32, 2/*#Ops*/, 0, 2, 
                      // Src: (trunc:{ *:[v2i32] } (AArch64vlshr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 10
                      // Dst: (SHRNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*247513*/          0, /*End of Scope*/
/*247514*/        0, /*End of Scope*/
/*247515*/      /*SwitchOpcode*/ 73, TARGET_VAL(AArch64ISD::VASHR),// ->247591
/*247518*/        OPC_RecordChild0, // #0 = $Rn
/*247519*/        OPC_RecordChild1, // #1 = $imm
/*247520*/        OPC_MoveChild1,
/*247521*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*247524*/        OPC_CheckType, MVT::i32,
/*247526*/        OPC_Scope, 20, /*->247548*/ // 3 children in Scope
/*247528*/          OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*247530*/          OPC_MoveParent,
/*247531*/          OPC_CheckType, MVT::v8i16,
/*247533*/          OPC_MoveParent,
/*247534*/          OPC_CheckType, MVT::v8i8,
/*247536*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247538*/          OPC_EmitConvertToTarget, 1,
/*247540*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv8i8_shift), 0,
                        MVT::v8i8, 2/*#Ops*/, 0, 2, 
                    // Src: (trunc:{ *:[v8i8] } (AArch64vashr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 10
                    // Dst: (SHRNv8i8_shift:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*247548*/        /*Scope*/ 20, /*->247569*/
/*247549*/          OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*247551*/          OPC_MoveParent,
/*247552*/          OPC_CheckType, MVT::v4i32,
/*247554*/          OPC_MoveParent,
/*247555*/          OPC_CheckType, MVT::v4i16,
/*247557*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247559*/          OPC_EmitConvertToTarget, 1,
/*247561*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv4i16_shift), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 2, 
                    // Src: (trunc:{ *:[v4i16] } (AArch64vashr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 10
                    // Dst: (SHRNv4i16_shift:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*247569*/        /*Scope*/ 20, /*->247590*/
/*247570*/          OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*247572*/          OPC_MoveParent,
/*247573*/          OPC_CheckType, MVT::v2i64,
/*247575*/          OPC_MoveParent,
/*247576*/          OPC_CheckType, MVT::v2i32,
/*247578*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247580*/          OPC_EmitConvertToTarget, 1,
/*247582*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv2i32_shift), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 2, 
                    // Src: (trunc:{ *:[v2i32] } (AArch64vashr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 10
                    // Dst: (SHRNv2i32_shift:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*247590*/        0, /*End of Scope*/
/*247591*/      0, // EndSwitchOpcode
/*247592*/    /*Scope*/ 42, /*->247635*/
/*247593*/      OPC_RecordChild0, // #0 = $Rn
/*247594*/      OPC_SwitchType /*3 cases */, 11, MVT::v8i8,// ->247608
/*247597*/        OPC_CheckChild0Type, MVT::v8i16,
/*247599*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247601*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::XTNv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (trunc:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                  // Dst: (XTNv8i8:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn)
/*247608*/      /*SwitchType*/ 11, MVT::v4i16,// ->247621
/*247610*/        OPC_CheckChild0Type, MVT::v4i32,
/*247612*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247614*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::XTNv4i16), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (trunc:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                  // Dst: (XTNv4i16:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn)
/*247621*/      /*SwitchType*/ 11, MVT::v2i32,// ->247634
/*247623*/        OPC_CheckChild0Type, MVT::v2i64,
/*247625*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*247627*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::XTNv2i32), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (trunc:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                  // Dst: (XTNv2i32:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn)
/*247634*/      0, // EndSwitchType
/*247635*/    0, /*End of Scope*/
/*247636*/  /*SwitchOpcode*/ 11, TARGET_VAL(ISD::TRAP),// ->247650
/*247639*/    OPC_RecordNode, // #0 = 'trap' chained node
/*247640*/    OPC_EmitMergeInputChains1_0,
/*247641*/    OPC_EmitInteger, MVT::i32, 1, 
/*247644*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::BRK), 0|OPFL_Chain,
                  1/*#Ops*/, 1, 
              // Src: (trap) - Complexity = 3
              // Dst: (BRK 1:{ *:[i32] })
/*247650*/  /*SwitchOpcode*/ 15, TARGET_VAL(ISD::DEBUGTRAP),// ->247668
/*247653*/    OPC_RecordNode, // #0 = 'debugtrap' chained node
/*247654*/    OPC_CheckPatternPredicate, 27, // (Subtarget->isTargetWindows())
/*247656*/    OPC_EmitMergeInputChains1_0,
/*247657*/    OPC_EmitInteger, MVT::i32, 0|128,96|128,3/*61440*/, 
/*247662*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::BRK), 0|OPFL_Chain,
                  1/*#Ops*/, 1, 
              // Src: (debugtrap) - Complexity = 3
              // Dst: (BRK 61440:{ *:[i32] })
/*247668*/  /*SwitchOpcode*/ 87|128,24/*3159*/, TARGET_VAL(ISD::BITCAST),// ->250831
/*247672*/    OPC_RecordChild0, // #0 = $Vn
/*247673*/    OPC_Scope, 55|128,1/*183*/, /*->247859*/ // 26 children in Scope
/*247676*/      OPC_CheckChild0Type, MVT::v8i8,
/*247678*/      OPC_SwitchType /*8 cases */, 37, MVT::i64,// ->247718
/*247681*/        OPC_Scope, 13, /*->247696*/ // 2 children in Scope
/*247683*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247685*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*247688*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v8i8] }:$Vn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v8i8] }:$Vn, GPR64:{ *:[i32] })
/*247696*/        /*Scope*/ 20, /*->247717*/
/*247697*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247699*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*247702*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*247710*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                        MVT::i64, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v8i8] }:$Vn) - Complexity = 3
                    // Dst: (REV64v8i8:{ *:[i64] } (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v8i8] }:$Vn, GPR64:{ *:[i32] }))
/*247717*/        0, /*End of Scope*/
/*247718*/      /*SwitchType*/ 18, MVT::f64,// ->247738
/*247720*/        OPC_Scope, 5, /*->247727*/ // 2 children in Scope
/*247722*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247724*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[f64] }:$src
/*247727*/        /*Scope*/ 9, /*->247737*/
/*247728*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247730*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                    // Dst: (REV64v8i8:{ *:[f64] } FPR64:{ *:[v8i8] }:$src)
/*247737*/        0, /*End of Scope*/
/*247738*/      /*SwitchType*/ 18, MVT::v1i64,// ->247758
/*247740*/        OPC_Scope, 5, /*->247747*/ // 2 children in Scope
/*247742*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247744*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1i64] }:$src
/*247747*/        /*Scope*/ 9, /*->247757*/
/*247748*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247750*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                        MVT::v1i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                    // Dst: (REV64v8i8:{ *:[v1i64] } FPR64:{ *:[v8i8] }:$src)
/*247757*/        0, /*End of Scope*/
/*247758*/      /*SwitchType*/ 18, MVT::v2i32,// ->247778
/*247760*/        OPC_Scope, 5, /*->247767*/ // 2 children in Scope
/*247762*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247764*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2i32] }:$src
/*247767*/        /*Scope*/ 9, /*->247777*/
/*247768*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247770*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i8), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                    // Dst: (REV32v8i8:{ *:[v2i32] } FPR64:{ *:[v8i8] }:$src)
/*247777*/        0, /*End of Scope*/
/*247778*/      /*SwitchType*/ 18, MVT::v4i16,// ->247798
/*247780*/        OPC_Scope, 5, /*->247787*/ // 2 children in Scope
/*247782*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247784*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4i16] }:$src
/*247787*/        /*Scope*/ 9, /*->247797*/
/*247788*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247790*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v8i8), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                    // Dst: (REV16v8i8:{ *:[v4i16] } FPR64:{ *:[v8i8] }:$src)
/*247797*/        0, /*End of Scope*/
/*247798*/      /*SwitchType*/ 18, MVT::v4f16,// ->247818
/*247800*/        OPC_Scope, 5, /*->247807*/ // 2 children in Scope
/*247802*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247804*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4f16] }:$src
/*247807*/        /*Scope*/ 9, /*->247817*/
/*247808*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247810*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v8i8), 0,
                        MVT::v4f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                    // Dst: (REV16v8i8:{ *:[v4f16] } FPR64:{ *:[v8i8] }:$src)
/*247817*/        0, /*End of Scope*/
/*247818*/      /*SwitchType*/ 18, MVT::v1f64,// ->247838
/*247820*/        OPC_Scope, 5, /*->247827*/ // 2 children in Scope
/*247822*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247824*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1f64] }:$src
/*247827*/        /*Scope*/ 9, /*->247837*/
/*247828*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247830*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                        MVT::v1f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                    // Dst: (REV64v8i8:{ *:[v1f64] } FPR64:{ *:[v8i8] }:$src)
/*247837*/        0, /*End of Scope*/
/*247838*/      /*SwitchType*/ 18, MVT::v2f32,// ->247858
/*247840*/        OPC_Scope, 5, /*->247847*/ // 2 children in Scope
/*247842*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247844*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2f32] }:$src
/*247847*/        /*Scope*/ 9, /*->247857*/
/*247848*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247850*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i8), 0,
                        MVT::v2f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                    // Dst: (REV32v8i8:{ *:[v2f32] } FPR64:{ *:[v8i8] }:$src)
/*247857*/        0, /*End of Scope*/
/*247858*/      0, // EndSwitchType
/*247859*/    /*Scope*/ 40|128,1/*168*/, /*->248029*/
/*247861*/      OPC_CheckChild0Type, MVT::v4i16,
/*247863*/      OPC_SwitchType /*8 cases */, 37, MVT::i64,// ->247903
/*247866*/        OPC_Scope, 13, /*->247881*/ // 2 children in Scope
/*247868*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247870*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*247873*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v4i16] }:$Vn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v4i16] }:$Vn, GPR64:{ *:[i32] })
/*247881*/        /*Scope*/ 20, /*->247902*/
/*247882*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247884*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*247887*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*247895*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::i64, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v4i16] }:$Vn) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[i64] } (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v4i16] }:$Vn, GPR64:{ *:[i32] }))
/*247902*/        0, /*End of Scope*/
/*247903*/      /*SwitchType*/ 18, MVT::f64,// ->247923
/*247905*/        OPC_Scope, 5, /*->247912*/ // 2 children in Scope
/*247907*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247909*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[f64] }:$src
/*247912*/        /*Scope*/ 9, /*->247922*/
/*247913*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247915*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[f64] } FPR64:{ *:[v4i16] }:$src)
/*247922*/        0, /*End of Scope*/
/*247923*/      /*SwitchType*/ 18, MVT::v1i64,// ->247943
/*247925*/        OPC_Scope, 5, /*->247932*/ // 2 children in Scope
/*247927*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247929*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1i64] }:$src
/*247932*/        /*Scope*/ 9, /*->247942*/
/*247933*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247935*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v1i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v1i64] } FPR64:{ *:[v4i16] }:$src)
/*247942*/        0, /*End of Scope*/
/*247943*/      /*SwitchType*/ 18, MVT::v2i32,// ->247963
/*247945*/        OPC_Scope, 5, /*->247952*/ // 2 children in Scope
/*247947*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247949*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2i32] }:$src
/*247952*/        /*Scope*/ 9, /*->247962*/
/*247953*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247955*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                    // Dst: (REV32v4i16:{ *:[v2i32] } FPR64:{ *:[v4i16] }:$src)
/*247962*/        0, /*End of Scope*/
/*247963*/      /*SwitchType*/ 18, MVT::v8i8,// ->247983
/*247965*/        OPC_Scope, 5, /*->247972*/ // 2 children in Scope
/*247967*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247969*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v8i8] }:$src
/*247972*/        /*Scope*/ 9, /*->247982*/
/*247973*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*247975*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                    // Dst: (REV16v8i8:{ *:[v8i8] } FPR64:{ *:[v4i16] }:$src)
/*247982*/        0, /*End of Scope*/
/*247983*/      /*SwitchType*/ 3, MVT::v4f16,// ->247988
/*247985*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4f16] }:$src
/*247988*/      /*SwitchType*/ 18, MVT::v1f64,// ->248008
/*247990*/        OPC_Scope, 5, /*->247997*/ // 2 children in Scope
/*247992*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*247994*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1f64] }:$src
/*247997*/        /*Scope*/ 9, /*->248007*/
/*247998*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248000*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v1f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v1f64] } FPR64:{ *:[v4i16] }:$src)
/*248007*/        0, /*End of Scope*/
/*248008*/      /*SwitchType*/ 18, MVT::v2f32,// ->248028
/*248010*/        OPC_Scope, 5, /*->248017*/ // 2 children in Scope
/*248012*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248014*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2f32] }:$src
/*248017*/        /*Scope*/ 9, /*->248027*/
/*248018*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248020*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                        MVT::v2f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                    // Dst: (REV32v4i16:{ *:[v2f32] } FPR64:{ *:[v4i16] }:$src)
/*248027*/        0, /*End of Scope*/
/*248028*/      0, // EndSwitchType
/*248029*/    /*Scope*/ 40|128,1/*168*/, /*->248199*/
/*248031*/      OPC_CheckChild0Type, MVT::v2i32,
/*248033*/      OPC_SwitchType /*8 cases */, 37, MVT::i64,// ->248073
/*248036*/        OPC_Scope, 13, /*->248051*/ // 2 children in Scope
/*248038*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248040*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248043*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v2i32] }:$Vn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v2i32] }:$Vn, GPR64:{ *:[i32] })
/*248051*/        /*Scope*/ 20, /*->248072*/
/*248052*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248054*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248057*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*248065*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::i64, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v2i32] }:$Vn) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[i64] } (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v2i32] }:$Vn, GPR64:{ *:[i32] }))
/*248072*/        0, /*End of Scope*/
/*248073*/      /*SwitchType*/ 18, MVT::f64,// ->248093
/*248075*/        OPC_Scope, 5, /*->248082*/ // 2 children in Scope
/*248077*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248079*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[f64] }:$src
/*248082*/        /*Scope*/ 9, /*->248092*/
/*248083*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248085*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[f64] } FPR64:{ *:[v2i32] }:$src)
/*248092*/        0, /*End of Scope*/
/*248093*/      /*SwitchType*/ 18, MVT::v1i64,// ->248113
/*248095*/        OPC_Scope, 5, /*->248102*/ // 2 children in Scope
/*248097*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248099*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1i64] }:$src
/*248102*/        /*Scope*/ 9, /*->248112*/
/*248103*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248105*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v1i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v1i64] } FPR64:{ *:[v2i32] }:$src)
/*248112*/        0, /*End of Scope*/
/*248113*/      /*SwitchType*/ 18, MVT::v4i16,// ->248133
/*248115*/        OPC_Scope, 5, /*->248122*/ // 2 children in Scope
/*248117*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248119*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4i16] }:$src
/*248122*/        /*Scope*/ 9, /*->248132*/
/*248123*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248125*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                    // Dst: (REV32v4i16:{ *:[v4i16] } FPR64:{ *:[v2i32] }:$src)
/*248132*/        0, /*End of Scope*/
/*248133*/      /*SwitchType*/ 18, MVT::v8i8,// ->248153
/*248135*/        OPC_Scope, 5, /*->248142*/ // 2 children in Scope
/*248137*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248139*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v8i8] }:$src
/*248142*/        /*Scope*/ 9, /*->248152*/
/*248143*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248145*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                    // Dst: (REV32v8i8:{ *:[v8i8] } FPR64:{ *:[v2i32] }:$src)
/*248152*/        0, /*End of Scope*/
/*248153*/      /*SwitchType*/ 18, MVT::v4f16,// ->248173
/*248155*/        OPC_Scope, 5, /*->248162*/ // 2 children in Scope
/*248157*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248159*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4f16] }:$src
/*248162*/        /*Scope*/ 9, /*->248172*/
/*248163*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248165*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                        MVT::v4f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                    // Dst: (REV32v4i16:{ *:[v4f16] } FPR64:{ *:[v2i32] }:$src)
/*248172*/        0, /*End of Scope*/
/*248173*/      /*SwitchType*/ 18, MVT::v1f64,// ->248193
/*248175*/        OPC_Scope, 5, /*->248182*/ // 2 children in Scope
/*248177*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248179*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1f64] }:$src
/*248182*/        /*Scope*/ 9, /*->248192*/
/*248183*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248185*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v1f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v1f64] } FPR64:{ *:[v2i32] }:$src)
/*248192*/        0, /*End of Scope*/
/*248193*/      /*SwitchType*/ 3, MVT::v2f32,// ->248198
/*248195*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2f32] }:$src
/*248198*/      0, // EndSwitchType
/*248199*/    /*Scope*/ 40|128,1/*168*/, /*->248369*/
/*248201*/      OPC_CheckChild0Type, MVT::v4f16,
/*248203*/      OPC_SwitchType /*8 cases */, 37, MVT::i64,// ->248243
/*248206*/        OPC_Scope, 13, /*->248221*/ // 2 children in Scope
/*248208*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248210*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248213*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v4f16] }:$Vn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v4f16] }:$Vn, GPR64:{ *:[i32] })
/*248221*/        /*Scope*/ 20, /*->248242*/
/*248222*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248224*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248227*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*248235*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::i64, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v4f16] }:$Vn) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[i64] } (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v4f16] }:$Vn, GPR64:{ *:[i32] }))
/*248242*/        0, /*End of Scope*/
/*248243*/      /*SwitchType*/ 18, MVT::f64,// ->248263
/*248245*/        OPC_Scope, 5, /*->248252*/ // 2 children in Scope
/*248247*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248249*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[f64] }:$src
/*248252*/        /*Scope*/ 9, /*->248262*/
/*248253*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248255*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[f64] } FPR64:{ *:[v4f16] }:$src)
/*248262*/        0, /*End of Scope*/
/*248263*/      /*SwitchType*/ 18, MVT::v1i64,// ->248283
/*248265*/        OPC_Scope, 5, /*->248272*/ // 2 children in Scope
/*248267*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248269*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1i64] }:$src
/*248272*/        /*Scope*/ 9, /*->248282*/
/*248273*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248275*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v1i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v1i64] } FPR64:{ *:[v4f16] }:$src)
/*248282*/        0, /*End of Scope*/
/*248283*/      /*SwitchType*/ 18, MVT::v2i32,// ->248303
/*248285*/        OPC_Scope, 5, /*->248292*/ // 2 children in Scope
/*248287*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248289*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2i32] }:$src
/*248292*/        /*Scope*/ 9, /*->248302*/
/*248293*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248295*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                    // Dst: (REV32v4i16:{ *:[v2i32] } FPR64:{ *:[v4f16] }:$src)
/*248302*/        0, /*End of Scope*/
/*248303*/      /*SwitchType*/ 3, MVT::v4i16,// ->248308
/*248305*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4i16] }:$src
/*248308*/      /*SwitchType*/ 18, MVT::v8i8,// ->248328
/*248310*/        OPC_Scope, 5, /*->248317*/ // 2 children in Scope
/*248312*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248314*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v8i8] }:$src
/*248317*/        /*Scope*/ 9, /*->248327*/
/*248318*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248320*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                    // Dst: (REV16v8i8:{ *:[v8i8] } FPR64:{ *:[v4f16] }:$src)
/*248327*/        0, /*End of Scope*/
/*248328*/      /*SwitchType*/ 18, MVT::v1f64,// ->248348
/*248330*/        OPC_Scope, 5, /*->248337*/ // 2 children in Scope
/*248332*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248334*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1f64] }:$src
/*248337*/        /*Scope*/ 9, /*->248347*/
/*248338*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248340*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v1f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v1f64] } FPR64:{ *:[v4f16] }:$src)
/*248347*/        0, /*End of Scope*/
/*248348*/      /*SwitchType*/ 18, MVT::v2f32,// ->248368
/*248350*/        OPC_Scope, 5, /*->248357*/ // 2 children in Scope
/*248352*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248354*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2f32] }:$src
/*248357*/        /*Scope*/ 9, /*->248367*/
/*248358*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248360*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                        MVT::v2f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v4f16] }:$src) - Complexity = 3
                    // Dst: (REV32v4i16:{ *:[v2f32] } FPR64:{ *:[v4f16] }:$src)
/*248367*/        0, /*End of Scope*/
/*248368*/      0, // EndSwitchType
/*248369*/    /*Scope*/ 40|128,1/*168*/, /*->248539*/
/*248371*/      OPC_CheckChild0Type, MVT::v2f32,
/*248373*/      OPC_SwitchType /*8 cases */, 37, MVT::i64,// ->248413
/*248376*/        OPC_Scope, 13, /*->248391*/ // 2 children in Scope
/*248378*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248380*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248383*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v2f32] }:$Vn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v2f32] }:$Vn, GPR64:{ *:[i32] })
/*248391*/        /*Scope*/ 20, /*->248412*/
/*248392*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248394*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248397*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*248405*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::i64, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v2f32] }:$Vn) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[i64] } (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v2f32] }:$Vn, GPR64:{ *:[i32] }))
/*248412*/        0, /*End of Scope*/
/*248413*/      /*SwitchType*/ 18, MVT::f64,// ->248433
/*248415*/        OPC_Scope, 5, /*->248422*/ // 2 children in Scope
/*248417*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248419*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[f64] }:$src
/*248422*/        /*Scope*/ 9, /*->248432*/
/*248423*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248425*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[f64] } FPR64:{ *:[v2f32] }:$src)
/*248432*/        0, /*End of Scope*/
/*248433*/      /*SwitchType*/ 18, MVT::v1i64,// ->248453
/*248435*/        OPC_Scope, 5, /*->248442*/ // 2 children in Scope
/*248437*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248439*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1i64] }:$src
/*248442*/        /*Scope*/ 9, /*->248452*/
/*248443*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248445*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v1i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v1i64] } FPR64:{ *:[v2f32] }:$src)
/*248452*/        0, /*End of Scope*/
/*248453*/      /*SwitchType*/ 3, MVT::v2i32,// ->248458
/*248455*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2i32] }:$src
/*248458*/      /*SwitchType*/ 18, MVT::v4i16,// ->248478
/*248460*/        OPC_Scope, 5, /*->248467*/ // 2 children in Scope
/*248462*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248464*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4i16] }:$src
/*248467*/        /*Scope*/ 9, /*->248477*/
/*248468*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248470*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                    // Dst: (REV32v4i16:{ *:[v4i16] } FPR64:{ *:[v2f32] }:$src)
/*248477*/        0, /*End of Scope*/
/*248478*/      /*SwitchType*/ 18, MVT::v8i8,// ->248498
/*248480*/        OPC_Scope, 5, /*->248487*/ // 2 children in Scope
/*248482*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248484*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v8i8] }:$src
/*248487*/        /*Scope*/ 9, /*->248497*/
/*248488*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248490*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                    // Dst: (REV32v8i8:{ *:[v8i8] } FPR64:{ *:[v2f32] }:$src)
/*248497*/        0, /*End of Scope*/
/*248498*/      /*SwitchType*/ 18, MVT::v4f16,// ->248518
/*248500*/        OPC_Scope, 5, /*->248507*/ // 2 children in Scope
/*248502*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248504*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4f16] }:$src
/*248507*/        /*Scope*/ 9, /*->248517*/
/*248508*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248510*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                        MVT::v4f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                    // Dst: (REV32v4i16:{ *:[v4f16] } FPR64:{ *:[v2f32] }:$src)
/*248517*/        0, /*End of Scope*/
/*248518*/      /*SwitchType*/ 18, MVT::v1f64,// ->248538
/*248520*/        OPC_Scope, 5, /*->248527*/ // 2 children in Scope
/*248522*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248524*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v1f64] }:$src
/*248527*/        /*Scope*/ 9, /*->248537*/
/*248528*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248530*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v1f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v1f64] } FPR64:{ *:[v2f32] }:$src)
/*248537*/        0, /*End of Scope*/
/*248538*/      0, // EndSwitchType
/*248539*/    /*Scope*/ 16|128,1/*144*/, /*->248685*/
/*248541*/      OPC_CheckChild0Type, MVT::v1f64,
/*248543*/      OPC_SwitchType /*8 cases */, 28, MVT::i64,// ->248574
/*248546*/        OPC_Scope, 13, /*->248561*/ // 2 children in Scope
/*248548*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248550*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248553*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v1f64] }:$Vn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v1f64] }:$Vn, GPR64:{ *:[i32] })
/*248561*/        /*Scope*/ 11, /*->248573*/
/*248562*/          OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248565*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[i64] } V64:{ *:[v1f64] }:$Vn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v1f64] }:$Vn, GPR64:{ *:[i32] })
/*248573*/        0, /*End of Scope*/
/*248574*/      /*SwitchType*/ 3, MVT::f64,// ->248579
/*248576*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[f64] }:$src
/*248579*/      /*SwitchType*/ 3, MVT::v1i64,// ->248584
/*248581*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1i64] }:$src
/*248584*/      /*SwitchType*/ 18, MVT::v2i32,// ->248604
/*248586*/        OPC_Scope, 5, /*->248593*/ // 2 children in Scope
/*248588*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248590*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2i32] }:$src
/*248593*/        /*Scope*/ 9, /*->248603*/
/*248594*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248596*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v2i32] } FPR64:{ *:[v1f64] }:$src)
/*248603*/        0, /*End of Scope*/
/*248604*/      /*SwitchType*/ 18, MVT::v4i16,// ->248624
/*248606*/        OPC_Scope, 5, /*->248613*/ // 2 children in Scope
/*248608*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248610*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4i16] }:$src
/*248613*/        /*Scope*/ 9, /*->248623*/
/*248614*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248616*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v4i16] } FPR64:{ *:[v1f64] }:$src)
/*248623*/        0, /*End of Scope*/
/*248624*/      /*SwitchType*/ 18, MVT::v8i8,// ->248644
/*248626*/        OPC_Scope, 5, /*->248633*/ // 2 children in Scope
/*248628*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248630*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v8i8] }:$src
/*248633*/        /*Scope*/ 9, /*->248643*/
/*248634*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248636*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                    // Dst: (REV64v8i8:{ *:[v8i8] } FPR64:{ *:[v1f64] }:$src)
/*248643*/        0, /*End of Scope*/
/*248644*/      /*SwitchType*/ 18, MVT::v4f16,// ->248664
/*248646*/        OPC_Scope, 5, /*->248653*/ // 2 children in Scope
/*248648*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248650*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4f16] }:$src
/*248653*/        /*Scope*/ 9, /*->248663*/
/*248654*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248656*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v4f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v4f16] } FPR64:{ *:[v1f64] }:$src)
/*248663*/        0, /*End of Scope*/
/*248664*/      /*SwitchType*/ 18, MVT::v2f32,// ->248684
/*248666*/        OPC_Scope, 5, /*->248673*/ // 2 children in Scope
/*248668*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248670*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2f32] }:$src
/*248673*/        /*Scope*/ 9, /*->248683*/
/*248674*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248676*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v2f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v1f64] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v2f32] } FPR64:{ *:[v1f64] }:$src)
/*248683*/        0, /*End of Scope*/
/*248684*/      0, // EndSwitchType
/*248685*/    /*Scope*/ 127, /*->248813*/
/*248686*/      OPC_CheckChild0Type, MVT::v1i64,
/*248688*/      OPC_SwitchType /*8 cases */, 11, MVT::i64,// ->248702
/*248691*/        OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248694*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (bitconvert:{ *:[i64] } V64:{ *:[v1i64] }:$Vn) - Complexity = 3
                  // Dst: (COPY_TO_REGCLASS:{ *:[i64] } V64:{ *:[v1i64] }:$Vn, GPR64:{ *:[i32] })
/*248702*/      /*SwitchType*/ 3, MVT::f64,// ->248707
/*248704*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[f64] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[f64] }:$src
/*248707*/      /*SwitchType*/ 18, MVT::v2i32,// ->248727
/*248709*/        OPC_Scope, 5, /*->248716*/ // 2 children in Scope
/*248711*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248713*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2i32] }:$src
/*248716*/        /*Scope*/ 9, /*->248726*/
/*248717*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248719*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v2i32] } FPR64:{ *:[v1i64] }:$src)
/*248726*/        0, /*End of Scope*/
/*248727*/      /*SwitchType*/ 18, MVT::v4i16,// ->248747
/*248729*/        OPC_Scope, 5, /*->248736*/ // 2 children in Scope
/*248731*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248733*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4i16] }:$src
/*248736*/        /*Scope*/ 9, /*->248746*/
/*248737*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248739*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v4i16] } FPR64:{ *:[v1i64] }:$src)
/*248746*/        0, /*End of Scope*/
/*248747*/      /*SwitchType*/ 18, MVT::v8i8,// ->248767
/*248749*/        OPC_Scope, 5, /*->248756*/ // 2 children in Scope
/*248751*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248753*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v8i8] }:$src
/*248756*/        /*Scope*/ 9, /*->248766*/
/*248757*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248759*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                    // Dst: (REV64v8i8:{ *:[v8i8] } FPR64:{ *:[v1i64] }:$src)
/*248766*/        0, /*End of Scope*/
/*248767*/      /*SwitchType*/ 18, MVT::v4f16,// ->248787
/*248769*/        OPC_Scope, 5, /*->248776*/ // 2 children in Scope
/*248771*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248773*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4f16] }:$src
/*248776*/        /*Scope*/ 9, /*->248786*/
/*248777*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248779*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v4f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v4f16] } FPR64:{ *:[v1i64] }:$src)
/*248786*/        0, /*End of Scope*/
/*248787*/      /*SwitchType*/ 3, MVT::v1f64,// ->248792
/*248789*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1f64] }:$src
/*248792*/      /*SwitchType*/ 18, MVT::v2f32,// ->248812
/*248794*/        OPC_Scope, 5, /*->248801*/ // 2 children in Scope
/*248796*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248798*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2f32] }:$src
/*248801*/        /*Scope*/ 9, /*->248811*/
/*248802*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248804*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v2f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[v1i64] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v2f32] } FPR64:{ *:[v1i64] }:$src)
/*248811*/        0, /*End of Scope*/
/*248812*/      0, // EndSwitchType
/*248813*/    /*Scope*/ 15, /*->248829*/
/*248814*/      OPC_CheckChild0Type, MVT::f32,
/*248816*/      OPC_CheckType, MVT::i32,
/*248818*/      OPC_EmitInteger, MVT::i32, AArch64::GPR32RegClassID,
/*248821*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (bitconvert:{ *:[i32] } FPR32:{ *:[f32] }:$Xn) - Complexity = 3
                // Dst: (COPY_TO_REGCLASS:{ *:[i32] } FPR32:{ *:[f32] }:$Xn, GPR32:{ *:[i32] })
/*248829*/    /*Scope*/ 127, /*->248957*/
/*248830*/      OPC_CheckChild0Type, MVT::f64,
/*248832*/      OPC_SwitchType /*8 cases */, 11, MVT::i64,// ->248846
/*248835*/        OPC_EmitInteger, MVT::i32, AArch64::GPR64RegClassID,
/*248838*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (bitconvert:{ *:[i64] } FPR64:{ *:[f64] }:$Xn) - Complexity = 3
                  // Dst: (COPY_TO_REGCLASS:{ *:[i64] } FPR64:{ *:[f64] }:$Xn, GPR64:{ *:[i32] })
/*248846*/      /*SwitchType*/ 3, MVT::v1i64,// ->248851
/*248848*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v1i64] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1i64] }:$src
/*248851*/      /*SwitchType*/ 18, MVT::v2i32,// ->248871
/*248853*/        OPC_Scope, 5, /*->248860*/ // 2 children in Scope
/*248855*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248857*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2i32] }:$src
/*248860*/        /*Scope*/ 9, /*->248870*/
/*248861*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248863*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i32] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v2i32] } FPR64:{ *:[f64] }:$src)
/*248870*/        0, /*End of Scope*/
/*248871*/      /*SwitchType*/ 18, MVT::v4i16,// ->248891
/*248873*/        OPC_Scope, 5, /*->248880*/ // 2 children in Scope
/*248875*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248877*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4i16] }:$src
/*248880*/        /*Scope*/ 9, /*->248890*/
/*248881*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248883*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i16] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v4i16] } FPR64:{ *:[f64] }:$src)
/*248890*/        0, /*End of Scope*/
/*248891*/      /*SwitchType*/ 18, MVT::v8i8,// ->248911
/*248893*/        OPC_Scope, 5, /*->248900*/ // 2 children in Scope
/*248895*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248897*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v8i8] }:$src
/*248900*/        /*Scope*/ 9, /*->248910*/
/*248901*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248903*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i8] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                    // Dst: (REV64v8i8:{ *:[v8i8] } FPR64:{ *:[f64] }:$src)
/*248910*/        0, /*End of Scope*/
/*248911*/      /*SwitchType*/ 18, MVT::v4f16,// ->248931
/*248913*/        OPC_Scope, 5, /*->248920*/ // 2 children in Scope
/*248915*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248917*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v4f16] }:$src
/*248920*/        /*Scope*/ 9, /*->248930*/
/*248921*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248923*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v4f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f16] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v4f16] } FPR64:{ *:[f64] }:$src)
/*248930*/        0, /*End of Scope*/
/*248931*/      /*SwitchType*/ 3, MVT::v1f64,// ->248936
/*248933*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v1f64] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1f64] }:$src
/*248936*/      /*SwitchType*/ 18, MVT::v2f32,// ->248956
/*248938*/        OPC_Scope, 5, /*->248945*/ // 2 children in Scope
/*248940*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248942*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                     // Dst: FPR64:{ *:[v2f32] }:$src
/*248945*/        /*Scope*/ 9, /*->248955*/
/*248946*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248948*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v2f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f32] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v2f32] } FPR64:{ *:[f64] }:$src)
/*248955*/        0, /*End of Scope*/
/*248956*/      0, // EndSwitchType
/*248957*/    /*Scope*/ 6|128,1/*134*/, /*->249093*/
/*248959*/      OPC_CheckChild0Type, MVT::v2i64,
/*248961*/      OPC_SwitchType /*7 cases */, 23, MVT::f128,// ->248987
/*248964*/        OPC_Scope, 5, /*->248971*/ // 2 children in Scope
/*248966*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248968*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[f128] }:$src
/*248971*/        /*Scope*/ 14, /*->248986*/
/*248972*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248974*/          OPC_EmitInteger, MVT::i32, 8, 
/*248977*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 1, 
                    // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[f128] } FPR128:{ *:[v2i64] }:$src, FPR128:{ *:[v2i64] }:$src, 8:{ *:[i32] })
/*248986*/        0, /*End of Scope*/
/*248987*/      /*SwitchType*/ 18, MVT::v4i32,// ->249007
/*248989*/        OPC_Scope, 5, /*->248996*/ // 2 children in Scope
/*248991*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*248993*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4i32] }:$src
/*248996*/        /*Scope*/ 9, /*->249006*/
/*248997*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*248999*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i32:{ *:[v4i32] } FPR128:{ *:[v2i64] }:$src)
/*249006*/        0, /*End of Scope*/
/*249007*/      /*SwitchType*/ 18, MVT::v8i16,// ->249027
/*249009*/        OPC_Scope, 5, /*->249016*/ // 2 children in Scope
/*249011*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249013*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8i16] }:$src
/*249016*/        /*Scope*/ 9, /*->249026*/
/*249017*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249019*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                    // Dst: (REV64v8i16:{ *:[v8i16] } FPR128:{ *:[v2i64] }:$src)
/*249026*/        0, /*End of Scope*/
/*249027*/      /*SwitchType*/ 18, MVT::v16i8,// ->249047
/*249029*/        OPC_Scope, 5, /*->249036*/ // 2 children in Scope
/*249031*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249033*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v16i8] }:$src
/*249036*/        /*Scope*/ 9, /*->249046*/
/*249037*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249039*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v16i8), 0,
                        MVT::v16i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                    // Dst: (REV64v16i8:{ *:[v16i8] } FPR128:{ *:[v2i64] }:$src)
/*249046*/        0, /*End of Scope*/
/*249047*/      /*SwitchType*/ 3, MVT::v2f64,// ->249052
/*249049*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2f64] }:$src
/*249052*/      /*SwitchType*/ 18, MVT::v4f32,// ->249072
/*249054*/        OPC_Scope, 5, /*->249061*/ // 2 children in Scope
/*249056*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249058*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4f32] }:$src
/*249061*/        /*Scope*/ 9, /*->249071*/
/*249062*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249064*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::v4f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i32:{ *:[v4f32] } FPR128:{ *:[v2i64] }:$src)
/*249071*/        0, /*End of Scope*/
/*249072*/      /*SwitchType*/ 18, MVT::v8f16,// ->249092
/*249074*/        OPC_Scope, 5, /*->249081*/ // 2 children in Scope
/*249076*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249078*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8f16] }:$src
/*249081*/        /*Scope*/ 9, /*->249091*/
/*249082*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249084*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::v8f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                    // Dst: (REV64v8i16:{ *:[v8f16] } FPR128:{ *:[v2i64] }:$src)
/*249091*/        0, /*End of Scope*/
/*249092*/      0, // EndSwitchType
/*249093*/    /*Scope*/ 20|128,1/*148*/, /*->249243*/
/*249095*/      OPC_CheckChild0Type, MVT::v4i32,
/*249097*/      OPC_SwitchType /*7 cases */, 37, MVT::f128,// ->249137
/*249100*/        OPC_Scope, 5, /*->249107*/ // 2 children in Scope
/*249102*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249104*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[f128] }:$src
/*249107*/        /*Scope*/ 28, /*->249136*/
/*249108*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249110*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*249117*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*249124*/          OPC_EmitInteger, MVT::i32, 8, 
/*249127*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[f128] } (REV64v4i32:{ *:[f128] } FPR128:{ *:[v4i32] }:$src), (REV64v4i32:{ *:[f128] } FPR128:{ *:[v4i32] }:$src), 8:{ *:[i32] })
/*249136*/        0, /*End of Scope*/
/*249137*/      /*SwitchType*/ 18, MVT::v2i64,// ->249157
/*249139*/        OPC_Scope, 5, /*->249146*/ // 2 children in Scope
/*249141*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249143*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2i64] }:$src
/*249146*/        /*Scope*/ 9, /*->249156*/
/*249147*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249149*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                    // Dst: (REV64v4i32:{ *:[v2i64] } FPR128:{ *:[v4i32] }:$src)
/*249156*/        0, /*End of Scope*/
/*249157*/      /*SwitchType*/ 18, MVT::v8i16,// ->249177
/*249159*/        OPC_Scope, 5, /*->249166*/ // 2 children in Scope
/*249161*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249163*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8i16] }:$src
/*249166*/        /*Scope*/ 9, /*->249176*/
/*249167*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249169*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                    // Dst: (REV32v8i16:{ *:[v8i16] } FPR128:{ *:[v4i32] }:$src)
/*249176*/        0, /*End of Scope*/
/*249177*/      /*SwitchType*/ 18, MVT::v16i8,// ->249197
/*249179*/        OPC_Scope, 5, /*->249186*/ // 2 children in Scope
/*249181*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249183*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v16i8] }:$src
/*249186*/        /*Scope*/ 9, /*->249196*/
/*249187*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249189*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v16i8), 0,
                        MVT::v16i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                    // Dst: (REV32v16i8:{ *:[v16i8] } FPR128:{ *:[v4i32] }:$src)
/*249196*/        0, /*End of Scope*/
/*249197*/      /*SwitchType*/ 18, MVT::v2f64,// ->249217
/*249199*/        OPC_Scope, 5, /*->249206*/ // 2 children in Scope
/*249201*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249203*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2f64] }:$src
/*249206*/        /*Scope*/ 9, /*->249216*/
/*249207*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249209*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::v2f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                    // Dst: (REV64v4i32:{ *:[v2f64] } FPR128:{ *:[v4i32] }:$src)
/*249216*/        0, /*End of Scope*/
/*249217*/      /*SwitchType*/ 3, MVT::v4f32,// ->249222
/*249219*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4f32] }:$src
/*249222*/      /*SwitchType*/ 18, MVT::v8f16,// ->249242
/*249224*/        OPC_Scope, 5, /*->249231*/ // 2 children in Scope
/*249226*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249228*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8f16] }:$src
/*249231*/        /*Scope*/ 9, /*->249241*/
/*249232*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249234*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                        MVT::v8f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                    // Dst: (REV32v8i16:{ *:[v8f16] } FPR128:{ *:[v4i32] }:$src)
/*249241*/        0, /*End of Scope*/
/*249242*/      0, // EndSwitchType
/*249243*/    /*Scope*/ 20|128,1/*148*/, /*->249393*/
/*249245*/      OPC_CheckChild0Type, MVT::v8i16,
/*249247*/      OPC_SwitchType /*7 cases */, 37, MVT::f128,// ->249287
/*249250*/        OPC_Scope, 5, /*->249257*/ // 2 children in Scope
/*249252*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249254*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[f128] }:$src
/*249257*/        /*Scope*/ 28, /*->249286*/
/*249258*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249260*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*249267*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*249274*/          OPC_EmitInteger, MVT::i32, 8, 
/*249277*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[f128] } (REV64v8i16:{ *:[f128] } FPR128:{ *:[v8i16] }:$src), (REV64v8i16:{ *:[f128] } FPR128:{ *:[v8i16] }:$src), 8:{ *:[i32] })
/*249286*/        0, /*End of Scope*/
/*249287*/      /*SwitchType*/ 18, MVT::v2i64,// ->249307
/*249289*/        OPC_Scope, 5, /*->249296*/ // 2 children in Scope
/*249291*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249293*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2i64] }:$src
/*249296*/        /*Scope*/ 9, /*->249306*/
/*249297*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249299*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                    // Dst: (REV64v8i16:{ *:[v2i64] } FPR128:{ *:[v8i16] }:$src)
/*249306*/        0, /*End of Scope*/
/*249307*/      /*SwitchType*/ 18, MVT::v4i32,// ->249327
/*249309*/        OPC_Scope, 5, /*->249316*/ // 2 children in Scope
/*249311*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249313*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4i32] }:$src
/*249316*/        /*Scope*/ 9, /*->249326*/
/*249317*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249319*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                    // Dst: (REV32v8i16:{ *:[v4i32] } FPR128:{ *:[v8i16] }:$src)
/*249326*/        0, /*End of Scope*/
/*249327*/      /*SwitchType*/ 18, MVT::v16i8,// ->249347
/*249329*/        OPC_Scope, 5, /*->249336*/ // 2 children in Scope
/*249331*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249333*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v16i8] }:$src
/*249336*/        /*Scope*/ 9, /*->249346*/
/*249337*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249339*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v16i8), 0,
                        MVT::v16i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                    // Dst: (REV16v16i8:{ *:[v16i8] } FPR128:{ *:[v8i16] }:$src)
/*249346*/        0, /*End of Scope*/
/*249347*/      /*SwitchType*/ 18, MVT::v2f64,// ->249367
/*249349*/        OPC_Scope, 5, /*->249356*/ // 2 children in Scope
/*249351*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249353*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2f64] }:$src
/*249356*/        /*Scope*/ 9, /*->249366*/
/*249357*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249359*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::v2f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                    // Dst: (REV64v8i16:{ *:[v2f64] } FPR128:{ *:[v8i16] }:$src)
/*249366*/        0, /*End of Scope*/
/*249367*/      /*SwitchType*/ 18, MVT::v4f32,// ->249387
/*249369*/        OPC_Scope, 5, /*->249376*/ // 2 children in Scope
/*249371*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249373*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4f32] }:$src
/*249376*/        /*Scope*/ 9, /*->249386*/
/*249377*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249379*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                        MVT::v4f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                    // Dst: (REV32v8i16:{ *:[v4f32] } FPR128:{ *:[v8i16] }:$src)
/*249386*/        0, /*End of Scope*/
/*249387*/      /*SwitchType*/ 3, MVT::v8f16,// ->249392
/*249389*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8f16] }:$src
/*249392*/      0, // EndSwitchType
/*249393*/    /*Scope*/ 6|128,1/*134*/, /*->249529*/
/*249395*/      OPC_CheckChild0Type, MVT::v2f64,
/*249397*/      OPC_SwitchType /*7 cases */, 23, MVT::f128,// ->249423
/*249400*/        OPC_Scope, 5, /*->249407*/ // 2 children in Scope
/*249402*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249404*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[f128] }:$src
/*249407*/        /*Scope*/ 14, /*->249422*/
/*249408*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249410*/          OPC_EmitInteger, MVT::i32, 8, 
/*249413*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 1, 
                    // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[f128] } FPR128:{ *:[v2f64] }:$src, FPR128:{ *:[v2f64] }:$src, 8:{ *:[i32] })
/*249422*/        0, /*End of Scope*/
/*249423*/      /*SwitchType*/ 3, MVT::v2i64,// ->249428
/*249425*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2i64] }:$src
/*249428*/      /*SwitchType*/ 18, MVT::v4i32,// ->249448
/*249430*/        OPC_Scope, 5, /*->249437*/ // 2 children in Scope
/*249432*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249434*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4i32] }:$src
/*249437*/        /*Scope*/ 9, /*->249447*/
/*249438*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249440*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i32:{ *:[v4i32] } FPR128:{ *:[v2f64] }:$src)
/*249447*/        0, /*End of Scope*/
/*249448*/      /*SwitchType*/ 18, MVT::v8i16,// ->249468
/*249450*/        OPC_Scope, 5, /*->249457*/ // 2 children in Scope
/*249452*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249454*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8i16] }:$src
/*249457*/        /*Scope*/ 9, /*->249467*/
/*249458*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249460*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                    // Dst: (REV64v8i16:{ *:[v8i16] } FPR128:{ *:[v2f64] }:$src)
/*249467*/        0, /*End of Scope*/
/*249468*/      /*SwitchType*/ 18, MVT::v16i8,// ->249488
/*249470*/        OPC_Scope, 5, /*->249477*/ // 2 children in Scope
/*249472*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249474*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v16i8] }:$src
/*249477*/        /*Scope*/ 9, /*->249487*/
/*249478*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249480*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v16i8), 0,
                        MVT::v16i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                    // Dst: (REV64v16i8:{ *:[v16i8] } FPR128:{ *:[v2f64] }:$src)
/*249487*/        0, /*End of Scope*/
/*249488*/      /*SwitchType*/ 18, MVT::v4f32,// ->249508
/*249490*/        OPC_Scope, 5, /*->249497*/ // 2 children in Scope
/*249492*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249494*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4f32] }:$src
/*249497*/        /*Scope*/ 9, /*->249507*/
/*249498*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249500*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::v4f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                    // Dst: (REV64v4i32:{ *:[v4f32] } FPR128:{ *:[v2f64] }:$src)
/*249507*/        0, /*End of Scope*/
/*249508*/      /*SwitchType*/ 18, MVT::v8f16,// ->249528
/*249510*/        OPC_Scope, 5, /*->249517*/ // 2 children in Scope
/*249512*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249514*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8f16] }:$src
/*249517*/        /*Scope*/ 9, /*->249527*/
/*249518*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249520*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::v8f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                    // Dst: (REV64v8i16:{ *:[v8f16] } FPR128:{ *:[v2f64] }:$src)
/*249527*/        0, /*End of Scope*/
/*249528*/      0, // EndSwitchType
/*249529*/    /*Scope*/ 20|128,1/*148*/, /*->249679*/
/*249531*/      OPC_CheckChild0Type, MVT::v4f32,
/*249533*/      OPC_SwitchType /*7 cases */, 37, MVT::f128,// ->249573
/*249536*/        OPC_Scope, 5, /*->249543*/ // 2 children in Scope
/*249538*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249540*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[f128] }:$src
/*249543*/        /*Scope*/ 28, /*->249572*/
/*249544*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249546*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*249553*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*249560*/          OPC_EmitInteger, MVT::i32, 8, 
/*249563*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[f128] } (REV64v4i32:{ *:[f128] } FPR128:{ *:[v4f32] }:$src), (REV64v4i32:{ *:[f128] } FPR128:{ *:[v4f32] }:$src), 8:{ *:[i32] })
/*249572*/        0, /*End of Scope*/
/*249573*/      /*SwitchType*/ 18, MVT::v2i64,// ->249593
/*249575*/        OPC_Scope, 5, /*->249582*/ // 2 children in Scope
/*249577*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249579*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2i64] }:$src
/*249582*/        /*Scope*/ 9, /*->249592*/
/*249583*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249585*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                    // Dst: (REV64v4i32:{ *:[v2i64] } FPR128:{ *:[v4f32] }:$src)
/*249592*/        0, /*End of Scope*/
/*249593*/      /*SwitchType*/ 3, MVT::v4i32,// ->249598
/*249595*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4i32] }:$src
/*249598*/      /*SwitchType*/ 18, MVT::v8i16,// ->249618
/*249600*/        OPC_Scope, 5, /*->249607*/ // 2 children in Scope
/*249602*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249604*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8i16] }:$src
/*249607*/        /*Scope*/ 9, /*->249617*/
/*249608*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249610*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                    // Dst: (REV32v8i16:{ *:[v8i16] } FPR128:{ *:[v4f32] }:$src)
/*249617*/        0, /*End of Scope*/
/*249618*/      /*SwitchType*/ 18, MVT::v16i8,// ->249638
/*249620*/        OPC_Scope, 5, /*->249627*/ // 2 children in Scope
/*249622*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249624*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v16i8] }:$src
/*249627*/        /*Scope*/ 9, /*->249637*/
/*249628*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249630*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v16i8), 0,
                        MVT::v16i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                    // Dst: (REV32v16i8:{ *:[v16i8] } FPR128:{ *:[v4f32] }:$src)
/*249637*/        0, /*End of Scope*/
/*249638*/      /*SwitchType*/ 18, MVT::v2f64,// ->249658
/*249640*/        OPC_Scope, 5, /*->249647*/ // 2 children in Scope
/*249642*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249644*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2f64] }:$src
/*249647*/        /*Scope*/ 9, /*->249657*/
/*249648*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249650*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::v2f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                    // Dst: (REV64v4i32:{ *:[v2f64] } FPR128:{ *:[v4f32] }:$src)
/*249657*/        0, /*End of Scope*/
/*249658*/      /*SwitchType*/ 18, MVT::v8f16,// ->249678
/*249660*/        OPC_Scope, 5, /*->249667*/ // 2 children in Scope
/*249662*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249664*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8f16] }:$src
/*249667*/        /*Scope*/ 9, /*->249677*/
/*249668*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249670*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                        MVT::v8f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                    // Dst: (REV32v8i16:{ *:[v8f16] } FPR128:{ *:[v4f32] }:$src)
/*249677*/        0, /*End of Scope*/
/*249678*/      0, // EndSwitchType
/*249679*/    /*Scope*/ 20|128,1/*148*/, /*->249829*/
/*249681*/      OPC_CheckChild0Type, MVT::v8f16,
/*249683*/      OPC_SwitchType /*7 cases */, 37, MVT::f128,// ->249723
/*249686*/        OPC_Scope, 5, /*->249693*/ // 2 children in Scope
/*249688*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249690*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[f128] }:$src
/*249693*/        /*Scope*/ 28, /*->249722*/
/*249694*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249696*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*249703*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*249710*/          OPC_EmitInteger, MVT::i32, 8, 
/*249713*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[f128] } (REV64v8i16:{ *:[f128] } FPR128:{ *:[v8f16] }:$src), (REV64v8i16:{ *:[f128] } FPR128:{ *:[v8f16] }:$src), 8:{ *:[i32] })
/*249722*/        0, /*End of Scope*/
/*249723*/      /*SwitchType*/ 18, MVT::v2i64,// ->249743
/*249725*/        OPC_Scope, 5, /*->249732*/ // 2 children in Scope
/*249727*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249729*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2i64] }:$src
/*249732*/        /*Scope*/ 9, /*->249742*/
/*249733*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249735*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                    // Dst: (REV64v8i16:{ *:[v2i64] } FPR128:{ *:[v8f16] }:$src)
/*249742*/        0, /*End of Scope*/
/*249743*/      /*SwitchType*/ 18, MVT::v4i32,// ->249763
/*249745*/        OPC_Scope, 5, /*->249752*/ // 2 children in Scope
/*249747*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249749*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4i32] }:$src
/*249752*/        /*Scope*/ 9, /*->249762*/
/*249753*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249755*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                    // Dst: (REV32v8i16:{ *:[v4i32] } FPR128:{ *:[v8f16] }:$src)
/*249762*/        0, /*End of Scope*/
/*249763*/      /*SwitchType*/ 3, MVT::v8i16,// ->249768
/*249765*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8i16] }:$src
/*249768*/      /*SwitchType*/ 18, MVT::v16i8,// ->249788
/*249770*/        OPC_Scope, 5, /*->249777*/ // 2 children in Scope
/*249772*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249774*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v16i8] }:$src
/*249777*/        /*Scope*/ 9, /*->249787*/
/*249778*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249780*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v16i8), 0,
                        MVT::v16i8, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                    // Dst: (REV16v16i8:{ *:[v16i8] } FPR128:{ *:[v8f16] }:$src)
/*249787*/        0, /*End of Scope*/
/*249788*/      /*SwitchType*/ 18, MVT::v2f64,// ->249808
/*249790*/        OPC_Scope, 5, /*->249797*/ // 2 children in Scope
/*249792*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249794*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2f64] }:$src
/*249797*/        /*Scope*/ 9, /*->249807*/
/*249798*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249800*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::v2f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                    // Dst: (REV64v8i16:{ *:[v2f64] } FPR128:{ *:[v8f16] }:$src)
/*249807*/        0, /*End of Scope*/
/*249808*/      /*SwitchType*/ 18, MVT::v4f32,// ->249828
/*249810*/        OPC_Scope, 5, /*->249817*/ // 2 children in Scope
/*249812*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249814*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4f32] }:$src
/*249817*/        /*Scope*/ 9, /*->249827*/
/*249818*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249820*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                        MVT::v4f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v8f16] }:$src) - Complexity = 3
                    // Dst: (REV32v8i16:{ *:[v4f32] } FPR128:{ *:[v8f16] }:$src)
/*249827*/        0, /*End of Scope*/
/*249828*/      0, // EndSwitchType
/*249829*/    /*Scope*/ 35|128,1/*163*/, /*->249994*/
/*249831*/      OPC_CheckChild0Type, MVT::v16i8,
/*249833*/      OPC_SwitchType /*7 cases */, 37, MVT::f128,// ->249873
/*249836*/        OPC_Scope, 5, /*->249843*/ // 2 children in Scope
/*249838*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249840*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[f128] }:$src
/*249843*/        /*Scope*/ 28, /*->249872*/
/*249844*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249846*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v16i8), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*249853*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v16i8), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*249860*/          OPC_EmitInteger, MVT::i32, 8, 
/*249863*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[f128] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[f128] } (REV64v16i8:{ *:[f128] } FPR128:{ *:[v16i8] }:$src), (REV64v16i8:{ *:[f128] } FPR128:{ *:[v16i8] }:$src), 8:{ *:[i32] })
/*249872*/        0, /*End of Scope*/
/*249873*/      /*SwitchType*/ 18, MVT::v2i64,// ->249893
/*249875*/        OPC_Scope, 5, /*->249882*/ // 2 children in Scope
/*249877*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249879*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2i64] }:$src
/*249882*/        /*Scope*/ 9, /*->249892*/
/*249883*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249885*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v16i8), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                    // Dst: (REV64v16i8:{ *:[v2i64] } FPR128:{ *:[v16i8] }:$src)
/*249892*/        0, /*End of Scope*/
/*249893*/      /*SwitchType*/ 18, MVT::v4i32,// ->249913
/*249895*/        OPC_Scope, 5, /*->249902*/ // 2 children in Scope
/*249897*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249899*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4i32] }:$src
/*249902*/        /*Scope*/ 9, /*->249912*/
/*249903*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249905*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v16i8), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                    // Dst: (REV32v16i8:{ *:[v4i32] } FPR128:{ *:[v16i8] }:$src)
/*249912*/        0, /*End of Scope*/
/*249913*/      /*SwitchType*/ 18, MVT::v8i16,// ->249933
/*249915*/        OPC_Scope, 5, /*->249922*/ // 2 children in Scope
/*249917*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249919*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8i16] }:$src
/*249922*/        /*Scope*/ 9, /*->249932*/
/*249923*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249925*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v16i8), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                    // Dst: (REV16v16i8:{ *:[v8i16] } FPR128:{ *:[v16i8] }:$src)
/*249932*/        0, /*End of Scope*/
/*249933*/      /*SwitchType*/ 18, MVT::v2f64,// ->249953
/*249935*/        OPC_Scope, 5, /*->249942*/ // 2 children in Scope
/*249937*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249939*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2f64] }:$src
/*249942*/        /*Scope*/ 9, /*->249952*/
/*249943*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249945*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v16i8), 0,
                        MVT::v2f64, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                    // Dst: (REV64v16i8:{ *:[v2f64] } FPR128:{ *:[v16i8] }:$src)
/*249952*/        0, /*End of Scope*/
/*249953*/      /*SwitchType*/ 18, MVT::v4f32,// ->249973
/*249955*/        OPC_Scope, 5, /*->249962*/ // 2 children in Scope
/*249957*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249959*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4f32] }:$src
/*249962*/        /*Scope*/ 9, /*->249972*/
/*249963*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249965*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v16i8), 0,
                        MVT::v4f32, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                    // Dst: (REV32v16i8:{ *:[v4f32] } FPR128:{ *:[v16i8] }:$src)
/*249972*/        0, /*End of Scope*/
/*249973*/      /*SwitchType*/ 18, MVT::v8f16,// ->249993
/*249975*/        OPC_Scope, 5, /*->249982*/ // 2 children in Scope
/*249977*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*249979*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8f16] }:$src
/*249982*/        /*Scope*/ 9, /*->249992*/
/*249983*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*249985*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v16i8), 0,
                        MVT::v8f16, 1/*#Ops*/, 0, 
                    // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                    // Dst: (REV16v16i8:{ *:[v8f16] } FPR128:{ *:[v16i8] }:$src)
/*249992*/        0, /*End of Scope*/
/*249993*/      0, // EndSwitchType
/*249994*/    /*Scope*/ 15, /*->250010*/
/*249995*/      OPC_CheckChild0Type, MVT::i32,
/*249997*/      OPC_CheckType, MVT::f32,
/*249999*/      OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*250002*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                    MVT::f32, 2/*#Ops*/, 0, 1, 
                // Src: (bitconvert:{ *:[f32] } GPR32:{ *:[i32] }:$Xn) - Complexity = 3
                // Dst: (COPY_TO_REGCLASS:{ *:[f32] } GPR32:{ *:[i32] }:$Xn, FPR32:{ *:[i32] })
/*250010*/    /*Scope*/ 110|128,1/*238*/, /*->250250*/
/*250012*/      OPC_CheckChild0Type, MVT::i64,
/*250014*/      OPC_SwitchType /*8 cases */, 11, MVT::f64,// ->250028
/*250017*/        OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250020*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (bitconvert:{ *:[f64] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                  // Dst: (COPY_TO_REGCLASS:{ *:[f64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*250028*/      /*SwitchType*/ 37, MVT::v8i8,// ->250067
/*250030*/        OPC_Scope, 13, /*->250045*/ // 2 children in Scope
/*250032*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250034*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250037*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::v8i8, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[v8i8] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[v8i8] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*250045*/        /*Scope*/ 20, /*->250066*/
/*250046*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250048*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250051*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*250059*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                        MVT::v8i8, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[v8i8] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (REV64v8i8:{ *:[v8i8] } (COPY_TO_REGCLASS:{ *:[i64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] }))
/*250066*/        0, /*End of Scope*/
/*250067*/      /*SwitchType*/ 37, MVT::v4i16,// ->250106
/*250069*/        OPC_Scope, 13, /*->250084*/ // 2 children in Scope
/*250071*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250073*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250076*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[v4i16] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[v4i16] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*250084*/        /*Scope*/ 20, /*->250105*/
/*250085*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250087*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250090*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*250098*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v4i16, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[v4i16] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v4i16] } (COPY_TO_REGCLASS:{ *:[i64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] }))
/*250105*/        0, /*End of Scope*/
/*250106*/      /*SwitchType*/ 37, MVT::v2i32,// ->250145
/*250108*/        OPC_Scope, 13, /*->250123*/ // 2 children in Scope
/*250110*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250112*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250115*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[v2i32] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[v2i32] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*250123*/        /*Scope*/ 20, /*->250144*/
/*250124*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250126*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250129*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*250137*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v2i32, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[v2i32] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v2i32] } (COPY_TO_REGCLASS:{ *:[i64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] }))
/*250144*/        0, /*End of Scope*/
/*250145*/      /*SwitchType*/ 11, MVT::v1i64,// ->250158
/*250147*/        OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250150*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (bitconvert:{ *:[v1i64] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                  // Dst: (COPY_TO_REGCLASS:{ *:[v1i64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*250158*/      /*SwitchType*/ 37, MVT::v4f16,// ->250197
/*250160*/        OPC_Scope, 13, /*->250175*/ // 2 children in Scope
/*250162*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250164*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250167*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::v4f16, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[v4f16] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[v4f16] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*250175*/        /*Scope*/ 20, /*->250196*/
/*250176*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250178*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250181*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*250189*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                        MVT::v4f16, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[v4f16] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (REV64v4i16:{ *:[v4f16] } (COPY_TO_REGCLASS:{ *:[i64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] }))
/*250196*/        0, /*End of Scope*/
/*250197*/      /*SwitchType*/ 37, MVT::v2f32,// ->250236
/*250199*/        OPC_Scope, 13, /*->250214*/ // 2 children in Scope
/*250201*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250203*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250206*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::v2f32, 2/*#Ops*/, 0, 1, 
                    // Src: (bitconvert:{ *:[v2f32] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[v2f32] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*250214*/        /*Scope*/ 20, /*->250235*/
/*250215*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250217*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250220*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*250228*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                        MVT::v2f32, 1/*#Ops*/, 2, 
                    // Src: (bitconvert:{ *:[v2f32] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (REV64v2i32:{ *:[v2f32] } (COPY_TO_REGCLASS:{ *:[i64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] }))
/*250235*/        0, /*End of Scope*/
/*250236*/      /*SwitchType*/ 11, MVT::v1f64,// ->250249
/*250238*/        OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*250241*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                      MVT::v1f64, 2/*#Ops*/, 0, 1, 
                  // Src: (bitconvert:{ *:[v1f64] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                  // Dst: (COPY_TO_REGCLASS:{ *:[v1f64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*250249*/      0, // EndSwitchType
/*250250*/    /*Scope*/ 121|128,1/*249*/, /*->250501*/
/*250252*/      OPC_CheckChild0Type, MVT::f128,
/*250254*/      OPC_SwitchType /*7 cases */, 23, MVT::v2i64,// ->250280
/*250257*/        OPC_Scope, 5, /*->250264*/ // 2 children in Scope
/*250259*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250261*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2i64] }:$src
/*250264*/        /*Scope*/ 14, /*->250279*/
/*250265*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250267*/          OPC_EmitInteger, MVT::i32, 8, 
/*250270*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 0, 1, 
                    // Src: (bitconvert:{ *:[v2i64] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[v2i64] } FPR128:{ *:[f128] }:$src, FPR128:{ *:[f128] }:$src, 8:{ *:[i32] })
/*250279*/        0, /*End of Scope*/
/*250280*/      /*SwitchType*/ 37, MVT::v4i32,// ->250319
/*250282*/        OPC_Scope, 5, /*->250289*/ // 2 children in Scope
/*250284*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250286*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4i32] }:$src
/*250289*/        /*Scope*/ 28, /*->250318*/
/*250290*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250292*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*250299*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*250306*/          OPC_EmitInteger, MVT::i32, 8, 
/*250309*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[v4i32] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[v4i32] } (REV64v4i32:{ *:[f128] } FPR128:{ *:[f128] }:$src), (REV64v4i32:{ *:[f128] } FPR128:{ *:[f128] }:$src), 8:{ *:[i32] })
/*250318*/        0, /*End of Scope*/
/*250319*/      /*SwitchType*/ 37, MVT::v8i16,// ->250358
/*250321*/        OPC_Scope, 5, /*->250328*/ // 2 children in Scope
/*250323*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250325*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8i16] }:$src
/*250328*/        /*Scope*/ 28, /*->250357*/
/*250329*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250331*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*250338*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*250345*/          OPC_EmitInteger, MVT::i32, 8, 
/*250348*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[v8i16] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[v8i16] } (REV64v8i16:{ *:[f128] } FPR128:{ *:[f128] }:$src), (REV64v8i16:{ *:[f128] } FPR128:{ *:[f128] }:$src), 8:{ *:[i32] })
/*250357*/        0, /*End of Scope*/
/*250358*/      /*SwitchType*/ 37, MVT::v16i8,// ->250397
/*250360*/        OPC_Scope, 5, /*->250367*/ // 2 children in Scope
/*250362*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250364*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v16i8] }:$src
/*250367*/        /*Scope*/ 28, /*->250396*/
/*250368*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250370*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v16i8), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*250377*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v16i8), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*250384*/          OPC_EmitInteger, MVT::i32, 8, 
/*250387*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[v16i8] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[v16i8] } (REV64v16i8:{ *:[f128] } FPR128:{ *:[f128] }:$src), (REV64v16i8:{ *:[f128] } FPR128:{ *:[f128] }:$src), 8:{ *:[i32] })
/*250396*/        0, /*End of Scope*/
/*250397*/      /*SwitchType*/ 23, MVT::v2f64,// ->250422
/*250399*/        OPC_Scope, 5, /*->250406*/ // 2 children in Scope
/*250401*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250403*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v2f64] }:$src
/*250406*/        /*Scope*/ 14, /*->250421*/
/*250407*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250409*/          OPC_EmitInteger, MVT::i32, 8, 
/*250412*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v2f64, 3/*#Ops*/, 0, 0, 1, 
                    // Src: (bitconvert:{ *:[v2f64] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[v2f64] } FPR128:{ *:[f128] }:$src, FPR128:{ *:[f128] }:$src, 8:{ *:[i32] })
/*250421*/        0, /*End of Scope*/
/*250422*/      /*SwitchType*/ 37, MVT::v4f32,// ->250461
/*250424*/        OPC_Scope, 5, /*->250431*/ // 2 children in Scope
/*250426*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250428*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v4f32] }:$src
/*250431*/        /*Scope*/ 28, /*->250460*/
/*250432*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250434*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*250441*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v4i32), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*250448*/          OPC_EmitInteger, MVT::i32, 8, 
/*250451*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v4f32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[v4f32] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[v4f32] } (REV64v4i32:{ *:[f128] } FPR128:{ *:[f128] }:$src), (REV64v4i32:{ *:[f128] } FPR128:{ *:[f128] }:$src), 8:{ *:[i32] })
/*250460*/        0, /*End of Scope*/
/*250461*/      /*SwitchType*/ 37, MVT::v8f16,// ->250500
/*250463*/        OPC_Scope, 5, /*->250470*/ // 2 children in Scope
/*250465*/          OPC_CheckPatternPredicate, 3, // (Subtarget->isLittleEndian())
/*250467*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                     // Dst: FPR128:{ *:[v8f16] }:$src
/*250470*/        /*Scope*/ 28, /*->250499*/
/*250471*/          OPC_CheckPatternPredicate, 28, // (!Subtarget->isLittleEndian())
/*250473*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*250480*/          OPC_EmitNode1, TARGET_VAL(AArch64::REV64v8i16), 0,
                        MVT::f128, 1/*#Ops*/, 0,  // Results = #2
/*250487*/          OPC_EmitInteger, MVT::i32, 8, 
/*250490*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v8f16, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (bitconvert:{ *:[v8f16] } FPR128:{ *:[f128] }:$src) - Complexity = 3
                    // Dst: (EXTv16i8:{ *:[v8f16] } (REV64v8i16:{ *:[f128] } FPR128:{ *:[f128] }:$src), (REV64v8i16:{ *:[f128] } FPR128:{ *:[f128] }:$src), 8:{ *:[i32] })
/*250499*/        0, /*End of Scope*/
/*250500*/      0, // EndSwitchType
/*250501*/    /*Scope*/ 46, /*->250548*/
/*250502*/      OPC_CheckChild0Type, MVT::nxv8i16,
/*250504*/      OPC_SwitchType /*6 cases */, 5, MVT::nxv16i8,// ->250512
/*250507*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250509*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv16i8] } ZPR:{ *:[nxv8i16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv16i8] }:$src
/*250512*/      /*SwitchType*/ 5, MVT::nxv4i32,// ->250519
/*250514*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250516*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4i32] } ZPR:{ *:[nxv8i16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4i32] }:$src
/*250519*/      /*SwitchType*/ 5, MVT::nxv2i64,// ->250526
/*250521*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250523*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2i64] } ZPR:{ *:[nxv8i16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2i64] }:$src
/*250526*/      /*SwitchType*/ 5, MVT::nxv8f16,// ->250533
/*250528*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250530*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8f16] } ZPR:{ *:[nxv8i16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8f16] }:$src
/*250533*/      /*SwitchType*/ 5, MVT::nxv4f32,// ->250540
/*250535*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250537*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4f32] } ZPR:{ *:[nxv8i16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4f32] }:$src
/*250540*/      /*SwitchType*/ 5, MVT::nxv2f64,// ->250547
/*250542*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250544*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2f64] } ZPR:{ *:[nxv8i16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2f64] }:$src
/*250547*/      0, // EndSwitchType
/*250548*/    /*Scope*/ 46, /*->250595*/
/*250549*/      OPC_CheckChild0Type, MVT::nxv4i32,
/*250551*/      OPC_SwitchType /*6 cases */, 5, MVT::nxv16i8,// ->250559
/*250554*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250556*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv16i8] } ZPR:{ *:[nxv4i32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv16i8] }:$src
/*250559*/      /*SwitchType*/ 5, MVT::nxv8i16,// ->250566
/*250561*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250563*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8i16] } ZPR:{ *:[nxv4i32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8i16] }:$src
/*250566*/      /*SwitchType*/ 5, MVT::nxv2i64,// ->250573
/*250568*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250570*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2i64] } ZPR:{ *:[nxv4i32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2i64] }:$src
/*250573*/      /*SwitchType*/ 5, MVT::nxv8f16,// ->250580
/*250575*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250577*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8f16] } ZPR:{ *:[nxv4i32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8f16] }:$src
/*250580*/      /*SwitchType*/ 5, MVT::nxv4f32,// ->250587
/*250582*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250584*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4f32] } ZPR:{ *:[nxv4i32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4f32] }:$src
/*250587*/      /*SwitchType*/ 5, MVT::nxv2f64,// ->250594
/*250589*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250591*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2f64] } ZPR:{ *:[nxv4i32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2f64] }:$src
/*250594*/      0, // EndSwitchType
/*250595*/    /*Scope*/ 46, /*->250642*/
/*250596*/      OPC_CheckChild0Type, MVT::nxv2i64,
/*250598*/      OPC_SwitchType /*6 cases */, 5, MVT::nxv16i8,// ->250606
/*250601*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250603*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv16i8] } ZPR:{ *:[nxv2i64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv16i8] }:$src
/*250606*/      /*SwitchType*/ 5, MVT::nxv8i16,// ->250613
/*250608*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250610*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8i16] } ZPR:{ *:[nxv2i64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8i16] }:$src
/*250613*/      /*SwitchType*/ 5, MVT::nxv4i32,// ->250620
/*250615*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250617*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4i32] } ZPR:{ *:[nxv2i64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4i32] }:$src
/*250620*/      /*SwitchType*/ 5, MVT::nxv8f16,// ->250627
/*250622*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250624*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8f16] } ZPR:{ *:[nxv2i64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8f16] }:$src
/*250627*/      /*SwitchType*/ 5, MVT::nxv4f32,// ->250634
/*250629*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250631*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4f32] } ZPR:{ *:[nxv2i64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4f32] }:$src
/*250634*/      /*SwitchType*/ 5, MVT::nxv2f64,// ->250641
/*250636*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250638*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2f64] } ZPR:{ *:[nxv2i64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2f64] }:$src
/*250641*/      0, // EndSwitchType
/*250642*/    /*Scope*/ 46, /*->250689*/
/*250643*/      OPC_CheckChild0Type, MVT::nxv8f16,
/*250645*/      OPC_SwitchType /*6 cases */, 5, MVT::nxv16i8,// ->250653
/*250648*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250650*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv16i8] } ZPR:{ *:[nxv8f16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv16i8] }:$src
/*250653*/      /*SwitchType*/ 5, MVT::nxv8i16,// ->250660
/*250655*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250657*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8i16] } ZPR:{ *:[nxv8f16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8i16] }:$src
/*250660*/      /*SwitchType*/ 5, MVT::nxv4i32,// ->250667
/*250662*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250664*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4i32] } ZPR:{ *:[nxv8f16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4i32] }:$src
/*250667*/      /*SwitchType*/ 5, MVT::nxv2i64,// ->250674
/*250669*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250671*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2i64] } ZPR:{ *:[nxv8f16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2i64] }:$src
/*250674*/      /*SwitchType*/ 5, MVT::nxv4f32,// ->250681
/*250676*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250678*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4f32] } ZPR:{ *:[nxv8f16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4f32] }:$src
/*250681*/      /*SwitchType*/ 5, MVT::nxv2f64,// ->250688
/*250683*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250685*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2f64] } ZPR:{ *:[nxv8f16] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2f64] }:$src
/*250688*/      0, // EndSwitchType
/*250689*/    /*Scope*/ 46, /*->250736*/
/*250690*/      OPC_CheckChild0Type, MVT::nxv4f32,
/*250692*/      OPC_SwitchType /*6 cases */, 5, MVT::nxv16i8,// ->250700
/*250695*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250697*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv16i8] } ZPR:{ *:[nxv4f32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv16i8] }:$src
/*250700*/      /*SwitchType*/ 5, MVT::nxv8i16,// ->250707
/*250702*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250704*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8i16] } ZPR:{ *:[nxv4f32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8i16] }:$src
/*250707*/      /*SwitchType*/ 5, MVT::nxv4i32,// ->250714
/*250709*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250711*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4i32] } ZPR:{ *:[nxv4f32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4i32] }:$src
/*250714*/      /*SwitchType*/ 5, MVT::nxv2i64,// ->250721
/*250716*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250718*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2i64] } ZPR:{ *:[nxv4f32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2i64] }:$src
/*250721*/      /*SwitchType*/ 5, MVT::nxv8f16,// ->250728
/*250723*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250725*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8f16] } ZPR:{ *:[nxv4f32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8f16] }:$src
/*250728*/      /*SwitchType*/ 5, MVT::nxv2f64,// ->250735
/*250730*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250732*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2f64] } ZPR:{ *:[nxv4f32] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2f64] }:$src
/*250735*/      0, // EndSwitchType
/*250736*/    /*Scope*/ 46, /*->250783*/
/*250737*/      OPC_CheckChild0Type, MVT::nxv2f64,
/*250739*/      OPC_SwitchType /*6 cases */, 5, MVT::nxv16i8,// ->250747
/*250742*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250744*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv16i8] } ZPR:{ *:[nxv2f64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv16i8] }:$src
/*250747*/      /*SwitchType*/ 5, MVT::nxv8i16,// ->250754
/*250749*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250751*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8i16] } ZPR:{ *:[nxv2f64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8i16] }:$src
/*250754*/      /*SwitchType*/ 5, MVT::nxv4i32,// ->250761
/*250756*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250758*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4i32] } ZPR:{ *:[nxv2f64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4i32] }:$src
/*250761*/      /*SwitchType*/ 5, MVT::nxv2i64,// ->250768
/*250763*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250765*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2i64] } ZPR:{ *:[nxv2f64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2i64] }:$src
/*250768*/      /*SwitchType*/ 5, MVT::nxv8f16,// ->250775
/*250770*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250772*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8f16] } ZPR:{ *:[nxv2f64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8f16] }:$src
/*250775*/      /*SwitchType*/ 5, MVT::nxv4f32,// ->250782
/*250777*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250779*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4f32] } ZPR:{ *:[nxv2f64] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4f32] }:$src
/*250782*/      0, // EndSwitchType
/*250783*/    /*Scope*/ 46, /*->250830*/
/*250784*/      OPC_CheckChild0Type, MVT::nxv16i8,
/*250786*/      OPC_SwitchType /*6 cases */, 5, MVT::nxv8i16,// ->250794
/*250789*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250791*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8i16] } ZPR:{ *:[nxv16i8] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8i16] }:$src
/*250794*/      /*SwitchType*/ 5, MVT::nxv4i32,// ->250801
/*250796*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250798*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4i32] } ZPR:{ *:[nxv16i8] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4i32] }:$src
/*250801*/      /*SwitchType*/ 5, MVT::nxv2i64,// ->250808
/*250803*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250805*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2i64] } ZPR:{ *:[nxv16i8] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2i64] }:$src
/*250808*/      /*SwitchType*/ 5, MVT::nxv8f16,// ->250815
/*250810*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250812*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv8f16] } ZPR:{ *:[nxv16i8] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv8f16] }:$src
/*250815*/      /*SwitchType*/ 5, MVT::nxv4f32,// ->250822
/*250817*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250819*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv4f32] } ZPR:{ *:[nxv16i8] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv4f32] }:$src
/*250822*/      /*SwitchType*/ 5, MVT::nxv2f64,// ->250829
/*250824*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250826*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (bitconvert:{ *:[nxv2f64] } ZPR:{ *:[nxv16i8] }:$src) - Complexity = 3
                   // Dst: ZPR:{ *:[nxv2f64] }:$src
/*250829*/      0, // EndSwitchType
/*250830*/    0, /*End of Scope*/
/*250831*/  /*SwitchOpcode*/ 23|128,1/*151*/, TARGET_VAL(AArch64ISD::CLASTA_N),// ->250986
/*250835*/    OPC_RecordChild0, // #0 = $Op1
/*250836*/    OPC_Scope, 21, /*->250859*/ // 4 children in Scope
/*250838*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*250840*/      OPC_RecordChild1, // #1 = $Op2
/*250841*/      OPC_CheckChild1Type, MVT::i32,
/*250843*/      OPC_RecordChild2, // #2 = $Op3
/*250844*/      OPC_CheckChild2Type, MVT::nxv16i8,
/*250846*/      OPC_CheckType, MVT::i32,
/*250848*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250850*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_RPZ_B), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64clasta_n:{ *:[i32] } nxv16i1:{ *:[nxv16i1] }:$Op1, i32:{ *:[i32] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 3
                // Dst: (CLASTA_RPZ_B:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[i32] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*250859*/    /*Scope*/ 41, /*->250901*/
/*250860*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*250862*/      OPC_RecordChild1, // #1 = $Op2
/*250863*/      OPC_SwitchType /*2 cases */, 16, MVT::i32,// ->250882
/*250866*/        OPC_CheckChild1Type, MVT::i32,
/*250868*/        OPC_RecordChild2, // #2 = $Op3
/*250869*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*250871*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250873*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_RPZ_H), 0,
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clasta_n:{ *:[i32] } nxv8i1:{ *:[nxv8i1] }:$Op1, i32:{ *:[i32] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 3
                  // Dst: (CLASTA_RPZ_H:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[i32] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*250882*/      /*SwitchType*/ 16, MVT::f16,// ->250900
/*250884*/        OPC_CheckChild1Type, MVT::f16,
/*250886*/        OPC_RecordChild2, // #2 = $Op3
/*250887*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*250889*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250891*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_VPZ_H), 0,
                      MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clasta_n:{ *:[f16] } nxv8i1:{ *:[nxv8i1] }:$Op1, f16:{ *:[f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 3
                  // Dst: (CLASTA_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*250900*/      0, // EndSwitchType
/*250901*/    /*Scope*/ 41, /*->250943*/
/*250902*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*250904*/      OPC_RecordChild1, // #1 = $Op2
/*250905*/      OPC_SwitchType /*2 cases */, 16, MVT::i32,// ->250924
/*250908*/        OPC_CheckChild1Type, MVT::i32,
/*250910*/        OPC_RecordChild2, // #2 = $Op3
/*250911*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*250913*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250915*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_RPZ_S), 0,
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clasta_n:{ *:[i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, i32:{ *:[i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 3
                  // Dst: (CLASTA_RPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*250924*/      /*SwitchType*/ 16, MVT::f32,// ->250942
/*250926*/        OPC_CheckChild1Type, MVT::f32,
/*250928*/        OPC_RecordChild2, // #2 = $Op3
/*250929*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*250931*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250933*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_VPZ_S), 0,
                      MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clasta_n:{ *:[f32] } nxv4i1:{ *:[nxv4i1] }:$Op1, f32:{ *:[f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 3
                  // Dst: (CLASTA_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*250942*/      0, // EndSwitchType
/*250943*/    /*Scope*/ 41, /*->250985*/
/*250944*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*250946*/      OPC_RecordChild1, // #1 = $Op2
/*250947*/      OPC_SwitchType /*2 cases */, 16, MVT::i64,// ->250966
/*250950*/        OPC_CheckChild1Type, MVT::i64,
/*250952*/        OPC_RecordChild2, // #2 = $Op3
/*250953*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*250955*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250957*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_RPZ_D), 0,
                      MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clasta_n:{ *:[i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, i64:{ *:[i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 3
                  // Dst: (CLASTA_RPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*250966*/      /*SwitchType*/ 16, MVT::f64,// ->250984
/*250968*/        OPC_CheckChild1Type, MVT::f64,
/*250970*/        OPC_RecordChild2, // #2 = $Op3
/*250971*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*250973*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*250975*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTA_VPZ_D), 0,
                      MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clasta_n:{ *:[f64] } nxv2i1:{ *:[nxv2i1] }:$Op1, f64:{ *:[f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 3
                  // Dst: (CLASTA_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*250984*/      0, // EndSwitchType
/*250985*/    0, /*End of Scope*/
/*250986*/  /*SwitchOpcode*/ 23|128,1/*151*/, TARGET_VAL(AArch64ISD::CLASTB_N),// ->251141
/*250990*/    OPC_RecordChild0, // #0 = $Op1
/*250991*/    OPC_Scope, 21, /*->251014*/ // 4 children in Scope
/*250993*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*250995*/      OPC_RecordChild1, // #1 = $Op2
/*250996*/      OPC_CheckChild1Type, MVT::i32,
/*250998*/      OPC_RecordChild2, // #2 = $Op3
/*250999*/      OPC_CheckChild2Type, MVT::nxv16i8,
/*251001*/      OPC_CheckType, MVT::i32,
/*251003*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251005*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_RPZ_B), 0,
                    MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64clastb_n:{ *:[i32] } nxv16i1:{ *:[nxv16i1] }:$Op1, i32:{ *:[i32] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 3
                // Dst: (CLASTB_RPZ_B:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[i32] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*251014*/    /*Scope*/ 41, /*->251056*/
/*251015*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*251017*/      OPC_RecordChild1, // #1 = $Op2
/*251018*/      OPC_SwitchType /*2 cases */, 16, MVT::i32,// ->251037
/*251021*/        OPC_CheckChild1Type, MVT::i32,
/*251023*/        OPC_RecordChild2, // #2 = $Op3
/*251024*/        OPC_CheckChild2Type, MVT::nxv8i16,
/*251026*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251028*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_RPZ_H), 0,
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clastb_n:{ *:[i32] } nxv8i1:{ *:[nxv8i1] }:$Op1, i32:{ *:[i32] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 3
                  // Dst: (CLASTB_RPZ_H:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[i32] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*251037*/      /*SwitchType*/ 16, MVT::f16,// ->251055
/*251039*/        OPC_CheckChild1Type, MVT::f16,
/*251041*/        OPC_RecordChild2, // #2 = $Op3
/*251042*/        OPC_CheckChild2Type, MVT::nxv8f16,
/*251044*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251046*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_VPZ_H), 0,
                      MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clastb_n:{ *:[f16] } nxv8i1:{ *:[nxv8i1] }:$Op1, f16:{ *:[f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 3
                  // Dst: (CLASTB_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*251055*/      0, // EndSwitchType
/*251056*/    /*Scope*/ 41, /*->251098*/
/*251057*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*251059*/      OPC_RecordChild1, // #1 = $Op2
/*251060*/      OPC_SwitchType /*2 cases */, 16, MVT::i32,// ->251079
/*251063*/        OPC_CheckChild1Type, MVT::i32,
/*251065*/        OPC_RecordChild2, // #2 = $Op3
/*251066*/        OPC_CheckChild2Type, MVT::nxv4i32,
/*251068*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251070*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_RPZ_S), 0,
                      MVT::i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clastb_n:{ *:[i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, i32:{ *:[i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 3
                  // Dst: (CLASTB_RPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*251079*/      /*SwitchType*/ 16, MVT::f32,// ->251097
/*251081*/        OPC_CheckChild1Type, MVT::f32,
/*251083*/        OPC_RecordChild2, // #2 = $Op3
/*251084*/        OPC_CheckChild2Type, MVT::nxv4f32,
/*251086*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251088*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_VPZ_S), 0,
                      MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clastb_n:{ *:[f32] } nxv4i1:{ *:[nxv4i1] }:$Op1, f32:{ *:[f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 3
                  // Dst: (CLASTB_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*251097*/      0, // EndSwitchType
/*251098*/    /*Scope*/ 41, /*->251140*/
/*251099*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*251101*/      OPC_RecordChild1, // #1 = $Op2
/*251102*/      OPC_SwitchType /*2 cases */, 16, MVT::i64,// ->251121
/*251105*/        OPC_CheckChild1Type, MVT::i64,
/*251107*/        OPC_RecordChild2, // #2 = $Op3
/*251108*/        OPC_CheckChild2Type, MVT::nxv2i64,
/*251110*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251112*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_RPZ_D), 0,
                      MVT::i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clastb_n:{ *:[i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, i64:{ *:[i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 3
                  // Dst: (CLASTB_RPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*251121*/      /*SwitchType*/ 16, MVT::f64,// ->251139
/*251123*/        OPC_CheckChild1Type, MVT::f64,
/*251125*/        OPC_RecordChild2, // #2 = $Op3
/*251126*/        OPC_CheckChild2Type, MVT::nxv2f64,
/*251128*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251130*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLASTB_VPZ_D), 0,
                      MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (AArch64clastb_n:{ *:[f64] } nxv2i1:{ *:[nxv2i1] }:$Op1, f64:{ *:[f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 3
                  // Dst: (CLASTB_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*251139*/      0, // EndSwitchType
/*251140*/    0, /*End of Scope*/
/*251141*/  /*SwitchOpcode*/ 9|128,1/*137*/, TARGET_VAL(AArch64ISD::LASTA),// ->251282
/*251145*/    OPC_RecordChild0, // #0 = $Op1
/*251146*/    OPC_Scope, 17, /*->251165*/ // 4 children in Scope
/*251148*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*251150*/      OPC_RecordChild1, // #1 = $Op2
/*251151*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*251153*/      OPC_CheckType, MVT::i32,
/*251155*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251157*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTA_RPZ_B), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64lasta:{ *:[i32] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (LASTA_RPZ_B:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*251165*/    /*Scope*/ 33, /*->251199*/
/*251166*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*251168*/      OPC_RecordChild1, // #1 = $Op2
/*251169*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->251184
/*251172*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*251174*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251176*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTA_RPZ_H), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lasta:{ *:[i32] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (LASTA_RPZ_H:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*251184*/      /*SwitchType*/ 12, MVT::f16,// ->251198
/*251186*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*251188*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251190*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTA_VPZ_H), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lasta:{ *:[f16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                  // Dst: (LASTA_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*251198*/      0, // EndSwitchType
/*251199*/    /*Scope*/ 33, /*->251233*/
/*251200*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*251202*/      OPC_RecordChild1, // #1 = $Op2
/*251203*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->251218
/*251206*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*251208*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251210*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTA_RPZ_S), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lasta:{ *:[i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (LASTA_RPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*251218*/      /*SwitchType*/ 12, MVT::f32,// ->251232
/*251220*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*251222*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251224*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTA_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lasta:{ *:[f32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                  // Dst: (LASTA_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*251232*/      0, // EndSwitchType
/*251233*/    /*Scope*/ 47, /*->251281*/
/*251234*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*251236*/      OPC_RecordChild1, // #1 = $Op2
/*251237*/      OPC_SwitchType /*3 cases */, 12, MVT::i64,// ->251252
/*251240*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*251242*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251244*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTA_RPZ_D), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lasta:{ *:[i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (LASTA_RPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*251252*/      /*SwitchType*/ 12, MVT::f32,// ->251266
/*251254*/        OPC_CheckChild1Type, MVT::nxv2f32,
/*251256*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251258*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTA_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lasta:{ *:[f32] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f32:{ *:[nxv2f32] }:$Op2) - Complexity = 3
                  // Dst: (LASTA_VPZ_S:{ *:[f32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f32] }:$Op2)
/*251266*/      /*SwitchType*/ 12, MVT::f64,// ->251280
/*251268*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*251270*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251272*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTA_VPZ_D), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lasta:{ *:[f64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                  // Dst: (LASTA_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*251280*/      0, // EndSwitchType
/*251281*/    0, /*End of Scope*/
/*251282*/  /*SwitchOpcode*/ 9|128,1/*137*/, TARGET_VAL(AArch64ISD::LASTB),// ->251423
/*251286*/    OPC_RecordChild0, // #0 = $Op1
/*251287*/    OPC_Scope, 17, /*->251306*/ // 4 children in Scope
/*251289*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*251291*/      OPC_RecordChild1, // #1 = $Op2
/*251292*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*251294*/      OPC_CheckType, MVT::i32,
/*251296*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251298*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTB_RPZ_B), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64lastb:{ *:[i32] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (LASTB_RPZ_B:{ *:[i32] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*251306*/    /*Scope*/ 33, /*->251340*/
/*251307*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*251309*/      OPC_RecordChild1, // #1 = $Op2
/*251310*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->251325
/*251313*/        OPC_CheckChild1Type, MVT::nxv8i16,
/*251315*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251317*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTB_RPZ_H), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lastb:{ *:[i32] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (LASTB_RPZ_H:{ *:[i32] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*251325*/      /*SwitchType*/ 12, MVT::f16,// ->251339
/*251327*/        OPC_CheckChild1Type, MVT::nxv8f16,
/*251329*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251331*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTB_VPZ_H), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lastb:{ *:[f16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                  // Dst: (LASTB_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*251339*/      0, // EndSwitchType
/*251340*/    /*Scope*/ 33, /*->251374*/
/*251341*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*251343*/      OPC_RecordChild1, // #1 = $Op2
/*251344*/      OPC_SwitchType /*2 cases */, 12, MVT::i32,// ->251359
/*251347*/        OPC_CheckChild1Type, MVT::nxv4i32,
/*251349*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251351*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTB_RPZ_S), 0,
                      MVT::i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lastb:{ *:[i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (LASTB_RPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*251359*/      /*SwitchType*/ 12, MVT::f32,// ->251373
/*251361*/        OPC_CheckChild1Type, MVT::nxv4f32,
/*251363*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251365*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTB_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lastb:{ *:[f32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                  // Dst: (LASTB_VPZ_S:{ *:[f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*251373*/      0, // EndSwitchType
/*251374*/    /*Scope*/ 47, /*->251422*/
/*251375*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*251377*/      OPC_RecordChild1, // #1 = $Op2
/*251378*/      OPC_SwitchType /*3 cases */, 12, MVT::i64,// ->251393
/*251381*/        OPC_CheckChild1Type, MVT::nxv2i64,
/*251383*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251385*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTB_RPZ_D), 0,
                      MVT::i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lastb:{ *:[i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (LASTB_RPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*251393*/      /*SwitchType*/ 12, MVT::f32,// ->251407
/*251395*/        OPC_CheckChild1Type, MVT::nxv2f32,
/*251397*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251399*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTB_VPZ_S), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lastb:{ *:[f32] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f32:{ *:[nxv2f32] }:$Op2) - Complexity = 3
                  // Dst: (LASTB_VPZ_S:{ *:[f32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f32] }:$Op2)
/*251407*/      /*SwitchType*/ 12, MVT::f64,// ->251421
/*251409*/        OPC_CheckChild1Type, MVT::nxv2f64,
/*251411*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251413*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LASTB_VPZ_D), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64lastb:{ *:[f64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                  // Dst: (LASTB_VPZ_D:{ *:[f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*251421*/      0, // EndSwitchType
/*251422*/    0, /*End of Scope*/
/*251423*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::SST1_UXTW),// ->251570
/*251427*/    OPC_RecordNode, // #0 = 'AArch64st1_scatter_uxtw' chained node
/*251428*/    OPC_CaptureGlueInput,
/*251429*/    OPC_RecordChild1, // #1 = $data
/*251430*/    OPC_Scope, 76, /*->251508*/ // 2 children in Scope
/*251432*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*251434*/      OPC_RecordChild2, // #2 = $gp
/*251435*/      OPC_RecordChild3, // #3 = $base
/*251436*/      OPC_CheckChild3Type, MVT::i64,
/*251438*/      OPC_RecordChild4, // #4 = $offsets
/*251439*/      OPC_CheckChild4Type, MVT::nxv2i64,
/*251441*/      OPC_MoveChild5,
/*251442*/      OPC_Scope, 15, /*->251459*/ // 4 children in Scope
/*251444*/        OPC_CheckValueType, MVT::nxv2i8,
/*251446*/        OPC_MoveParent,
/*251447*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251449*/        OPC_EmitMergeInputChains1_0,
/*251450*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D_UXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1B_D_UXTW ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251459*/      /*Scope*/ 15, /*->251475*/
/*251460*/        OPC_CheckValueType, MVT::nxv2i16,
/*251462*/        OPC_MoveParent,
/*251463*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251465*/        OPC_EmitMergeInputChains1_0,
/*251466*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1H_D_UXTW ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251475*/      /*Scope*/ 15, /*->251491*/
/*251476*/        OPC_CheckValueType, MVT::nxv2i32,
/*251478*/        OPC_MoveParent,
/*251479*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251481*/        OPC_EmitMergeInputChains1_0,
/*251482*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1W_D_UXTW ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251491*/      /*Scope*/ 15, /*->251507*/
/*251492*/        OPC_CheckValueType, MVT::nxv2i64,
/*251494*/        OPC_MoveParent,
/*251495*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251497*/        OPC_EmitMergeInputChains1_0,
/*251498*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i64:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1D_UXTW ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251507*/      0, /*End of Scope*/
/*251508*/    /*Scope*/ 60, /*->251569*/
/*251509*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*251511*/      OPC_RecordChild2, // #2 = $gp
/*251512*/      OPC_RecordChild3, // #3 = $base
/*251513*/      OPC_CheckChild3Type, MVT::i64,
/*251515*/      OPC_RecordChild4, // #4 = $offsets
/*251516*/      OPC_CheckChild4Type, MVT::nxv4i32,
/*251518*/      OPC_MoveChild5,
/*251519*/      OPC_Scope, 15, /*->251536*/ // 3 children in Scope
/*251521*/        OPC_CheckValueType, MVT::nxv4i8,
/*251523*/        OPC_MoveParent,
/*251524*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251526*/        OPC_EmitMergeInputChains1_0,
/*251527*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_S_UXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1B_S_UXTW ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251536*/      /*Scope*/ 15, /*->251552*/
/*251537*/        OPC_CheckValueType, MVT::nxv4i16,
/*251539*/        OPC_MoveParent,
/*251540*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251542*/        OPC_EmitMergeInputChains1_0,
/*251543*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_UXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1H_S_UXTW ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251552*/      /*Scope*/ 15, /*->251568*/
/*251553*/        OPC_CheckValueType, MVT::nxv4i32,
/*251555*/        OPC_MoveParent,
/*251556*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251558*/        OPC_EmitMergeInputChains1_0,
/*251559*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_UXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1W_UXTW ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251568*/      0, /*End of Scope*/
/*251569*/    0, /*End of Scope*/
/*251570*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::SST1_SXTW),// ->251717
/*251574*/    OPC_RecordNode, // #0 = 'AArch64st1_scatter_sxtw' chained node
/*251575*/    OPC_CaptureGlueInput,
/*251576*/    OPC_RecordChild1, // #1 = $data
/*251577*/    OPC_Scope, 76, /*->251655*/ // 2 children in Scope
/*251579*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*251581*/      OPC_RecordChild2, // #2 = $gp
/*251582*/      OPC_RecordChild3, // #3 = $base
/*251583*/      OPC_CheckChild3Type, MVT::i64,
/*251585*/      OPC_RecordChild4, // #4 = $offsets
/*251586*/      OPC_CheckChild4Type, MVT::nxv2i64,
/*251588*/      OPC_MoveChild5,
/*251589*/      OPC_Scope, 15, /*->251606*/ // 4 children in Scope
/*251591*/        OPC_CheckValueType, MVT::nxv2i8,
/*251593*/        OPC_MoveParent,
/*251594*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251596*/        OPC_EmitMergeInputChains1_0,
/*251597*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D_SXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1B_D_SXTW ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251606*/      /*Scope*/ 15, /*->251622*/
/*251607*/        OPC_CheckValueType, MVT::nxv2i16,
/*251609*/        OPC_MoveParent,
/*251610*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251612*/        OPC_EmitMergeInputChains1_0,
/*251613*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1H_D_SXTW ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251622*/      /*Scope*/ 15, /*->251638*/
/*251623*/        OPC_CheckValueType, MVT::nxv2i32,
/*251625*/        OPC_MoveParent,
/*251626*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251628*/        OPC_EmitMergeInputChains1_0,
/*251629*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1W_D_SXTW ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251638*/      /*Scope*/ 15, /*->251654*/
/*251639*/        OPC_CheckValueType, MVT::nxv2i64,
/*251641*/        OPC_MoveParent,
/*251642*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251644*/        OPC_EmitMergeInputChains1_0,
/*251645*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i64:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1D_SXTW ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251654*/      0, /*End of Scope*/
/*251655*/    /*Scope*/ 60, /*->251716*/
/*251656*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*251658*/      OPC_RecordChild2, // #2 = $gp
/*251659*/      OPC_RecordChild3, // #3 = $base
/*251660*/      OPC_CheckChild3Type, MVT::i64,
/*251662*/      OPC_RecordChild4, // #4 = $offsets
/*251663*/      OPC_CheckChild4Type, MVT::nxv4i32,
/*251665*/      OPC_MoveChild5,
/*251666*/      OPC_Scope, 15, /*->251683*/ // 3 children in Scope
/*251668*/        OPC_CheckValueType, MVT::nxv4i8,
/*251670*/        OPC_MoveParent,
/*251671*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251673*/        OPC_EmitMergeInputChains1_0,
/*251674*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_S_SXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1B_S_SXTW ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251683*/      /*Scope*/ 15, /*->251699*/
/*251684*/        OPC_CheckValueType, MVT::nxv4i16,
/*251686*/        OPC_MoveParent,
/*251687*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251689*/        OPC_EmitMergeInputChains1_0,
/*251690*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_SXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1H_S_SXTW ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251699*/      /*Scope*/ 15, /*->251715*/
/*251700*/        OPC_CheckValueType, MVT::nxv4i32,
/*251702*/        OPC_MoveParent,
/*251703*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251705*/        OPC_EmitMergeInputChains1_0,
/*251706*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_SXTW), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1W_SXTW ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251715*/      0, /*End of Scope*/
/*251716*/    0, /*End of Scope*/
/*251717*/  /*SwitchOpcode*/ 111, TARGET_VAL(AArch64ISD::SST1_UXTW_SCALED),// ->251831
/*251720*/    OPC_RecordNode, // #0 = 'AArch64st1_scatter_uxtw_scaled' chained node
/*251721*/    OPC_CaptureGlueInput,
/*251722*/    OPC_RecordChild1, // #1 = $data
/*251723*/    OPC_Scope, 44, /*->251769*/ // 2 children in Scope
/*251725*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*251727*/      OPC_RecordChild2, // #2 = $gp
/*251728*/      OPC_RecordChild3, // #3 = $base
/*251729*/      OPC_CheckChild3Type, MVT::i64,
/*251731*/      OPC_RecordChild4, // #4 = $offsets
/*251732*/      OPC_CheckChild4Type, MVT::nxv4i32,
/*251734*/      OPC_MoveChild5,
/*251735*/      OPC_Scope, 15, /*->251752*/ // 2 children in Scope
/*251737*/        OPC_CheckValueType, MVT::nxv4i16,
/*251739*/        OPC_MoveParent,
/*251740*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251742*/        OPC_EmitMergeInputChains1_0,
/*251743*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_UXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw_scaled ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1H_S_UXTW_SCALED ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251752*/      /*Scope*/ 15, /*->251768*/
/*251753*/        OPC_CheckValueType, MVT::nxv4i32,
/*251755*/        OPC_MoveParent,
/*251756*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251758*/        OPC_EmitMergeInputChains1_0,
/*251759*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_UXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw_scaled ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1W_UXTW_SCALED ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251768*/      0, /*End of Scope*/
/*251769*/    /*Scope*/ 60, /*->251830*/
/*251770*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*251772*/      OPC_RecordChild2, // #2 = $gp
/*251773*/      OPC_RecordChild3, // #3 = $base
/*251774*/      OPC_CheckChild3Type, MVT::i64,
/*251776*/      OPC_RecordChild4, // #4 = $offsets
/*251777*/      OPC_CheckChild4Type, MVT::nxv2i64,
/*251779*/      OPC_MoveChild5,
/*251780*/      OPC_Scope, 15, /*->251797*/ // 3 children in Scope
/*251782*/        OPC_CheckValueType, MVT::nxv2i16,
/*251784*/        OPC_MoveParent,
/*251785*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251787*/        OPC_EmitMergeInputChains1_0,
/*251788*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1H_D_UXTW_SCALED ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251797*/      /*Scope*/ 15, /*->251813*/
/*251798*/        OPC_CheckValueType, MVT::nxv2i32,
/*251800*/        OPC_MoveParent,
/*251801*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251803*/        OPC_EmitMergeInputChains1_0,
/*251804*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_UXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1W_D_UXTW_SCALED ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251813*/      /*Scope*/ 15, /*->251829*/
/*251814*/        OPC_CheckValueType, MVT::nxv2i64,
/*251816*/        OPC_MoveParent,
/*251817*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251819*/        OPC_EmitMergeInputChains1_0,
/*251820*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_UXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_uxtw_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i64:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1D_UXTW_SCALED ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251829*/      0, /*End of Scope*/
/*251830*/    0, /*End of Scope*/
/*251831*/  /*SwitchOpcode*/ 111, TARGET_VAL(AArch64ISD::SST1_SXTW_SCALED),// ->251945
/*251834*/    OPC_RecordNode, // #0 = 'AArch64st1_scatter_sxtw_scaled' chained node
/*251835*/    OPC_CaptureGlueInput,
/*251836*/    OPC_RecordChild1, // #1 = $data
/*251837*/    OPC_Scope, 44, /*->251883*/ // 2 children in Scope
/*251839*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*251841*/      OPC_RecordChild2, // #2 = $gp
/*251842*/      OPC_RecordChild3, // #3 = $base
/*251843*/      OPC_CheckChild3Type, MVT::i64,
/*251845*/      OPC_RecordChild4, // #4 = $offsets
/*251846*/      OPC_CheckChild4Type, MVT::nxv4i32,
/*251848*/      OPC_MoveChild5,
/*251849*/      OPC_Scope, 15, /*->251866*/ // 2 children in Scope
/*251851*/        OPC_CheckValueType, MVT::nxv4i16,
/*251853*/        OPC_MoveParent,
/*251854*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251856*/        OPC_EmitMergeInputChains1_0,
/*251857*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_S_SXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw_scaled ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1H_S_SXTW_SCALED ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251866*/      /*Scope*/ 15, /*->251882*/
/*251867*/        OPC_CheckValueType, MVT::nxv4i32,
/*251869*/        OPC_MoveParent,
/*251870*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251872*/        OPC_EmitMergeInputChains1_0,
/*251873*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_SXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw_scaled ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1W_SXTW_SCALED ZPR:{ *:[nxv4i32] }:$data, PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*251882*/      0, /*End of Scope*/
/*251883*/    /*Scope*/ 60, /*->251944*/
/*251884*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*251886*/      OPC_RecordChild2, // #2 = $gp
/*251887*/      OPC_RecordChild3, // #3 = $base
/*251888*/      OPC_CheckChild3Type, MVT::i64,
/*251890*/      OPC_RecordChild4, // #4 = $offsets
/*251891*/      OPC_CheckChild4Type, MVT::nxv2i64,
/*251893*/      OPC_MoveChild5,
/*251894*/      OPC_Scope, 15, /*->251911*/ // 3 children in Scope
/*251896*/        OPC_CheckValueType, MVT::nxv2i16,
/*251898*/        OPC_MoveParent,
/*251899*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251901*/        OPC_EmitMergeInputChains1_0,
/*251902*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1H_D_SXTW_SCALED ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251911*/      /*Scope*/ 15, /*->251927*/
/*251912*/        OPC_CheckValueType, MVT::nxv2i32,
/*251914*/        OPC_MoveParent,
/*251915*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251917*/        OPC_EmitMergeInputChains1_0,
/*251918*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1W_D_SXTW_SCALED ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251927*/      /*Scope*/ 15, /*->251943*/
/*251928*/        OPC_CheckValueType, MVT::nxv2i64,
/*251930*/        OPC_MoveParent,
/*251931*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251933*/        OPC_EmitMergeInputChains1_0,
/*251934*/        OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SXTW_SCALED), 0|OPFL_Chain|OPFL_GlueInput,
                      4/*#Ops*/, 1, 2, 3, 4, 
                  // Src: (AArch64st1_scatter_sxtw_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i64:{ *:[Other] }) - Complexity = 3
                  // Dst: (SST1D_SXTW_SCALED ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251943*/      0, /*End of Scope*/
/*251944*/    0, /*End of Scope*/
/*251945*/  /*SwitchOpcode*/ 79, TARGET_VAL(AArch64ISD::SST1),// ->252027
/*251948*/    OPC_RecordNode, // #0 = 'AArch64st1_scatter' chained node
/*251949*/    OPC_CaptureGlueInput,
/*251950*/    OPC_RecordChild1, // #1 = $data
/*251951*/    OPC_CheckChild1Type, MVT::nxv2i64,
/*251953*/    OPC_RecordChild2, // #2 = $gp
/*251954*/    OPC_RecordChild3, // #3 = $base
/*251955*/    OPC_CheckChild3Type, MVT::i64,
/*251957*/    OPC_RecordChild4, // #4 = $offsets
/*251958*/    OPC_CheckChild4Type, MVT::nxv2i64,
/*251960*/    OPC_MoveChild5,
/*251961*/    OPC_Scope, 15, /*->251978*/ // 4 children in Scope
/*251963*/      OPC_CheckValueType, MVT::nxv2i8,
/*251965*/      OPC_MoveParent,
/*251966*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251968*/      OPC_EmitMergeInputChains1_0,
/*251969*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1B_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    4/*#Ops*/, 1, 2, 3, 4, 
                // Src: (AArch64st1_scatter ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                // Dst: (SST1B_D_REAL ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251978*/    /*Scope*/ 15, /*->251994*/
/*251979*/      OPC_CheckValueType, MVT::nxv2i16,
/*251981*/      OPC_MoveParent,
/*251982*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*251984*/      OPC_EmitMergeInputChains1_0,
/*251985*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    4/*#Ops*/, 1, 2, 3, 4, 
                // Src: (AArch64st1_scatter ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                // Dst: (SST1H_D_REAL ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*251994*/    /*Scope*/ 15, /*->252010*/
/*251995*/      OPC_CheckValueType, MVT::nxv2i32,
/*251997*/      OPC_MoveParent,
/*251998*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252000*/      OPC_EmitMergeInputChains1_0,
/*252001*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    4/*#Ops*/, 1, 2, 3, 4, 
                // Src: (AArch64st1_scatter ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                // Dst: (SST1W_D_REAL ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*252010*/    /*Scope*/ 15, /*->252026*/
/*252011*/      OPC_CheckValueType, MVT::nxv2i64,
/*252013*/      OPC_MoveParent,
/*252014*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252016*/      OPC_EmitMergeInputChains1_0,
/*252017*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    4/*#Ops*/, 1, 2, 3, 4, 
                // Src: (AArch64st1_scatter ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i64:{ *:[Other] }) - Complexity = 3
                // Dst: (SST1D_REAL ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*252026*/    0, /*End of Scope*/
/*252027*/  /*SwitchOpcode*/ 63, TARGET_VAL(AArch64ISD::SST1_SCALED),// ->252093
/*252030*/    OPC_RecordNode, // #0 = 'AArch64st1_scatter_scaled' chained node
/*252031*/    OPC_CaptureGlueInput,
/*252032*/    OPC_RecordChild1, // #1 = $data
/*252033*/    OPC_CheckChild1Type, MVT::nxv2i64,
/*252035*/    OPC_RecordChild2, // #2 = $gp
/*252036*/    OPC_RecordChild3, // #3 = $base
/*252037*/    OPC_CheckChild3Type, MVT::i64,
/*252039*/    OPC_RecordChild4, // #4 = $indices
/*252040*/    OPC_CheckChild4Type, MVT::nxv2i64,
/*252042*/    OPC_MoveChild5,
/*252043*/    OPC_Scope, 15, /*->252060*/ // 3 children in Scope
/*252045*/      OPC_CheckValueType, MVT::nxv2i16,
/*252047*/      OPC_MoveParent,
/*252048*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252050*/      OPC_EmitMergeInputChains1_0,
/*252051*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1H_D_SCALED_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    4/*#Ops*/, 1, 2, 3, 4, 
                // Src: (AArch64st1_scatter_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i16:{ *:[Other] }) - Complexity = 3
                // Dst: (SST1H_D_SCALED_SCALED_REAL ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*252060*/    /*Scope*/ 15, /*->252076*/
/*252061*/      OPC_CheckValueType, MVT::nxv2i32,
/*252063*/      OPC_MoveParent,
/*252064*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252066*/      OPC_EmitMergeInputChains1_0,
/*252067*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1W_D_SCALED_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    4/*#Ops*/, 1, 2, 3, 4, 
                // Src: (AArch64st1_scatter_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i32:{ *:[Other] }) - Complexity = 3
                // Dst: (SST1W_D_SCALED_SCALED_REAL ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*252076*/    /*Scope*/ 15, /*->252092*/
/*252077*/      OPC_CheckValueType, MVT::nxv2i64,
/*252079*/      OPC_MoveParent,
/*252080*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252082*/      OPC_EmitMergeInputChains1_0,
/*252083*/      OPC_MorphNodeTo0, TARGET_VAL(AArch64::SST1D_SCALED_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    4/*#Ops*/, 1, 2, 3, 4, 
                // Src: (AArch64st1_scatter_scaled ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i64:{ *:[Other] }) - Complexity = 3
                // Dst: (SST1D_SCALED_SCALED_REAL ZPR:{ *:[nxv2i64] }:$data, PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*252092*/    0, /*End of Scope*/
/*252093*/  /*SwitchOpcode*/ 59, TARGET_VAL(AArch64ISD::PTEST),// ->252155
/*252096*/    OPC_RecordChild0, // #0 = $pg
/*252097*/    OPC_Scope, 13, /*->252112*/ // 4 children in Scope
/*252099*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*252101*/      OPC_RecordChild1, // #1 = $src
/*252102*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252104*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::PTEST_PP), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64ptest PPR:{ *:[nxv16i1] }:$pg, PPR:{ *:[nxv16i1] }:$src) - Complexity = 3
                // Dst: (PTEST_PP:{ *:[i32] } PPR:{ *:[nxv16i1] }:$pg, PPR:{ *:[nxv16i1] }:$src)
/*252112*/    /*Scope*/ 13, /*->252126*/
/*252113*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*252115*/      OPC_RecordChild1, // #1 = $src
/*252116*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252118*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::PTEST_PP), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64ptest PPR:{ *:[nxv8i1] }:$pg, PPR:{ *:[nxv8i1] }:$src) - Complexity = 3
                // Dst: (PTEST_PP:{ *:[i32] } PPR:{ *:[nxv8i1] }:$pg, PPR:{ *:[nxv8i1] }:$src)
/*252126*/    /*Scope*/ 13, /*->252140*/
/*252127*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*252129*/      OPC_RecordChild1, // #1 = $src
/*252130*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252132*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::PTEST_PP), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64ptest PPR:{ *:[nxv4i1] }:$pg, PPR:{ *:[nxv4i1] }:$src) - Complexity = 3
                // Dst: (PTEST_PP:{ *:[i32] } PPR:{ *:[nxv4i1] }:$pg, PPR:{ *:[nxv4i1] }:$src)
/*252140*/    /*Scope*/ 13, /*->252154*/
/*252141*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*252143*/      OPC_RecordChild1, // #1 = $src
/*252144*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*252146*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::PTEST_PP), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64ptest PPR:{ *:[nxv2i1] }:$pg, PPR:{ *:[nxv2i1] }:$src) - Complexity = 3
                // Dst: (PTEST_PP:{ *:[i32] } PPR:{ *:[nxv2i1] }:$pg, PPR:{ *:[nxv2i1] }:$src)
/*252154*/    0, /*End of Scope*/
/*252155*/  /*SwitchOpcode*/ 39, TARGET_VAL(ISD::CTTZ),// ->252197
/*252158*/    OPC_RecordChild0, // #0 = $Rn
/*252159*/    OPC_SwitchType /*2 cases */, 16, MVT::i32,// ->252178
/*252162*/      OPC_CheckChild0Type, MVT::i32,
/*252164*/      OPC_EmitNode1, TARGET_VAL(AArch64::RBITWr), 0,
                    MVT::i32, 1/*#Ops*/, 0,  // Results = #1
/*252171*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZWr), 0,
                    MVT::i32, 1/*#Ops*/, 1, 
                // Src: (cttz:{ *:[i32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                // Dst: (CLZWr:{ *:[i32] } (RBITWr:{ *:[i32] } GPR32:{ *:[i32] }:$Rn))
/*252178*/    /*SwitchType*/ 16, MVT::i64,// ->252196
/*252180*/      OPC_CheckChild0Type, MVT::i64,
/*252182*/      OPC_EmitNode1, TARGET_VAL(AArch64::RBITXr), 0,
                    MVT::i64, 1/*#Ops*/, 0,  // Results = #1
/*252189*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CLZXr), 0,
                    MVT::i64, 1/*#Ops*/, 1, 
                // Src: (cttz:{ *:[i64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                // Dst: (CLZXr:{ *:[i64] } (RBITXr:{ *:[i64] } GPR64:{ *:[i64] }:$Rn))
/*252196*/    0, // EndSwitchType
/*252197*/  /*SwitchOpcode*/ 118, TARGET_VAL(ISD::LRINT),// ->252318
/*252200*/    OPC_RecordChild0, // #0 = $Rn
/*252201*/    OPC_Scope, 40, /*->252243*/ // 3 children in Scope
/*252203*/      OPC_CheckChild0Type, MVT::f16,
/*252205*/      OPC_SwitchType /*2 cases */, 16, MVT::i32,// ->252224
/*252208*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*252210*/        OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXHr), 0,
                      MVT::f16, 1/*#Ops*/, 0,  // Results = #1
/*252217*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWHr), 0,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (lrint:{ *:[i32] } f16:{ *:[f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSUWHr:{ *:[i32] } (FRINTXHr:{ *:[f16] } f16:{ *:[f16] }:$Rn))
/*252224*/      /*SwitchType*/ 16, MVT::i64,// ->252242
/*252226*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*252228*/        OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXHr), 0,
                      MVT::f16, 1/*#Ops*/, 0,  // Results = #1
/*252235*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXHr), 0,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (lrint:{ *:[i64] } f16:{ *:[f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSUXHr:{ *:[i64] } (FRINTXHr:{ *:[f16] } f16:{ *:[f16] }:$Rn))
/*252242*/      0, // EndSwitchType
/*252243*/    /*Scope*/ 36, /*->252280*/
/*252244*/      OPC_CheckChild0Type, MVT::f32,
/*252246*/      OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->252263
/*252249*/        OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXSr), 0,
                      MVT::i32, 1/*#Ops*/, 0,  // Results = #1
/*252256*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWSr), 0,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (lrint:{ *:[i32] } f32:{ *:[f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSUWSr:{ *:[i32] } (FRINTXSr:{ *:[i32] } f32:{ *:[f32] }:$Rn))
/*252263*/      /*SwitchType*/ 14, MVT::i64,// ->252279
/*252265*/        OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXSr), 0,
                      MVT::i32, 1/*#Ops*/, 0,  // Results = #1
/*252272*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXSr), 0,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (lrint:{ *:[i64] } f32:{ *:[f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSUXSr:{ *:[i64] } (FRINTXSr:{ *:[i32] } f32:{ *:[f32] }:$Rn))
/*252279*/      0, // EndSwitchType
/*252280*/    /*Scope*/ 36, /*->252317*/
/*252281*/      OPC_CheckChild0Type, MVT::f64,
/*252283*/      OPC_SwitchType /*2 cases */, 14, MVT::i32,// ->252300
/*252286*/        OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXDr), 0,
                      MVT::i64, 1/*#Ops*/, 0,  // Results = #1
/*252293*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUWDr), 0,
                      MVT::i32, 1/*#Ops*/, 1, 
                  // Src: (lrint:{ *:[i32] } f64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSUWDr:{ *:[i32] } (FRINTXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn))
/*252300*/      /*SwitchType*/ 14, MVT::i64,// ->252316
/*252302*/        OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXDr), 0,
                      MVT::i64, 1/*#Ops*/, 0,  // Results = #1
/*252309*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXDr), 0,
                      MVT::i64, 1/*#Ops*/, 1, 
                  // Src: (lrint:{ *:[i64] } f64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTZSUXDr:{ *:[i64] } (FRINTXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn))
/*252316*/      0, // EndSwitchType
/*252317*/    0, /*End of Scope*/
/*252318*/  /*SwitchOpcode*/ 58, TARGET_VAL(ISD::LLRINT),// ->252379
/*252321*/    OPC_RecordChild0, // #0 = $Rn
/*252322*/    OPC_CheckType, MVT::i64,
/*252324*/    OPC_Scope, 18, /*->252344*/ // 3 children in Scope
/*252326*/      OPC_CheckChild0Type, MVT::f16,
/*252328*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*252330*/      OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXHr), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #1
/*252337*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXHr), 0,
                    MVT::i64, 1/*#Ops*/, 1, 
                // Src: (llrint:{ *:[i64] } f16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FCVTZSUXHr:{ *:[i64] } (FRINTXHr:{ *:[f16] } f16:{ *:[f16] }:$Rn))
/*252344*/    /*Scope*/ 16, /*->252361*/
/*252345*/      OPC_CheckChild0Type, MVT::f32,
/*252347*/      OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXSr), 0,
                    MVT::i32, 1/*#Ops*/, 0,  // Results = #1
/*252354*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXSr), 0,
                    MVT::i64, 1/*#Ops*/, 1, 
                // Src: (llrint:{ *:[i64] } f32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FCVTZSUXSr:{ *:[i64] } (FRINTXSr:{ *:[i32] } f32:{ *:[f32] }:$Rn))
/*252361*/    /*Scope*/ 16, /*->252378*/
/*252362*/      OPC_CheckChild0Type, MVT::f64,
/*252364*/      OPC_EmitNode1, TARGET_VAL(AArch64::FRINTXDr), 0,
                    MVT::i64, 1/*#Ops*/, 0,  // Results = #1
/*252371*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTZSUXDr), 0,
                    MVT::i64, 1/*#Ops*/, 1, 
                // Src: (llrint:{ *:[i64] } f64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FCVTZSUXDr:{ *:[i64] } (FRINTXDr:{ *:[i64] } f64:{ *:[f64] }:$Rn))
/*252378*/    0, /*End of Scope*/
/*252379*/  /*SwitchOpcode*/ 13|128,1/*141*/, TARGET_VAL(ISD::ANY_EXTEND),// ->252524
/*252383*/    OPC_Scope, 21, /*->252406*/ // 3 children in Scope
/*252385*/      OPC_RecordChild0, // #0 = $src
/*252386*/      OPC_CheckType, MVT::i64,
/*252388*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::i64, 0/*#Ops*/,  // Results = #1
/*252394*/      OPC_EmitInteger, MVT::i32, AArch64::sub_32,
/*252397*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::i64, 3/*#Ops*/, 1, 0, 2, 
                // Src: (anyext:{ *:[i64] } GPR32:{ *:[i32] }:$src) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[i64] } (IMPLICIT_DEF:{ *:[i64] }), GPR32:{ *:[i32] }:$src, sub_32:{ *:[i32] })
/*252406*/    /*Scope*/ 67, /*->252474*/
/*252407*/      OPC_MoveChild0,
/*252408*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*252411*/      OPC_RecordChild0, // #0 = $Rn
/*252412*/      OPC_SwitchType /*3 cases */, 18, MVT::v8i8,// ->252433
/*252415*/        OPC_CheckChild1Integer, 8, 
/*252417*/        OPC_CheckChild1Type, MVT::i64,
/*252419*/        OPC_MoveParent,
/*252420*/        OPC_CheckType, MVT::v8i16,
/*252422*/        OPC_EmitInteger, MVT::i32, 0, 
/*252425*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv16i8_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (anyext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })) - Complexity = 11
                  // Dst: (USHLLv16i8_shift:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, 0:{ *:[i32] })
/*252433*/      /*SwitchType*/ 18, MVT::v4i16,// ->252453
/*252435*/        OPC_CheckChild1Integer, 4, 
/*252437*/        OPC_CheckChild1Type, MVT::i64,
/*252439*/        OPC_MoveParent,
/*252440*/        OPC_CheckType, MVT::v4i32,
/*252442*/        OPC_EmitInteger, MVT::i32, 0, 
/*252445*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv8i16_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (anyext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })) - Complexity = 11
                  // Dst: (USHLLv8i16_shift:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, 0:{ *:[i32] })
/*252453*/      /*SwitchType*/ 18, MVT::v2i32,// ->252473
/*252455*/        OPC_CheckChild1Integer, 2, 
/*252457*/        OPC_CheckChild1Type, MVT::i64,
/*252459*/        OPC_MoveParent,
/*252460*/        OPC_CheckType, MVT::v2i64,
/*252462*/        OPC_EmitInteger, MVT::i32, 0, 
/*252465*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv4i32_shift), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (anyext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })) - Complexity = 11
                  // Dst: (USHLLv4i32_shift:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, 0:{ *:[i32] })
/*252473*/      0, // EndSwitchType
/*252474*/    /*Scope*/ 48, /*->252523*/
/*252475*/      OPC_RecordChild0, // #0 = $Rn
/*252476*/      OPC_SwitchType /*3 cases */, 13, MVT::v8i16,// ->252492
/*252479*/        OPC_CheckChild0Type, MVT::v8i8,
/*252481*/        OPC_EmitInteger, MVT::i32, 0, 
/*252484*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv8i8_shift), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (anyext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                  // Dst: (USHLLv8i8_shift:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, 0:{ *:[i32] })
/*252492*/      /*SwitchType*/ 13, MVT::v4i32,// ->252507
/*252494*/        OPC_CheckChild0Type, MVT::v4i16,
/*252496*/        OPC_EmitInteger, MVT::i32, 0, 
/*252499*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv4i16_shift), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (anyext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (USHLLv4i16_shift:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, 0:{ *:[i32] })
/*252507*/      /*SwitchType*/ 13, MVT::v2i64,// ->252522
/*252509*/        OPC_CheckChild0Type, MVT::v2i32,
/*252511*/        OPC_EmitInteger, MVT::i32, 0, 
/*252514*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv2i32_shift), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (anyext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (USHLLv2i32_shift:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, 0:{ *:[i32] })
/*252522*/      0, // EndSwitchType
/*252523*/    0, /*End of Scope*/
/*252524*/  /*SwitchOpcode*/ 21, TARGET_VAL(ISD::CATCHRET),// ->252548
/*252527*/    OPC_RecordNode, // #0 = 'catchret' chained node
/*252528*/    OPC_RecordChild1, // #1 = $dst
/*252529*/    OPC_MoveChild1,
/*252530*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*252533*/    OPC_MoveParent,
/*252534*/    OPC_RecordChild2, // #2 = $src
/*252535*/    OPC_MoveChild2,
/*252536*/    OPC_CheckOpcode, TARGET_VAL(ISD::BasicBlock),
/*252539*/    OPC_MoveParent,
/*252540*/    OPC_EmitMergeInputChains1_0,
/*252541*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::CATCHRET), 0|OPFL_Chain,
                  2/*#Ops*/, 1, 2, 
              // Src: (catchret (bb:{ *:[Other] }):$dst, (bb:{ *:[Other] }):$src) - Complexity = 3
              // Dst: (CATCHRET (bb:{ *:[Other] }):$dst, (bb:{ *:[Other] }):$src)
/*252548*/  /*SwitchOpcode*/ 7, TARGET_VAL(ISD::CATCHPAD),// ->252558
/*252551*/    OPC_RecordNode, // #0 = 'catchpad' chained node
/*252552*/    OPC_EmitMergeInputChains1_0,
/*252553*/    OPC_MorphNodeTo0, TARGET_VAL(AArch64::CATCHPAD), 0|OPFL_Chain,
                  0/*#Ops*/, 
              // Src: (catchpad) - Complexity = 3
              // Dst: (CATCHPAD)
/*252558*/  /*SwitchOpcode*/ 23|128,27/*3479*/, TARGET_VAL(ISD::FMA),// ->256041
/*252562*/    OPC_Scope, 68, /*->252632*/ // 22 children in Scope
/*252564*/      OPC_MoveChild0,
/*252565*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*252568*/      OPC_MoveChild0,
/*252569*/      OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
/*252572*/      OPC_MoveChild0,
/*252573*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*252576*/      OPC_MoveParent,
/*252577*/      OPC_MoveChild1,
/*252578*/      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*252581*/      OPC_RecordChild0, // #0 = $Rm
/*252582*/      OPC_MoveParent,
/*252583*/      OPC_CheckChild2Integer, 0, 
/*252585*/      OPC_CheckChild2Type, MVT::i32,
/*252587*/      OPC_CheckType, MVT::v4f32,
/*252589*/      OPC_MoveParent,
/*252590*/      OPC_RecordChild1, // #1 = $idx
/*252591*/      OPC_MoveChild1,
/*252592*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252595*/      OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*252597*/      OPC_CheckType, MVT::i64,
/*252599*/      OPC_MoveParent,
/*252600*/      OPC_MoveParent,
/*252601*/      OPC_RecordChild1, // #2 = $Rn
/*252602*/      OPC_RecordChild2, // #3 = $Rd
/*252603*/      OPC_CheckType, MVT::f32,
/*252605*/      OPC_EmitInteger, MVT::i32, 0, 
/*252608*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*252611*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*252620*/      OPC_EmitConvertToTarget, 1,
/*252622*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                    MVT::f32, 4/*#Ops*/, 3, 2, 6, 7, 
                // Src: (fma:{ *:[f32] } (vector_extract:{ *:[f32] } (insert_subvector:{ *:[v4f32] } (undef:{ *:[v4f32] }), (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rm), 0:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rd) - Complexity = 24
                // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*252632*/    /*Scope*/ 16|128,1/*144*/, /*->252778*/
/*252634*/      OPC_RecordChild0, // #0 = $Rn
/*252635*/      OPC_MoveChild1,
/*252636*/      OPC_SwitchOpcode /*2 cases */, 63, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->252703
/*252640*/        OPC_MoveChild0,
/*252641*/        OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
/*252644*/        OPC_MoveChild0,
/*252645*/        OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*252648*/        OPC_MoveParent,
/*252649*/        OPC_MoveChild1,
/*252650*/        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*252653*/        OPC_RecordChild0, // #1 = $Rm
/*252654*/        OPC_MoveParent,
/*252655*/        OPC_CheckChild2Integer, 0, 
/*252657*/        OPC_CheckChild2Type, MVT::i32,
/*252659*/        OPC_CheckType, MVT::v4f32,
/*252661*/        OPC_MoveParent,
/*252662*/        OPC_RecordChild1, // #2 = $idx
/*252663*/        OPC_MoveChild1,
/*252664*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252667*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*252669*/        OPC_CheckType, MVT::i64,
/*252671*/        OPC_MoveParent,
/*252672*/        OPC_MoveParent,
/*252673*/        OPC_RecordChild2, // #3 = $Rd
/*252674*/        OPC_CheckType, MVT::f32,
/*252676*/        OPC_EmitInteger, MVT::i32, 0, 
/*252679*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*252682*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*252691*/        OPC_EmitConvertToTarget, 2,
/*252693*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                      MVT::f32, 4/*#Ops*/, 3, 0, 6, 7, 
                  // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, (vector_extract:{ *:[f32] } (insert_subvector:{ *:[v4f32] } (undef:{ *:[v4f32] }), (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rm), 0:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rd) - Complexity = 24
                  // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*252703*/      /*SwitchOpcode*/ 71, TARGET_VAL(ISD::FNEG),// ->252777
/*252706*/        OPC_MoveChild0,
/*252707*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*252710*/        OPC_RecordChild0, // #1 = $Rm
/*252711*/        OPC_Scope, 31, /*->252744*/ // 2 children in Scope
/*252713*/          OPC_CheckChild0Type, MVT::v4f32,
/*252715*/          OPC_RecordChild1, // #2 = $idx
/*252716*/          OPC_MoveChild1,
/*252717*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252720*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*252722*/          OPC_CheckType, MVT::i64,
/*252724*/          OPC_MoveParent,
/*252725*/          OPC_MoveParent,
/*252726*/          OPC_MoveParent,
/*252727*/          OPC_RecordChild2, // #3 = $Rd
/*252728*/          OPC_CheckType, MVT::f32,
/*252730*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*252732*/          OPC_EmitConvertToTarget, 2,
/*252734*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                        MVT::f32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, (fneg:{ *:[f32] } (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*252744*/        /*Scope*/ 31, /*->252776*/
/*252745*/          OPC_CheckChild0Type, MVT::v2f64,
/*252747*/          OPC_RecordChild1, // #2 = $idx
/*252748*/          OPC_MoveChild1,
/*252749*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252752*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*252754*/          OPC_CheckType, MVT::i64,
/*252756*/          OPC_MoveParent,
/*252757*/          OPC_MoveParent,
/*252758*/          OPC_MoveParent,
/*252759*/          OPC_RecordChild2, // #3 = $Rd
/*252760*/          OPC_CheckType, MVT::f64,
/*252762*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*252764*/          OPC_EmitConvertToTarget, 2,
/*252766*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i64_indexed), 0,
                        MVT::f64, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, (fneg:{ *:[f64] } (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)), FPR64:{ *:[f64] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv1i64_indexed:{ *:[f64] } FPR64:{ *:[f64] }:$Rd, FPR64:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)
/*252776*/        0, /*End of Scope*/
/*252777*/      0, // EndSwitchOpcode
/*252778*/    /*Scope*/ 51|128,2/*307*/, /*->253087*/
/*252780*/      OPC_MoveChild0,
/*252781*/      OPC_SwitchOpcode /*2 cases */, 20|128,1/*148*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->252934
/*252786*/        OPC_Scope, 77, /*->252865*/ // 2 children in Scope
/*252788*/          OPC_RecordChild0, // #0 = $Rm
/*252789*/          OPC_Scope, 36, /*->252827*/ // 2 children in Scope
/*252791*/            OPC_CheckChild0Type, MVT::v4f32,
/*252793*/            OPC_RecordChild1, // #1 = $idx
/*252794*/            OPC_MoveChild1,
/*252795*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252798*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*252800*/            OPC_CheckType, MVT::i64,
/*252802*/            OPC_MoveParent,
/*252803*/            OPC_MoveParent,
/*252804*/            OPC_MoveChild1,
/*252805*/            OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*252808*/            OPC_RecordChild0, // #2 = $Rn
/*252809*/            OPC_MoveParent,
/*252810*/            OPC_RecordChild2, // #3 = $Rd
/*252811*/            OPC_CheckType, MVT::f32,
/*252813*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*252815*/            OPC_EmitConvertToTarget, 1,
/*252817*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                          MVT::f32, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[f32] } (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rn), FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*252827*/          /*Scope*/ 36, /*->252864*/
/*252828*/            OPC_CheckChild0Type, MVT::v2f64,
/*252830*/            OPC_RecordChild1, // #1 = $idx
/*252831*/            OPC_MoveChild1,
/*252832*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252835*/            OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*252837*/            OPC_CheckType, MVT::i64,
/*252839*/            OPC_MoveParent,
/*252840*/            OPC_MoveParent,
/*252841*/            OPC_MoveChild1,
/*252842*/            OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*252845*/            OPC_RecordChild0, // #2 = $Rn
/*252846*/            OPC_MoveParent,
/*252847*/            OPC_RecordChild2, // #3 = $Rd
/*252848*/            OPC_CheckType, MVT::f64,
/*252850*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*252852*/            OPC_EmitConvertToTarget, 1,
/*252854*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i64_indexed), 0,
                          MVT::f64, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[f64] } (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Rn), FPR64:{ *:[f64] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv1i64_indexed:{ *:[f64] } FPR64:{ *:[f64] }:$Rd, FPR64:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)
/*252864*/          0, /*End of Scope*/
/*252865*/        /*Scope*/ 67, /*->252933*/
/*252866*/          OPC_MoveChild0,
/*252867*/          OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*252870*/          OPC_RecordChild0, // #0 = $Rm
/*252871*/          OPC_SwitchType /*2 cases */, 28, MVT::v4f32,// ->252902
/*252874*/            OPC_MoveParent,
/*252875*/            OPC_RecordChild1, // #1 = $idx
/*252876*/            OPC_MoveChild1,
/*252877*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252880*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*252882*/            OPC_CheckType, MVT::i64,
/*252884*/            OPC_MoveParent,
/*252885*/            OPC_MoveParent,
/*252886*/            OPC_RecordChild1, // #2 = $Rn
/*252887*/            OPC_RecordChild2, // #3 = $Rd
/*252888*/            OPC_CheckType, MVT::f32,
/*252890*/            OPC_EmitConvertToTarget, 1,
/*252892*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                          MVT::f32, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[f32] } (vector_extract:{ *:[f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*252902*/          /*SwitchType*/ 28, MVT::v2f64,// ->252932
/*252904*/            OPC_MoveParent,
/*252905*/            OPC_RecordChild1, // #1 = $idx
/*252906*/            OPC_MoveChild1,
/*252907*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252910*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*252912*/            OPC_CheckType, MVT::i64,
/*252914*/            OPC_MoveParent,
/*252915*/            OPC_MoveParent,
/*252916*/            OPC_RecordChild1, // #2 = $Rn
/*252917*/            OPC_RecordChild2, // #3 = $Rd
/*252918*/            OPC_CheckType, MVT::f64,
/*252920*/            OPC_EmitConvertToTarget, 1,
/*252922*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i64_indexed), 0,
                          MVT::f64, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[f64] } (vector_extract:{ *:[f64] } (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv1i64_indexed:{ *:[f64] } FPR64:{ *:[f64] }:$Rd, FPR64:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*252932*/          0, // EndSwitchType
/*252933*/        0, /*End of Scope*/
/*252934*/      /*SwitchOpcode*/ 20|128,1/*148*/, TARGET_VAL(ISD::FNEG),// ->253086
/*252938*/        OPC_Scope, 73, /*->253013*/ // 2 children in Scope
/*252940*/          OPC_MoveChild0,
/*252941*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*252944*/          OPC_RecordChild0, // #0 = $Rm
/*252945*/          OPC_Scope, 32, /*->252979*/ // 2 children in Scope
/*252947*/            OPC_CheckChild0Type, MVT::v4f32,
/*252949*/            OPC_RecordChild1, // #1 = $idx
/*252950*/            OPC_MoveChild1,
/*252951*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252954*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*252956*/            OPC_CheckType, MVT::i64,
/*252958*/            OPC_MoveParent,
/*252959*/            OPC_MoveParent,
/*252960*/            OPC_MoveParent,
/*252961*/            OPC_RecordChild1, // #2 = $Rn
/*252962*/            OPC_RecordChild2, // #3 = $Rd
/*252963*/            OPC_CheckType, MVT::f32,
/*252965*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*252967*/            OPC_EmitConvertToTarget, 1,
/*252969*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                          MVT::f32, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[f32] } (fneg:{ *:[f32] } (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*252979*/          /*Scope*/ 32, /*->253012*/
/*252980*/            OPC_CheckChild0Type, MVT::v2f64,
/*252982*/            OPC_RecordChild1, // #1 = $idx
/*252983*/            OPC_MoveChild1,
/*252984*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*252987*/            OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*252989*/            OPC_CheckType, MVT::i64,
/*252991*/            OPC_MoveParent,
/*252992*/            OPC_MoveParent,
/*252993*/            OPC_MoveParent,
/*252994*/            OPC_RecordChild1, // #2 = $Rn
/*252995*/            OPC_RecordChild2, // #3 = $Rd
/*252996*/            OPC_CheckType, MVT::f64,
/*252998*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253000*/            OPC_EmitConvertToTarget, 1,
/*253002*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i64_indexed), 0,
                          MVT::f64, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[f64] } (fneg:{ *:[f64] } (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)), FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv1i64_indexed:{ *:[f64] } FPR64:{ *:[f64] }:$Rd, FPR64:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)
/*253012*/          0, /*End of Scope*/
/*253013*/        /*Scope*/ 71, /*->253085*/
/*253014*/          OPC_RecordChild0, // #0 = $Rn
/*253015*/          OPC_MoveParent,
/*253016*/          OPC_MoveChild1,
/*253017*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*253020*/          OPC_RecordChild0, // #1 = $Rm
/*253021*/          OPC_Scope, 30, /*->253053*/ // 2 children in Scope
/*253023*/            OPC_CheckChild0Type, MVT::v4f32,
/*253025*/            OPC_RecordChild1, // #2 = $idx
/*253026*/            OPC_MoveChild1,
/*253027*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253030*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253032*/            OPC_CheckType, MVT::i64,
/*253034*/            OPC_MoveParent,
/*253035*/            OPC_MoveParent,
/*253036*/            OPC_RecordChild2, // #3 = $Rd
/*253037*/            OPC_CheckType, MVT::f32,
/*253039*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253041*/            OPC_EmitConvertToTarget, 2,
/*253043*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                          MVT::f32, 4/*#Ops*/, 3, 0, 1, 4, 
                      // Src: (fma:{ *:[f32] } (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rn), (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253053*/          /*Scope*/ 30, /*->253084*/
/*253054*/            OPC_CheckChild0Type, MVT::v2f64,
/*253056*/            OPC_RecordChild1, // #2 = $idx
/*253057*/            OPC_MoveChild1,
/*253058*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253061*/            OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*253063*/            OPC_CheckType, MVT::i64,
/*253065*/            OPC_MoveParent,
/*253066*/            OPC_MoveParent,
/*253067*/            OPC_RecordChild2, // #3 = $Rd
/*253068*/            OPC_CheckType, MVT::f64,
/*253070*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253072*/            OPC_EmitConvertToTarget, 2,
/*253074*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i64_indexed), 0,
                          MVT::f64, 4/*#Ops*/, 3, 0, 1, 4, 
                      // Src: (fma:{ *:[f64] } (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Rn), (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), FPR64:{ *:[f64] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv1i64_indexed:{ *:[f64] } FPR64:{ *:[f64] }:$Rd, FPR64:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)
/*253084*/          0, /*End of Scope*/
/*253085*/        0, /*End of Scope*/
/*253086*/      0, // EndSwitchOpcode
/*253087*/    /*Scope*/ 126, /*->253214*/
/*253088*/      OPC_RecordChild0, // #0 = $Rn
/*253089*/      OPC_MoveChild1,
/*253090*/      OPC_SwitchOpcode /*2 cases */, 65, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->253159
/*253094*/        OPC_MoveChild0,
/*253095*/        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253098*/        OPC_RecordChild0, // #1 = $Rm
/*253099*/        OPC_SwitchType /*2 cases */, 27, MVT::v4f32,// ->253129
/*253102*/          OPC_MoveParent,
/*253103*/          OPC_RecordChild1, // #2 = $idx
/*253104*/          OPC_MoveChild1,
/*253105*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253108*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253110*/          OPC_CheckType, MVT::i64,
/*253112*/          OPC_MoveParent,
/*253113*/          OPC_MoveParent,
/*253114*/          OPC_RecordChild2, // #3 = $Rd
/*253115*/          OPC_CheckType, MVT::f32,
/*253117*/          OPC_EmitConvertToTarget, 2,
/*253119*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                        MVT::f32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, (vector_extract:{ *:[f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253129*/        /*SwitchType*/ 27, MVT::v2f64,// ->253158
/*253131*/          OPC_MoveParent,
/*253132*/          OPC_RecordChild1, // #2 = $idx
/*253133*/          OPC_MoveChild1,
/*253134*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253137*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253139*/          OPC_CheckType, MVT::i64,
/*253141*/          OPC_MoveParent,
/*253142*/          OPC_MoveParent,
/*253143*/          OPC_RecordChild2, // #3 = $Rd
/*253144*/          OPC_CheckType, MVT::f64,
/*253146*/          OPC_EmitConvertToTarget, 2,
/*253148*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i64_indexed), 0,
                        MVT::f64, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, (vector_extract:{ *:[f64] } (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR64:{ *:[f64] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv1i64_indexed:{ *:[f64] } FPR64:{ *:[f64] }:$Rd, FPR64:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253158*/        0, // EndSwitchType
/*253159*/      /*SwitchOpcode*/ 51, TARGET_VAL(ISD::FNEG),// ->253213
/*253162*/        OPC_MoveChild0,
/*253163*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*253166*/        OPC_RecordChild0, // #1 = $Rm
/*253167*/        OPC_CheckChild0Type, MVT::v2f32,
/*253169*/        OPC_RecordChild1, // #2 = $idx
/*253170*/        OPC_MoveChild1,
/*253171*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253174*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253176*/        OPC_CheckType, MVT::i64,
/*253178*/        OPC_MoveParent,
/*253179*/        OPC_MoveParent,
/*253180*/        OPC_MoveParent,
/*253181*/        OPC_RecordChild2, // #3 = $Rd
/*253182*/        OPC_CheckType, MVT::f32,
/*253184*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253186*/        OPC_EmitInteger, MVT::i32, 0, 
/*253189*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*253192*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*253201*/        OPC_EmitConvertToTarget, 2,
/*253203*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                      MVT::f32, 4/*#Ops*/, 3, 0, 6, 7, 
                  // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, (fneg:{ *:[f32] } (vector_extract:{ *:[f32] } V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                  // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253213*/      0, // EndSwitchOpcode
/*253214*/    /*Scope*/ 108|128,1/*236*/, /*->253452*/
/*253216*/      OPC_MoveChild0,
/*253217*/      OPC_SwitchOpcode /*2 cases */, 119, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->253340
/*253221*/        OPC_RecordChild0, // #0 = $Rm
/*253222*/        OPC_Scope, 51, /*->253275*/ // 3 children in Scope
/*253224*/          OPC_CheckChild0Type, MVT::v2f32,
/*253226*/          OPC_RecordChild1, // #1 = $idx
/*253227*/          OPC_MoveChild1,
/*253228*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253231*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253233*/          OPC_CheckType, MVT::i64,
/*253235*/          OPC_MoveParent,
/*253236*/          OPC_MoveParent,
/*253237*/          OPC_MoveChild1,
/*253238*/          OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253241*/          OPC_RecordChild0, // #2 = $Rn
/*253242*/          OPC_MoveParent,
/*253243*/          OPC_RecordChild2, // #3 = $Rd
/*253244*/          OPC_CheckType, MVT::f32,
/*253246*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253248*/          OPC_EmitInteger, MVT::i32, 0, 
/*253251*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*253254*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*253263*/          OPC_EmitConvertToTarget, 1,
/*253265*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                        MVT::f32, 4/*#Ops*/, 3, 2, 6, 7, 
                    // Src: (fma:{ *:[f32] } (vector_extract:{ *:[f32] } V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rn), FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253275*/        /*Scope*/ 31, /*->253307*/
/*253276*/          OPC_CheckChild0Type, MVT::v4f32,
/*253278*/          OPC_RecordChild1, // #1 = $idx
/*253279*/          OPC_MoveChild1,
/*253280*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253283*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253285*/          OPC_CheckType, MVT::i64,
/*253287*/          OPC_MoveParent,
/*253288*/          OPC_MoveParent,
/*253289*/          OPC_RecordChild1, // #2 = $Rn
/*253290*/          OPC_RecordChild2, // #3 = $Rd
/*253291*/          OPC_CheckType, MVT::f32,
/*253293*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253295*/          OPC_EmitConvertToTarget, 1,
/*253297*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv1i32_indexed), 0,
                        MVT::f32, 4/*#Ops*/, 3, 2, 0, 4, 
                    // Src: (fma:{ *:[f32] } (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rd) - Complexity = 10
                    // Dst: (FMLAv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253307*/        /*Scope*/ 31, /*->253339*/
/*253308*/          OPC_CheckChild0Type, MVT::v2f64,
/*253310*/          OPC_RecordChild1, // #1 = $idx
/*253311*/          OPC_MoveChild1,
/*253312*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253315*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*253317*/          OPC_CheckType, MVT::i64,
/*253319*/          OPC_MoveParent,
/*253320*/          OPC_MoveParent,
/*253321*/          OPC_RecordChild1, // #2 = $Rn
/*253322*/          OPC_RecordChild2, // #3 = $Rd
/*253323*/          OPC_CheckType, MVT::f64,
/*253325*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253327*/          OPC_EmitConvertToTarget, 1,
/*253329*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv1i64_indexed), 0,
                        MVT::f64, 4/*#Ops*/, 3, 2, 0, 4, 
                    // Src: (fma:{ *:[f64] } (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rd) - Complexity = 10
                    // Dst: (FMLAv1i64_indexed:{ *:[f64] } FPR64:{ *:[f64] }:$Rd, FPR64:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)
/*253339*/        0, /*End of Scope*/
/*253340*/      /*SwitchOpcode*/ 108, TARGET_VAL(ISD::FNEG),// ->253451
/*253343*/        OPC_Scope, 52, /*->253397*/ // 2 children in Scope
/*253345*/          OPC_MoveChild0,
/*253346*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*253349*/          OPC_RecordChild0, // #0 = $Rm
/*253350*/          OPC_CheckChild0Type, MVT::v2f32,
/*253352*/          OPC_RecordChild1, // #1 = $idx
/*253353*/          OPC_MoveChild1,
/*253354*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253357*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253359*/          OPC_CheckType, MVT::i64,
/*253361*/          OPC_MoveParent,
/*253362*/          OPC_MoveParent,
/*253363*/          OPC_MoveParent,
/*253364*/          OPC_RecordChild1, // #2 = $Rn
/*253365*/          OPC_RecordChild2, // #3 = $Rd
/*253366*/          OPC_CheckType, MVT::f32,
/*253368*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253370*/          OPC_EmitInteger, MVT::i32, 0, 
/*253373*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*253376*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*253385*/          OPC_EmitConvertToTarget, 1,
/*253387*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                        MVT::f32, 4/*#Ops*/, 3, 2, 6, 7, 
                    // Src: (fma:{ *:[f32] } (fneg:{ *:[f32] } (vector_extract:{ *:[f32] } V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253397*/        /*Scope*/ 52, /*->253450*/
/*253398*/          OPC_RecordChild0, // #0 = $Rn
/*253399*/          OPC_MoveParent,
/*253400*/          OPC_MoveChild1,
/*253401*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*253404*/          OPC_RecordChild0, // #1 = $Rm
/*253405*/          OPC_CheckChild0Type, MVT::v2f32,
/*253407*/          OPC_RecordChild1, // #2 = $idx
/*253408*/          OPC_MoveChild1,
/*253409*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253412*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253414*/          OPC_CheckType, MVT::i64,
/*253416*/          OPC_MoveParent,
/*253417*/          OPC_MoveParent,
/*253418*/          OPC_RecordChild2, // #3 = $Rd
/*253419*/          OPC_CheckType, MVT::f32,
/*253421*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253423*/          OPC_EmitInteger, MVT::i32, 0, 
/*253426*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*253429*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*253438*/          OPC_EmitConvertToTarget, 2,
/*253440*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv1i32_indexed), 0,
                        MVT::f32, 4/*#Ops*/, 3, 0, 6, 7, 
                    // Src: (fma:{ *:[f32] } (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rn), (vector_extract:{ *:[f32] } V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253450*/        0, /*End of Scope*/
/*253451*/      0, // EndSwitchOpcode
/*253452*/    /*Scope*/ 70, /*->253523*/
/*253453*/      OPC_RecordChild0, // #0 = $Rn
/*253454*/      OPC_MoveChild1,
/*253455*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*253458*/      OPC_RecordChild0, // #1 = $Rm
/*253459*/      OPC_Scope, 30, /*->253491*/ // 2 children in Scope
/*253461*/        OPC_CheckChild0Type, MVT::v4f32,
/*253463*/        OPC_RecordChild1, // #2 = $idx
/*253464*/        OPC_MoveChild1,
/*253465*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253468*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253470*/        OPC_CheckType, MVT::i64,
/*253472*/        OPC_MoveParent,
/*253473*/        OPC_MoveParent,
/*253474*/        OPC_RecordChild2, // #3 = $Rd
/*253475*/        OPC_CheckType, MVT::f32,
/*253477*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253479*/        OPC_EmitConvertToTarget, 2,
/*253481*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv1i32_indexed), 0,
                      MVT::f32, 4/*#Ops*/, 3, 0, 1, 4, 
                  // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rd) - Complexity = 10
                  // Dst: (FMLAv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253491*/      /*Scope*/ 30, /*->253522*/
/*253492*/        OPC_CheckChild0Type, MVT::v2f64,
/*253494*/        OPC_RecordChild1, // #2 = $idx
/*253495*/        OPC_MoveChild1,
/*253496*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253499*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*253501*/        OPC_CheckType, MVT::i64,
/*253503*/        OPC_MoveParent,
/*253504*/        OPC_MoveParent,
/*253505*/        OPC_RecordChild2, // #3 = $Rd
/*253506*/        OPC_CheckType, MVT::f64,
/*253508*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253510*/        OPC_EmitConvertToTarget, 2,
/*253512*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv1i64_indexed), 0,
                      MVT::f64, 4/*#Ops*/, 3, 0, 1, 4, 
                  // Src: (fma:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), FPR64:{ *:[f64] }:$Rd) - Complexity = 10
                  // Dst: (FMLAv1i64_indexed:{ *:[f64] } FPR64:{ *:[f64] }:$Rd, FPR64:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)
/*253522*/      0, /*End of Scope*/
/*253523*/    /*Scope*/ 51, /*->253575*/
/*253524*/      OPC_MoveChild0,
/*253525*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*253528*/      OPC_RecordChild0, // #0 = $Rm
/*253529*/      OPC_CheckChild0Type, MVT::v2f32,
/*253531*/      OPC_RecordChild1, // #1 = $idx
/*253532*/      OPC_MoveChild1,
/*253533*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253536*/      OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253538*/      OPC_CheckType, MVT::i64,
/*253540*/      OPC_MoveParent,
/*253541*/      OPC_MoveParent,
/*253542*/      OPC_RecordChild1, // #2 = $Rn
/*253543*/      OPC_RecordChild2, // #3 = $Rd
/*253544*/      OPC_CheckType, MVT::f32,
/*253546*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253548*/      OPC_EmitInteger, MVT::i32, 0, 
/*253551*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*253554*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*253563*/      OPC_EmitConvertToTarget, 1,
/*253565*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv1i32_indexed), 0,
                    MVT::f32, 4/*#Ops*/, 3, 2, 6, 7, 
                // Src: (fma:{ *:[f32] } (vector_extract:{ *:[f32] } V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rd) - Complexity = 10
                // Dst: (FMLAv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253575*/    /*Scope*/ 51, /*->253627*/
/*253576*/      OPC_RecordChild0, // #0 = $Rn
/*253577*/      OPC_MoveChild1,
/*253578*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*253581*/      OPC_RecordChild0, // #1 = $Rm
/*253582*/      OPC_CheckChild0Type, MVT::v2f32,
/*253584*/      OPC_RecordChild1, // #2 = $idx
/*253585*/      OPC_MoveChild1,
/*253586*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253589*/      OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253591*/      OPC_CheckType, MVT::i64,
/*253593*/      OPC_MoveParent,
/*253594*/      OPC_MoveParent,
/*253595*/      OPC_RecordChild2, // #3 = $Rd
/*253596*/      OPC_CheckType, MVT::f32,
/*253598*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*253600*/      OPC_EmitInteger, MVT::i32, 0, 
/*253603*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*253606*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                    MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*253615*/      OPC_EmitConvertToTarget, 2,
/*253617*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv1i32_indexed), 0,
                    MVT::f32, 4/*#Ops*/, 3, 0, 6, 7, 
                // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, (vector_extract:{ *:[f32] } V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32:{ *:[f32] }:$Rd) - Complexity = 10
                // Dst: (FMLAv1i32_indexed:{ *:[f32] } FPR32:{ *:[f32] }:$Rd, FPR32:{ *:[f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253627*/    /*Scope*/ 50, /*->253678*/
/*253628*/      OPC_MoveChild0,
/*253629*/      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253632*/      OPC_RecordChild0, // #0 = $Rn
/*253633*/      OPC_MoveParent,
/*253634*/      OPC_RecordChild1, // #1 = $Rm
/*253635*/      OPC_MoveChild2,
/*253636*/      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253639*/      OPC_RecordChild0, // #2 = $Ra
/*253640*/      OPC_MoveParent,
/*253641*/      OPC_SwitchType /*3 cases */, 11, MVT::f16,// ->253655
/*253644*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*253646*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDHrrr), 0,
                      MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f16] } (fneg:{ *:[f16] } FPR16:{ *:[f16] }:$Rn), FPR16:{ *:[f16] }:$Rm, (fneg:{ *:[f16] } FPR16:{ *:[f16] }:$Ra)) - Complexity = 9
                  // Dst: (FNMADDHrrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra)
/*253655*/      /*SwitchType*/ 9, MVT::f32,// ->253666
/*253657*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDSrrr), 0,
                      MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f32] } (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rn), FPR32:{ *:[f32] }:$Rm, (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Ra)) - Complexity = 9
                  // Dst: (FNMADDSrrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra)
/*253666*/      /*SwitchType*/ 9, MVT::f64,// ->253677
/*253668*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDDrrr), 0,
                      MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f64] } (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Rn), FPR64:{ *:[f64] }:$Rm, (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Ra)) - Complexity = 9
                  // Dst: (FNMADDDrrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra)
/*253677*/      0, // EndSwitchType
/*253678*/    /*Scope*/ 20|128,1/*148*/, /*->253828*/
/*253680*/      OPC_RecordChild0, // #0 = $Rn
/*253681*/      OPC_Scope, 95, /*->253778*/ // 2 children in Scope
/*253683*/        OPC_MoveChild1,
/*253684*/        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253687*/        OPC_RecordChild0, // #1 = $Rm
/*253688*/        OPC_MoveParent,
/*253689*/        OPC_Scope, 43, /*->253734*/ // 2 children in Scope
/*253691*/          OPC_MoveChild2,
/*253692*/          OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253695*/          OPC_RecordChild0, // #2 = $Ra
/*253696*/          OPC_MoveParent,
/*253697*/          OPC_SwitchType /*3 cases */, 11, MVT::f16,// ->253711
/*253700*/            OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*253702*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDHrrr), 0,
                          MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (fma:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, (fneg:{ *:[f16] } FPR16:{ *:[f16] }:$Rm), (fneg:{ *:[f16] } FPR16:{ *:[f16] }:$Ra)) - Complexity = 9
                      // Dst: (FNMADDHrrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra)
/*253711*/          /*SwitchType*/ 9, MVT::f32,// ->253722
/*253713*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDSrrr), 0,
                          MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rm), (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Ra)) - Complexity = 9
                      // Dst: (FNMADDSrrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra)
/*253722*/          /*SwitchType*/ 9, MVT::f64,// ->253733
/*253724*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDDrrr), 0,
                          MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (fma:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Rm), (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Ra)) - Complexity = 9
                      // Dst: (FNMADDDrrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra)
/*253733*/          0, // EndSwitchType
/*253734*/        /*Scope*/ 42, /*->253777*/
/*253735*/          OPC_RecordChild2, // #2 = $Ra
/*253736*/          OPC_SwitchType /*3 cases */, 11, MVT::f16,// ->253750
/*253739*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*253741*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSUBHrrr), 0,
                          MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (fma:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, (fneg:{ *:[f16] } FPR16:{ *:[f16] }:$Rm), FPR16:{ *:[f16] }:$Ra) - Complexity = 6
                      // Dst: (FMSUBHrrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra)
/*253750*/          /*SwitchType*/ 11, MVT::f32,// ->253763
/*253752*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*253754*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSUBSrrr), 0,
                          MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rm), FPR32:{ *:[f32] }:$Ra) - Complexity = 6
                      // Dst: (FMSUBSrrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra)
/*253763*/          /*SwitchType*/ 11, MVT::f64,// ->253776
/*253765*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*253767*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSUBDrrr), 0,
                          MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                      // Src: (fma:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Rm), FPR64:{ *:[f64] }:$Ra) - Complexity = 6
                      // Dst: (FMSUBDrrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra)
/*253776*/          0, // EndSwitchType
/*253777*/        0, /*End of Scope*/
/*253778*/      /*Scope*/ 48, /*->253827*/
/*253779*/        OPC_RecordChild1, // #1 = $Rm
/*253780*/        OPC_MoveChild2,
/*253781*/        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253784*/        OPC_RecordChild0, // #2 = $Ra
/*253785*/        OPC_MoveParent,
/*253786*/        OPC_SwitchType /*3 cases */, 11, MVT::f16,// ->253800
/*253789*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*253791*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMSUBHrrr), 0,
                        MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (fma:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, (fneg:{ *:[f16] } FPR16:{ *:[f16] }:$Ra)) - Complexity = 6
                    // Dst: (FNMSUBHrrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra)
/*253800*/        /*SwitchType*/ 11, MVT::f32,// ->253813
/*253802*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*253804*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMSUBSrrr), 0,
                        MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Ra)) - Complexity = 6
                    // Dst: (FNMSUBSrrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra)
/*253813*/        /*SwitchType*/ 11, MVT::f64,// ->253826
/*253815*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*253817*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMSUBDrrr), 0,
                        MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (fma:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Ra)) - Complexity = 6
                    // Dst: (FNMSUBDrrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra)
/*253826*/        0, // EndSwitchType
/*253827*/      0, /*End of Scope*/
/*253828*/    /*Scope*/ 45, /*->253874*/
/*253829*/      OPC_MoveChild0,
/*253830*/      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253833*/      OPC_RecordChild0, // #0 = $Rn
/*253834*/      OPC_MoveParent,
/*253835*/      OPC_RecordChild1, // #1 = $Rm
/*253836*/      OPC_RecordChild2, // #2 = $Ra
/*253837*/      OPC_SwitchType /*3 cases */, 11, MVT::f16,// ->253851
/*253840*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*253842*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSUBHrrr), 0,
                      MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f16] } (fneg:{ *:[f16] } FPR16:{ *:[f16] }:$Rn), FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra) - Complexity = 6
                  // Dst: (FMSUBHrrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra)
/*253851*/      /*SwitchType*/ 9, MVT::f32,// ->253862
/*253853*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSUBSrrr), 0,
                      MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f32] } (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rn), FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra) - Complexity = 6
                  // Dst: (FMSUBSrrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra)
/*253862*/      /*SwitchType*/ 9, MVT::f64,// ->253873
/*253864*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMSUBDrrr), 0,
                      MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f64] } (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Rn), FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra) - Complexity = 6
                  // Dst: (FMSUBDrrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra)
/*253873*/      0, // EndSwitchType
/*253874*/    /*Scope*/ 44, /*->253919*/
/*253875*/      OPC_RecordChild0, // #0 = $Rn
/*253876*/      OPC_RecordChild1, // #1 = $Rm
/*253877*/      OPC_RecordChild2, // #2 = $Ra
/*253878*/      OPC_SwitchType /*3 cases */, 11, MVT::f16,// ->253892
/*253881*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*253883*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMADDHrrr), 0,
                      MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra) - Complexity = 3
                  // Dst: (FMADDHrrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra)
/*253892*/      /*SwitchType*/ 11, MVT::f32,// ->253905
/*253894*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*253896*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMADDSrrr), 0,
                      MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra) - Complexity = 3
                  // Dst: (FMADDSrrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra)
/*253905*/      /*SwitchType*/ 11, MVT::f64,// ->253918
/*253907*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*253909*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMADDDrrr), 0,
                      MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (fma:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra) - Complexity = 3
                  // Dst: (FMADDDrrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra)
/*253918*/      0, // EndSwitchType
/*253919*/    /*Scope*/ 99, /*->254019*/
/*253920*/      OPC_MoveChild0,
/*253921*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUPLANE32),
/*253924*/      OPC_MoveChild0,
/*253925*/      OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
/*253928*/      OPC_MoveChild0,
/*253929*/      OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*253932*/      OPC_MoveParent,
/*253933*/      OPC_MoveChild1,
/*253934*/      OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*253937*/      OPC_RecordChild0, // #0 = $Rm
/*253938*/      OPC_MoveParent,
/*253939*/      OPC_CheckChild2Integer, 0, 
/*253941*/      OPC_CheckChild2Type, MVT::i32,
/*253943*/      OPC_CheckType, MVT::v4f32,
/*253945*/      OPC_MoveParent,
/*253946*/      OPC_RecordChild1, // #1 = $idx
/*253947*/      OPC_MoveChild1,
/*253948*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*253951*/      OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*253953*/      OPC_CheckType, MVT::i64,
/*253955*/      OPC_MoveParent,
/*253956*/      OPC_MoveParent,
/*253957*/      OPC_RecordChild1, // #2 = $Rn
/*253958*/      OPC_RecordChild2, // #3 = $Rd
/*253959*/      OPC_SwitchType /*2 cases */, 27, MVT::v2f32,// ->253989
/*253962*/        OPC_EmitInteger, MVT::i32, 0, 
/*253965*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*253968*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*253977*/        OPC_EmitConvertToTarget, 1,
/*253979*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                      MVT::v2f32, 4/*#Ops*/, 3, 2, 6, 7, 
                  // Src: (fma:{ *:[v2f32] } (AArch64duplane32:{ *:[v2f32] } (insert_subvector:{ *:[v4f32] } (undef:{ *:[v4f32] }), (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rm), 0:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rd) - Complexity = 24
                  // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*253989*/      /*SwitchType*/ 27, MVT::v4f32,// ->254018
/*253991*/        OPC_EmitInteger, MVT::i32, 0, 
/*253994*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*253997*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*254006*/        OPC_EmitConvertToTarget, 1,
/*254008*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                      MVT::v4f32, 4/*#Ops*/, 3, 2, 6, 7, 
                  // Src: (fma:{ *:[v4f32] } (AArch64duplane32:{ *:[v4f32] } (insert_subvector:{ *:[v4f32] } (undef:{ *:[v4f32] }), (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rm), 0:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rd) - Complexity = 24
                  // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254018*/      0, // EndSwitchType
/*254019*/    /*Scope*/ 67|128,1/*195*/, /*->254216*/
/*254021*/      OPC_RecordChild0, // #0 = $Rn
/*254022*/      OPC_MoveChild1,
/*254023*/      OPC_SwitchOpcode /*2 cases */, 94, TARGET_VAL(AArch64ISD::DUPLANE32),// ->254121
/*254027*/        OPC_MoveChild0,
/*254028*/        OPC_CheckOpcode, TARGET_VAL(ISD::INSERT_SUBVECTOR),
/*254031*/        OPC_MoveChild0,
/*254032*/        OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*254035*/        OPC_MoveParent,
/*254036*/        OPC_MoveChild1,
/*254037*/        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*254040*/        OPC_RecordChild0, // #1 = $Rm
/*254041*/        OPC_MoveParent,
/*254042*/        OPC_CheckChild2Integer, 0, 
/*254044*/        OPC_CheckChild2Type, MVT::i32,
/*254046*/        OPC_CheckType, MVT::v4f32,
/*254048*/        OPC_MoveParent,
/*254049*/        OPC_RecordChild1, // #2 = $idx
/*254050*/        OPC_MoveChild1,
/*254051*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254054*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254056*/        OPC_CheckType, MVT::i64,
/*254058*/        OPC_MoveParent,
/*254059*/        OPC_MoveParent,
/*254060*/        OPC_RecordChild2, // #3 = $Rd
/*254061*/        OPC_SwitchType /*2 cases */, 27, MVT::v2f32,// ->254091
/*254064*/          OPC_EmitInteger, MVT::i32, 0, 
/*254067*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*254070*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*254079*/          OPC_EmitConvertToTarget, 2,
/*254081*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                        MVT::v2f32, 4/*#Ops*/, 3, 0, 6, 7, 
                    // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (AArch64duplane32:{ *:[v2f32] } (insert_subvector:{ *:[v4f32] } (undef:{ *:[v4f32] }), (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rm), 0:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rd) - Complexity = 24
                    // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254091*/        /*SwitchType*/ 27, MVT::v4f32,// ->254120
/*254093*/          OPC_EmitInteger, MVT::i32, 0, 
/*254096*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*254099*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*254108*/          OPC_EmitConvertToTarget, 2,
/*254110*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                        MVT::v4f32, 4/*#Ops*/, 3, 0, 6, 7, 
                    // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (AArch64duplane32:{ *:[v4f32] } (insert_subvector:{ *:[v4f32] } (undef:{ *:[v4f32] }), (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rm), 0:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rd) - Complexity = 24
                    // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254120*/        0, // EndSwitchType
/*254121*/      /*SwitchOpcode*/ 91, TARGET_VAL(ISD::FNEG),// ->254215
/*254124*/        OPC_MoveChild0,
/*254125*/        OPC_SwitchOpcode /*2 cases */, 50, TARGET_VAL(AArch64ISD::DUPLANE32),// ->254179
/*254129*/          OPC_RecordChild0, // #1 = $Rm
/*254130*/          OPC_CheckChild0Type, MVT::v4f32,
/*254132*/          OPC_RecordChild1, // #2 = $idx
/*254133*/          OPC_MoveChild1,
/*254134*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254137*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254139*/          OPC_CheckType, MVT::i64,
/*254141*/          OPC_MoveParent,
/*254142*/          OPC_MoveParent,
/*254143*/          OPC_MoveParent,
/*254144*/          OPC_RecordChild2, // #3 = $Rd
/*254145*/          OPC_SwitchType /*2 cases */, 14, MVT::v2f32,// ->254162
/*254148*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254150*/            OPC_EmitConvertToTarget, 2,
/*254152*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                          MVT::v2f32, 4/*#Ops*/, 3, 0, 1, 4, 
                      // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (fneg:{ *:[v2f32] } (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), V64:{ *:[v2f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254162*/          /*SwitchType*/ 14, MVT::v4f32,// ->254178
/*254164*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254166*/            OPC_EmitConvertToTarget, 2,
/*254168*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                          MVT::v4f32, 4/*#Ops*/, 3, 0, 1, 4, 
                      // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (fneg:{ *:[v4f32] } (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), V128:{ *:[v4f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254178*/          0, // EndSwitchType
/*254179*/        /*SwitchOpcode*/ 32, TARGET_VAL(AArch64ISD::DUPLANE64),// ->254214
/*254182*/          OPC_RecordChild0, // #1 = $Rm
/*254183*/          OPC_CheckChild0Type, MVT::v2f64,
/*254185*/          OPC_RecordChild1, // #2 = $idx
/*254186*/          OPC_MoveChild1,
/*254187*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254190*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*254192*/          OPC_CheckType, MVT::i64,
/*254194*/          OPC_MoveParent,
/*254195*/          OPC_MoveParent,
/*254196*/          OPC_MoveParent,
/*254197*/          OPC_RecordChild2, // #3 = $Rd
/*254198*/          OPC_CheckType, MVT::v2f64,
/*254200*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254202*/          OPC_EmitConvertToTarget, 2,
/*254204*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                        MVT::v2f64, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (fneg:{ *:[v2f64] } (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)), V128:{ *:[v2f64] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254214*/        0, // EndSwitchOpcode
/*254215*/      0, // EndSwitchOpcode
/*254216*/    /*Scope*/ 3|128,3/*387*/, /*->254605*/
/*254218*/      OPC_MoveChild0,
/*254219*/      OPC_SwitchOpcode /*3 cases */, 110, TARGET_VAL(AArch64ISD::DUPLANE32),// ->254333
/*254223*/        OPC_Scope, 55, /*->254280*/ // 2 children in Scope
/*254225*/          OPC_RecordChild0, // #0 = $Rm
/*254226*/          OPC_CheckChild0Type, MVT::v4f32,
/*254228*/          OPC_RecordChild1, // #1 = $idx
/*254229*/          OPC_MoveChild1,
/*254230*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254233*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254235*/          OPC_CheckType, MVT::i64,
/*254237*/          OPC_MoveParent,
/*254238*/          OPC_MoveParent,
/*254239*/          OPC_MoveChild1,
/*254240*/          OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*254243*/          OPC_RecordChild0, // #2 = $Rn
/*254244*/          OPC_MoveParent,
/*254245*/          OPC_RecordChild2, // #3 = $Rd
/*254246*/          OPC_SwitchType /*2 cases */, 14, MVT::v2f32,// ->254263
/*254249*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254251*/            OPC_EmitConvertToTarget, 1,
/*254253*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                          MVT::v2f32, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[v2f32] } (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn), V64:{ *:[v2f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254263*/          /*SwitchType*/ 14, MVT::v4f32,// ->254279
/*254265*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254267*/            OPC_EmitConvertToTarget, 1,
/*254269*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                          MVT::v4f32, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[v4f32] } (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn), V128:{ *:[v4f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254279*/          0, // EndSwitchType
/*254280*/        /*Scope*/ 51, /*->254332*/
/*254281*/          OPC_MoveChild0,
/*254282*/          OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*254285*/          OPC_RecordChild0, // #0 = $Rm
/*254286*/          OPC_CheckType, MVT::v4f32,
/*254288*/          OPC_MoveParent,
/*254289*/          OPC_RecordChild1, // #1 = $idx
/*254290*/          OPC_MoveChild1,
/*254291*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254294*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254296*/          OPC_CheckType, MVT::i64,
/*254298*/          OPC_MoveParent,
/*254299*/          OPC_MoveParent,
/*254300*/          OPC_RecordChild1, // #2 = $Rn
/*254301*/          OPC_RecordChild2, // #3 = $Rd
/*254302*/          OPC_SwitchType /*2 cases */, 12, MVT::v2f32,// ->254317
/*254305*/            OPC_EmitConvertToTarget, 1,
/*254307*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                          MVT::v2f32, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[v2f32] } (AArch64duplane32:{ *:[v2f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254317*/          /*SwitchType*/ 12, MVT::v4f32,// ->254331
/*254319*/            OPC_EmitConvertToTarget, 1,
/*254321*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                          MVT::v4f32, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[v4f32] } (AArch64duplane32:{ *:[v4f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254331*/          0, // EndSwitchType
/*254332*/        0, /*End of Scope*/
/*254333*/      /*SwitchOpcode*/ 76, TARGET_VAL(AArch64ISD::DUPLANE64),// ->254412
/*254336*/        OPC_Scope, 37, /*->254375*/ // 2 children in Scope
/*254338*/          OPC_RecordChild0, // #0 = $Rm
/*254339*/          OPC_CheckChild0Type, MVT::v2f64,
/*254341*/          OPC_RecordChild1, // #1 = $idx
/*254342*/          OPC_MoveChild1,
/*254343*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254346*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*254348*/          OPC_CheckType, MVT::i64,
/*254350*/          OPC_MoveParent,
/*254351*/          OPC_MoveParent,
/*254352*/          OPC_MoveChild1,
/*254353*/          OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*254356*/          OPC_RecordChild0, // #2 = $Rn
/*254357*/          OPC_MoveParent,
/*254358*/          OPC_RecordChild2, // #3 = $Rd
/*254359*/          OPC_CheckType, MVT::v2f64,
/*254361*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254363*/          OPC_EmitConvertToTarget, 1,
/*254365*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                        MVT::v2f64, 4/*#Ops*/, 3, 2, 0, 4, 
                    // Src: (fma:{ *:[v2f64] } (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn), V128:{ *:[v2f64] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254375*/        /*Scope*/ 35, /*->254411*/
/*254376*/          OPC_MoveChild0,
/*254377*/          OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*254380*/          OPC_RecordChild0, // #0 = $Rm
/*254381*/          OPC_CheckType, MVT::v2f64,
/*254383*/          OPC_MoveParent,
/*254384*/          OPC_RecordChild1, // #1 = $idx
/*254385*/          OPC_MoveChild1,
/*254386*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254389*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*254391*/          OPC_CheckType, MVT::i64,
/*254393*/          OPC_MoveParent,
/*254394*/          OPC_MoveParent,
/*254395*/          OPC_RecordChild1, // #2 = $Rn
/*254396*/          OPC_RecordChild2, // #3 = $Rd
/*254397*/          OPC_CheckType, MVT::v2f64,
/*254399*/          OPC_EmitConvertToTarget, 1,
/*254401*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                        MVT::v2f64, 4/*#Ops*/, 3, 2, 0, 4, 
                    // Src: (fma:{ *:[v2f64] } (AArch64duplane64:{ *:[v2f64] } (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254411*/        0, /*End of Scope*/
/*254412*/      /*SwitchOpcode*/ 60|128,1/*188*/, TARGET_VAL(ISD::FNEG),// ->254604
/*254416*/        OPC_Scope, 93, /*->254511*/ // 2 children in Scope
/*254418*/          OPC_MoveChild0,
/*254419*/          OPC_SwitchOpcode /*2 cases */, 51, TARGET_VAL(AArch64ISD::DUPLANE32),// ->254474
/*254423*/            OPC_RecordChild0, // #0 = $Rm
/*254424*/            OPC_CheckChild0Type, MVT::v4f32,
/*254426*/            OPC_RecordChild1, // #1 = $idx
/*254427*/            OPC_MoveChild1,
/*254428*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254431*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254433*/            OPC_CheckType, MVT::i64,
/*254435*/            OPC_MoveParent,
/*254436*/            OPC_MoveParent,
/*254437*/            OPC_MoveParent,
/*254438*/            OPC_RecordChild1, // #2 = $Rn
/*254439*/            OPC_RecordChild2, // #3 = $Rd
/*254440*/            OPC_SwitchType /*2 cases */, 14, MVT::v2f32,// ->254457
/*254443*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254445*/              OPC_EmitConvertToTarget, 1,
/*254447*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                            MVT::v2f32, 4/*#Ops*/, 3, 2, 0, 4, 
                        // Src: (fma:{ *:[v2f32] } (fneg:{ *:[v2f32] } (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rd) - Complexity = 13
                        // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254457*/            /*SwitchType*/ 14, MVT::v4f32,// ->254473
/*254459*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254461*/              OPC_EmitConvertToTarget, 1,
/*254463*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                            MVT::v4f32, 4/*#Ops*/, 3, 2, 0, 4, 
                        // Src: (fma:{ *:[v4f32] } (fneg:{ *:[v4f32] } (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)), V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rd) - Complexity = 13
                        // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254473*/            0, // EndSwitchType
/*254474*/          /*SwitchOpcode*/ 33, TARGET_VAL(AArch64ISD::DUPLANE64),// ->254510
/*254477*/            OPC_RecordChild0, // #0 = $Rm
/*254478*/            OPC_CheckChild0Type, MVT::v2f64,
/*254480*/            OPC_RecordChild1, // #1 = $idx
/*254481*/            OPC_MoveChild1,
/*254482*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254485*/            OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*254487*/            OPC_CheckType, MVT::i64,
/*254489*/            OPC_MoveParent,
/*254490*/            OPC_MoveParent,
/*254491*/            OPC_MoveParent,
/*254492*/            OPC_RecordChild1, // #2 = $Rn
/*254493*/            OPC_RecordChild2, // #3 = $Rd
/*254494*/            OPC_CheckType, MVT::v2f64,
/*254496*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254498*/            OPC_EmitConvertToTarget, 1,
/*254500*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                          MVT::v2f64, 4/*#Ops*/, 3, 2, 0, 4, 
                      // Src: (fma:{ *:[v2f64] } (fneg:{ *:[v2f64] } (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)), V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254510*/          0, // EndSwitchOpcode
/*254511*/        /*Scope*/ 91, /*->254603*/
/*254512*/          OPC_RecordChild0, // #0 = $Rn
/*254513*/          OPC_MoveParent,
/*254514*/          OPC_MoveChild1,
/*254515*/          OPC_SwitchOpcode /*2 cases */, 49, TARGET_VAL(AArch64ISD::DUPLANE32),// ->254568
/*254519*/            OPC_RecordChild0, // #1 = $Rm
/*254520*/            OPC_CheckChild0Type, MVT::v4f32,
/*254522*/            OPC_RecordChild1, // #2 = $idx
/*254523*/            OPC_MoveChild1,
/*254524*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254527*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254529*/            OPC_CheckType, MVT::i64,
/*254531*/            OPC_MoveParent,
/*254532*/            OPC_MoveParent,
/*254533*/            OPC_RecordChild2, // #3 = $Rd
/*254534*/            OPC_SwitchType /*2 cases */, 14, MVT::v2f32,// ->254551
/*254537*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254539*/              OPC_EmitConvertToTarget, 2,
/*254541*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                            MVT::v2f32, 4/*#Ops*/, 3, 0, 1, 4, 
                        // Src: (fma:{ *:[v2f32] } (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn), (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rd) - Complexity = 13
                        // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254551*/            /*SwitchType*/ 14, MVT::v4f32,// ->254567
/*254553*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254555*/              OPC_EmitConvertToTarget, 2,
/*254557*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                            MVT::v4f32, 4/*#Ops*/, 3, 0, 1, 4, 
                        // Src: (fma:{ *:[v4f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn), (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rd) - Complexity = 13
                        // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254567*/            0, // EndSwitchType
/*254568*/          /*SwitchOpcode*/ 31, TARGET_VAL(AArch64ISD::DUPLANE64),// ->254602
/*254571*/            OPC_RecordChild0, // #1 = $Rm
/*254572*/            OPC_CheckChild0Type, MVT::v2f64,
/*254574*/            OPC_RecordChild1, // #2 = $idx
/*254575*/            OPC_MoveChild1,
/*254576*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254579*/            OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*254581*/            OPC_CheckType, MVT::i64,
/*254583*/            OPC_MoveParent,
/*254584*/            OPC_MoveParent,
/*254585*/            OPC_RecordChild2, // #3 = $Rd
/*254586*/            OPC_CheckType, MVT::v2f64,
/*254588*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254590*/            OPC_EmitConvertToTarget, 2,
/*254592*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                          MVT::v2f64, 4/*#Ops*/, 3, 0, 1, 4, 
                      // Src: (fma:{ *:[v2f64] } (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn), (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), V128:{ *:[v2f64] }:$Rd) - Complexity = 13
                      // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254602*/          0, // EndSwitchOpcode
/*254603*/        0, /*End of Scope*/
/*254604*/      0, // EndSwitchOpcode
/*254605*/    /*Scope*/ 94, /*->254700*/
/*254606*/      OPC_RecordChild0, // #0 = $Rn
/*254607*/      OPC_MoveChild1,
/*254608*/      OPC_SwitchOpcode /*2 cases */, 50, TARGET_VAL(AArch64ISD::DUPLANE32),// ->254662
/*254612*/        OPC_MoveChild0,
/*254613*/        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*254616*/        OPC_RecordChild0, // #1 = $Rm
/*254617*/        OPC_CheckType, MVT::v4f32,
/*254619*/        OPC_MoveParent,
/*254620*/        OPC_RecordChild1, // #2 = $idx
/*254621*/        OPC_MoveChild1,
/*254622*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254625*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254627*/        OPC_CheckType, MVT::i64,
/*254629*/        OPC_MoveParent,
/*254630*/        OPC_MoveParent,
/*254631*/        OPC_RecordChild2, // #3 = $Rd
/*254632*/        OPC_SwitchType /*2 cases */, 12, MVT::v2f32,// ->254647
/*254635*/          OPC_EmitConvertToTarget, 2,
/*254637*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                        MVT::v2f32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (AArch64duplane32:{ *:[v2f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254647*/        /*SwitchType*/ 12, MVT::v4f32,// ->254661
/*254649*/          OPC_EmitConvertToTarget, 2,
/*254651*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                        MVT::v4f32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (AArch64duplane32:{ *:[v4f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rd) - Complexity = 13
                    // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254661*/        0, // EndSwitchType
/*254662*/      /*SwitchOpcode*/ 34, TARGET_VAL(AArch64ISD::DUPLANE64),// ->254699
/*254665*/        OPC_MoveChild0,
/*254666*/        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*254669*/        OPC_RecordChild0, // #1 = $Rm
/*254670*/        OPC_CheckType, MVT::v2f64,
/*254672*/        OPC_MoveParent,
/*254673*/        OPC_RecordChild1, // #2 = $idx
/*254674*/        OPC_MoveChild1,
/*254675*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254678*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*254680*/        OPC_CheckType, MVT::i64,
/*254682*/        OPC_MoveParent,
/*254683*/        OPC_MoveParent,
/*254684*/        OPC_RecordChild2, // #3 = $Rd
/*254685*/        OPC_CheckType, MVT::v2f64,
/*254687*/        OPC_EmitConvertToTarget, 2,
/*254689*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                      MVT::v2f64, 4/*#Ops*/, 3, 0, 1, 4, 
                  // Src: (fma:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (AArch64duplane64:{ *:[v2f64] } (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm), (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), V128:{ *:[v2f64] }:$Rd) - Complexity = 13
                  // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254699*/      0, // EndSwitchOpcode
/*254700*/    /*Scope*/ 91, /*->254792*/
/*254701*/      OPC_MoveChild0,
/*254702*/      OPC_SwitchOpcode /*2 cases */, 50, TARGET_VAL(AArch64ISD::DUPLANE32),// ->254756
/*254706*/        OPC_RecordChild0, // #0 = $Rm
/*254707*/        OPC_CheckChild0Type, MVT::v4f32,
/*254709*/        OPC_RecordChild1, // #1 = $idx
/*254710*/        OPC_MoveChild1,
/*254711*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254714*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254716*/        OPC_CheckType, MVT::i64,
/*254718*/        OPC_MoveParent,
/*254719*/        OPC_MoveParent,
/*254720*/        OPC_RecordChild1, // #2 = $Rn
/*254721*/        OPC_RecordChild2, // #3 = $Rd
/*254722*/        OPC_SwitchType /*2 cases */, 14, MVT::v2f32,// ->254739
/*254725*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254727*/          OPC_EmitConvertToTarget, 1,
/*254729*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2i32_indexed), 0,
                        MVT::v2f32, 4/*#Ops*/, 3, 2, 0, 4, 
                    // Src: (fma:{ *:[v2f32] } (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rd) - Complexity = 10
                    // Dst: (FMLAv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254739*/        /*SwitchType*/ 14, MVT::v4f32,// ->254755
/*254741*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254743*/          OPC_EmitConvertToTarget, 1,
/*254745*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv4i32_indexed), 0,
                        MVT::v4f32, 4/*#Ops*/, 3, 2, 0, 4, 
                    // Src: (fma:{ *:[v4f32] } (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rd) - Complexity = 10
                    // Dst: (FMLAv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254755*/        0, // EndSwitchType
/*254756*/      /*SwitchOpcode*/ 32, TARGET_VAL(AArch64ISD::DUPLANE64),// ->254791
/*254759*/        OPC_RecordChild0, // #0 = $Rm
/*254760*/        OPC_CheckChild0Type, MVT::v2f64,
/*254762*/        OPC_RecordChild1, // #1 = $idx
/*254763*/        OPC_MoveChild1,
/*254764*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254767*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*254769*/        OPC_CheckType, MVT::i64,
/*254771*/        OPC_MoveParent,
/*254772*/        OPC_MoveParent,
/*254773*/        OPC_RecordChild1, // #2 = $Rn
/*254774*/        OPC_RecordChild2, // #3 = $Rd
/*254775*/        OPC_CheckType, MVT::v2f64,
/*254777*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254779*/        OPC_EmitConvertToTarget, 1,
/*254781*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2i64_indexed), 0,
                      MVT::v2f64, 4/*#Ops*/, 3, 2, 0, 4, 
                  // Src: (fma:{ *:[v2f64] } (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rd) - Complexity = 10
                  // Dst: (FMLAv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254791*/      0, // EndSwitchOpcode
/*254792*/    /*Scope*/ 82|128,1/*210*/, /*->255004*/
/*254794*/      OPC_RecordChild0, // #0 = $Rn
/*254795*/      OPC_MoveChild1,
/*254796*/      OPC_SwitchOpcode /*3 cases */, 49, TARGET_VAL(AArch64ISD::DUPLANE32),// ->254849
/*254800*/        OPC_RecordChild0, // #1 = $Rm
/*254801*/        OPC_CheckChild0Type, MVT::v4f32,
/*254803*/        OPC_RecordChild1, // #2 = $idx
/*254804*/        OPC_MoveChild1,
/*254805*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254808*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*254810*/        OPC_CheckType, MVT::i64,
/*254812*/        OPC_MoveParent,
/*254813*/        OPC_MoveParent,
/*254814*/        OPC_RecordChild2, // #3 = $Rd
/*254815*/        OPC_SwitchType /*2 cases */, 14, MVT::v2f32,// ->254832
/*254818*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254820*/          OPC_EmitConvertToTarget, 2,
/*254822*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2i32_indexed), 0,
                        MVT::v2f32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rd) - Complexity = 10
                    // Dst: (FMLAv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254832*/        /*SwitchType*/ 14, MVT::v4f32,// ->254848
/*254834*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254836*/          OPC_EmitConvertToTarget, 2,
/*254838*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv4i32_indexed), 0,
                        MVT::v4f32, 4/*#Ops*/, 3, 0, 1, 4, 
                    // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rd) - Complexity = 10
                    // Dst: (FMLAv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254848*/        0, // EndSwitchType
/*254849*/      /*SwitchOpcode*/ 31, TARGET_VAL(AArch64ISD::DUPLANE64),// ->254883
/*254852*/        OPC_RecordChild0, // #1 = $Rm
/*254853*/        OPC_CheckChild0Type, MVT::v2f64,
/*254855*/        OPC_RecordChild1, // #2 = $idx
/*254856*/        OPC_MoveChild1,
/*254857*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*254860*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*254862*/        OPC_CheckType, MVT::i64,
/*254864*/        OPC_MoveParent,
/*254865*/        OPC_MoveParent,
/*254866*/        OPC_RecordChild2, // #3 = $Rd
/*254867*/        OPC_CheckType, MVT::v2f64,
/*254869*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254871*/        OPC_EmitConvertToTarget, 2,
/*254873*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2i64_indexed), 0,
                      MVT::v2f64, 4/*#Ops*/, 3, 0, 1, 4, 
                  // Src: (fma:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), V128:{ *:[v2f64] }:$Rd) - Complexity = 10
                  // Dst: (FMLAv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)
/*254883*/      /*SwitchOpcode*/ 117, TARGET_VAL(ISD::FNEG),// ->255003
/*254886*/        OPC_MoveChild0,
/*254887*/        OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*254890*/        OPC_RecordChild0, // #1 = $Rm
/*254891*/        OPC_Scope, 71, /*->254964*/ // 2 children in Scope
/*254893*/          OPC_CheckChild0Type, MVT::f32,
/*254895*/          OPC_MoveParent,
/*254896*/          OPC_MoveParent,
/*254897*/          OPC_RecordChild2, // #2 = $Rd
/*254898*/          OPC_SwitchType /*2 cases */, 30, MVT::v2f32,// ->254931
/*254901*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254903*/            OPC_EmitInteger, MVT::i32, 0, 
/*254906*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*254909*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*254918*/            OPC_EmitInteger, MVT::i64, 0, 
/*254921*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                          MVT::v2f32, 4/*#Ops*/, 2, 0, 5, 6, 
                      // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (fneg:{ *:[v2f32] } (AArch64dup:{ *:[v2f32] } FPR32Op:{ *:[f32] }:$Rm)), V64:{ *:[v2f32] }:$Rd) - Complexity = 9
                      // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*254931*/          /*SwitchType*/ 30, MVT::v4f32,// ->254963
/*254933*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254935*/            OPC_EmitInteger, MVT::i32, 0, 
/*254938*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*254941*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*254950*/            OPC_EmitInteger, MVT::i64, 0, 
/*254953*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                          MVT::v4f32, 4/*#Ops*/, 2, 0, 5, 6, 
                      // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (fneg:{ *:[v4f32] } (AArch64dup:{ *:[v4f32] } FPR32Op:{ *:[f32] }:$Rm)), V128:{ *:[v4f32] }:$Rd) - Complexity = 9
                      // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*254963*/          0, // EndSwitchType
/*254964*/        /*Scope*/ 37, /*->255002*/
/*254965*/          OPC_CheckChild0Type, MVT::f64,
/*254967*/          OPC_MoveParent,
/*254968*/          OPC_MoveParent,
/*254969*/          OPC_RecordChild2, // #2 = $Rd
/*254970*/          OPC_CheckType, MVT::v2f64,
/*254972*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*254974*/          OPC_EmitInteger, MVT::i32, 0, 
/*254977*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*254980*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*254989*/          OPC_EmitInteger, MVT::i64, 0, 
/*254992*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                        MVT::v2f64, 4/*#Ops*/, 2, 0, 5, 6, 
                    // Src: (fma:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (fneg:{ *:[v2f64] } (AArch64dup:{ *:[v2f64] } FPR64Op:{ *:[f64] }:$Rm)), V128:{ *:[v2f64] }:$Rd) - Complexity = 9
                    // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR64Op:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*255002*/        0, /*End of Scope*/
/*255003*/      0, // EndSwitchOpcode
/*255004*/    /*Scope*/ 105|128,3/*489*/, /*->255495*/
/*255006*/      OPC_MoveChild0,
/*255007*/      OPC_SwitchOpcode /*2 cases */, 110|128,1/*238*/, TARGET_VAL(AArch64ISD::DUP),// ->255250
/*255012*/        OPC_Scope, 123, /*->255137*/ // 2 children in Scope
/*255014*/          OPC_RecordChild0, // #0 = $Rm
/*255015*/          OPC_Scope, 76, /*->255093*/ // 2 children in Scope
/*255017*/            OPC_CheckChild0Type, MVT::f32,
/*255019*/            OPC_MoveParent,
/*255020*/            OPC_MoveChild1,
/*255021*/            OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*255024*/            OPC_RecordChild0, // #1 = $Rn
/*255025*/            OPC_MoveParent,
/*255026*/            OPC_RecordChild2, // #2 = $Rd
/*255027*/            OPC_SwitchType /*2 cases */, 30, MVT::v2f32,// ->255060
/*255030*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255032*/              OPC_EmitInteger, MVT::i32, 0, 
/*255035*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255038*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255047*/              OPC_EmitInteger, MVT::i64, 0, 
/*255050*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                            MVT::v2f32, 4/*#Ops*/, 2, 1, 5, 6, 
                        // Src: (fma:{ *:[v2f32] } (AArch64dup:{ *:[v2f32] } FPR32Op:{ *:[f32] }:$Rm), (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn), V64:{ *:[v2f32] }:$Rd) - Complexity = 9
                        // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255060*/            /*SwitchType*/ 30, MVT::v4f32,// ->255092
/*255062*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255064*/              OPC_EmitInteger, MVT::i32, 0, 
/*255067*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255070*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255079*/              OPC_EmitInteger, MVT::i64, 0, 
/*255082*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                            MVT::v4f32, 4/*#Ops*/, 2, 1, 5, 6, 
                        // Src: (fma:{ *:[v4f32] } (AArch64dup:{ *:[v4f32] } FPR32Op:{ *:[f32] }:$Rm), (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn), V128:{ *:[v4f32] }:$Rd) - Complexity = 9
                        // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255092*/            0, // EndSwitchType
/*255093*/          /*Scope*/ 42, /*->255136*/
/*255094*/            OPC_CheckChild0Type, MVT::f64,
/*255096*/            OPC_MoveParent,
/*255097*/            OPC_MoveChild1,
/*255098*/            OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*255101*/            OPC_RecordChild0, // #1 = $Rn
/*255102*/            OPC_MoveParent,
/*255103*/            OPC_RecordChild2, // #2 = $Rd
/*255104*/            OPC_CheckType, MVT::v2f64,
/*255106*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255108*/            OPC_EmitInteger, MVT::i32, 0, 
/*255111*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*255114*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255123*/            OPC_EmitInteger, MVT::i64, 0, 
/*255126*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                          MVT::v2f64, 4/*#Ops*/, 2, 1, 5, 6, 
                      // Src: (fma:{ *:[v2f64] } (AArch64dup:{ *:[v2f64] } FPR64Op:{ *:[f64] }:$Rm), (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn), V128:{ *:[v2f64] }:$Rd) - Complexity = 9
                      // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR64Op:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*255136*/          0, /*End of Scope*/
/*255137*/        /*Scope*/ 111, /*->255249*/
/*255138*/          OPC_MoveChild0,
/*255139*/          OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*255142*/          OPC_RecordChild0, // #0 = $Rm
/*255143*/          OPC_SwitchType /*2 cases */, 66, MVT::f32,// ->255212
/*255146*/            OPC_MoveParent,
/*255147*/            OPC_MoveParent,
/*255148*/            OPC_RecordChild1, // #1 = $Rn
/*255149*/            OPC_RecordChild2, // #2 = $Rd
/*255150*/            OPC_SwitchType /*2 cases */, 28, MVT::v2f32,// ->255181
/*255153*/              OPC_EmitInteger, MVT::i32, 0, 
/*255156*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255159*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255168*/              OPC_EmitInteger, MVT::i64, 0, 
/*255171*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                            MVT::v2f32, 4/*#Ops*/, 2, 1, 5, 6, 
                        // Src: (fma:{ *:[v2f32] } (AArch64dup:{ *:[v2f32] } (fneg:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rm)), V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rd) - Complexity = 9
                        // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255181*/            /*SwitchType*/ 28, MVT::v4f32,// ->255211
/*255183*/              OPC_EmitInteger, MVT::i32, 0, 
/*255186*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255189*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255198*/              OPC_EmitInteger, MVT::i64, 0, 
/*255201*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                            MVT::v4f32, 4/*#Ops*/, 2, 1, 5, 6, 
                        // Src: (fma:{ *:[v4f32] } (AArch64dup:{ *:[v4f32] } (fneg:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rm)), V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rd) - Complexity = 9
                        // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255211*/            0, // EndSwitchType
/*255212*/          /*SwitchType*/ 34, MVT::f64,// ->255248
/*255214*/            OPC_MoveParent,
/*255215*/            OPC_MoveParent,
/*255216*/            OPC_RecordChild1, // #1 = $Rn
/*255217*/            OPC_RecordChild2, // #2 = $Rd
/*255218*/            OPC_CheckType, MVT::v2f64,
/*255220*/            OPC_EmitInteger, MVT::i32, 0, 
/*255223*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*255226*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255235*/            OPC_EmitInteger, MVT::i64, 0, 
/*255238*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                          MVT::v2f64, 4/*#Ops*/, 2, 1, 5, 6, 
                      // Src: (fma:{ *:[v2f64] } (AArch64dup:{ *:[v2f64] } (fneg:{ *:[f64] } FPR64Op:{ *:[f64] }:$Rm)), V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rd) - Complexity = 9
                      // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR64Op:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*255248*/          0, // EndSwitchType
/*255249*/        0, /*End of Scope*/
/*255250*/      /*SwitchOpcode*/ 112|128,1/*240*/, TARGET_VAL(ISD::FNEG),// ->255494
/*255254*/        OPC_Scope, 119, /*->255375*/ // 2 children in Scope
/*255256*/          OPC_MoveChild0,
/*255257*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*255260*/          OPC_RecordChild0, // #0 = $Rm
/*255261*/          OPC_Scope, 72, /*->255335*/ // 2 children in Scope
/*255263*/            OPC_CheckChild0Type, MVT::f32,
/*255265*/            OPC_MoveParent,
/*255266*/            OPC_MoveParent,
/*255267*/            OPC_RecordChild1, // #1 = $Rn
/*255268*/            OPC_RecordChild2, // #2 = $Rd
/*255269*/            OPC_SwitchType /*2 cases */, 30, MVT::v2f32,// ->255302
/*255272*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255274*/              OPC_EmitInteger, MVT::i32, 0, 
/*255277*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255280*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255289*/              OPC_EmitInteger, MVT::i64, 0, 
/*255292*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                            MVT::v2f32, 4/*#Ops*/, 2, 1, 5, 6, 
                        // Src: (fma:{ *:[v2f32] } (fneg:{ *:[v2f32] } (AArch64dup:{ *:[v2f32] } FPR32Op:{ *:[f32] }:$Rm)), V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rd) - Complexity = 9
                        // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255302*/            /*SwitchType*/ 30, MVT::v4f32,// ->255334
/*255304*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255306*/              OPC_EmitInteger, MVT::i32, 0, 
/*255309*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255312*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255321*/              OPC_EmitInteger, MVT::i64, 0, 
/*255324*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                            MVT::v4f32, 4/*#Ops*/, 2, 1, 5, 6, 
                        // Src: (fma:{ *:[v4f32] } (fneg:{ *:[v4f32] } (AArch64dup:{ *:[v4f32] } FPR32Op:{ *:[f32] }:$Rm)), V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rd) - Complexity = 9
                        // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255334*/            0, // EndSwitchType
/*255335*/          /*Scope*/ 38, /*->255374*/
/*255336*/            OPC_CheckChild0Type, MVT::f64,
/*255338*/            OPC_MoveParent,
/*255339*/            OPC_MoveParent,
/*255340*/            OPC_RecordChild1, // #1 = $Rn
/*255341*/            OPC_RecordChild2, // #2 = $Rd
/*255342*/            OPC_CheckType, MVT::v2f64,
/*255344*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255346*/            OPC_EmitInteger, MVT::i32, 0, 
/*255349*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*255352*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255361*/            OPC_EmitInteger, MVT::i64, 0, 
/*255364*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                          MVT::v2f64, 4/*#Ops*/, 2, 1, 5, 6, 
                      // Src: (fma:{ *:[v2f64] } (fneg:{ *:[v2f64] } (AArch64dup:{ *:[v2f64] } FPR64Op:{ *:[f64] }:$Rm)), V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rd) - Complexity = 9
                      // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR64Op:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*255374*/          0, /*End of Scope*/
/*255375*/        /*Scope*/ 117, /*->255493*/
/*255376*/          OPC_RecordChild0, // #0 = $Rn
/*255377*/          OPC_MoveParent,
/*255378*/          OPC_MoveChild1,
/*255379*/          OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*255382*/          OPC_RecordChild0, // #1 = $Rm
/*255383*/          OPC_Scope, 70, /*->255455*/ // 2 children in Scope
/*255385*/            OPC_CheckChild0Type, MVT::f32,
/*255387*/            OPC_MoveParent,
/*255388*/            OPC_RecordChild2, // #2 = $Rd
/*255389*/            OPC_SwitchType /*2 cases */, 30, MVT::v2f32,// ->255422
/*255392*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255394*/              OPC_EmitInteger, MVT::i32, 0, 
/*255397*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255400*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255409*/              OPC_EmitInteger, MVT::i64, 0, 
/*255412*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                            MVT::v2f32, 4/*#Ops*/, 2, 0, 5, 6, 
                        // Src: (fma:{ *:[v2f32] } (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn), (AArch64dup:{ *:[v2f32] } FPR32Op:{ *:[f32] }:$Rm), V64:{ *:[v2f32] }:$Rd) - Complexity = 9
                        // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255422*/            /*SwitchType*/ 30, MVT::v4f32,// ->255454
/*255424*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255426*/              OPC_EmitInteger, MVT::i32, 0, 
/*255429*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255432*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255441*/              OPC_EmitInteger, MVT::i64, 0, 
/*255444*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                            MVT::v4f32, 4/*#Ops*/, 2, 0, 5, 6, 
                        // Src: (fma:{ *:[v4f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn), (AArch64dup:{ *:[v4f32] } FPR32Op:{ *:[f32] }:$Rm), V128:{ *:[v4f32] }:$Rd) - Complexity = 9
                        // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255454*/            0, // EndSwitchType
/*255455*/          /*Scope*/ 36, /*->255492*/
/*255456*/            OPC_CheckChild0Type, MVT::f64,
/*255458*/            OPC_MoveParent,
/*255459*/            OPC_RecordChild2, // #2 = $Rd
/*255460*/            OPC_CheckType, MVT::v2f64,
/*255462*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255464*/            OPC_EmitInteger, MVT::i32, 0, 
/*255467*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*255470*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255479*/            OPC_EmitInteger, MVT::i64, 0, 
/*255482*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                          MVT::v2f64, 4/*#Ops*/, 2, 0, 5, 6, 
                      // Src: (fma:{ *:[v2f64] } (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn), (AArch64dup:{ *:[v2f64] } FPR64Op:{ *:[f64] }:$Rm), V128:{ *:[v2f64] }:$Rd) - Complexity = 9
                      // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR64Op:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*255492*/          0, /*End of Scope*/
/*255493*/        0, /*End of Scope*/
/*255494*/      0, // EndSwitchOpcode
/*255495*/    /*Scope*/ 61|128,1/*189*/, /*->255686*/
/*255497*/      OPC_RecordChild0, // #0 = $Rn
/*255498*/      OPC_MoveChild1,
/*255499*/      OPC_SwitchOpcode /*2 cases */, 109, TARGET_VAL(AArch64ISD::DUP),// ->255612
/*255503*/        OPC_MoveChild0,
/*255504*/        OPC_CheckOpcode, TARGET_VAL(ISD::FNEG),
/*255507*/        OPC_RecordChild0, // #1 = $Rm
/*255508*/        OPC_SwitchType /*2 cases */, 65, MVT::f32,// ->255576
/*255511*/          OPC_MoveParent,
/*255512*/          OPC_MoveParent,
/*255513*/          OPC_RecordChild2, // #2 = $Rd
/*255514*/          OPC_SwitchType /*2 cases */, 28, MVT::v2f32,// ->255545
/*255517*/            OPC_EmitInteger, MVT::i32, 0, 
/*255520*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255523*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255532*/            OPC_EmitInteger, MVT::i64, 0, 
/*255535*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i32_indexed), 0,
                          MVT::v2f32, 4/*#Ops*/, 2, 0, 5, 6, 
                      // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (AArch64dup:{ *:[v2f32] } (fneg:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rm)), V64:{ *:[v2f32] }:$Rd) - Complexity = 9
                      // Dst: (FMLSv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255545*/          /*SwitchType*/ 28, MVT::v4f32,// ->255575
/*255547*/            OPC_EmitInteger, MVT::i32, 0, 
/*255550*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255553*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255562*/            OPC_EmitInteger, MVT::i64, 0, 
/*255565*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4i32_indexed), 0,
                          MVT::v4f32, 4/*#Ops*/, 2, 0, 5, 6, 
                      // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (AArch64dup:{ *:[v4f32] } (fneg:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rm)), V128:{ *:[v4f32] }:$Rd) - Complexity = 9
                      // Dst: (FMLSv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255575*/          0, // EndSwitchType
/*255576*/        /*SwitchType*/ 33, MVT::f64,// ->255611
/*255578*/          OPC_MoveParent,
/*255579*/          OPC_MoveParent,
/*255580*/          OPC_RecordChild2, // #2 = $Rd
/*255581*/          OPC_CheckType, MVT::v2f64,
/*255583*/          OPC_EmitInteger, MVT::i32, 0, 
/*255586*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*255589*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255598*/          OPC_EmitInteger, MVT::i64, 0, 
/*255601*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2i64_indexed), 0,
                        MVT::v2f64, 4/*#Ops*/, 2, 0, 5, 6, 
                    // Src: (fma:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (AArch64dup:{ *:[v2f64] } (fneg:{ *:[f64] } FPR64Op:{ *:[f64] }:$Rm)), V128:{ *:[v2f64] }:$Rd) - Complexity = 9
                    // Dst: (FMLSv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR64Op:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*255611*/        0, // EndSwitchType
/*255612*/      /*SwitchOpcode*/ 70, TARGET_VAL(ISD::FNEG),// ->255685
/*255615*/        OPC_RecordChild0, // #1 = $Rm
/*255616*/        OPC_MoveParent,
/*255617*/        OPC_RecordChild2, // #2 = $Rd
/*255618*/        OPC_SwitchType /*5 cases */, 11, MVT::v4f16,// ->255632
/*255621*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*255623*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4f16), 0,
                        MVT::v4f16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (fma:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, (fneg:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rm), V64:{ *:[v4f16] }:$Rd) - Complexity = 6
                    // Dst: (FMLSv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*255632*/        /*SwitchType*/ 11, MVT::v8f16,// ->255645
/*255634*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*255636*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv8f16), 0,
                        MVT::v8f16, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (fma:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, (fneg:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rm), V128:{ *:[v8f16] }:$Rd) - Complexity = 6
                    // Dst: (FMLSv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*255645*/        /*SwitchType*/ 11, MVT::v2f32,// ->255658
/*255647*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255649*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2f32), 0,
                        MVT::v2f32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rm), V64:{ *:[v2f32] }:$Rd) - Complexity = 6
                    // Dst: (FMLSv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*255658*/        /*SwitchType*/ 11, MVT::v4f32,// ->255671
/*255660*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255662*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4f32), 0,
                        MVT::v4f32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm), V128:{ *:[v4f32] }:$Rd) - Complexity = 6
                    // Dst: (FMLSv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*255671*/        /*SwitchType*/ 11, MVT::v2f64,// ->255684
/*255673*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255675*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2f64), 0,
                        MVT::v2f64, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (fma:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm), V128:{ *:[v2f64] }:$Rd) - Complexity = 6
                    // Dst: (FMLSv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*255684*/        0, // EndSwitchType
/*255685*/      0, // EndSwitchOpcode
/*255686*/    /*Scope*/ 33|128,1/*161*/, /*->255849*/
/*255688*/      OPC_MoveChild0,
/*255689*/      OPC_SwitchOpcode /*2 cases */, 39, TARGET_VAL(ISD::FNEG),// ->255732
/*255693*/        OPC_RecordChild0, // #0 = $Rn
/*255694*/        OPC_MoveParent,
/*255695*/        OPC_RecordChild1, // #1 = $Rm
/*255696*/        OPC_RecordChild2, // #2 = $Rd
/*255697*/        OPC_SwitchType /*3 cases */, 9, MVT::v2f32,// ->255709
/*255700*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2f32), 0,
                        MVT::v2f32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (fma:{ *:[v2f32] } (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn), V64:{ *:[v2f32] }:$Rm, V64:{ *:[v2f32] }:$Rd) - Complexity = 6
                    // Dst: (FMLSv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*255709*/        /*SwitchType*/ 9, MVT::v4f32,// ->255720
/*255711*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv4f32), 0,
                        MVT::v4f32, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (fma:{ *:[v4f32] } (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn), V128:{ *:[v4f32] }:$Rm, V128:{ *:[v4f32] }:$Rd) - Complexity = 6
                    // Dst: (FMLSv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*255720*/        /*SwitchType*/ 9, MVT::v2f64,// ->255731
/*255722*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLSv2f64), 0,
                        MVT::v2f64, 3/*#Ops*/, 2, 0, 1, 
                    // Src: (fma:{ *:[v2f64] } (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn), V128:{ *:[v2f64] }:$Rm, V128:{ *:[v2f64] }:$Rd) - Complexity = 6
                    // Dst: (FMLSv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*255731*/        0, // EndSwitchType
/*255732*/      /*SwitchOpcode*/ 113, TARGET_VAL(AArch64ISD::DUP),// ->255848
/*255735*/        OPC_RecordChild0, // #0 = $Rm
/*255736*/        OPC_Scope, 71, /*->255809*/ // 2 children in Scope
/*255738*/          OPC_CheckChild0Type, MVT::f32,
/*255740*/          OPC_MoveParent,
/*255741*/          OPC_RecordChild1, // #1 = $Rn
/*255742*/          OPC_RecordChild2, // #2 = $Rd
/*255743*/          OPC_SwitchType /*2 cases */, 30, MVT::v2f32,// ->255776
/*255746*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255748*/            OPC_EmitInteger, MVT::i32, 0, 
/*255751*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255754*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255763*/            OPC_EmitInteger, MVT::i64, 0, 
/*255766*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2i32_indexed), 0,
                          MVT::v2f32, 4/*#Ops*/, 2, 1, 5, 6, 
                      // Src: (fma:{ *:[v2f32] } (AArch64dup:{ *:[v2f32] } FPR32Op:{ *:[f32] }:$Rm), V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rd) - Complexity = 6
                      // Dst: (FMLAv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255776*/          /*SwitchType*/ 30, MVT::v4f32,// ->255808
/*255778*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255780*/            OPC_EmitInteger, MVT::i32, 0, 
/*255783*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255786*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255795*/            OPC_EmitInteger, MVT::i64, 0, 
/*255798*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv4i32_indexed), 0,
                          MVT::v4f32, 4/*#Ops*/, 2, 1, 5, 6, 
                      // Src: (fma:{ *:[v4f32] } (AArch64dup:{ *:[v4f32] } FPR32Op:{ *:[f32] }:$Rm), V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rd) - Complexity = 6
                      // Dst: (FMLAv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255808*/          0, // EndSwitchType
/*255809*/        /*Scope*/ 37, /*->255847*/
/*255810*/          OPC_CheckChild0Type, MVT::f64,
/*255812*/          OPC_MoveParent,
/*255813*/          OPC_RecordChild1, // #1 = $Rn
/*255814*/          OPC_RecordChild2, // #2 = $Rd
/*255815*/          OPC_CheckType, MVT::v2f64,
/*255817*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255819*/          OPC_EmitInteger, MVT::i32, 0, 
/*255822*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*255825*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*255834*/          OPC_EmitInteger, MVT::i64, 0, 
/*255837*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2i64_indexed), 0,
                        MVT::v2f64, 4/*#Ops*/, 2, 1, 5, 6, 
                    // Src: (fma:{ *:[v2f64] } (AArch64dup:{ *:[v2f64] } FPR64Op:{ *:[f64] }:$Rm), V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rd) - Complexity = 6
                    // Dst: (FMLAv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR64Op:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*255847*/        0, /*End of Scope*/
/*255848*/      0, // EndSwitchOpcode
/*255849*/    /*Scope*/ 61|128,1/*189*/, /*->256040*/
/*255851*/      OPC_RecordChild0, // #0 = $Rn
/*255852*/      OPC_Scope, 115, /*->255969*/ // 2 children in Scope
/*255854*/        OPC_MoveChild1,
/*255855*/        OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*255858*/        OPC_RecordChild0, // #1 = $Rm
/*255859*/        OPC_Scope, 70, /*->255931*/ // 2 children in Scope
/*255861*/          OPC_CheckChild0Type, MVT::f32,
/*255863*/          OPC_MoveParent,
/*255864*/          OPC_RecordChild2, // #2 = $Rd
/*255865*/          OPC_SwitchType /*2 cases */, 30, MVT::v2f32,// ->255898
/*255868*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255870*/            OPC_EmitInteger, MVT::i32, 0, 
/*255873*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255876*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255885*/            OPC_EmitInteger, MVT::i64, 0, 
/*255888*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2i32_indexed), 0,
                          MVT::v2f32, 4/*#Ops*/, 2, 0, 5, 6, 
                      // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (AArch64dup:{ *:[v2f32] } FPR32Op:{ *:[f32] }:$Rm), V64:{ *:[v2f32] }:$Rd) - Complexity = 6
                      // Dst: (FMLAv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255898*/          /*SwitchType*/ 30, MVT::v4f32,// ->255930
/*255900*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255902*/            OPC_EmitInteger, MVT::i32, 0, 
/*255905*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*255908*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255917*/            OPC_EmitInteger, MVT::i64, 0, 
/*255920*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv4i32_indexed), 0,
                          MVT::v4f32, 4/*#Ops*/, 2, 0, 5, 6, 
                      // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (AArch64dup:{ *:[v4f32] } FPR32Op:{ *:[f32] }:$Rm), V128:{ *:[v4f32] }:$Rd) - Complexity = 6
                      // Dst: (FMLAv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR32Op:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*255930*/          0, // EndSwitchType
/*255931*/        /*Scope*/ 36, /*->255968*/
/*255932*/          OPC_CheckChild0Type, MVT::f64,
/*255934*/          OPC_MoveParent,
/*255935*/          OPC_RecordChild2, // #2 = $Rd
/*255936*/          OPC_CheckType, MVT::v2f64,
/*255938*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*255940*/          OPC_EmitInteger, MVT::i32, 0, 
/*255943*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*255946*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*255955*/          OPC_EmitInteger, MVT::i64, 0, 
/*255958*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2i64_indexed), 0,
                        MVT::v2f64, 4/*#Ops*/, 2, 0, 5, 6, 
                    // Src: (fma:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (AArch64dup:{ *:[v2f64] } FPR64Op:{ *:[f64] }:$Rm), V128:{ *:[v2f64] }:$Rd) - Complexity = 6
                    // Dst: (FMLAv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, FPR64Op:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*255968*/        0, /*End of Scope*/
/*255969*/      /*Scope*/ 69, /*->256039*/
/*255970*/        OPC_RecordChild1, // #1 = $Rn
/*255971*/        OPC_RecordChild2, // #2 = $Rd
/*255972*/        OPC_SwitchType /*5 cases */, 11, MVT::v4f16,// ->255986
/*255975*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*255977*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv4f16), 0,
                        MVT::v4f16, 3/*#Ops*/, 2, 1, 0, 
                    // Src: (fma:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rm, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rd) - Complexity = 3
                    // Dst: (FMLAv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rd, V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*255986*/        /*SwitchType*/ 11, MVT::v8f16,// ->255999
/*255988*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*255990*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv8f16), 0,
                        MVT::v8f16, 3/*#Ops*/, 2, 1, 0, 
                    // Src: (fma:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rm, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rd) - Complexity = 3
                    // Dst: (FMLAv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rd, V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*255999*/        /*SwitchType*/ 11, MVT::v2f32,// ->256012
/*256001*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*256003*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2f32), 0,
                        MVT::v2f32, 3/*#Ops*/, 2, 1, 0, 
                    // Src: (fma:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rm, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rd) - Complexity = 3
                    // Dst: (FMLAv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*256012*/        /*SwitchType*/ 11, MVT::v4f32,// ->256025
/*256014*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*256016*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv4f32), 0,
                        MVT::v4f32, 3/*#Ops*/, 2, 1, 0, 
                    // Src: (fma:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rd) - Complexity = 3
                    // Dst: (FMLAv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rd, V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*256025*/        /*SwitchType*/ 11, MVT::v2f64,// ->256038
/*256027*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*256029*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMLAv2f64), 0,
                        MVT::v2f64, 3/*#Ops*/, 2, 1, 0, 
                    // Src: (fma:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rd) - Complexity = 3
                    // Dst: (FMLAv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rd, V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*256038*/        0, // EndSwitchType
/*256039*/      0, /*End of Scope*/
/*256040*/    0, /*End of Scope*/
/*256041*/  /*SwitchOpcode*/ 16|128,8/*1040*/, TARGET_VAL(ISD::UINT_TO_FP),// ->257085
/*256045*/    OPC_Scope, 117|128,6/*885*/, /*->256933*/ // 2 children in Scope
/*256048*/      OPC_MoveChild0,
/*256049*/      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*256052*/      OPC_RecordMemRef,
/*256053*/      OPC_RecordNode, // #0 = 'ld' chained node
/*256054*/      OPC_RecordChild1, // #1 = $ro_Windexed8:Rn:Rm:extend
/*256055*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*256057*/      OPC_CheckType, MVT::i32,
/*256059*/      OPC_Scope, 100|128,2/*356*/, /*->256418*/ // 4 children in Scope
/*256062*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*256064*/        OPC_Scope, 87, /*->256153*/ // 4 children in Scope
/*256066*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*256068*/          OPC_MoveParent,
/*256069*/          OPC_CheckType, MVT::f32,
/*256071*/          OPC_Scope, 39, /*->256112*/ // 2 children in Scope
/*256073*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*256076*/            OPC_EmitMergeInputChains1_0,
/*256077*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f32, 0/*#Ops*/,  // Results = #6
/*256083*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256093*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*256096*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f32, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256105*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 9, 
                      // Src: (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>) - Complexity = 22
                      // Dst: (UCVTFv1i32:{ *:[f32] } (INSERT_SUBREG:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), (LDRBroW:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend), bsub:{ *:[i32] }))
/*256112*/          /*Scope*/ 39, /*->256152*/
/*256113*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*256116*/            OPC_EmitMergeInputChains1_0,
/*256117*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f32, 0/*#Ops*/,  // Results = #6
/*256123*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256133*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*256136*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f32, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256145*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 9, 
                      // Src: (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>) - Complexity = 22
                      // Dst: (UCVTFv1i32:{ *:[f32] } (INSERT_SUBREG:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), (LDRBroX:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend), bsub:{ *:[i32] }))
/*256152*/          0, /*End of Scope*/
/*256153*/        /*Scope*/ 87, /*->256241*/
/*256154*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*256156*/          OPC_MoveParent,
/*256157*/          OPC_CheckType, MVT::f32,
/*256159*/          OPC_Scope, 39, /*->256200*/ // 2 children in Scope
/*256161*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*256164*/            OPC_EmitMergeInputChains1_0,
/*256165*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f32, 0/*#Ops*/,  // Results = #6
/*256171*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256181*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*256184*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f32, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256193*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 9, 
                      // Src: (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>>) - Complexity = 22
                      // Dst: (UCVTFv1i32:{ *:[f32] } (INSERT_SUBREG:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend), hsub:{ *:[i32] }))
/*256200*/          /*Scope*/ 39, /*->256240*/
/*256201*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*256204*/            OPC_EmitMergeInputChains1_0,
/*256205*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f32, 0/*#Ops*/,  // Results = #6
/*256211*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256221*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*256224*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f32, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256233*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 9, 
                      // Src: (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>>) - Complexity = 22
                      // Dst: (UCVTFv1i32:{ *:[f32] } (INSERT_SUBREG:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend), hsub:{ *:[i32] }))
/*256240*/          0, /*End of Scope*/
/*256241*/        /*Scope*/ 87, /*->256329*/
/*256242*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*256244*/          OPC_MoveParent,
/*256245*/          OPC_CheckType, MVT::f64,
/*256247*/          OPC_Scope, 39, /*->256288*/ // 2 children in Scope
/*256249*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*256252*/            OPC_EmitMergeInputChains1_0,
/*256253*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #6
/*256259*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256269*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*256272*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256281*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 9, 
                      // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>) - Complexity = 22
                      // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRBroW:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend), bsub:{ *:[i32] }))
/*256288*/          /*Scope*/ 39, /*->256328*/
/*256289*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*256292*/            OPC_EmitMergeInputChains1_0,
/*256293*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #6
/*256299*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256309*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*256312*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256321*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 9, 
                      // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Wextend8:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>) - Complexity = 22
                      // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRBroX:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$extend), bsub:{ *:[i32] }))
/*256328*/          0, /*End of Scope*/
/*256329*/        /*Scope*/ 87, /*->256417*/
/*256330*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*256332*/          OPC_MoveParent,
/*256333*/          OPC_CheckType, MVT::f64,
/*256335*/          OPC_Scope, 39, /*->256376*/ // 2 children in Scope
/*256337*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*256340*/            OPC_EmitMergeInputChains1_0,
/*256341*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #6
/*256347*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256357*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*256360*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256369*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 9, 
                      // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>>) - Complexity = 22
                      // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend), hsub:{ *:[i32] }))
/*256376*/          /*Scope*/ 39, /*->256416*/
/*256377*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*256380*/            OPC_EmitMergeInputChains1_0,
/*256381*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #6
/*256387*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256397*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*256400*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256409*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 9, 
                      // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Wextend16:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>>) - Complexity = 22
                      // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$extend), hsub:{ *:[i32] }))
/*256416*/          0, /*End of Scope*/
/*256417*/        0, /*End of Scope*/
/*256418*/      /*Scope*/ 87, /*->256506*/
/*256419*/        OPC_CheckPredicate, 37, // Predicate_load
/*256421*/        OPC_MoveParent,
/*256422*/        OPC_CheckType, MVT::f64,
/*256424*/        OPC_Scope, 39, /*->256465*/ // 2 children in Scope
/*256426*/          OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*256429*/          OPC_EmitMergeInputChains1_0,
/*256430*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #6
/*256436*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256446*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*256449*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256458*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                        MVT::f64, 1/*#Ops*/, 9, 
                    // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 22
                    // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRSroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend), ssub:{ *:[i32] }))
/*256465*/        /*Scope*/ 39, /*->256505*/
/*256466*/          OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*256469*/          OPC_EmitMergeInputChains1_0,
/*256470*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #6
/*256476*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*256486*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*256489*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*256498*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                        MVT::f64, 1/*#Ops*/, 9, 
                    // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Wextend32:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 22
                    // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRSroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$extend), ssub:{ *:[i32] }))
/*256505*/        0, /*End of Scope*/
/*256506*/      /*Scope*/ 84|128,2/*340*/, /*->256848*/
/*256508*/        OPC_CheckPredicate, 7, // Predicate_zextload
/*256510*/        OPC_Scope, 83, /*->256595*/ // 4 children in Scope
/*256512*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*256514*/          OPC_MoveParent,
/*256515*/          OPC_CheckType, MVT::f32,
/*256517*/          OPC_Scope, 37, /*->256556*/ // 2 children in Scope
/*256519*/            OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*256522*/            OPC_EmitMergeInputChains1_0,
/*256523*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f32, 0/*#Ops*/,  // Results = #4
/*256529*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 2/*#Ops*/, 2, 3,  // Results = #5
/*256537*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*256540*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f32, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256549*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 7, 
                      // Src: (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>) - Complexity = 16
                      // Dst: (UCVTFv1i32:{ *:[f32] } (INSERT_SUBREG:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), (LDRBui:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), bsub:{ *:[i32] }))
/*256556*/          /*Scope*/ 37, /*->256594*/
/*256557*/            OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*256560*/            OPC_EmitMergeInputChains1_0,
/*256561*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f32, 0/*#Ops*/,  // Results = #4
/*256567*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 2/*#Ops*/, 2, 3,  // Results = #5
/*256575*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*256578*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f32, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256587*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 7, 
                      // Src: (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>) - Complexity = 16
                      // Dst: (UCVTFv1i32:{ *:[f32] } (INSERT_SUBREG:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), (LDURBi:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), bsub:{ *:[i32] }))
/*256594*/          0, /*End of Scope*/
/*256595*/        /*Scope*/ 83, /*->256679*/
/*256596*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*256598*/          OPC_MoveParent,
/*256599*/          OPC_CheckType, MVT::f32,
/*256601*/          OPC_Scope, 37, /*->256640*/ // 2 children in Scope
/*256603*/            OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*256606*/            OPC_EmitMergeInputChains1_0,
/*256607*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f32, 0/*#Ops*/,  // Results = #4
/*256613*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*256621*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*256624*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f32, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256633*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 7, 
                      // Src: (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>>) - Complexity = 16
                      // Dst: (UCVTFv1i32:{ *:[f32] } (INSERT_SUBREG:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), (LDRHui:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), hsub:{ *:[i32] }))
/*256640*/          /*Scope*/ 37, /*->256678*/
/*256641*/            OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*256644*/            OPC_EmitMergeInputChains1_0,
/*256645*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f32, 0/*#Ops*/,  // Results = #4
/*256651*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*256659*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*256662*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f32, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256671*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 7, 
                      // Src: (uint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>>) - Complexity = 16
                      // Dst: (UCVTFv1i32:{ *:[f32] } (INSERT_SUBREG:{ *:[f32] } (IMPLICIT_DEF:{ *:[f32] }), (LDURHi:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), hsub:{ *:[i32] }))
/*256678*/          0, /*End of Scope*/
/*256679*/        /*Scope*/ 83, /*->256763*/
/*256680*/          OPC_CheckPredicate, 6, // Predicate_zextloadi8
/*256682*/          OPC_MoveParent,
/*256683*/          OPC_CheckType, MVT::f64,
/*256685*/          OPC_Scope, 37, /*->256724*/ // 2 children in Scope
/*256687*/            OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*256690*/            OPC_EmitMergeInputChains1_0,
/*256691*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #4
/*256697*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 2/*#Ops*/, 2, 3,  // Results = #5
/*256705*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*256708*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256717*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 7, 
                      // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>) - Complexity = 16
                      // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRBui:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), bsub:{ *:[i32] }))
/*256724*/          /*Scope*/ 37, /*->256762*/
/*256725*/            OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*256728*/            OPC_EmitMergeInputChains1_0,
/*256729*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #4
/*256735*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 2/*#Ops*/, 2, 3,  // Results = #5
/*256743*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*256746*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256755*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 7, 
                      // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi8>>) - Complexity = 16
                      // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDURBi:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), bsub:{ *:[i32] }))
/*256762*/          0, /*End of Scope*/
/*256763*/        /*Scope*/ 83, /*->256847*/
/*256764*/          OPC_CheckPredicate, 16, // Predicate_zextloadi16
/*256766*/          OPC_MoveParent,
/*256767*/          OPC_CheckType, MVT::f64,
/*256769*/          OPC_Scope, 37, /*->256808*/ // 2 children in Scope
/*256771*/            OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*256774*/            OPC_EmitMergeInputChains1_0,
/*256775*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #4
/*256781*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*256789*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*256792*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256801*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 7, 
                      // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>>) - Complexity = 16
                      // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHui:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), hsub:{ *:[i32] }))
/*256808*/          /*Scope*/ 37, /*->256846*/
/*256809*/            OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*256812*/            OPC_EmitMergeInputChains1_0,
/*256813*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #4
/*256819*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*256827*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*256830*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256839*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 7, 
                      // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_zextload>><<P:Predicate_zextloadi16>>) - Complexity = 16
                      // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDURHi:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), hsub:{ *:[i32] }))
/*256846*/          0, /*End of Scope*/
/*256847*/        0, /*End of Scope*/
/*256848*/      /*Scope*/ 83, /*->256932*/
/*256849*/        OPC_CheckPredicate, 37, // Predicate_load
/*256851*/        OPC_MoveParent,
/*256852*/        OPC_CheckType, MVT::f64,
/*256854*/        OPC_Scope, 37, /*->256893*/ // 2 children in Scope
/*256856*/          OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*256859*/          OPC_EmitMergeInputChains1_0,
/*256860*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #4
/*256866*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*256874*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*256877*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256886*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                        MVT::f64, 1/*#Ops*/, 7, 
                    // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 16
                    // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRSui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset), ssub:{ *:[i32] }))
/*256893*/        /*Scope*/ 37, /*->256931*/
/*256894*/          OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #2 #3
/*256897*/          OPC_EmitMergeInputChains1_0,
/*256898*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #4
/*256904*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*256912*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*256915*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*256924*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                        MVT::f64, 1/*#Ops*/, 7, 
                    // Src: (uint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 16
                    // Dst: (UCVTFv1i64:{ *:[f64] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDURSi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), ssub:{ *:[i32] }))
/*256931*/        0, /*End of Scope*/
/*256932*/      0, /*End of Scope*/
/*256933*/    /*Scope*/ 21|128,1/*149*/, /*->257084*/
/*256935*/      OPC_RecordChild0, // #0 = $Rn
/*256936*/      OPC_Scope, 37, /*->256975*/ // 7 children in Scope
/*256938*/        OPC_CheckChild0Type, MVT::i32,
/*256940*/        OPC_SwitchType /*3 cases */, 9, MVT::f16,// ->256952
/*256943*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*256945*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUWHri), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (uint_to_fp:{ *:[f16] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (UCVTFUWHri:{ *:[f16] } GPR32:{ *:[i32] }:$Rn)
/*256952*/        /*SwitchType*/ 9, MVT::f32,// ->256963
/*256954*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*256956*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUWSri), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (uint_to_fp:{ *:[f32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (UCVTFUWSri:{ *:[f32] } GPR32:{ *:[i32] }:$Rn)
/*256963*/        /*SwitchType*/ 9, MVT::f64,// ->256974
/*256965*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*256967*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUWDri), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (uint_to_fp:{ *:[f64] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (UCVTFUWDri:{ *:[f64] } GPR32:{ *:[i32] }:$Rn)
/*256974*/        0, // EndSwitchType
/*256975*/      /*Scope*/ 37, /*->257013*/
/*256976*/        OPC_CheckChild0Type, MVT::i64,
/*256978*/        OPC_SwitchType /*3 cases */, 9, MVT::f16,// ->256990
/*256981*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*256983*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUXHri), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (uint_to_fp:{ *:[f16] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (UCVTFUXHri:{ *:[f16] } GPR64:{ *:[i64] }:$Rn)
/*256990*/        /*SwitchType*/ 9, MVT::f32,// ->257001
/*256992*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*256994*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUXSri), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (uint_to_fp:{ *:[f32] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (UCVTFUXSri:{ *:[f32] } GPR64:{ *:[i64] }:$Rn)
/*257001*/        /*SwitchType*/ 9, MVT::f64,// ->257012
/*257003*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*257005*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUXDri), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (uint_to_fp:{ *:[f64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (UCVTFUXDri:{ *:[f64] } GPR64:{ *:[i64] }:$Rn)
/*257012*/        0, // EndSwitchType
/*257013*/      /*Scope*/ 13, /*->257027*/
/*257014*/        OPC_CheckChild0Type, MVT::v4i16,
/*257016*/        OPC_CheckType, MVT::v4f16,
/*257018*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*257020*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv4f16), 0,
                      MVT::v4f16, 1/*#Ops*/, 0, 
                  // Src: (uint_to_fp:{ *:[v4f16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFv4f16:{ *:[v4f16] } V64:{ *:[v4i16] }:$Rn)
/*257027*/      /*Scope*/ 13, /*->257041*/
/*257028*/        OPC_CheckChild0Type, MVT::v8i16,
/*257030*/        OPC_CheckType, MVT::v8f16,
/*257032*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*257034*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv8f16), 0,
                      MVT::v8f16, 1/*#Ops*/, 0, 
                  // Src: (uint_to_fp:{ *:[v8f16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFv8f16:{ *:[v8f16] } V128:{ *:[v8i16] }:$Rn)
/*257041*/      /*Scope*/ 13, /*->257055*/
/*257042*/        OPC_CheckChild0Type, MVT::v2i32,
/*257044*/        OPC_CheckType, MVT::v2f32,
/*257046*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*257048*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv2f32), 0,
                      MVT::v2f32, 1/*#Ops*/, 0, 
                  // Src: (uint_to_fp:{ *:[v2f32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFv2f32:{ *:[v2f32] } V64:{ *:[v2i32] }:$Rn)
/*257055*/      /*Scope*/ 13, /*->257069*/
/*257056*/        OPC_CheckChild0Type, MVT::v4i32,
/*257058*/        OPC_CheckType, MVT::v4f32,
/*257060*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*257062*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv4f32), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (uint_to_fp:{ *:[v4f32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFv4f32:{ *:[v4f32] } V128:{ *:[v4i32] }:$Rn)
/*257069*/      /*Scope*/ 13, /*->257083*/
/*257070*/        OPC_CheckChild0Type, MVT::v2i64,
/*257072*/        OPC_CheckType, MVT::v2f64,
/*257074*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*257076*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv2f64), 0,
                      MVT::v2f64, 1/*#Ops*/, 0, 
                  // Src: (uint_to_fp:{ *:[v2f64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFv2f64:{ *:[v2f64] } V128:{ *:[v2i64] }:$Rn)
/*257083*/      0, /*End of Scope*/
/*257084*/    0, /*End of Scope*/
/*257085*/  /*SwitchOpcode*/ 12|128,11/*1420*/, TARGET_VAL(ISD::SINT_TO_FP),// ->258509
/*257089*/    OPC_Scope, 113|128,9/*1265*/, /*->258357*/ // 2 children in Scope
/*257092*/      OPC_MoveChild0,
/*257093*/      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*257096*/      OPC_RecordMemRef,
/*257097*/      OPC_RecordNode, // #0 = 'ld' chained node
/*257098*/      OPC_RecordChild1, // #1 = $ro_Windexed16:Rn:Rm:ext
/*257099*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*257101*/      OPC_CheckType, MVT::i32,
/*257103*/      OPC_Scope, 7|128,1/*135*/, /*->257241*/ // 5 children in Scope
/*257106*/        OPC_CheckPredicate, 5, // Predicate_sextload
/*257108*/        OPC_CheckPredicate, 16, // Predicate_sextloadi16
/*257110*/        OPC_MoveParent,
/*257111*/        OPC_CheckType, MVT::f32,
/*257113*/        OPC_CheckPatternPredicate, 29, // (!shouldOptForSize(MF))
/*257115*/        OPC_Scope, 61, /*->257178*/ // 2 children in Scope
/*257117*/          OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*257120*/          OPC_EmitMergeInputChains1_0,
/*257121*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #6
/*257127*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*257137*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*257140*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*257149*/          OPC_EmitInteger, MVT::i32, 0, 
/*257152*/          OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                        MVT::f128, 2/*#Ops*/, 9, 10,  // Results = #11
/*257160*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257163*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f32, 2/*#Ops*/, 11, 12,  // Results = #13
/*257171*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                        MVT::f32, 1/*#Ops*/, 13, 
                    // Src: (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$ext))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>>) - Complexity = 22
                    // Dst: (SCVTFv1i32:{ *:[f32] } (EXTRACT_SUBREG:{ *:[f32] } (SSHLLv4i16_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$ext), hsub:{ *:[i32] }), 0:{ *:[i32] }), ssub:{ *:[i32] }))
/*257178*/        /*Scope*/ 61, /*->257240*/
/*257179*/          OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*257182*/          OPC_EmitMergeInputChains1_0,
/*257183*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #6
/*257189*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*257199*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*257202*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*257211*/          OPC_EmitInteger, MVT::i32, 0, 
/*257214*/          OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                        MVT::f128, 2/*#Ops*/, 9, 10,  // Results = #11
/*257222*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257225*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f32, 2/*#Ops*/, 11, 12,  // Results = #13
/*257233*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                        MVT::f32, 1/*#Ops*/, 13, 
                    // Src: (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$ext))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>>) - Complexity = 22
                    // Dst: (SCVTFv1i32:{ *:[f32] } (EXTRACT_SUBREG:{ *:[f32] } (SSHLLv4i16_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$ext), hsub:{ *:[i32] }), 0:{ *:[i32] }), ssub:{ *:[i32] }))
/*257240*/        0, /*End of Scope*/
/*257241*/      /*Scope*/ 5|128,1/*133*/, /*->257376*/
/*257243*/        OPC_CheckPredicate, 37, // Predicate_load
/*257245*/        OPC_MoveParent,
/*257246*/        OPC_CheckType, MVT::f64,
/*257248*/        OPC_CheckPatternPredicate, 29, // (!shouldOptForSize(MF))
/*257250*/        OPC_Scope, 61, /*->257313*/ // 2 children in Scope
/*257252*/          OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*257255*/          OPC_EmitMergeInputChains1_0,
/*257256*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #6
/*257262*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*257272*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257275*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*257284*/          OPC_EmitInteger, MVT::i32, 0, 
/*257287*/          OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                        MVT::f128, 2/*#Ops*/, 9, 10,  // Results = #11
/*257295*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257298*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f64, 2/*#Ops*/, 11, 12,  // Results = #13
/*257306*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                        MVT::f64, 1/*#Ops*/, 13, 
                    // Src: (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$ext))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 22
                    // Dst: (SCVTFv1i64:{ *:[f64] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv2i32_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRSroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$ext), ssub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }))
/*257313*/        /*Scope*/ 61, /*->257375*/
/*257314*/          OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*257317*/          OPC_EmitMergeInputChains1_0,
/*257318*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #6
/*257324*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*257334*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257337*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*257346*/          OPC_EmitInteger, MVT::i32, 0, 
/*257349*/          OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                        MVT::f128, 2/*#Ops*/, 9, 10,  // Results = #11
/*257357*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257360*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f64, 2/*#Ops*/, 11, 12,  // Results = #13
/*257368*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                        MVT::f64, 1/*#Ops*/, 13, 
                    // Src: (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$ext))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 22
                    // Dst: (SCVTFv1i64:{ *:[f64] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv2i32_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRSroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$ext), ssub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }))
/*257375*/        0, /*End of Scope*/
/*257376*/      /*Scope*/ 107|128,3/*491*/, /*->257869*/
/*257378*/        OPC_CheckPredicate, 5, // Predicate_sextload
/*257380*/        OPC_Scope, 49|128,1/*177*/, /*->257560*/ // 2 children in Scope
/*257383*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*257385*/          OPC_MoveParent,
/*257386*/          OPC_CheckType, MVT::f32,
/*257388*/          OPC_CheckPatternPredicate, 30, // (!shouldOptForSize(MF)) && (Subtarget->useAlternateSExtLoadCVTF32Pattern())
/*257390*/          OPC_Scope, 83, /*->257475*/ // 2 children in Scope
/*257392*/            OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*257395*/            OPC_EmitMergeInputChains1_0,
/*257396*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #6
/*257402*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*257412*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*257415*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*257424*/            OPC_EmitInteger, MVT::i32, 0, 
/*257427*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv8i8_shift), 0,
                          MVT::f128, 2/*#Ops*/, 9, 10,  // Results = #11
/*257435*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257438*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f64, 2/*#Ops*/, 11, 12,  // Results = #13
/*257446*/            OPC_EmitInteger, MVT::i32, 0, 
/*257449*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                          MVT::f128, 2/*#Ops*/, 13, 14,  // Results = #15
/*257457*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257460*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f32, 2/*#Ops*/, 15, 16,  // Results = #17
/*257468*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 17, 
                      // Src: (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$ext))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>) - Complexity = 22
                      // Dst: (SCVTFv1i32:{ *:[f32] } (EXTRACT_SUBREG:{ *:[f32] } (SSHLLv4i16_shift:{ *:[f128] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv8i8_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRBroW:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$ext), bsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }), 0:{ *:[i32] }), ssub:{ *:[i32] }))
/*257475*/          /*Scope*/ 83, /*->257559*/
/*257476*/            OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*257479*/            OPC_EmitMergeInputChains1_0,
/*257480*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #6
/*257486*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*257496*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*257499*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*257508*/            OPC_EmitInteger, MVT::i32, 0, 
/*257511*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv8i8_shift), 0,
                          MVT::f128, 2/*#Ops*/, 9, 10,  // Results = #11
/*257519*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257522*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f64, 2/*#Ops*/, 11, 12,  // Results = #13
/*257530*/            OPC_EmitInteger, MVT::i32, 0, 
/*257533*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                          MVT::f128, 2/*#Ops*/, 13, 14,  // Results = #15
/*257541*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257544*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f32, 2/*#Ops*/, 15, 16,  // Results = #17
/*257552*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 17, 
                      // Src: (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$ext))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>) - Complexity = 22
                      // Dst: (SCVTFv1i32:{ *:[f32] } (EXTRACT_SUBREG:{ *:[f32] } (SSHLLv4i16_shift:{ *:[f128] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv8i8_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRBroX:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$ext), bsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }), 0:{ *:[i32] }), ssub:{ *:[i32] }))
/*257559*/          0, /*End of Scope*/
/*257560*/        /*Scope*/ 50|128,2/*306*/, /*->257868*/
/*257562*/          OPC_CheckPredicate, 16, // Predicate_sextloadi16
/*257564*/          OPC_MoveParent,
/*257565*/          OPC_SwitchType /*2 cases */, 44|128,1/*172*/, MVT::f64,// ->257741
/*257569*/            OPC_CheckPatternPredicate, 30, // (!shouldOptForSize(MF)) && (Subtarget->useAlternateSExtLoadCVTF32Pattern())
/*257571*/            OPC_Scope, 83, /*->257656*/ // 2 children in Scope
/*257573*/              OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*257576*/              OPC_EmitMergeInputChains1_0,
/*257577*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::f64, 0/*#Ops*/,  // Results = #6
/*257583*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*257593*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*257596*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*257605*/              OPC_EmitInteger, MVT::i32, 0, 
/*257608*/              OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                            MVT::f128, 2/*#Ops*/, 9, 10,  // Results = #11
/*257616*/              OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257619*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::f64, 2/*#Ops*/, 11, 12,  // Results = #13
/*257627*/              OPC_EmitInteger, MVT::i32, 0, 
/*257630*/              OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                            MVT::f128, 2/*#Ops*/, 13, 14,  // Results = #15
/*257638*/              OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257641*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::f64, 2/*#Ops*/, 15, 16,  // Results = #17
/*257649*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                            MVT::f64, 1/*#Ops*/, 17, 
                        // Src: (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$ext))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>>) - Complexity = 22
                        // Dst: (SCVTFv1i64:{ *:[f64] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv2i32_shift:{ *:[f128] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv4i16_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$ext), hsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }))
/*257656*/            /*Scope*/ 83, /*->257740*/
/*257657*/              OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*257660*/              OPC_EmitMergeInputChains1_0,
/*257661*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::f64, 0/*#Ops*/,  // Results = #6
/*257667*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*257677*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*257680*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::f64, 3/*#Ops*/, 6, 7, 8,  // Results = #9
/*257689*/              OPC_EmitInteger, MVT::i32, 0, 
/*257692*/              OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                            MVT::f128, 2/*#Ops*/, 9, 10,  // Results = #11
/*257700*/              OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257703*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::f64, 2/*#Ops*/, 11, 12,  // Results = #13
/*257711*/              OPC_EmitInteger, MVT::i32, 0, 
/*257714*/              OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                            MVT::f128, 2/*#Ops*/, 13, 14,  // Results = #15
/*257722*/              OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257725*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::f64, 2/*#Ops*/, 15, 16,  // Results = #17
/*257733*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                            MVT::f64, 1/*#Ops*/, 17, 
                        // Src: (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$ext))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>>) - Complexity = 22
                        // Dst: (SCVTFv1i64:{ *:[f64] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv2i32_shift:{ *:[f128] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv4i16_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$ext), hsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }))
/*257740*/            0, /*End of Scope*/
/*257741*/          /*SwitchType*/ 124, MVT::f32,// ->257867
/*257743*/            OPC_CheckPatternPredicate, 29, // (!shouldOptForSize(MF))
/*257745*/            OPC_Scope, 59, /*->257806*/ // 2 children in Scope
/*257747*/              OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*257750*/              OPC_EmitMergeInputChains1_0,
/*257751*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::f64, 0/*#Ops*/,  // Results = #4
/*257757*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*257765*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*257768*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*257777*/              OPC_EmitInteger, MVT::i32, 0, 
/*257780*/              OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                            MVT::f128, 2/*#Ops*/, 7, 8,  // Results = #9
/*257788*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257791*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::f32, 2/*#Ops*/, 9, 10,  // Results = #11
/*257799*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                            MVT::f32, 1/*#Ops*/, 11, 
                        // Src: (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>>) - Complexity = 16
                        // Dst: (SCVTFv1i32:{ *:[f32] } (EXTRACT_SUBREG:{ *:[f32] } (SSHLLv4i16_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHui:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), hsub:{ *:[i32] }), 0:{ *:[i32] }), ssub:{ *:[i32] }))
/*257806*/            /*Scope*/ 59, /*->257866*/
/*257807*/              OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*257810*/              OPC_EmitMergeInputChains1_0,
/*257811*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::f64, 0/*#Ops*/,  // Results = #4
/*257817*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*257825*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*257828*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*257837*/              OPC_EmitInteger, MVT::i32, 0, 
/*257840*/              OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                            MVT::f128, 2/*#Ops*/, 7, 8,  // Results = #9
/*257848*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257851*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                            MVT::f32, 2/*#Ops*/, 9, 10,  // Results = #11
/*257859*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                            MVT::f32, 1/*#Ops*/, 11, 
                        // Src: (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>>) - Complexity = 16
                        // Dst: (SCVTFv1i32:{ *:[f32] } (EXTRACT_SUBREG:{ *:[f32] } (SSHLLv4i16_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDURHi:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), hsub:{ *:[i32] }), 0:{ *:[i32] }), ssub:{ *:[i32] }))
/*257866*/            0, /*End of Scope*/
/*257867*/          0, // EndSwitchType
/*257868*/        0, /*End of Scope*/
/*257869*/      /*Scope*/ 1|128,1/*129*/, /*->258000*/
/*257871*/        OPC_CheckPredicate, 37, // Predicate_load
/*257873*/        OPC_MoveParent,
/*257874*/        OPC_CheckType, MVT::f64,
/*257876*/        OPC_CheckPatternPredicate, 29, // (!shouldOptForSize(MF))
/*257878*/        OPC_Scope, 59, /*->257939*/ // 2 children in Scope
/*257880*/          OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*257883*/          OPC_EmitMergeInputChains1_0,
/*257884*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #4
/*257890*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*257898*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257901*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*257910*/          OPC_EmitInteger, MVT::i32, 0, 
/*257913*/          OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                        MVT::f128, 2/*#Ops*/, 7, 8,  // Results = #9
/*257921*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257924*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f64, 2/*#Ops*/, 9, 10,  // Results = #11
/*257932*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                        MVT::f64, 1/*#Ops*/, 11, 
                    // Src: (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 16
                    // Dst: (SCVTFv1i64:{ *:[f64] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv2i32_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRSui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset), ssub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }))
/*257939*/        /*Scope*/ 59, /*->257999*/
/*257940*/          OPC_CheckComplexPat, /*CP*/31, /*#*/1, // SelectAddrModeUnscaled32:$ #2 #3
/*257943*/          OPC_EmitMergeInputChains1_0,
/*257944*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f64, 0/*#Ops*/,  // Results = #4
/*257950*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDURSi), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*257958*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*257961*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*257970*/          OPC_EmitInteger, MVT::i32, 0, 
/*257973*/          OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                        MVT::f128, 2/*#Ops*/, 7, 8,  // Results = #9
/*257981*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*257984*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::f64, 2/*#Ops*/, 9, 10,  // Results = #11
/*257992*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                        MVT::f64, 1/*#Ops*/, 11, 
                    // Src: (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_unscaled32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 16
                    // Dst: (SCVTFv1i64:{ *:[f64] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv2i32_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDURSi:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), ssub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }))
/*257999*/        0, /*End of Scope*/
/*258000*/      /*Scope*/ 98|128,2/*354*/, /*->258356*/
/*258002*/        OPC_CheckPredicate, 5, // Predicate_sextload
/*258004*/        OPC_Scope, 45|128,1/*173*/, /*->258180*/ // 2 children in Scope
/*258007*/          OPC_CheckPredicate, 6, // Predicate_sextloadi8
/*258009*/          OPC_MoveParent,
/*258010*/          OPC_CheckType, MVT::f32,
/*258012*/          OPC_CheckPatternPredicate, 30, // (!shouldOptForSize(MF)) && (Subtarget->useAlternateSExtLoadCVTF32Pattern())
/*258014*/          OPC_Scope, 81, /*->258097*/ // 2 children in Scope
/*258016*/            OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*258019*/            OPC_EmitMergeInputChains1_0,
/*258020*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #4
/*258026*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 2/*#Ops*/, 2, 3,  // Results = #5
/*258034*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*258037*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*258046*/            OPC_EmitInteger, MVT::i32, 0, 
/*258049*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv8i8_shift), 0,
                          MVT::f128, 2/*#Ops*/, 7, 8,  // Results = #9
/*258057*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*258060*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f64, 2/*#Ops*/, 9, 10,  // Results = #11
/*258068*/            OPC_EmitInteger, MVT::i32, 0, 
/*258071*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                          MVT::f128, 2/*#Ops*/, 11, 12,  // Results = #13
/*258079*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*258082*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f32, 2/*#Ops*/, 13, 14,  // Results = #15
/*258090*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 15, 
                      // Src: (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>) - Complexity = 16
                      // Dst: (SCVTFv1i32:{ *:[f32] } (EXTRACT_SUBREG:{ *:[f32] } (SSHLLv4i16_shift:{ *:[f128] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv8i8_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRBui:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), bsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }), 0:{ *:[i32] }), ssub:{ *:[i32] }))
/*258097*/          /*Scope*/ 81, /*->258179*/
/*258098*/            OPC_CheckComplexPat, /*CP*/33, /*#*/1, // SelectAddrModeUnscaled8:$ #2 #3
/*258101*/            OPC_EmitMergeInputChains1_0,
/*258102*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #4
/*258108*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDURBi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::Untyped, 2/*#Ops*/, 2, 3,  // Results = #5
/*258116*/            OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*258119*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*258128*/            OPC_EmitInteger, MVT::i32, 0, 
/*258131*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv8i8_shift), 0,
                          MVT::f128, 2/*#Ops*/, 7, 8,  // Results = #9
/*258139*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*258142*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f64, 2/*#Ops*/, 9, 10,  // Results = #11
/*258150*/            OPC_EmitInteger, MVT::i32, 0, 
/*258153*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                          MVT::f128, 2/*#Ops*/, 11, 12,  // Results = #13
/*258161*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*258164*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f32, 2/*#Ops*/, 13, 14,  // Results = #15
/*258172*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                          MVT::f32, 1/*#Ops*/, 15, 
                      // Src: (sint_to_fp:{ *:[f32] } (ld:{ *:[i32] } (am_unscaled8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi8>>) - Complexity = 16
                      // Dst: (SCVTFv1i32:{ *:[f32] } (EXTRACT_SUBREG:{ *:[f32] } (SSHLLv4i16_shift:{ *:[f128] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv8i8_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDURBi:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), bsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }), 0:{ *:[i32] }), ssub:{ *:[i32] }))
/*258179*/          0, /*End of Scope*/
/*258180*/        /*Scope*/ 45|128,1/*173*/, /*->258355*/
/*258182*/          OPC_CheckPredicate, 16, // Predicate_sextloadi16
/*258184*/          OPC_MoveParent,
/*258185*/          OPC_CheckType, MVT::f64,
/*258187*/          OPC_CheckPatternPredicate, 30, // (!shouldOptForSize(MF)) && (Subtarget->useAlternateSExtLoadCVTF32Pattern())
/*258189*/          OPC_Scope, 81, /*->258272*/ // 2 children in Scope
/*258191*/            OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*258194*/            OPC_EmitMergeInputChains1_0,
/*258195*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #4
/*258201*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*258209*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*258212*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*258221*/            OPC_EmitInteger, MVT::i32, 0, 
/*258224*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                          MVT::f128, 2/*#Ops*/, 7, 8,  // Results = #9
/*258232*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*258235*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f64, 2/*#Ops*/, 9, 10,  // Results = #11
/*258243*/            OPC_EmitInteger, MVT::i32, 0, 
/*258246*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                          MVT::f128, 2/*#Ops*/, 11, 12,  // Results = #13
/*258254*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*258257*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f64, 2/*#Ops*/, 13, 14,  // Results = #15
/*258265*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 15, 
                      // Src: (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>>) - Complexity = 16
                      // Dst: (SCVTFv1i64:{ *:[f64] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv2i32_shift:{ *:[f128] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv4i16_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDRHui:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), hsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }))
/*258272*/          /*Scope*/ 81, /*->258354*/
/*258273*/            OPC_CheckComplexPat, /*CP*/32, /*#*/1, // SelectAddrModeUnscaled16:$ #2 #3
/*258276*/            OPC_EmitMergeInputChains1_0,
/*258277*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f64, 0/*#Ops*/,  // Results = #4
/*258283*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDURHi), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*258291*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*258294*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f64, 3/*#Ops*/, 4, 5, 6,  // Results = #7
/*258303*/            OPC_EmitInteger, MVT::i32, 0, 
/*258306*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                          MVT::f128, 2/*#Ops*/, 7, 8,  // Results = #9
/*258314*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*258317*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f64, 2/*#Ops*/, 9, 10,  // Results = #11
/*258325*/            OPC_EmitInteger, MVT::i32, 0, 
/*258328*/            OPC_EmitNode1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                          MVT::f128, 2/*#Ops*/, 11, 12,  // Results = #13
/*258336*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*258339*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::f64, 2/*#Ops*/, 13, 14,  // Results = #15
/*258347*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                          MVT::f64, 1/*#Ops*/, 15, 
                      // Src: (sint_to_fp:{ *:[f64] } (ld:{ *:[i32] } (am_unscaled16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset))<<P:Predicate_unindexedload>><<P:Predicate_sextload>><<P:Predicate_sextloadi16>>) - Complexity = 16
                      // Dst: (SCVTFv1i64:{ *:[f64] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv2i32_shift:{ *:[f128] } (EXTRACT_SUBREG:{ *:[f64] } (SSHLLv4i16_shift:{ *:[f128] } (INSERT_SUBREG:{ *:[f64] } (IMPLICIT_DEF:{ *:[f64] }), (LDURHi:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_simm9>>:$offset), hsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }), 0:{ *:[i32] }), dsub:{ *:[i32] }))
/*258354*/          0, /*End of Scope*/
/*258355*/        0, /*End of Scope*/
/*258356*/      0, /*End of Scope*/
/*258357*/    /*Scope*/ 21|128,1/*149*/, /*->258508*/
/*258359*/      OPC_RecordChild0, // #0 = $Rn
/*258360*/      OPC_Scope, 37, /*->258399*/ // 7 children in Scope
/*258362*/        OPC_CheckChild0Type, MVT::i32,
/*258364*/        OPC_SwitchType /*3 cases */, 9, MVT::f16,// ->258376
/*258367*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*258369*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUWHri), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (sint_to_fp:{ *:[f16] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (SCVTFUWHri:{ *:[f16] } GPR32:{ *:[i32] }:$Rn)
/*258376*/        /*SwitchType*/ 9, MVT::f32,// ->258387
/*258378*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258380*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUWSri), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (sint_to_fp:{ *:[f32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (SCVTFUWSri:{ *:[f32] } GPR32:{ *:[i32] }:$Rn)
/*258387*/        /*SwitchType*/ 9, MVT::f64,// ->258398
/*258389*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258391*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUWDri), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (sint_to_fp:{ *:[f64] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (SCVTFUWDri:{ *:[f64] } GPR32:{ *:[i32] }:$Rn)
/*258398*/        0, // EndSwitchType
/*258399*/      /*Scope*/ 37, /*->258437*/
/*258400*/        OPC_CheckChild0Type, MVT::i64,
/*258402*/        OPC_SwitchType /*3 cases */, 9, MVT::f16,// ->258414
/*258405*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*258407*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUXHri), 0,
                        MVT::f16, 1/*#Ops*/, 0, 
                    // Src: (sint_to_fp:{ *:[f16] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (SCVTFUXHri:{ *:[f16] } GPR64:{ *:[i64] }:$Rn)
/*258414*/        /*SwitchType*/ 9, MVT::f32,// ->258425
/*258416*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258418*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUXSri), 0,
                        MVT::f32, 1/*#Ops*/, 0, 
                    // Src: (sint_to_fp:{ *:[f32] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (SCVTFUXSri:{ *:[f32] } GPR64:{ *:[i64] }:$Rn)
/*258425*/        /*SwitchType*/ 9, MVT::f64,// ->258436
/*258427*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258429*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUXDri), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (sint_to_fp:{ *:[f64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (SCVTFUXDri:{ *:[f64] } GPR64:{ *:[i64] }:$Rn)
/*258436*/        0, // EndSwitchType
/*258437*/      /*Scope*/ 13, /*->258451*/
/*258438*/        OPC_CheckChild0Type, MVT::v4i16,
/*258440*/        OPC_CheckType, MVT::v4f16,
/*258442*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*258444*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv4f16), 0,
                      MVT::v4f16, 1/*#Ops*/, 0, 
                  // Src: (sint_to_fp:{ *:[v4f16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFv4f16:{ *:[v4f16] } V64:{ *:[v4i16] }:$Rn)
/*258451*/      /*Scope*/ 13, /*->258465*/
/*258452*/        OPC_CheckChild0Type, MVT::v8i16,
/*258454*/        OPC_CheckType, MVT::v8f16,
/*258456*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*258458*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv8f16), 0,
                      MVT::v8f16, 1/*#Ops*/, 0, 
                  // Src: (sint_to_fp:{ *:[v8f16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFv8f16:{ *:[v8f16] } V128:{ *:[v8i16] }:$Rn)
/*258465*/      /*Scope*/ 13, /*->258479*/
/*258466*/        OPC_CheckChild0Type, MVT::v2i32,
/*258468*/        OPC_CheckType, MVT::v2f32,
/*258470*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*258472*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv2f32), 0,
                      MVT::v2f32, 1/*#Ops*/, 0, 
                  // Src: (sint_to_fp:{ *:[v2f32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFv2f32:{ *:[v2f32] } V64:{ *:[v2i32] }:$Rn)
/*258479*/      /*Scope*/ 13, /*->258493*/
/*258480*/        OPC_CheckChild0Type, MVT::v4i32,
/*258482*/        OPC_CheckType, MVT::v4f32,
/*258484*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*258486*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv4f32), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (sint_to_fp:{ *:[v4f32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFv4f32:{ *:[v4f32] } V128:{ *:[v4i32] }:$Rn)
/*258493*/      /*Scope*/ 13, /*->258507*/
/*258494*/        OPC_CheckChild0Type, MVT::v2i64,
/*258496*/        OPC_CheckType, MVT::v2f64,
/*258498*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*258500*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv2f64), 0,
                      MVT::v2f64, 1/*#Ops*/, 0, 
                  // Src: (sint_to_fp:{ *:[v2f64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFv2f64:{ *:[v2f64] } V128:{ *:[v2i64] }:$Rn)
/*258507*/      0, /*End of Scope*/
/*258508*/    0, /*End of Scope*/
/*258509*/  /*SwitchOpcode*/ 29|128,2/*285*/, TARGET_VAL(ISD::FADD),// ->258798
/*258513*/    OPC_Scope, 15|128,1/*143*/, /*->258659*/ // 2 children in Scope
/*258516*/      OPC_MoveChild0,
/*258517*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*258520*/      OPC_RecordChild0, // #0 = $Rn
/*258521*/      OPC_Scope, 56, /*->258579*/ // 2 children in Scope
/*258523*/        OPC_CheckChild0Type, MVT::v2f64,
/*258525*/        OPC_Scope, 25, /*->258552*/ // 2 children in Scope
/*258527*/          OPC_CheckChild1Integer, 0, 
/*258529*/          OPC_CheckChild1Type, MVT::i64,
/*258531*/          OPC_MoveParent,
/*258532*/          OPC_MoveChild1,
/*258533*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*258536*/          OPC_CheckChild0Same, 0,
/*258538*/          OPC_CheckChild1Integer, 1, 
/*258540*/          OPC_CheckChild1Type, MVT::i64,
/*258542*/          OPC_MoveParent,
/*258543*/          OPC_CheckType, MVT::f64,
/*258545*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2i64p), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (fadd:{ *:[f64] } (vector_extract:{ *:[f64] } FPR128:{ *:[v2f64] }:$Rn, 0:{ *:[i64] }), (vector_extract:{ *:[f64] } FPR128:{ *:[v2f64] }:$Rn, 1:{ *:[i64] })) - Complexity = 19
                    // Dst: (FADDPv2i64p:{ *:[f64] } FPR128:{ *:[v2f64] }:$Rn)
/*258552*/        /*Scope*/ 25, /*->258578*/
/*258553*/          OPC_CheckChild1Integer, 1, 
/*258555*/          OPC_CheckChild1Type, MVT::i64,
/*258557*/          OPC_MoveParent,
/*258558*/          OPC_MoveChild1,
/*258559*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*258562*/          OPC_CheckChild0Same, 0,
/*258564*/          OPC_CheckChild1Integer, 0, 
/*258566*/          OPC_CheckChild1Type, MVT::i64,
/*258568*/          OPC_MoveParent,
/*258569*/          OPC_CheckType, MVT::f64,
/*258571*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2i64p), 0,
                        MVT::f64, 1/*#Ops*/, 0, 
                    // Src: (fadd:{ *:[f64] } (vector_extract:{ *:[f64] } FPR128:{ *:[v2f64] }:$Rn, 1:{ *:[i64] }), (vector_extract:{ *:[f64] } FPR128:{ *:[v2f64] }:$Rn, 0:{ *:[i64] })) - Complexity = 19
                    // Dst: (FADDPv2i64p:{ *:[f64] } FPR128:{ *:[v2f64] }:$Rn)
/*258578*/        0, /*End of Scope*/
/*258579*/      /*Scope*/ 78, /*->258658*/
/*258580*/        OPC_CheckChild0Type, MVT::v4f32,
/*258582*/        OPC_Scope, 36, /*->258620*/ // 2 children in Scope
/*258584*/          OPC_CheckChild1Integer, 0, 
/*258586*/          OPC_CheckChild1Type, MVT::i64,
/*258588*/          OPC_MoveParent,
/*258589*/          OPC_MoveChild1,
/*258590*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*258593*/          OPC_CheckChild0Same, 0,
/*258595*/          OPC_CheckChild1Integer, 1, 
/*258597*/          OPC_CheckChild1Type, MVT::i64,
/*258599*/          OPC_MoveParent,
/*258600*/          OPC_CheckType, MVT::f32,
/*258602*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*258605*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*258613*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2i32p), 0,
                        MVT::f32, 1/*#Ops*/, 2, 
                    // Src: (fadd:{ *:[f32] } (vector_extract:{ *:[f32] } FPR128:{ *:[v4f32] }:$Rn, 0:{ *:[i64] }), (vector_extract:{ *:[f32] } FPR128:{ *:[v4f32] }:$Rn, 1:{ *:[i64] })) - Complexity = 19
                    // Dst: (FADDPv2i32p:{ *:[f32] } (EXTRACT_SUBREG:{ *:[i64] } FPR128:{ *:[v4f32] }:$Rn, dsub:{ *:[i32] }))
/*258620*/        /*Scope*/ 36, /*->258657*/
/*258621*/          OPC_CheckChild1Integer, 1, 
/*258623*/          OPC_CheckChild1Type, MVT::i64,
/*258625*/          OPC_MoveParent,
/*258626*/          OPC_MoveChild1,
/*258627*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*258630*/          OPC_CheckChild0Same, 0,
/*258632*/          OPC_CheckChild1Integer, 0, 
/*258634*/          OPC_CheckChild1Type, MVT::i64,
/*258636*/          OPC_MoveParent,
/*258637*/          OPC_CheckType, MVT::f32,
/*258639*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*258642*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #2
/*258650*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDPv2i32p), 0,
                        MVT::f32, 1/*#Ops*/, 2, 
                    // Src: (fadd:{ *:[f32] } (vector_extract:{ *:[f32] } FPR128:{ *:[v4f32] }:$Rn, 1:{ *:[i64] }), (vector_extract:{ *:[f32] } FPR128:{ *:[v4f32] }:$Rn, 0:{ *:[i64] })) - Complexity = 19
                    // Dst: (FADDPv2i32p:{ *:[f32] } (EXTRACT_SUBREG:{ *:[i64] } FPR128:{ *:[v4f32] }:$Rn, dsub:{ *:[i32] }))
/*258657*/        0, /*End of Scope*/
/*258658*/      0, /*End of Scope*/
/*258659*/    /*Scope*/ 8|128,1/*136*/, /*->258797*/
/*258661*/      OPC_RecordChild0, // #0 = $Rn
/*258662*/      OPC_RecordChild1, // #1 = $Rm
/*258663*/      OPC_SwitchType /*11 cases */, 10, MVT::f16,// ->258676
/*258666*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*258668*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDHrr), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                  // Dst: (FADDHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*258676*/      /*SwitchType*/ 10, MVT::f32,// ->258688
/*258678*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258680*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDSrr), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                  // Dst: (FADDSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*258688*/      /*SwitchType*/ 10, MVT::f64,// ->258700
/*258690*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258692*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDDrr), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                  // Dst: (FADDDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*258700*/      /*SwitchType*/ 10, MVT::v4f16,// ->258712
/*258702*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*258704*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                  // Dst: (FADDv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*258712*/      /*SwitchType*/ 10, MVT::v8f16,// ->258724
/*258714*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*258716*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                  // Dst: (FADDv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*258724*/      /*SwitchType*/ 10, MVT::v2f32,// ->258736
/*258726*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*258728*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                  // Dst: (FADDv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*258736*/      /*SwitchType*/ 10, MVT::v4f32,// ->258748
/*258738*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*258740*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                  // Dst: (FADDv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*258748*/      /*SwitchType*/ 10, MVT::v2f64,// ->258760
/*258750*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*258752*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADDv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                  // Dst: (FADDv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*258760*/      /*SwitchType*/ 10, MVT::nxv8f16,// ->258772
/*258762*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*258764*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADD_ZZZ_H), 0,
                      MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                  // Dst: (FADD_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*258772*/      /*SwitchType*/ 10, MVT::nxv4f32,// ->258784
/*258774*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*258776*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADD_ZZZ_S), 0,
                      MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                  // Dst: (FADD_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*258784*/      /*SwitchType*/ 10, MVT::nxv2f64,// ->258796
/*258786*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*258788*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FADD_ZZZ_D), 0,
                      MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fadd:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                  // Dst: (FADD_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*258796*/      0, // EndSwitchType
/*258797*/    0, /*End of Scope*/
/*258798*/  /*SwitchOpcode*/ 52|128,4/*564*/, TARGET_VAL(ISD::FDIV),// ->259366
/*258802*/    OPC_Scope, 75|128,3/*459*/, /*->259264*/ // 2 children in Scope
/*258805*/      OPC_MoveChild0,
/*258806*/      OPC_SwitchOpcode /*4 cases */, 115, TARGET_VAL(ISD::STRICT_SINT_TO_FP),// ->258925
/*258810*/        OPC_RecordNode, // #0 = 'strict_sint_to_fp' chained node
/*258811*/        OPC_CheckFoldableChainNode,
/*258812*/        OPC_RecordChild1, // #1 = $Rn
/*258813*/        OPC_Scope, 54, /*->258869*/ // 2 children in Scope
/*258815*/          OPC_CheckChild1Type, MVT::i32,
/*258817*/          OPC_MoveParent,
/*258818*/          OPC_RecordChild1, // #2 = $scale
/*258819*/          OPC_SwitchType /*3 cases */, 14, MVT::f16,// ->258836
/*258822*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*258824*/            OPC_CheckComplexPat, /*CP*/35, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*258827*/            OPC_EmitMergeInputChains1_0,
/*258828*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSWHri), 0|OPFL_Chain,
                          MVT::f16, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f16] } (strict_sint_to_fp:{ *:[f16] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f16_i32:{ *:[f16] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSWHri:{ *:[f16] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*258836*/          /*SwitchType*/ 14, MVT::f32,// ->258852
/*258838*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258840*/            OPC_CheckComplexPat, /*CP*/37, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*258843*/            OPC_EmitMergeInputChains1_0,
/*258844*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSWSri), 0|OPFL_Chain,
                          MVT::f32, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f32] } (strict_sint_to_fp:{ *:[f32] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f32_i32:{ *:[f32] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSWSri:{ *:[f32] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*258852*/          /*SwitchType*/ 14, MVT::f64,// ->258868
/*258854*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258856*/            OPC_CheckComplexPat, /*CP*/39, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*258859*/            OPC_EmitMergeInputChains1_0,
/*258860*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSWDri), 0|OPFL_Chain,
                          MVT::f64, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f64] } (strict_sint_to_fp:{ *:[f64] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f64_i32:{ *:[f64] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSWDri:{ *:[f64] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*258868*/          0, // EndSwitchType
/*258869*/        /*Scope*/ 54, /*->258924*/
/*258870*/          OPC_CheckChild1Type, MVT::i64,
/*258872*/          OPC_MoveParent,
/*258873*/          OPC_RecordChild1, // #2 = $scale
/*258874*/          OPC_SwitchType /*3 cases */, 14, MVT::f16,// ->258891
/*258877*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*258879*/            OPC_CheckComplexPat, /*CP*/36, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*258882*/            OPC_EmitMergeInputChains1_0,
/*258883*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSXHri), 0|OPFL_Chain,
                          MVT::f16, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f16] } (strict_sint_to_fp:{ *:[f16] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f16_i64:{ *:[f16] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSXHri:{ *:[f16] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*258891*/          /*SwitchType*/ 14, MVT::f32,// ->258907
/*258893*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258895*/            OPC_CheckComplexPat, /*CP*/38, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*258898*/            OPC_EmitMergeInputChains1_0,
/*258899*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSXSri), 0|OPFL_Chain,
                          MVT::f32, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f32] } (strict_sint_to_fp:{ *:[f32] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f32_i64:{ *:[f32] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSXSri:{ *:[f32] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*258907*/          /*SwitchType*/ 14, MVT::f64,// ->258923
/*258909*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258911*/            OPC_CheckComplexPat, /*CP*/40, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*258914*/            OPC_EmitMergeInputChains1_0,
/*258915*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSXDri), 0|OPFL_Chain,
                          MVT::f64, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f64] } (strict_sint_to_fp:{ *:[f64] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f64_i64:{ *:[f64] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSXDri:{ *:[f64] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*258923*/          0, // EndSwitchType
/*258924*/        0, /*End of Scope*/
/*258925*/      /*SwitchOpcode*/ 107, TARGET_VAL(ISD::SINT_TO_FP),// ->259035
/*258928*/        OPC_RecordChild0, // #0 = $Rn
/*258929*/        OPC_Scope, 51, /*->258982*/ // 2 children in Scope
/*258931*/          OPC_CheckChild0Type, MVT::i32,
/*258933*/          OPC_MoveParent,
/*258934*/          OPC_RecordChild1, // #1 = $scale
/*258935*/          OPC_SwitchType /*3 cases */, 13, MVT::f16,// ->258951
/*258938*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*258940*/            OPC_CheckComplexPat, /*CP*/35, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*258943*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSWHri), 0,
                          MVT::f16, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f16] } (sint_to_fp:{ *:[f16] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f16_i32:{ *:[f16] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSWHri:{ *:[f16] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*258951*/          /*SwitchType*/ 13, MVT::f32,// ->258966
/*258953*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258955*/            OPC_CheckComplexPat, /*CP*/37, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*258958*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSWSri), 0,
                          MVT::f32, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f32] } (sint_to_fp:{ *:[f32] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f32_i32:{ *:[f32] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSWSri:{ *:[f32] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*258966*/          /*SwitchType*/ 13, MVT::f64,// ->258981
/*258968*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*258970*/            OPC_CheckComplexPat, /*CP*/39, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*258973*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSWDri), 0,
                          MVT::f64, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f64] } (sint_to_fp:{ *:[f64] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f64_i32:{ *:[f64] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSWDri:{ *:[f64] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*258981*/          0, // EndSwitchType
/*258982*/        /*Scope*/ 51, /*->259034*/
/*258983*/          OPC_CheckChild0Type, MVT::i64,
/*258985*/          OPC_MoveParent,
/*258986*/          OPC_RecordChild1, // #1 = $scale
/*258987*/          OPC_SwitchType /*3 cases */, 13, MVT::f16,// ->259003
/*258990*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*258992*/            OPC_CheckComplexPat, /*CP*/36, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*258995*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSXHri), 0,
                          MVT::f16, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f16] } (sint_to_fp:{ *:[f16] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f16_i64:{ *:[f16] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSXHri:{ *:[f16] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*259003*/          /*SwitchType*/ 13, MVT::f32,// ->259018
/*259005*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259007*/            OPC_CheckComplexPat, /*CP*/38, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*259010*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSXSri), 0,
                          MVT::f32, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f32] } (sint_to_fp:{ *:[f32] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f32_i64:{ *:[f32] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSXSri:{ *:[f32] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*259018*/          /*SwitchType*/ 13, MVT::f64,// ->259033
/*259020*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259022*/            OPC_CheckComplexPat, /*CP*/40, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*259025*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFSXDri), 0,
                          MVT::f64, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f64] } (sint_to_fp:{ *:[f64] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f64_i64:{ *:[f64] }:$scale) - Complexity = 12
                      // Dst: (SCVTFSXDri:{ *:[f64] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*259033*/          0, // EndSwitchType
/*259034*/        0, /*End of Scope*/
/*259035*/      /*SwitchOpcode*/ 115, TARGET_VAL(ISD::STRICT_UINT_TO_FP),// ->259153
/*259038*/        OPC_RecordNode, // #0 = 'strict_uint_to_fp' chained node
/*259039*/        OPC_CheckFoldableChainNode,
/*259040*/        OPC_RecordChild1, // #1 = $Rn
/*259041*/        OPC_Scope, 54, /*->259097*/ // 2 children in Scope
/*259043*/          OPC_CheckChild1Type, MVT::i32,
/*259045*/          OPC_MoveParent,
/*259046*/          OPC_RecordChild1, // #2 = $scale
/*259047*/          OPC_SwitchType /*3 cases */, 14, MVT::f16,// ->259064
/*259050*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*259052*/            OPC_CheckComplexPat, /*CP*/35, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*259055*/            OPC_EmitMergeInputChains1_0,
/*259056*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSWHri), 0|OPFL_Chain,
                          MVT::f16, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f16] } (strict_uint_to_fp:{ *:[f16] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f16_i32:{ *:[f16] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSWHri:{ *:[f16] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*259064*/          /*SwitchType*/ 14, MVT::f32,// ->259080
/*259066*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259068*/            OPC_CheckComplexPat, /*CP*/37, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*259071*/            OPC_EmitMergeInputChains1_0,
/*259072*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSWSri), 0|OPFL_Chain,
                          MVT::f32, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f32] } (strict_uint_to_fp:{ *:[f32] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f32_i32:{ *:[f32] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSWSri:{ *:[f32] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*259080*/          /*SwitchType*/ 14, MVT::f64,// ->259096
/*259082*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259084*/            OPC_CheckComplexPat, /*CP*/39, /*#*/2, // SelectCVTFixedPosOperand<32>:$scale #3
/*259087*/            OPC_EmitMergeInputChains1_0,
/*259088*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSWDri), 0|OPFL_Chain,
                          MVT::f64, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f64] } (strict_uint_to_fp:{ *:[f64] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f64_i32:{ *:[f64] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSWDri:{ *:[f64] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*259096*/          0, // EndSwitchType
/*259097*/        /*Scope*/ 54, /*->259152*/
/*259098*/          OPC_CheckChild1Type, MVT::i64,
/*259100*/          OPC_MoveParent,
/*259101*/          OPC_RecordChild1, // #2 = $scale
/*259102*/          OPC_SwitchType /*3 cases */, 14, MVT::f16,// ->259119
/*259105*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*259107*/            OPC_CheckComplexPat, /*CP*/36, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*259110*/            OPC_EmitMergeInputChains1_0,
/*259111*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSXHri), 0|OPFL_Chain,
                          MVT::f16, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f16] } (strict_uint_to_fp:{ *:[f16] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f16_i64:{ *:[f16] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSXHri:{ *:[f16] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*259119*/          /*SwitchType*/ 14, MVT::f32,// ->259135
/*259121*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259123*/            OPC_CheckComplexPat, /*CP*/38, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*259126*/            OPC_EmitMergeInputChains1_0,
/*259127*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSXSri), 0|OPFL_Chain,
                          MVT::f32, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f32] } (strict_uint_to_fp:{ *:[f32] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f32_i64:{ *:[f32] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSXSri:{ *:[f32] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*259135*/          /*SwitchType*/ 14, MVT::f64,// ->259151
/*259137*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259139*/            OPC_CheckComplexPat, /*CP*/40, /*#*/2, // SelectCVTFixedPosOperand<64>:$scale #3
/*259142*/            OPC_EmitMergeInputChains1_0,
/*259143*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSXDri), 0|OPFL_Chain,
                          MVT::f64, 2/*#Ops*/, 1, 3, 
                      // Src: (fdiv:{ *:[f64] } (strict_uint_to_fp:{ *:[f64] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f64_i64:{ *:[f64] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSXDri:{ *:[f64] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*259151*/          0, // EndSwitchType
/*259152*/        0, /*End of Scope*/
/*259153*/      /*SwitchOpcode*/ 107, TARGET_VAL(ISD::UINT_TO_FP),// ->259263
/*259156*/        OPC_RecordChild0, // #0 = $Rn
/*259157*/        OPC_Scope, 51, /*->259210*/ // 2 children in Scope
/*259159*/          OPC_CheckChild0Type, MVT::i32,
/*259161*/          OPC_MoveParent,
/*259162*/          OPC_RecordChild1, // #1 = $scale
/*259163*/          OPC_SwitchType /*3 cases */, 13, MVT::f16,// ->259179
/*259166*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*259168*/            OPC_CheckComplexPat, /*CP*/35, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*259171*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSWHri), 0,
                          MVT::f16, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f16] } (uint_to_fp:{ *:[f16] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f16_i32:{ *:[f16] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSWHri:{ *:[f16] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f16_i32:{ *:[f16] }:$scale)
/*259179*/          /*SwitchType*/ 13, MVT::f32,// ->259194
/*259181*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259183*/            OPC_CheckComplexPat, /*CP*/37, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*259186*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSWSri), 0,
                          MVT::f32, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f32] } (uint_to_fp:{ *:[f32] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f32_i32:{ *:[f32] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSWSri:{ *:[f32] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f32_i32:{ *:[f32] }:$scale)
/*259194*/          /*SwitchType*/ 13, MVT::f64,// ->259209
/*259196*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259198*/            OPC_CheckComplexPat, /*CP*/39, /*#*/1, // SelectCVTFixedPosOperand<32>:$scale #2
/*259201*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSWDri), 0,
                          MVT::f64, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f64] } (uint_to_fp:{ *:[f64] } GPR32:{ *:[i32] }:$Rn), fixedpoint_f64_i32:{ *:[f64] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSWDri:{ *:[f64] } GPR32:{ *:[i32] }:$Rn, fixedpoint_f64_i32:{ *:[f64] }:$scale)
/*259209*/          0, // EndSwitchType
/*259210*/        /*Scope*/ 51, /*->259262*/
/*259211*/          OPC_CheckChild0Type, MVT::i64,
/*259213*/          OPC_MoveParent,
/*259214*/          OPC_RecordChild1, // #1 = $scale
/*259215*/          OPC_SwitchType /*3 cases */, 13, MVT::f16,// ->259231
/*259218*/            OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*259220*/            OPC_CheckComplexPat, /*CP*/36, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*259223*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSXHri), 0,
                          MVT::f16, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f16] } (uint_to_fp:{ *:[f16] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f16_i64:{ *:[f16] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSXHri:{ *:[f16] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f16_i64:{ *:[f16] }:$scale)
/*259231*/          /*SwitchType*/ 13, MVT::f32,// ->259246
/*259233*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259235*/            OPC_CheckComplexPat, /*CP*/38, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*259238*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSXSri), 0,
                          MVT::f32, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f32] } (uint_to_fp:{ *:[f32] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f32_i64:{ *:[f32] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSXSri:{ *:[f32] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f32_i64:{ *:[f32] }:$scale)
/*259246*/          /*SwitchType*/ 13, MVT::f64,// ->259261
/*259248*/            OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259250*/            OPC_CheckComplexPat, /*CP*/40, /*#*/1, // SelectCVTFixedPosOperand<64>:$scale #2
/*259253*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFSXDri), 0,
                          MVT::f64, 2/*#Ops*/, 0, 2, 
                      // Src: (fdiv:{ *:[f64] } (uint_to_fp:{ *:[f64] } GPR64:{ *:[i64] }:$Rn), fixedpoint_f64_i64:{ *:[f64] }:$scale) - Complexity = 12
                      // Dst: (UCVTFSXDri:{ *:[f64] } GPR64:{ *:[i64] }:$Rn, fixedpoint_f64_i64:{ *:[f64] }:$scale)
/*259261*/          0, // EndSwitchType
/*259262*/        0, /*End of Scope*/
/*259263*/      0, // EndSwitchOpcode
/*259264*/    /*Scope*/ 100, /*->259365*/
/*259265*/      OPC_RecordChild0, // #0 = $Rn
/*259266*/      OPC_RecordChild1, // #1 = $Rm
/*259267*/      OPC_SwitchType /*8 cases */, 10, MVT::f16,// ->259280
/*259270*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*259272*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVHrr), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fdiv:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                  // Dst: (FDIVHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*259280*/      /*SwitchType*/ 10, MVT::f32,// ->259292
/*259282*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259284*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVSrr), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fdiv:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                  // Dst: (FDIVSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*259292*/      /*SwitchType*/ 10, MVT::f64,// ->259304
/*259294*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259296*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVDrr), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fdiv:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                  // Dst: (FDIVDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*259304*/      /*SwitchType*/ 10, MVT::v4f16,// ->259316
/*259306*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*259308*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fdiv:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                  // Dst: (FDIVv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*259316*/      /*SwitchType*/ 10, MVT::v8f16,// ->259328
/*259318*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*259320*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fdiv:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                  // Dst: (FDIVv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*259328*/      /*SwitchType*/ 10, MVT::v2f32,// ->259340
/*259330*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259332*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fdiv:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                  // Dst: (FDIVv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*259340*/      /*SwitchType*/ 10, MVT::v4f32,// ->259352
/*259342*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259344*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fdiv:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                  // Dst: (FDIVv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*259352*/      /*SwitchType*/ 10, MVT::v2f64,// ->259364
/*259354*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259356*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FDIVv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fdiv:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                  // Dst: (FDIVv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*259364*/      0, // EndSwitchType
/*259365*/    0, /*End of Scope*/
/*259366*/  /*SwitchOpcode*/ 78|128,6/*846*/, TARGET_VAL(ISD::FMUL),// ->260216
/*259370*/    OPC_Scope, 95, /*->259467*/ // 7 children in Scope
/*259372*/      OPC_RecordChild0, // #0 = $Rn
/*259373*/      OPC_MoveChild1,
/*259374*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*259377*/      OPC_RecordChild0, // #1 = $Rm
/*259378*/      OPC_Scope, 28, /*->259408*/ // 3 children in Scope
/*259380*/        OPC_CheckChild0Type, MVT::v8f16,
/*259382*/        OPC_RecordChild1, // #2 = $idx
/*259383*/        OPC_MoveChild1,
/*259384*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259387*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*259389*/        OPC_CheckType, MVT::i64,
/*259391*/        OPC_MoveParent,
/*259392*/        OPC_MoveParent,
/*259393*/        OPC_CheckType, MVT::f16,
/*259395*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*259397*/        OPC_EmitConvertToTarget, 2,
/*259399*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv1i16_indexed), 0,
                      MVT::f16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (fmul:{ *:[f16] } FPR16Op:{ *:[f16] }:$Rn, (vector_extract:{ *:[f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 10
                  // Dst: (FMULv1i16_indexed:{ *:[f16] } FPR16Op:{ *:[f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259408*/      /*Scope*/ 28, /*->259437*/
/*259409*/        OPC_CheckChild0Type, MVT::v4f32,
/*259411*/        OPC_RecordChild1, // #2 = $idx
/*259412*/        OPC_MoveChild1,
/*259413*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259416*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*259418*/        OPC_CheckType, MVT::i64,
/*259420*/        OPC_MoveParent,
/*259421*/        OPC_MoveParent,
/*259422*/        OPC_CheckType, MVT::f32,
/*259424*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259426*/        OPC_EmitConvertToTarget, 2,
/*259428*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv1i32_indexed), 0,
                      MVT::f32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (fmul:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rn, (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 10
                  // Dst: (FMULv1i32_indexed:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259437*/      /*Scope*/ 28, /*->259466*/
/*259438*/        OPC_CheckChild0Type, MVT::v2f64,
/*259440*/        OPC_RecordChild1, // #2 = $idx
/*259441*/        OPC_MoveChild1,
/*259442*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259445*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*259447*/        OPC_CheckType, MVT::i64,
/*259449*/        OPC_MoveParent,
/*259450*/        OPC_MoveParent,
/*259451*/        OPC_CheckType, MVT::f64,
/*259453*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259455*/        OPC_EmitConvertToTarget, 2,
/*259457*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv1i64_indexed), 0,
                      MVT::f64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (fmul:{ *:[f64] } FPR64Op:{ *:[f64] }:$Rn, (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)) - Complexity = 10
                  // Dst: (FMULv1i64_indexed:{ *:[f64] } FPR64Op:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259466*/      0, /*End of Scope*/
/*259467*/    /*Scope*/ 97, /*->259565*/
/*259468*/      OPC_MoveChild0,
/*259469*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*259472*/      OPC_RecordChild0, // #0 = $Rm
/*259473*/      OPC_Scope, 29, /*->259504*/ // 3 children in Scope
/*259475*/        OPC_CheckChild0Type, MVT::v8f16,
/*259477*/        OPC_RecordChild1, // #1 = $idx
/*259478*/        OPC_MoveChild1,
/*259479*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259482*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*259484*/        OPC_CheckType, MVT::i64,
/*259486*/        OPC_MoveParent,
/*259487*/        OPC_MoveParent,
/*259488*/        OPC_RecordChild1, // #2 = $Rn
/*259489*/        OPC_CheckType, MVT::f16,
/*259491*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*259493*/        OPC_EmitConvertToTarget, 1,
/*259495*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv1i16_indexed), 0,
                      MVT::f16, 3/*#Ops*/, 2, 0, 3, 
                  // Src: (fmul:{ *:[f16] } (vector_extract:{ *:[f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), FPR16Op:{ *:[f16] }:$Rn) - Complexity = 10
                  // Dst: (FMULv1i16_indexed:{ *:[f16] } FPR16Op:{ *:[f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259504*/      /*Scope*/ 29, /*->259534*/
/*259505*/        OPC_CheckChild0Type, MVT::v4f32,
/*259507*/        OPC_RecordChild1, // #1 = $idx
/*259508*/        OPC_MoveChild1,
/*259509*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259512*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*259514*/        OPC_CheckType, MVT::i64,
/*259516*/        OPC_MoveParent,
/*259517*/        OPC_MoveParent,
/*259518*/        OPC_RecordChild1, // #2 = $Rn
/*259519*/        OPC_CheckType, MVT::f32,
/*259521*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259523*/        OPC_EmitConvertToTarget, 1,
/*259525*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv1i32_indexed), 0,
                      MVT::f32, 3/*#Ops*/, 2, 0, 3, 
                  // Src: (fmul:{ *:[f32] } (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), FPR32Op:{ *:[f32] }:$Rn) - Complexity = 10
                  // Dst: (FMULv1i32_indexed:{ *:[f32] } FPR32Op:{ *:[f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259534*/      /*Scope*/ 29, /*->259564*/
/*259535*/        OPC_CheckChild0Type, MVT::v2f64,
/*259537*/        OPC_RecordChild1, // #1 = $idx
/*259538*/        OPC_MoveChild1,
/*259539*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259542*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*259544*/        OPC_CheckType, MVT::i64,
/*259546*/        OPC_MoveParent,
/*259547*/        OPC_MoveParent,
/*259548*/        OPC_RecordChild1, // #2 = $Rn
/*259549*/        OPC_CheckType, MVT::f64,
/*259551*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259553*/        OPC_EmitConvertToTarget, 1,
/*259555*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv1i64_indexed), 0,
                      MVT::f64, 3/*#Ops*/, 2, 0, 3, 
                  // Src: (fmul:{ *:[f64] } (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), FPR64Op:{ *:[f64] }:$Rn) - Complexity = 10
                  // Dst: (FMULv1i64_indexed:{ *:[f64] } FPR64Op:{ *:[f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259564*/      0, /*End of Scope*/
/*259565*/    /*Scope*/ 50|128,1/*178*/, /*->259745*/
/*259567*/      OPC_RecordChild0, // #0 = $Rn
/*259568*/      OPC_Scope, 39, /*->259609*/ // 2 children in Scope
/*259570*/        OPC_RecordChild1, // #1 = $Rm
/*259571*/        OPC_SwitchType /*3 cases */, 10, MVT::f16,// ->259584
/*259574*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*259576*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULHrr), 0,
                        MVT::f16, 2/*#Ops*/, 0, 1, 
                    // Src: (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                    // Dst: (FMULHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*259584*/        /*SwitchType*/ 10, MVT::f32,// ->259596
/*259586*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259588*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULSrr), 0,
                        MVT::f32, 2/*#Ops*/, 0, 1, 
                    // Src: (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                    // Dst: (FMULSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*259596*/        /*SwitchType*/ 10, MVT::f64,// ->259608
/*259598*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*259600*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULDrr), 0,
                        MVT::f64, 2/*#Ops*/, 0, 1, 
                    // Src: (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                    // Dst: (FMULDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*259608*/        0, // EndSwitchType
/*259609*/      /*Scope*/ 5|128,1/*133*/, /*->259744*/
/*259611*/        OPC_MoveChild1,
/*259612*/        OPC_SwitchOpcode /*3 cases */, 46, TARGET_VAL(AArch64ISD::DUPLANE16),// ->259662
/*259616*/          OPC_RecordChild0, // #1 = $Rm
/*259617*/          OPC_CheckChild0Type, MVT::v8f16,
/*259619*/          OPC_RecordChild1, // #2 = $idx
/*259620*/          OPC_MoveChild1,
/*259621*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259624*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*259626*/          OPC_CheckType, MVT::i64,
/*259628*/          OPC_MoveParent,
/*259629*/          OPC_MoveParent,
/*259630*/          OPC_SwitchType /*2 cases */, 13, MVT::v4f16,// ->259646
/*259633*/            OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*259635*/            OPC_EmitConvertToTarget, 2,
/*259637*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv4i16_indexed), 0,
                          MVT::v4f16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (fmul:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, (AArch64duplane16:{ *:[v4f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 10
                      // Dst: (FMULv4i16_indexed:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259646*/          /*SwitchType*/ 13, MVT::v8f16,// ->259661
/*259648*/            OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*259650*/            OPC_EmitConvertToTarget, 2,
/*259652*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv8i16_indexed), 0,
                          MVT::v8f16, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (fmul:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, (AArch64duplane16:{ *:[v8f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx)) - Complexity = 10
                      // Dst: (FMULv8i16_indexed:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259661*/          0, // EndSwitchType
/*259662*/        /*SwitchOpcode*/ 46, TARGET_VAL(AArch64ISD::DUPLANE32),// ->259711
/*259665*/          OPC_RecordChild0, // #1 = $Rm
/*259666*/          OPC_CheckChild0Type, MVT::v4f32,
/*259668*/          OPC_RecordChild1, // #2 = $idx
/*259669*/          OPC_MoveChild1,
/*259670*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259673*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*259675*/          OPC_CheckType, MVT::i64,
/*259677*/          OPC_MoveParent,
/*259678*/          OPC_MoveParent,
/*259679*/          OPC_SwitchType /*2 cases */, 13, MVT::v2f32,// ->259695
/*259682*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259684*/            OPC_EmitConvertToTarget, 2,
/*259686*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2i32_indexed), 0,
                          MVT::v2f32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (fmul:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 10
                      // Dst: (FMULv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259695*/          /*SwitchType*/ 13, MVT::v4f32,// ->259710
/*259697*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259699*/            OPC_EmitConvertToTarget, 2,
/*259701*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv4i32_indexed), 0,
                          MVT::v4f32, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (fmul:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx)) - Complexity = 10
                      // Dst: (FMULv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259710*/          0, // EndSwitchType
/*259711*/        /*SwitchOpcode*/ 29, TARGET_VAL(AArch64ISD::DUPLANE64),// ->259743
/*259714*/          OPC_RecordChild0, // #1 = $Rm
/*259715*/          OPC_CheckChild0Type, MVT::v2f64,
/*259717*/          OPC_RecordChild1, // #2 = $idx
/*259718*/          OPC_MoveChild1,
/*259719*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259722*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*259724*/          OPC_CheckType, MVT::i64,
/*259726*/          OPC_MoveParent,
/*259727*/          OPC_MoveParent,
/*259728*/          OPC_CheckType, MVT::v2f64,
/*259730*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259732*/          OPC_EmitConvertToTarget, 2,
/*259734*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2i64_indexed), 0,
                        MVT::v2f64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (fmul:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)) - Complexity = 10
                    // Dst: (FMULv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259743*/        0, // EndSwitchOpcode
/*259744*/      0, /*End of Scope*/
/*259745*/    /*Scope*/ 8|128,1/*136*/, /*->259883*/
/*259747*/      OPC_MoveChild0,
/*259748*/      OPC_SwitchOpcode /*3 cases */, 47, TARGET_VAL(AArch64ISD::DUPLANE16),// ->259799
/*259752*/        OPC_RecordChild0, // #0 = $Rm
/*259753*/        OPC_CheckChild0Type, MVT::v8f16,
/*259755*/        OPC_RecordChild1, // #1 = $idx
/*259756*/        OPC_MoveChild1,
/*259757*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259760*/        OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*259762*/        OPC_CheckType, MVT::i64,
/*259764*/        OPC_MoveParent,
/*259765*/        OPC_MoveParent,
/*259766*/        OPC_RecordChild1, // #2 = $Rn
/*259767*/        OPC_SwitchType /*2 cases */, 13, MVT::v4f16,// ->259783
/*259770*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*259772*/          OPC_EmitConvertToTarget, 1,
/*259774*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv4i16_indexed), 0,
                        MVT::v4f16, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (fmul:{ *:[v4f16] } (AArch64duplane16:{ *:[v4f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), V64:{ *:[v4f16] }:$Rn) - Complexity = 10
                    // Dst: (FMULv4i16_indexed:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259783*/        /*SwitchType*/ 13, MVT::v8f16,// ->259798
/*259785*/          OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*259787*/          OPC_EmitConvertToTarget, 1,
/*259789*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv8i16_indexed), 0,
                        MVT::v8f16, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (fmul:{ *:[v8f16] } (AArch64duplane16:{ *:[v8f16] } V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx), V128:{ *:[v8f16] }:$Rn) - Complexity = 10
                    // Dst: (FMULv8i16_indexed:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128_lo:{ *:[v8f16] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259798*/        0, // EndSwitchType
/*259799*/      /*SwitchOpcode*/ 47, TARGET_VAL(AArch64ISD::DUPLANE32),// ->259849
/*259802*/        OPC_RecordChild0, // #0 = $Rm
/*259803*/        OPC_CheckChild0Type, MVT::v4f32,
/*259805*/        OPC_RecordChild1, // #1 = $idx
/*259806*/        OPC_MoveChild1,
/*259807*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259810*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*259812*/        OPC_CheckType, MVT::i64,
/*259814*/        OPC_MoveParent,
/*259815*/        OPC_MoveParent,
/*259816*/        OPC_RecordChild1, // #2 = $Rn
/*259817*/        OPC_SwitchType /*2 cases */, 13, MVT::v2f32,// ->259833
/*259820*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259822*/          OPC_EmitConvertToTarget, 1,
/*259824*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2i32_indexed), 0,
                        MVT::v2f32, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (fmul:{ *:[v2f32] } (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V64:{ *:[v2f32] }:$Rn) - Complexity = 10
                    // Dst: (FMULv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259833*/        /*SwitchType*/ 13, MVT::v4f32,// ->259848
/*259835*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259837*/          OPC_EmitConvertToTarget, 1,
/*259839*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv4i32_indexed), 0,
                        MVT::v4f32, 3/*#Ops*/, 2, 0, 3, 
                    // Src: (fmul:{ *:[v4f32] } (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx), V128:{ *:[v4f32] }:$Rn) - Complexity = 10
                    // Dst: (FMULv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259848*/        0, // EndSwitchType
/*259849*/      /*SwitchOpcode*/ 30, TARGET_VAL(AArch64ISD::DUPLANE64),// ->259882
/*259852*/        OPC_RecordChild0, // #0 = $Rm
/*259853*/        OPC_CheckChild0Type, MVT::v2f64,
/*259855*/        OPC_RecordChild1, // #1 = $idx
/*259856*/        OPC_MoveChild1,
/*259857*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*259860*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*259862*/        OPC_CheckType, MVT::i64,
/*259864*/        OPC_MoveParent,
/*259865*/        OPC_MoveParent,
/*259866*/        OPC_RecordChild1, // #2 = $Rn
/*259867*/        OPC_CheckType, MVT::v2f64,
/*259869*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*259871*/        OPC_EmitConvertToTarget, 1,
/*259873*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2i64_indexed), 0,
                      MVT::v2f64, 3/*#Ops*/, 2, 0, 3, 
                  // Src: (fmul:{ *:[v2f64] } (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx), V128:{ *:[v2f64] }:$Rn) - Complexity = 10
                  // Dst: (FMULv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i64] }):$idx)
/*259882*/      0, // EndSwitchOpcode
/*259883*/    /*Scope*/ 114, /*->259998*/
/*259884*/      OPC_RecordChild0, // #0 = $Rn
/*259885*/      OPC_MoveChild1,
/*259886*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*259889*/      OPC_RecordChild0, // #1 = $Rm
/*259890*/      OPC_Scope, 69, /*->259961*/ // 2 children in Scope
/*259892*/        OPC_CheckChild0Type, MVT::f32,
/*259894*/        OPC_MoveParent,
/*259895*/        OPC_SwitchType /*2 cases */, 30, MVT::v2f32,// ->259928
/*259898*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*259904*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*259907*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*259916*/          OPC_EmitInteger, MVT::i64, 0, 
/*259919*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2i32_indexed), 0,
                        MVT::v2f32, 3/*#Ops*/, 0, 4, 5, 
                    // Src: (fmul:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (AArch64dup:{ *:[v2f32] } FPR32:{ *:[f32] }:$Rm)) - Complexity = 6
                    // Dst: (FMULv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*259928*/        /*SwitchType*/ 30, MVT::v4f32,// ->259960
/*259930*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*259936*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*259939*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*259948*/          OPC_EmitInteger, MVT::i64, 0, 
/*259951*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv4i32_indexed), 0,
                        MVT::v4f32, 3/*#Ops*/, 0, 4, 5, 
                    // Src: (fmul:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (AArch64dup:{ *:[v4f32] } FPR32:{ *:[f32] }:$Rm)) - Complexity = 6
                    // Dst: (FMULv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*259960*/        0, // EndSwitchType
/*259961*/      /*Scope*/ 35, /*->259997*/
/*259962*/        OPC_CheckChild0Type, MVT::f64,
/*259964*/        OPC_MoveParent,
/*259965*/        OPC_CheckType, MVT::v2f64,
/*259967*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*259973*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*259976*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v4i32, 3/*#Ops*/, 2, 1, 3,  // Results = #4
/*259985*/        OPC_EmitInteger, MVT::i64, 0, 
/*259988*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2i64_indexed), 0,
                      MVT::v2f64, 3/*#Ops*/, 0, 4, 5, 
                  // Src: (fmul:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (AArch64dup:{ *:[v2f64] } FPR64:{ *:[f64] }:$Rm)) - Complexity = 6
                  // Dst: (FMULv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR64:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*259997*/      0, /*End of Scope*/
/*259998*/    /*Scope*/ 115, /*->260114*/
/*259999*/      OPC_MoveChild0,
/*260000*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*260003*/      OPC_RecordChild0, // #0 = $Rm
/*260004*/      OPC_Scope, 70, /*->260076*/ // 2 children in Scope
/*260006*/        OPC_CheckChild0Type, MVT::f32,
/*260008*/        OPC_MoveParent,
/*260009*/        OPC_RecordChild1, // #1 = $Rn
/*260010*/        OPC_SwitchType /*2 cases */, 30, MVT::v2f32,// ->260043
/*260013*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*260019*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*260022*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*260031*/          OPC_EmitInteger, MVT::i64, 0, 
/*260034*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2i32_indexed), 0,
                        MVT::v2f32, 3/*#Ops*/, 1, 4, 5, 
                    // Src: (fmul:{ *:[v2f32] } (AArch64dup:{ *:[v2f32] } FPR32:{ *:[f32] }:$Rm), V64:{ *:[v2f32] }:$Rn) - Complexity = 6
                    // Dst: (FMULv2i32_indexed:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*260043*/        /*SwitchType*/ 30, MVT::v4f32,// ->260075
/*260045*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*260051*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*260054*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*260063*/          OPC_EmitInteger, MVT::i64, 0, 
/*260066*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv4i32_indexed), 0,
                        MVT::v4f32, 3/*#Ops*/, 1, 4, 5, 
                    // Src: (fmul:{ *:[v4f32] } (AArch64dup:{ *:[v4f32] } FPR32:{ *:[f32] }:$Rm), V128:{ *:[v4f32] }:$Rn) - Complexity = 6
                    // Dst: (FMULv4i32_indexed:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*260075*/        0, // EndSwitchType
/*260076*/      /*Scope*/ 36, /*->260113*/
/*260077*/        OPC_CheckChild0Type, MVT::f64,
/*260079*/        OPC_MoveParent,
/*260080*/        OPC_RecordChild1, // #1 = $Rn
/*260081*/        OPC_CheckType, MVT::v2f64,
/*260083*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*260089*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*260092*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v4i32, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*260101*/        OPC_EmitInteger, MVT::i64, 0, 
/*260104*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2i64_indexed), 0,
                      MVT::v2f64, 3/*#Ops*/, 1, 4, 5, 
                  // Src: (fmul:{ *:[v2f64] } (AArch64dup:{ *:[v2f64] } FPR64:{ *:[f64] }:$Rm), V128:{ *:[v2f64] }:$Rn) - Complexity = 6
                  // Dst: (FMULv2i64_indexed:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR64:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*260113*/      0, /*End of Scope*/
/*260114*/    /*Scope*/ 100, /*->260215*/
/*260115*/      OPC_RecordChild0, // #0 = $Rn
/*260116*/      OPC_RecordChild1, // #1 = $Rm
/*260117*/      OPC_SwitchType /*8 cases */, 10, MVT::v4f16,// ->260130
/*260120*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*260122*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fmul:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                  // Dst: (FMULv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*260130*/      /*SwitchType*/ 10, MVT::v8f16,// ->260142
/*260132*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*260134*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fmul:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                  // Dst: (FMULv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*260142*/      /*SwitchType*/ 10, MVT::v2f32,// ->260154
/*260144*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260146*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fmul:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                  // Dst: (FMULv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*260154*/      /*SwitchType*/ 10, MVT::v4f32,// ->260166
/*260156*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260158*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fmul:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                  // Dst: (FMULv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*260166*/      /*SwitchType*/ 10, MVT::v2f64,// ->260178
/*260168*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260170*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMULv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fmul:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                  // Dst: (FMULv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*260178*/      /*SwitchType*/ 10, MVT::nxv8f16,// ->260190
/*260180*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*260182*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZZZ_H), 0,
                      MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fmul:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                  // Dst: (FMUL_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*260190*/      /*SwitchType*/ 10, MVT::nxv4f32,// ->260202
/*260192*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*260194*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZZZ_S), 0,
                      MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fmul:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                  // Dst: (FMUL_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*260202*/      /*SwitchType*/ 10, MVT::nxv2f64,// ->260214
/*260204*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*260206*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMUL_ZZZ_D), 0,
                      MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fmul:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                  // Dst: (FMUL_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*260214*/      0, // EndSwitchType
/*260215*/    0, /*End of Scope*/
/*260216*/  /*SwitchOpcode*/ 36, TARGET_VAL(AArch64ISD::MOVIedit),// ->260255
/*260219*/    OPC_RecordChild0, // #0 = $shift
/*260220*/    OPC_MoveChild0,
/*260221*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*260224*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*260226*/    OPC_CheckType, MVT::i32,
/*260228*/    OPC_MoveParent,
/*260229*/    OPC_SwitchType /*2 cases */, 9, MVT::f64,// ->260241
/*260232*/      OPC_EmitConvertToTarget, 0,
/*260234*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVID), 0,
                    MVT::f64, 1/*#Ops*/, 1, 
                // Src: (AArch64movi_edit:{ *:[f64] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$shift) - Complexity = 7
                // Dst: (MOVID:{ *:[f64] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$shift)
/*260241*/    /*SwitchType*/ 11, MVT::v2i64,// ->260254
/*260243*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260245*/      OPC_EmitConvertToTarget, 0,
/*260247*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                    MVT::v2i64, 1/*#Ops*/, 1, 
                // Src: (AArch64movi_edit:{ *:[v2i64] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8) - Complexity = 7
                // Dst: (MOVIv2d_ns:{ *:[v2i64] } (imm:{ *:[i32] }):$imm8)
/*260254*/    0, // EndSwitchType
/*260255*/  /*SwitchOpcode*/ 62|128,1/*190*/, TARGET_VAL(ISD::FNEG),// ->260449
/*260259*/    OPC_Scope, 95, /*->260356*/ // 2 children in Scope
/*260261*/      OPC_MoveChild0,
/*260262*/      OPC_SwitchOpcode /*2 cases */, 41, TARGET_VAL(ISD::FMUL),// ->260307
/*260266*/        OPC_RecordChild0, // #0 = $Rn
/*260267*/        OPC_RecordChild1, // #1 = $Rm
/*260268*/        OPC_MoveParent,
/*260269*/        OPC_SwitchType /*3 cases */, 10, MVT::f16,// ->260282
/*260272*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260274*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMULHrr), 0,
                        MVT::f16, 2/*#Ops*/, 0, 1, 
                    // Src: (fneg:{ *:[f16] } (fmul:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)) - Complexity = 6
                    // Dst: (FNMULHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*260282*/        /*SwitchType*/ 10, MVT::f32,// ->260294
/*260284*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260286*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMULSrr), 0,
                        MVT::f32, 2/*#Ops*/, 0, 1, 
                    // Src: (fneg:{ *:[f32] } (fmul:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)) - Complexity = 6
                    // Dst: (FNMULSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*260294*/        /*SwitchType*/ 10, MVT::f64,// ->260306
/*260296*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260298*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMULDrr), 0,
                        MVT::f64, 2/*#Ops*/, 0, 1, 
                    // Src: (fneg:{ *:[f64] } (fmul:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)) - Complexity = 6
                    // Dst: (FNMULDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*260306*/        0, // EndSwitchType
/*260307*/      /*SwitchOpcode*/ 45, TARGET_VAL(ISD::FMA),// ->260355
/*260310*/        OPC_RecordChild0, // #0 = $Rn
/*260311*/        OPC_RecordChild1, // #1 = $Rm
/*260312*/        OPC_RecordChild2, // #2 = $Ra
/*260313*/        OPC_MoveParent,
/*260314*/        OPC_SwitchType /*3 cases */, 11, MVT::f16,// ->260328
/*260317*/          OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260319*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDHrrr), 0,
                        MVT::f16, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (fneg:{ *:[f16] } (fma:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra)) - Complexity = 6
                    // Dst: (FNMADDHrrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, FPR16:{ *:[f16] }:$Ra)
/*260328*/        /*SwitchType*/ 11, MVT::f32,// ->260341
/*260330*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260332*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDSrrr), 0,
                        MVT::f32, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (fneg:{ *:[f32] } (fma:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra)) - Complexity = 6
                    // Dst: (FNMADDSrrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, FPR32:{ *:[f32] }:$Ra)
/*260341*/        /*SwitchType*/ 11, MVT::f64,// ->260354
/*260343*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260345*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNMADDDrrr), 0,
                        MVT::f64, 3/*#Ops*/, 0, 1, 2, 
                    // Src: (fneg:{ *:[f64] } (fma:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra)) - Complexity = 6
                    // Dst: (FNMADDDrrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, FPR64:{ *:[f64] }:$Ra)
/*260354*/        0, // EndSwitchType
/*260355*/      0, // EndSwitchOpcode
/*260356*/    /*Scope*/ 91, /*->260448*/
/*260357*/      OPC_RecordChild0, // #0 = $Rn
/*260358*/      OPC_SwitchType /*8 cases */, 9, MVT::f16,// ->260370
/*260361*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260363*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEGHr), 0,
                      MVT::f16, 1/*#Ops*/, 0, 
                  // Src: (fneg:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                  // Dst: (FNEGHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*260370*/      /*SwitchType*/ 9, MVT::f32,// ->260381
/*260372*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260374*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEGSr), 0,
                      MVT::f32, 1/*#Ops*/, 0, 
                  // Src: (fneg:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                  // Dst: (FNEGSr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*260381*/      /*SwitchType*/ 9, MVT::f64,// ->260392
/*260383*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260385*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEGDr), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (fneg:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FNEGDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*260392*/      /*SwitchType*/ 9, MVT::v4f16,// ->260403
/*260394*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*260396*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEGv4f16), 0,
                      MVT::v4f16, 1/*#Ops*/, 0, 
                  // Src: (fneg:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                  // Dst: (FNEGv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*260403*/      /*SwitchType*/ 9, MVT::v8f16,// ->260414
/*260405*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*260407*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEGv8f16), 0,
                      MVT::v8f16, 1/*#Ops*/, 0, 
                  // Src: (fneg:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                  // Dst: (FNEGv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*260414*/      /*SwitchType*/ 9, MVT::v2f32,// ->260425
/*260416*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260418*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEGv2f32), 0,
                      MVT::v2f32, 1/*#Ops*/, 0, 
                  // Src: (fneg:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                  // Dst: (FNEGv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*260425*/      /*SwitchType*/ 9, MVT::v4f32,// ->260436
/*260427*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260429*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEGv4f32), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (fneg:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                  // Dst: (FNEGv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*260436*/      /*SwitchType*/ 9, MVT::v2f64,// ->260447
/*260438*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260440*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FNEGv2f64), 0,
                      MVT::v2f64, 1/*#Ops*/, 0, 
                  // Src: (fneg:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                  // Dst: (FNEGv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*260447*/      0, // EndSwitchType
/*260448*/    0, /*End of Scope*/
/*260449*/  /*SwitchOpcode*/ 82|128,1/*210*/, TARGET_VAL(ISD::FABS),// ->260663
/*260453*/    OPC_Scope, 41, /*->260496*/ // 4 children in Scope
/*260455*/      OPC_MoveChild0,
/*260456*/      OPC_CheckOpcode, TARGET_VAL(ISD::FSUB),
/*260459*/      OPC_RecordChild0, // #0 = $Rn
/*260460*/      OPC_RecordChild1, // #1 = $Rm
/*260461*/      OPC_MoveParent,
/*260462*/      OPC_SwitchType /*3 cases */, 10, MVT::f16,// ->260475
/*260465*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260467*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD16), 0,
                      MVT::f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fabs:{ *:[f16] } (fsub:{ *:[f16] } f16:{ *:[f16] }:$Rn, f16:{ *:[f16] }:$Rm)) - Complexity = 6
                  // Dst: (FABD16:{ *:[f16] } f16:{ *:[f16] }:$Rn, f16:{ *:[f16] }:$Rm)
/*260475*/      /*SwitchType*/ 8, MVT::f32,// ->260485
/*260477*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD32), 0,
                      MVT::f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fabs:{ *:[f32] } (fsub:{ *:[f32] } f32:{ *:[f32] }:$Rn, f32:{ *:[f32] }:$Rm)) - Complexity = 6
                  // Dst: (FABD32:{ *:[f32] } f32:{ *:[f32] }:$Rn, f32:{ *:[f32] }:$Rm)
/*260485*/      /*SwitchType*/ 8, MVT::f64,// ->260495
/*260487*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABD64), 0,
                      MVT::f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fabs:{ *:[f64] } (fsub:{ *:[f64] } f64:{ *:[f64] }:$Rn, f64:{ *:[f64] }:$Rm)) - Complexity = 6
                  // Dst: (FABD64:{ *:[f64] } f64:{ *:[f64] }:$Rn, f64:{ *:[f64] }:$Rm)
/*260495*/      0, // EndSwitchType
/*260496*/    /*Scope*/ 36, /*->260533*/
/*260497*/      OPC_RecordChild0, // #0 = $Rn
/*260498*/      OPC_SwitchType /*3 cases */, 9, MVT::f16,// ->260510
/*260501*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260503*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABSHr), 0,
                      MVT::f16, 1/*#Ops*/, 0, 
                  // Src: (fabs:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                  // Dst: (FABSHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*260510*/      /*SwitchType*/ 9, MVT::f32,// ->260521
/*260512*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260514*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABSSr), 0,
                      MVT::f32, 1/*#Ops*/, 0, 
                  // Src: (fabs:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                  // Dst: (FABSSr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*260521*/      /*SwitchType*/ 9, MVT::f64,// ->260532
/*260523*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260525*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABSDr), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (fabs:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FABSDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*260532*/      0, // EndSwitchType
/*260533*/    /*Scope*/ 69, /*->260603*/
/*260534*/      OPC_MoveChild0,
/*260535*/      OPC_CheckOpcode, TARGET_VAL(ISD::FSUB),
/*260538*/      OPC_RecordChild0, // #0 = $Rn
/*260539*/      OPC_RecordChild1, // #1 = $Rm
/*260540*/      OPC_MoveParent,
/*260541*/      OPC_SwitchType /*5 cases */, 10, MVT::v2f32,// ->260554
/*260544*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260546*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv2f32), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fabs:{ *:[v2f32] } (fsub:{ *:[v2f32] } v2f32:{ *:[v2f32] }:$Rn, v2f32:{ *:[v2f32] }:$Rm)) - Complexity = 6
                  // Dst: (FABDv2f32:{ *:[v2f32] } v2f32:{ *:[v2f32] }:$Rn, v2f32:{ *:[v2f32] }:$Rm)
/*260554*/      /*SwitchType*/ 10, MVT::v4f32,// ->260566
/*260556*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260558*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (fabs:{ *:[v4f32] } (fsub:{ *:[v4f32] } v4f32:{ *:[v4f32] }:$Rn, v4f32:{ *:[v4f32] }:$Rm)) - Complexity = 6
                  // Dst: (FABDv4f32:{ *:[v4f32] } v4f32:{ *:[v4f32] }:$Rn, v4f32:{ *:[v4f32] }:$Rm)
/*260566*/      /*SwitchType*/ 10, MVT::v2f64,// ->260578
/*260568*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260570*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv2f64), 0,
                      MVT::v2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (fabs:{ *:[v2f64] } (fsub:{ *:[v2f64] } v2f64:{ *:[v2f64] }:$Rn, v2f64:{ *:[v2f64] }:$Rm)) - Complexity = 6
                  // Dst: (FABDv2f64:{ *:[v2f64] } v2f64:{ *:[v2f64] }:$Rn, v2f64:{ *:[v2f64] }:$Rm)
/*260578*/      /*SwitchType*/ 10, MVT::v4f16,// ->260590
/*260580*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*260582*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv4f16), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fabs:{ *:[v4f16] } (fsub:{ *:[v4f16] } v4f16:{ *:[v4f16] }:$Rn, v4f16:{ *:[v4f16] }:$Rm)) - Complexity = 6
                  // Dst: (FABDv4f16:{ *:[v4f16] } v4f16:{ *:[v4f16] }:$Rn, v4f16:{ *:[v4f16] }:$Rm)
/*260590*/      /*SwitchType*/ 10, MVT::v8f16,// ->260602
/*260592*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*260594*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABDv8f16), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (fabs:{ *:[v8f16] } (fsub:{ *:[v8f16] } v8f16:{ *:[v8f16] }:$Rn, v8f16:{ *:[v8f16] }:$Rm)) - Complexity = 6
                  // Dst: (FABDv8f16:{ *:[v8f16] } v8f16:{ *:[v8f16] }:$Rn, v8f16:{ *:[v8f16] }:$Rm)
/*260602*/      0, // EndSwitchType
/*260603*/    /*Scope*/ 58, /*->260662*/
/*260604*/      OPC_RecordChild0, // #0 = $Rn
/*260605*/      OPC_SwitchType /*5 cases */, 9, MVT::v4f16,// ->260617
/*260608*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*260610*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABSv4f16), 0,
                      MVT::v4f16, 1/*#Ops*/, 0, 
                  // Src: (fabs:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                  // Dst: (FABSv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*260617*/      /*SwitchType*/ 9, MVT::v8f16,// ->260628
/*260619*/        OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*260621*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABSv8f16), 0,
                      MVT::v8f16, 1/*#Ops*/, 0, 
                  // Src: (fabs:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                  // Dst: (FABSv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*260628*/      /*SwitchType*/ 9, MVT::v2f32,// ->260639
/*260630*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260632*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABSv2f32), 0,
                      MVT::v2f32, 1/*#Ops*/, 0, 
                  // Src: (fabs:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                  // Dst: (FABSv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*260639*/      /*SwitchType*/ 9, MVT::v4f32,// ->260650
/*260641*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260643*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABSv4f32), 0,
                      MVT::v4f32, 1/*#Ops*/, 0, 
                  // Src: (fabs:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                  // Dst: (FABSv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*260650*/      /*SwitchType*/ 9, MVT::v2f64,// ->260661
/*260652*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260654*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FABSv2f64), 0,
                      MVT::v2f64, 1/*#Ops*/, 0, 
                  // Src: (fabs:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                  // Dst: (FABSv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*260661*/      0, // EndSwitchType
/*260662*/    0, /*End of Scope*/
/*260663*/  /*SwitchOpcode*/ 30|128,1/*158*/, TARGET_VAL(ISD::ConstantFP),// ->260825
/*260667*/    OPC_Scope, 30, /*->260699*/ // 2 children in Scope
/*260669*/      OPC_CheckPredicate, 57, // Predicate_fpimm0
/*260671*/      OPC_SwitchType /*3 cases */, 8, MVT::f16,// ->260682
/*260674*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260676*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVH0), 0,
                      MVT::f16, 0/*#Ops*/, 
                  // Src: (fpimm:{ *:[f16] })<<P:Predicate_fpimm0>> - Complexity = 4
                  // Dst: (FMOVH0:{ *:[f16] })
/*260682*/      /*SwitchType*/ 6, MVT::f32,// ->260690
/*260684*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVS0), 0,
                      MVT::f32, 0/*#Ops*/, 
                  // Src: (fpimm:{ *:[f32] })<<P:Predicate_fpimm0>> - Complexity = 4
                  // Dst: (FMOVS0:{ *:[f32] })
/*260690*/      /*SwitchType*/ 6, MVT::f64,// ->260698
/*260692*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVD0), 0,
                      MVT::f64, 0/*#Ops*/, 
                  // Src: (fpimm:{ *:[f64] })<<P:Predicate_fpimm0>> - Complexity = 4
                  // Dst: (FMOVD0:{ *:[f64] })
/*260698*/      0, // EndSwitchType
/*260699*/    /*Scope*/ 124, /*->260824*/
/*260700*/      OPC_RecordNode, // #0 = $imm
/*260701*/      OPC_SwitchType /*3 cases */, 16, MVT::f16,// ->260720
/*260704*/        OPC_CheckPredicate, 74, // Predicate_fpimm16
/*260706*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260708*/        OPC_EmitConvertToTarget, 0,
/*260710*/        OPC_EmitNodeXForm, 18, 1, // anonymous_2388
/*260713*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVHi), 0,
                      MVT::f16, 1/*#Ops*/, 2, 
                  // Src: (fpimm:{ *:[f16] })<<P:Predicate_fpimm16>><<X:anonymous_2388>>:$imm - Complexity = 4
                  // Dst: (FMOVHi:{ *:[f16] } (anonymous_2388:{ *:[f16] } (fpimm:{ *:[f16] }):$imm))
/*260720*/      /*SwitchType*/ 41, MVT::f32,// ->260763
/*260722*/        OPC_Scope, 16, /*->260740*/ // 2 children in Scope
/*260724*/          OPC_CheckPredicate, 75, // Predicate_fpimm32
/*260726*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260728*/          OPC_EmitConvertToTarget, 0,
/*260730*/          OPC_EmitNodeXForm, 19, 1, // anonymous_2389
/*260733*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVSi), 0,
                        MVT::f32, 1/*#Ops*/, 2, 
                    // Src: (fpimm:{ *:[f32] })<<P:Predicate_fpimm32>><<X:anonymous_2389>>:$imm - Complexity = 4
                    // Dst: (FMOVSi:{ *:[f32] } (anonymous_2389:{ *:[f32] } (fpimm:{ *:[f32] }):$imm))
/*260740*/        /*Scope*/ 21, /*->260762*/
/*260741*/          OPC_EmitNodeXForm, 20, 0, // bitcast_fpimm_to_i32
/*260744*/          OPC_EmitNode1, TARGET_VAL(AArch64::MOVi32imm), 0,
                        MVT::i32, 1/*#Ops*/, 1,  // Results = #2
/*260751*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*260754*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::f32, 2/*#Ops*/, 2, 3, 
                    // Src: (fpimm:{ *:[f32] }):$in - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[f32] } (MOVi32imm:{ *:[i32] } (bitcast_fpimm_to_i32:{ *:[i32] } f32:{ *:[f32] }:$in)), FPR32:{ *:[i32] })
/*260762*/        0, /*End of Scope*/
/*260763*/      /*SwitchType*/ 58, MVT::f64,// ->260823
/*260765*/        OPC_Scope, 16, /*->260783*/ // 3 children in Scope
/*260767*/          OPC_CheckPredicate, 76, // Predicate_fpimm64
/*260769*/          OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260771*/          OPC_EmitConvertToTarget, 0,
/*260773*/          OPC_EmitNodeXForm, 21, 1, // anonymous_2390
/*260776*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVDi), 0,
                        MVT::f64, 1/*#Ops*/, 2, 
                    // Src: (fpimm:{ *:[f64] })<<P:Predicate_fpimm64>><<X:anonymous_2390>>:$imm - Complexity = 4
                    // Dst: (FMOVDi:{ *:[f64] } (anonymous_2390:{ *:[f64] } (fpimm:{ *:[f64] }):$imm))
/*260783*/        /*Scope*/ 16, /*->260800*/
/*260784*/          OPC_CheckPredicate, 77, // Predicate_simdimmtype10
/*260786*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*260788*/          OPC_EmitConvertToTarget, 0,
/*260790*/          OPC_EmitNodeXForm, 22, 1, // anonymous_2391
/*260793*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVID), 0,
                        MVT::f64, 1/*#Ops*/, 2, 
                    // Src: (fpimm:{ *:[f64] })<<P:Predicate_simdimmtype10>><<X:anonymous_2391>>:$imm8 - Complexity = 4
                    // Dst: (MOVID:{ *:[f64] } (anonymous_2391:{ *:[i32] } (fpimm:{ *:[f64] }):$imm8))
/*260800*/        /*Scope*/ 21, /*->260822*/
/*260801*/          OPC_EmitNodeXForm, 23, 0, // bitcast_fpimm_to_i64
/*260804*/          OPC_EmitNode1, TARGET_VAL(AArch64::MOVi64imm), 0,
                        MVT::i64, 1/*#Ops*/, 1,  // Results = #2
/*260811*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*260814*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::f64, 2/*#Ops*/, 2, 3, 
                    // Src: (fpimm:{ *:[f64] }):$in - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[f64] } (MOVi64imm:{ *:[i64] } (bitcast_fpimm_to_i64:{ *:[i64] } f64:{ *:[f64] }:$in)), FPR64:{ *:[i32] })
/*260822*/        0, /*End of Scope*/
/*260823*/      0, // EndSwitchType
/*260824*/    0, /*End of Scope*/
/*260825*/  /*SwitchOpcode*/ 86, TARGET_VAL(ISD::STRICT_SINT_TO_FP),// ->260914
/*260828*/    OPC_RecordNode, // #0 = 'strict_sint_to_fp' chained node
/*260829*/    OPC_RecordChild1, // #1 = $Rn
/*260830*/    OPC_Scope, 40, /*->260872*/ // 2 children in Scope
/*260832*/      OPC_CheckChild1Type, MVT::i32,
/*260834*/      OPC_SwitchType /*3 cases */, 10, MVT::f16,// ->260847
/*260837*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260839*/        OPC_EmitMergeInputChains1_0,
/*260840*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUWHri), 0|OPFL_Chain,
                      MVT::f16, 1/*#Ops*/, 1, 
                  // Src: (strict_sint_to_fp:{ *:[f16] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFUWHri:{ *:[f16] } GPR32:{ *:[i32] }:$Rn)
/*260847*/      /*SwitchType*/ 10, MVT::f32,// ->260859
/*260849*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260851*/        OPC_EmitMergeInputChains1_0,
/*260852*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUWSri), 0|OPFL_Chain,
                      MVT::f32, 1/*#Ops*/, 1, 
                  // Src: (strict_sint_to_fp:{ *:[f32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFUWSri:{ *:[f32] } GPR32:{ *:[i32] }:$Rn)
/*260859*/      /*SwitchType*/ 10, MVT::f64,// ->260871
/*260861*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260863*/        OPC_EmitMergeInputChains1_0,
/*260864*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUWDri), 0|OPFL_Chain,
                      MVT::f64, 1/*#Ops*/, 1, 
                  // Src: (strict_sint_to_fp:{ *:[f64] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFUWDri:{ *:[f64] } GPR32:{ *:[i32] }:$Rn)
/*260871*/      0, // EndSwitchType
/*260872*/    /*Scope*/ 40, /*->260913*/
/*260873*/      OPC_CheckChild1Type, MVT::i64,
/*260875*/      OPC_SwitchType /*3 cases */, 10, MVT::f16,// ->260888
/*260878*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260880*/        OPC_EmitMergeInputChains1_0,
/*260881*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUXHri), 0|OPFL_Chain,
                      MVT::f16, 1/*#Ops*/, 1, 
                  // Src: (strict_sint_to_fp:{ *:[f16] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFUXHri:{ *:[f16] } GPR64:{ *:[i64] }:$Rn)
/*260888*/      /*SwitchType*/ 10, MVT::f32,// ->260900
/*260890*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260892*/        OPC_EmitMergeInputChains1_0,
/*260893*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUXSri), 0|OPFL_Chain,
                      MVT::f32, 1/*#Ops*/, 1, 
                  // Src: (strict_sint_to_fp:{ *:[f32] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFUXSri:{ *:[f32] } GPR64:{ *:[i64] }:$Rn)
/*260900*/      /*SwitchType*/ 10, MVT::f64,// ->260912
/*260902*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260904*/        OPC_EmitMergeInputChains1_0,
/*260905*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFUXDri), 0|OPFL_Chain,
                      MVT::f64, 1/*#Ops*/, 1, 
                  // Src: (strict_sint_to_fp:{ *:[f64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                  // Dst: (SCVTFUXDri:{ *:[f64] } GPR64:{ *:[i64] }:$Rn)
/*260912*/      0, // EndSwitchType
/*260913*/    0, /*End of Scope*/
/*260914*/  /*SwitchOpcode*/ 86, TARGET_VAL(ISD::STRICT_UINT_TO_FP),// ->261003
/*260917*/    OPC_RecordNode, // #0 = 'strict_uint_to_fp' chained node
/*260918*/    OPC_RecordChild1, // #1 = $Rn
/*260919*/    OPC_Scope, 40, /*->260961*/ // 2 children in Scope
/*260921*/      OPC_CheckChild1Type, MVT::i32,
/*260923*/      OPC_SwitchType /*3 cases */, 10, MVT::f16,// ->260936
/*260926*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260928*/        OPC_EmitMergeInputChains1_0,
/*260929*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUWHri), 0|OPFL_Chain,
                      MVT::f16, 1/*#Ops*/, 1, 
                  // Src: (strict_uint_to_fp:{ *:[f16] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFUWHri:{ *:[f16] } GPR32:{ *:[i32] }:$Rn)
/*260936*/      /*SwitchType*/ 10, MVT::f32,// ->260948
/*260938*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260940*/        OPC_EmitMergeInputChains1_0,
/*260941*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUWSri), 0|OPFL_Chain,
                      MVT::f32, 1/*#Ops*/, 1, 
                  // Src: (strict_uint_to_fp:{ *:[f32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFUWSri:{ *:[f32] } GPR32:{ *:[i32] }:$Rn)
/*260948*/      /*SwitchType*/ 10, MVT::f64,// ->260960
/*260950*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260952*/        OPC_EmitMergeInputChains1_0,
/*260953*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUWDri), 0|OPFL_Chain,
                      MVT::f64, 1/*#Ops*/, 1, 
                  // Src: (strict_uint_to_fp:{ *:[f64] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFUWDri:{ *:[f64] } GPR32:{ *:[i32] }:$Rn)
/*260960*/      0, // EndSwitchType
/*260961*/    /*Scope*/ 40, /*->261002*/
/*260962*/      OPC_CheckChild1Type, MVT::i64,
/*260964*/      OPC_SwitchType /*3 cases */, 10, MVT::f16,// ->260977
/*260967*/        OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*260969*/        OPC_EmitMergeInputChains1_0,
/*260970*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUXHri), 0|OPFL_Chain,
                      MVT::f16, 1/*#Ops*/, 1, 
                  // Src: (strict_uint_to_fp:{ *:[f16] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFUXHri:{ *:[f16] } GPR64:{ *:[i64] }:$Rn)
/*260977*/      /*SwitchType*/ 10, MVT::f32,// ->260989
/*260979*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260981*/        OPC_EmitMergeInputChains1_0,
/*260982*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUXSri), 0|OPFL_Chain,
                      MVT::f32, 1/*#Ops*/, 1, 
                  // Src: (strict_uint_to_fp:{ *:[f32] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFUXSri:{ *:[f32] } GPR64:{ *:[i64] }:$Rn)
/*260989*/      /*SwitchType*/ 10, MVT::f64,// ->261001
/*260991*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*260993*/        OPC_EmitMergeInputChains1_0,
/*260994*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFUXDri), 0|OPFL_Chain,
                      MVT::f64, 1/*#Ops*/, 1, 
                  // Src: (strict_uint_to_fp:{ *:[f64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                  // Dst: (UCVTFUXDri:{ *:[f64] } GPR64:{ *:[i64] }:$Rn)
/*261001*/      0, // EndSwitchType
/*261002*/    0, /*End of Scope*/
/*261003*/  /*SwitchOpcode*/ 48, TARGET_VAL(ISD::STRICT_FP_ROUND),// ->261054
/*261006*/    OPC_RecordNode, // #0 = 'strict_fpround' chained node
/*261007*/    OPC_RecordChild1, // #1 = $Rn
/*261008*/    OPC_Scope, 28, /*->261038*/ // 2 children in Scope
/*261010*/      OPC_CheckChild1Type, MVT::f64,
/*261012*/      OPC_SwitchType /*2 cases */, 10, MVT::f16,// ->261025
/*261015*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261017*/        OPC_EmitMergeInputChains1_0,
/*261018*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTHDr), 0|OPFL_Chain,
                      MVT::f16, 1/*#Ops*/, 1, 
                  // Src: (strict_fpround:{ *:[f16] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTHDr:{ *:[f16] } FPR64:{ *:[f64] }:$Rn)
/*261025*/      /*SwitchType*/ 10, MVT::f32,// ->261037
/*261027*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261029*/        OPC_EmitMergeInputChains1_0,
/*261030*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTSDr), 0|OPFL_Chain,
                      MVT::f32, 1/*#Ops*/, 1, 
                  // Src: (strict_fpround:{ *:[f32] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTSDr:{ *:[f32] } FPR64:{ *:[f64] }:$Rn)
/*261037*/      0, // EndSwitchType
/*261038*/    /*Scope*/ 14, /*->261053*/
/*261039*/      OPC_CheckChild1Type, MVT::f32,
/*261041*/      OPC_CheckType, MVT::f16,
/*261043*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261045*/      OPC_EmitMergeInputChains1_0,
/*261046*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTHSr), 0|OPFL_Chain,
                    MVT::f16, 1/*#Ops*/, 1, 
                // Src: (strict_fpround:{ *:[f16] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FCVTHSr:{ *:[f16] } FPR32:{ *:[f32] }:$Rn)
/*261053*/    0, /*End of Scope*/
/*261054*/  /*SwitchOpcode*/ 68, TARGET_VAL(ISD::FP_ROUND),// ->261125
/*261057*/    OPC_RecordChild0, // #0 = $Rn
/*261058*/    OPC_Scope, 26, /*->261086*/ // 4 children in Scope
/*261060*/      OPC_CheckChild0Type, MVT::f64,
/*261062*/      OPC_SwitchType /*2 cases */, 9, MVT::f16,// ->261074
/*261065*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261067*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTHDr), 0,
                      MVT::f16, 1/*#Ops*/, 0, 
                  // Src: (fpround:{ *:[f16] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTHDr:{ *:[f16] } FPR64:{ *:[f64] }:$Rn)
/*261074*/      /*SwitchType*/ 9, MVT::f32,// ->261085
/*261076*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261078*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTSDr), 0,
                      MVT::f32, 1/*#Ops*/, 0, 
                  // Src: (fpround:{ *:[f32] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                  // Dst: (FCVTSDr:{ *:[f32] } FPR64:{ *:[f64] }:$Rn)
/*261085*/      0, // EndSwitchType
/*261086*/    /*Scope*/ 13, /*->261100*/
/*261087*/      OPC_CheckChild0Type, MVT::f32,
/*261089*/      OPC_CheckType, MVT::f16,
/*261091*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261093*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTHSr), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (fpround:{ *:[f16] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FCVTHSr:{ *:[f16] } FPR32:{ *:[f32] }:$Rn)
/*261100*/    /*Scope*/ 11, /*->261112*/
/*261101*/      OPC_CheckChild0Type, MVT::v2f64,
/*261103*/      OPC_CheckType, MVT::v2f32,
/*261105*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNv2i32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (fpround:{ *:[v2f32] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FCVTNv2i32:{ *:[v2f32] } V128:{ *:[v2f64] }:$Rn)
/*261112*/    /*Scope*/ 11, /*->261124*/
/*261113*/      OPC_CheckChild0Type, MVT::v4f32,
/*261115*/      OPC_CheckType, MVT::v4f16,
/*261117*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNv4i16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (fpround:{ *:[v4f16] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FCVTNv4i16:{ *:[v4f16] } V128:{ *:[v4f32] }:$Rn)
/*261124*/    0, /*End of Scope*/
/*261125*/  /*SwitchOpcode*/ 64, TARGET_VAL(ISD::FP_EXTEND),// ->261192
/*261128*/    OPC_RecordChild0, // #0 = $Rn
/*261129*/    OPC_SwitchType /*4 cases */, 26, MVT::f64,// ->261158
/*261132*/      OPC_Scope, 11, /*->261145*/ // 2 children in Scope
/*261134*/        OPC_CheckChild0Type, MVT::f16,
/*261136*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261138*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTDHr), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (fpextend:{ *:[f64] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                  // Dst: (FCVTDHr:{ *:[f64] } FPR16:{ *:[f16] }:$Rn)
/*261145*/      /*Scope*/ 11, /*->261157*/
/*261146*/        OPC_CheckChild0Type, MVT::f32,
/*261148*/        OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261150*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTDSr), 0,
                      MVT::f64, 1/*#Ops*/, 0, 
                  // Src: (fpextend:{ *:[f64] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                  // Dst: (FCVTDSr:{ *:[f64] } FPR32:{ *:[f32] }:$Rn)
/*261157*/      0, /*End of Scope*/
/*261158*/    /*SwitchType*/ 9, MVT::f32,// ->261169
/*261160*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261162*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTSHr), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (fpextend:{ *:[f32] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FCVTSHr:{ *:[f32] } FPR16:{ *:[f16] }:$Rn)
/*261169*/    /*SwitchType*/ 9, MVT::v2f64,// ->261180
/*261171*/      OPC_CheckChild0Type, MVT::v2f32,
/*261173*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTLv2i32), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (fpextend:{ *:[v2f64] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FCVTLv2i32:{ *:[v2f64] } V64:{ *:[v2f32] }:$Rn)
/*261180*/    /*SwitchType*/ 9, MVT::v4f32,// ->261191
/*261182*/      OPC_CheckChild0Type, MVT::v4f16,
/*261184*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTLv4i16), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (fpextend:{ *:[v4f32] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FCVTLv4i16:{ *:[v4f32] } V64:{ *:[v4f16] }:$Rn)
/*261191*/    0, // EndSwitchType
/*261192*/  /*SwitchOpcode*/ 91, TARGET_VAL(ISD::FROUND),// ->261286
/*261195*/    OPC_RecordChild0, // #0 = $Rn
/*261196*/    OPC_SwitchType /*8 cases */, 9, MVT::f16,// ->261208
/*261199*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261201*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTAHr), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (fround:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTAHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*261208*/    /*SwitchType*/ 9, MVT::f32,// ->261219
/*261210*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261212*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTASr), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (fround:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTASr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*261219*/    /*SwitchType*/ 9, MVT::f64,// ->261230
/*261221*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261223*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTADr), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (fround:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTADr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*261230*/    /*SwitchType*/ 9, MVT::v4f16,// ->261241
/*261232*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261234*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTAv4f16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (fround:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTAv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*261241*/    /*SwitchType*/ 9, MVT::v8f16,// ->261252
/*261243*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261245*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTAv8f16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (fround:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTAv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*261252*/    /*SwitchType*/ 9, MVT::v2f32,// ->261263
/*261254*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261256*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTAv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (fround:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTAv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*261263*/    /*SwitchType*/ 9, MVT::v4f32,// ->261274
/*261265*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261267*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTAv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (fround:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTAv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*261274*/    /*SwitchType*/ 9, MVT::v2f64,// ->261285
/*261276*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261278*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTAv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (fround:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTAv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*261285*/    0, // EndSwitchType
/*261286*/  /*SwitchOpcode*/ 91, TARGET_VAL(ISD::FNEARBYINT),// ->261380
/*261289*/    OPC_RecordChild0, // #0 = $Rn
/*261290*/    OPC_SwitchType /*8 cases */, 9, MVT::f16,// ->261302
/*261293*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261295*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTIHr), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (fnearbyint:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTIHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*261302*/    /*SwitchType*/ 9, MVT::f32,// ->261313
/*261304*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261306*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTISr), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (fnearbyint:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTISr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*261313*/    /*SwitchType*/ 9, MVT::f64,// ->261324
/*261315*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261317*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTIDr), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (fnearbyint:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTIDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*261324*/    /*SwitchType*/ 9, MVT::v4f16,// ->261335
/*261326*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261328*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTIv4f16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (fnearbyint:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTIv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*261335*/    /*SwitchType*/ 9, MVT::v8f16,// ->261346
/*261337*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261339*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTIv8f16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (fnearbyint:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTIv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*261346*/    /*SwitchType*/ 9, MVT::v2f32,// ->261357
/*261348*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261350*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTIv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (fnearbyint:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTIv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*261357*/    /*SwitchType*/ 9, MVT::v4f32,// ->261368
/*261359*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261361*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTIv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (fnearbyint:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTIv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*261368*/    /*SwitchType*/ 9, MVT::v2f64,// ->261379
/*261370*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261372*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTIv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (fnearbyint:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTIv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*261379*/    0, // EndSwitchType
/*261380*/  /*SwitchOpcode*/ 91, TARGET_VAL(ISD::FFLOOR),// ->261474
/*261383*/    OPC_RecordChild0, // #0 = $Rn
/*261384*/    OPC_SwitchType /*8 cases */, 9, MVT::f16,// ->261396
/*261387*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261389*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTMHr), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (ffloor:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTMHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*261396*/    /*SwitchType*/ 9, MVT::f32,// ->261407
/*261398*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261400*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTMSr), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (ffloor:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTMSr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*261407*/    /*SwitchType*/ 9, MVT::f64,// ->261418
/*261409*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261411*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTMDr), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (ffloor:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTMDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*261418*/    /*SwitchType*/ 9, MVT::v4f16,// ->261429
/*261420*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261422*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTMv4f16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (ffloor:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTMv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*261429*/    /*SwitchType*/ 9, MVT::v8f16,// ->261440
/*261431*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261433*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTMv8f16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (ffloor:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTMv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*261440*/    /*SwitchType*/ 9, MVT::v2f32,// ->261451
/*261442*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261444*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTMv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (ffloor:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTMv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*261451*/    /*SwitchType*/ 9, MVT::v4f32,// ->261462
/*261453*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261455*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTMv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (ffloor:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTMv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*261462*/    /*SwitchType*/ 9, MVT::v2f64,// ->261473
/*261464*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261466*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTMv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (ffloor:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTMv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*261473*/    0, // EndSwitchType
/*261474*/  /*SwitchOpcode*/ 91, TARGET_VAL(ISD::FCEIL),// ->261568
/*261477*/    OPC_RecordChild0, // #0 = $Rn
/*261478*/    OPC_SwitchType /*8 cases */, 9, MVT::f16,// ->261490
/*261481*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261483*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTPHr), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (fceil:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTPHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*261490*/    /*SwitchType*/ 9, MVT::f32,// ->261501
/*261492*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261494*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTPSr), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (fceil:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTPSr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*261501*/    /*SwitchType*/ 9, MVT::f64,// ->261512
/*261503*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261505*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTPDr), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (fceil:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTPDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*261512*/    /*SwitchType*/ 9, MVT::v4f16,// ->261523
/*261514*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261516*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTPv4f16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (fceil:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTPv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*261523*/    /*SwitchType*/ 9, MVT::v8f16,// ->261534
/*261525*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261527*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTPv8f16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (fceil:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTPv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*261534*/    /*SwitchType*/ 9, MVT::v2f32,// ->261545
/*261536*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261538*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTPv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (fceil:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTPv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*261545*/    /*SwitchType*/ 9, MVT::v4f32,// ->261556
/*261547*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261549*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTPv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (fceil:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTPv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*261556*/    /*SwitchType*/ 9, MVT::v2f64,// ->261567
/*261558*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261560*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTPv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (fceil:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTPv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*261567*/    0, // EndSwitchType
/*261568*/  /*SwitchOpcode*/ 91, TARGET_VAL(ISD::FRINT),// ->261662
/*261571*/    OPC_RecordChild0, // #0 = $Rn
/*261572*/    OPC_SwitchType /*8 cases */, 9, MVT::f16,// ->261584
/*261575*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261577*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTXHr), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (frint:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTXHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*261584*/    /*SwitchType*/ 9, MVT::f32,// ->261595
/*261586*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261588*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTXSr), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (frint:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTXSr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*261595*/    /*SwitchType*/ 9, MVT::f64,// ->261606
/*261597*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261599*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTXDr), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (frint:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTXDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*261606*/    /*SwitchType*/ 9, MVT::v4f16,// ->261617
/*261608*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261610*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTXv4f16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (frint:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTXv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*261617*/    /*SwitchType*/ 9, MVT::v8f16,// ->261628
/*261619*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261621*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTXv8f16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (frint:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTXv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*261628*/    /*SwitchType*/ 9, MVT::v2f32,// ->261639
/*261630*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261632*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTXv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (frint:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTXv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*261639*/    /*SwitchType*/ 9, MVT::v4f32,// ->261650
/*261641*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261643*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTXv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (frint:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTXv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*261650*/    /*SwitchType*/ 9, MVT::v2f64,// ->261661
/*261652*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261654*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTXv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (frint:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTXv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*261661*/    0, // EndSwitchType
/*261662*/  /*SwitchOpcode*/ 91, TARGET_VAL(ISD::FTRUNC),// ->261756
/*261665*/    OPC_RecordChild0, // #0 = $Rn
/*261666*/    OPC_SwitchType /*8 cases */, 9, MVT::f16,// ->261678
/*261669*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261671*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZHr), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (ftrunc:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTZHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*261678*/    /*SwitchType*/ 9, MVT::f32,// ->261689
/*261680*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261682*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZSr), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (ftrunc:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTZSr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*261689*/    /*SwitchType*/ 9, MVT::f64,// ->261700
/*261691*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261693*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZDr), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (ftrunc:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTZDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*261700*/    /*SwitchType*/ 9, MVT::v4f16,// ->261711
/*261702*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261704*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZv4f16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (ftrunc:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTZv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*261711*/    /*SwitchType*/ 9, MVT::v8f16,// ->261722
/*261713*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261715*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZv8f16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (ftrunc:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FRINTZv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*261722*/    /*SwitchType*/ 9, MVT::v2f32,// ->261733
/*261724*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261726*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (ftrunc:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTZv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*261733*/    /*SwitchType*/ 9, MVT::v4f32,// ->261744
/*261735*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261737*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (ftrunc:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FRINTZv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*261744*/    /*SwitchType*/ 9, MVT::v2f64,// ->261755
/*261746*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261748*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRINTZv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (ftrunc:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FRINTZv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*261755*/    0, // EndSwitchType
/*261756*/  /*SwitchOpcode*/ 91, TARGET_VAL(ISD::FSQRT),// ->261850
/*261759*/    OPC_RecordChild0, // #0 = $Rn
/*261760*/    OPC_SwitchType /*8 cases */, 9, MVT::f16,// ->261772
/*261763*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261765*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRTHr), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (fsqrt:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (FSQRTHr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*261772*/    /*SwitchType*/ 9, MVT::f32,// ->261783
/*261774*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261776*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRTSr), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (fsqrt:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FSQRTSr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*261783*/    /*SwitchType*/ 9, MVT::f64,// ->261794
/*261785*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261787*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRTDr), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (fsqrt:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FSQRTDr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*261794*/    /*SwitchType*/ 9, MVT::v4f16,// ->261805
/*261796*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261798*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRTv4f16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (fsqrt:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FSQRTv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*261805*/    /*SwitchType*/ 9, MVT::v8f16,// ->261816
/*261807*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261809*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRTv8f16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (fsqrt:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FSQRTv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*261816*/    /*SwitchType*/ 9, MVT::v2f32,// ->261827
/*261818*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261820*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRTv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (fsqrt:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FSQRTv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*261827*/    /*SwitchType*/ 9, MVT::v4f32,// ->261838
/*261829*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261831*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRTv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (fsqrt:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FSQRTv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*261838*/    /*SwitchType*/ 9, MVT::v2f64,// ->261849
/*261840*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261842*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSQRTv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (fsqrt:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FSQRTv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn)
/*261849*/    0, // EndSwitchType
/*261850*/  /*SwitchOpcode*/ 110, TARGET_VAL(ISD::FMAXNUM),// ->261963
/*261853*/    OPC_RecordChild0, // #0 = $Rn
/*261854*/    OPC_RecordChild1, // #1 = $Rm
/*261855*/    OPC_SwitchType /*9 cases */, 10, MVT::f16,// ->261868
/*261858*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261860*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMHrr), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*261868*/    /*SwitchType*/ 10, MVT::f32,// ->261880
/*261870*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261872*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMSrr), 0,
                    MVT::f32, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*261880*/    /*SwitchType*/ 10, MVT::f64,// ->261892
/*261882*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261884*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMDrr), 0,
                    MVT::f64, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*261892*/    /*SwitchType*/ 8, MVT::v1f64,// ->261902
/*261894*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMDrr), 0,
                    MVT::v1f64, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMDrr:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*261902*/    /*SwitchType*/ 10, MVT::v4f16,// ->261914
/*261904*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261906*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMv4f16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*261914*/    /*SwitchType*/ 10, MVT::v8f16,// ->261926
/*261916*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*261918*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMv8f16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*261926*/    /*SwitchType*/ 10, MVT::v2f32,// ->261938
/*261928*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261930*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMv2f32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*261938*/    /*SwitchType*/ 10, MVT::v4f32,// ->261950
/*261940*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261942*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMv4f32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*261950*/    /*SwitchType*/ 10, MVT::v2f64,// ->261962
/*261952*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*261954*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXNMv2f64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (fmaxnum:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FMAXNMv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*261962*/    0, // EndSwitchType
/*261963*/  /*SwitchOpcode*/ 110, TARGET_VAL(ISD::FMAXIMUM),// ->262076
/*261966*/    OPC_RecordChild0, // #0 = $Rn
/*261967*/    OPC_RecordChild1, // #1 = $Rm
/*261968*/    OPC_SwitchType /*9 cases */, 10, MVT::f16,// ->261981
/*261971*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*261973*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXHrr), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                // Dst: (FMAXHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*261981*/    /*SwitchType*/ 10, MVT::f32,// ->261993
/*261983*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261985*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXSrr), 0,
                    MVT::f32, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FMAXSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*261993*/    /*SwitchType*/ 10, MVT::f64,// ->262005
/*261995*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*261997*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXDrr), 0,
                    MVT::f64, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FMAXDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*262005*/    /*SwitchType*/ 8, MVT::v1f64,// ->262015
/*262007*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXDrr), 0,
                    MVT::v1f64, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 3
                // Dst: (FMAXDrr:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*262015*/    /*SwitchType*/ 10, MVT::v4f16,// ->262027
/*262017*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262019*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXv4f16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (FMAXv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*262027*/    /*SwitchType*/ 10, MVT::v8f16,// ->262039
/*262029*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262031*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXv8f16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (FMAXv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*262039*/    /*SwitchType*/ 10, MVT::v2f32,// ->262051
/*262041*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262043*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXv2f32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FMAXv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*262051*/    /*SwitchType*/ 10, MVT::v4f32,// ->262063
/*262053*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262055*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXv4f32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FMAXv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*262063*/    /*SwitchType*/ 10, MVT::v2f64,// ->262075
/*262065*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262067*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMAXv2f64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (fmaximum:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FMAXv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*262075*/    0, // EndSwitchType
/*262076*/  /*SwitchOpcode*/ 110, TARGET_VAL(ISD::FMINNUM),// ->262189
/*262079*/    OPC_RecordChild0, // #0 = $Rn
/*262080*/    OPC_RecordChild1, // #1 = $Rm
/*262081*/    OPC_SwitchType /*9 cases */, 10, MVT::f16,// ->262094
/*262084*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*262086*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMHrr), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                // Dst: (FMINNMHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*262094*/    /*SwitchType*/ 10, MVT::f32,// ->262106
/*262096*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*262098*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMSrr), 0,
                    MVT::f32, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FMINNMSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*262106*/    /*SwitchType*/ 10, MVT::f64,// ->262118
/*262108*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*262110*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMDrr), 0,
                    MVT::f64, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FMINNMDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*262118*/    /*SwitchType*/ 8, MVT::v1f64,// ->262128
/*262120*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMDrr), 0,
                    MVT::v1f64, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 3
                // Dst: (FMINNMDrr:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*262128*/    /*SwitchType*/ 10, MVT::v4f16,// ->262140
/*262130*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262132*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMv4f16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (FMINNMv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*262140*/    /*SwitchType*/ 10, MVT::v8f16,// ->262152
/*262142*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262144*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMv8f16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (FMINNMv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*262152*/    /*SwitchType*/ 10, MVT::v2f32,// ->262164
/*262154*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262156*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMv2f32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FMINNMv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*262164*/    /*SwitchType*/ 10, MVT::v4f32,// ->262176
/*262166*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262168*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMv4f32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FMINNMv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*262176*/    /*SwitchType*/ 10, MVT::v2f64,// ->262188
/*262178*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262180*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINNMv2f64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (fminnum:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FMINNMv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*262188*/    0, // EndSwitchType
/*262189*/  /*SwitchOpcode*/ 110, TARGET_VAL(ISD::FMINIMUM),// ->262302
/*262192*/    OPC_RecordChild0, // #0 = $Rn
/*262193*/    OPC_RecordChild1, // #1 = $Rm
/*262194*/    OPC_SwitchType /*9 cases */, 10, MVT::f16,// ->262207
/*262197*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*262199*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINHrr), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                // Dst: (FMINHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*262207*/    /*SwitchType*/ 10, MVT::f32,// ->262219
/*262209*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*262211*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINSrr), 0,
                    MVT::f32, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FMINSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*262219*/    /*SwitchType*/ 10, MVT::f64,// ->262231
/*262221*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*262223*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINDrr), 0,
                    MVT::f64, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FMINDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*262231*/    /*SwitchType*/ 8, MVT::v1f64,// ->262241
/*262233*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINDrr), 0,
                    MVT::v1f64, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm) - Complexity = 3
                // Dst: (FMINDrr:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn, FPR64:{ *:[v1f64] }:$Rm)
/*262241*/    /*SwitchType*/ 10, MVT::v4f16,// ->262253
/*262243*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262245*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINv4f16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (FMINv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*262253*/    /*SwitchType*/ 10, MVT::v8f16,// ->262265
/*262255*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262257*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINv8f16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (FMINv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*262265*/    /*SwitchType*/ 10, MVT::v2f32,// ->262277
/*262267*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262269*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINv2f32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FMINv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*262277*/    /*SwitchType*/ 10, MVT::v4f32,// ->262289
/*262279*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262281*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINv4f32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FMINv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*262289*/    /*SwitchType*/ 10, MVT::v2f64,// ->262301
/*262291*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262293*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMINv2f64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (fminimum:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FMINv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*262301*/    0, // EndSwitchType
/*262302*/  /*SwitchOpcode*/ 8|128,1/*136*/, TARGET_VAL(ISD::FSUB),// ->262442
/*262306*/    OPC_RecordChild0, // #0 = $Rn
/*262307*/    OPC_RecordChild1, // #1 = $Rm
/*262308*/    OPC_SwitchType /*11 cases */, 10, MVT::f16,// ->262321
/*262311*/      OPC_CheckPatternPredicate, 12, // (Subtarget->hasFullFP16())
/*262313*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBHrr), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm) - Complexity = 3
                // Dst: (FSUBHrr:{ *:[f16] } FPR16:{ *:[f16] }:$Rn, FPR16:{ *:[f16] }:$Rm)
/*262321*/    /*SwitchType*/ 10, MVT::f32,// ->262333
/*262323*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*262325*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBSrr), 0,
                    MVT::f32, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FSUBSrr:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*262333*/    /*SwitchType*/ 10, MVT::f64,// ->262345
/*262335*/      OPC_CheckPatternPredicate, 13, // (Subtarget->hasFPARMv8())
/*262337*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBDrr), 0,
                    MVT::f64, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FSUBDrr:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*262345*/    /*SwitchType*/ 10, MVT::v4f16,// ->262357
/*262347*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262349*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBv4f16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (FSUBv4f16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*262357*/    /*SwitchType*/ 10, MVT::v8f16,// ->262369
/*262359*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262361*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBv8f16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (FSUBv8f16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*262369*/    /*SwitchType*/ 10, MVT::v2f32,// ->262381
/*262371*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262373*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBv2f32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FSUBv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*262381*/    /*SwitchType*/ 10, MVT::v4f32,// ->262393
/*262383*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262385*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBv4f32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FSUBv4f32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*262393*/    /*SwitchType*/ 10, MVT::v2f64,// ->262405
/*262395*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262397*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUBv2f64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FSUBv2f64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*262405*/    /*SwitchType*/ 10, MVT::nxv8f16,// ->262417
/*262407*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*262409*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUB_ZZZ_H), 0,
                    MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                // Dst: (FSUB_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*262417*/    /*SwitchType*/ 10, MVT::nxv4f32,// ->262429
/*262419*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*262421*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUB_ZZZ_S), 0,
                    MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                // Dst: (FSUB_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*262429*/    /*SwitchType*/ 10, MVT::nxv2f64,// ->262441
/*262431*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*262433*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FSUB_ZZZ_D), 0,
                    MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                // Src: (fsub:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                // Dst: (FSUB_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*262441*/    0, // EndSwitchType
/*262442*/  /*SwitchOpcode*/ 36, TARGET_VAL(AArch64ISD::SITOF),// ->262481
/*262445*/    OPC_RecordChild0, // #0 = $Rn
/*262446*/    OPC_SwitchType /*3 cases */, 9, MVT::f64,// ->262458
/*262449*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262451*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i64), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (AArch64sitof:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (SCVTFv1i64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*262458*/    /*SwitchType*/ 9, MVT::f32,// ->262469
/*262460*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262462*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i32), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (AArch64sitof:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (SCVTFv1i32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*262469*/    /*SwitchType*/ 9, MVT::f16,// ->262480
/*262471*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262473*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SCVTFv1i16), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (AArch64sitof:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (SCVTFv1i16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*262480*/    0, // EndSwitchType
/*262481*/  /*SwitchOpcode*/ 36, TARGET_VAL(AArch64ISD::UITOF),// ->262520
/*262484*/    OPC_RecordChild0, // #0 = $Rn
/*262485*/    OPC_SwitchType /*3 cases */, 9, MVT::f64,// ->262497
/*262488*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262490*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i64), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (AArch64uitof:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (UCVTFv1i64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*262497*/    /*SwitchType*/ 9, MVT::f32,// ->262508
/*262499*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*262501*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i32), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (AArch64uitof:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (UCVTFv1i32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*262508*/    /*SwitchType*/ 9, MVT::f16,// ->262519
/*262510*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*262512*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UCVTFv1i16), 0,
                    MVT::f16, 1/*#Ops*/, 0, 
                // Src: (AArch64uitof:{ *:[f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                // Dst: (UCVTFv1i16:{ *:[f16] } FPR16:{ *:[f16] }:$Rn)
/*262519*/    0, // EndSwitchType
/*262520*/  /*SwitchOpcode*/ 57, TARGET_VAL(AArch64ISD::FRECPE),// ->262580
/*262523*/    OPC_RecordChild0, // #0 = $Rn
/*262524*/    OPC_SwitchType /*6 cases */, 7, MVT::f32,// ->262534
/*262527*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv1i32), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (AArch64frecpe:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FRECPEv1i32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*262534*/    /*SwitchType*/ 7, MVT::f64,// ->262543
/*262536*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv1i64), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (AArch64frecpe:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FRECPEv1i64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*262543*/    /*SwitchType*/ 7, MVT::v2f32,// ->262552
/*262545*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (AArch64frecpe:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FRECPEv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*262552*/    /*SwitchType*/ 7, MVT::v4f32,// ->262561
/*262554*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (AArch64frecpe:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FRECPEv4f32:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$Rn)
/*262561*/    /*SwitchType*/ 7, MVT::v1f64,// ->262570
/*262563*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv1i64), 0,
                    MVT::v1f64, 1/*#Ops*/, 0, 
                // Src: (AArch64frecpe:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn) - Complexity = 3
                // Dst: (FRECPEv1i64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn)
/*262570*/    /*SwitchType*/ 7, MVT::v2f64,// ->262579
/*262572*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPEv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (AArch64frecpe:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FRECPEv2f64:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$Rn)
/*262579*/    0, // EndSwitchType
/*262580*/  /*SwitchOpcode*/ 54, TARGET_VAL(AArch64ISD::FRECPS),// ->262637
/*262583*/    OPC_RecordChild0, // #0 = $Rn
/*262584*/    OPC_RecordChild1, // #1 = $Rm
/*262585*/    OPC_SwitchType /*5 cases */, 8, MVT::f32,// ->262596
/*262588*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS32), 0,
                    MVT::f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frecps:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FRECPS32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*262596*/    /*SwitchType*/ 8, MVT::f64,// ->262606
/*262598*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPS64), 0,
                    MVT::f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frecps:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FRECPS64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*262606*/    /*SwitchType*/ 8, MVT::v2f32,// ->262616
/*262608*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPSv2f32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frecps:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FRECPSv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*262616*/    /*SwitchType*/ 8, MVT::v4f32,// ->262626
/*262618*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPSv4f32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frecps:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$Rn, FPR128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FRECPSv4f32:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$Rn, FPR128:{ *:[v4f32] }:$Rm)
/*262626*/    /*SwitchType*/ 8, MVT::v2f64,// ->262636
/*262628*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRECPSv2f64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frecps:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$Rn, FPR128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FRECPSv2f64:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$Rn, FPR128:{ *:[v2f64] }:$Rm)
/*262636*/    0, // EndSwitchType
/*262637*/  /*SwitchOpcode*/ 57, TARGET_VAL(AArch64ISD::FRSQRTE),// ->262697
/*262640*/    OPC_RecordChild0, // #0 = $Rn
/*262641*/    OPC_SwitchType /*6 cases */, 7, MVT::f32,// ->262651
/*262644*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv1i32), 0,
                    MVT::f32, 1/*#Ops*/, 0, 
                // Src: (AArch64frsqrte:{ *:[f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                // Dst: (FRSQRTEv1i32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn)
/*262651*/    /*SwitchType*/ 7, MVT::f64,// ->262660
/*262653*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv1i64), 0,
                    MVT::f64, 1/*#Ops*/, 0, 
                // Src: (AArch64frsqrte:{ *:[f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                // Dst: (FRSQRTEv1i64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn)
/*262660*/    /*SwitchType*/ 7, MVT::v2f32,// ->262669
/*262662*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv2f32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (AArch64frsqrte:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FRSQRTEv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*262669*/    /*SwitchType*/ 7, MVT::v4f32,// ->262678
/*262671*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv4f32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (AArch64frsqrte:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FRSQRTEv4f32:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$Rn)
/*262678*/    /*SwitchType*/ 7, MVT::v1f64,// ->262687
/*262680*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv1i64), 0,
                    MVT::v1f64, 1/*#Ops*/, 0, 
                // Src: (AArch64frsqrte:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn) - Complexity = 3
                // Dst: (FRSQRTEv1i64:{ *:[v1f64] } FPR64:{ *:[v1f64] }:$Rn)
/*262687*/    /*SwitchType*/ 7, MVT::v2f64,// ->262696
/*262689*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTEv2f64), 0,
                    MVT::v2f64, 1/*#Ops*/, 0, 
                // Src: (AArch64frsqrte:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FRSQRTEv2f64:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$Rn)
/*262696*/    0, // EndSwitchType
/*262697*/  /*SwitchOpcode*/ 54, TARGET_VAL(AArch64ISD::FRSQRTS),// ->262754
/*262700*/    OPC_RecordChild0, // #0 = $Rn
/*262701*/    OPC_RecordChild1, // #1 = $Rm
/*262702*/    OPC_SwitchType /*5 cases */, 8, MVT::f32,// ->262713
/*262705*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS32), 0,
                    MVT::f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frsqrts:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm) - Complexity = 3
                // Dst: (FRSQRTS32:{ *:[f32] } FPR32:{ *:[f32] }:$Rn, FPR32:{ *:[f32] }:$Rm)
/*262713*/    /*SwitchType*/ 8, MVT::f64,// ->262723
/*262715*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTS64), 0,
                    MVT::f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frsqrts:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm) - Complexity = 3
                // Dst: (FRSQRTS64:{ *:[f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[f64] }:$Rm)
/*262723*/    /*SwitchType*/ 8, MVT::v2f32,// ->262733
/*262725*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTSv2f32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frsqrts:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (FRSQRTSv2f32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*262733*/    /*SwitchType*/ 8, MVT::v4f32,// ->262743
/*262735*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTSv4f32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frsqrts:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$Rn, FPR128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (FRSQRTSv4f32:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$Rn, FPR128:{ *:[v4f32] }:$Rm)
/*262743*/    /*SwitchType*/ 8, MVT::v2f64,// ->262753
/*262745*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FRSQRTSv2f64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64frsqrts:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$Rn, FPR128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (FRSQRTSv2f64:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$Rn, FPR128:{ *:[v2f64] }:$Rm)
/*262753*/    0, // EndSwitchType
/*262754*/  /*SwitchOpcode*/ 77|128,12/*1613*/, TARGET_VAL(ISD::SCALAR_TO_VECTOR),// ->264371
/*262758*/    OPC_Scope, 119|128,6/*887*/, /*->263648*/ // 4 children in Scope
/*262761*/      OPC_MoveChild0,
/*262762*/      OPC_SwitchOpcode /*2 cases */, 79|128,6/*847*/, TARGET_VAL(ISD::LOAD),// ->263614
/*262767*/        OPC_RecordMemRef,
/*262768*/        OPC_RecordNode, // #0 = 'ld' chained node
/*262769*/        OPC_RecordChild1, // #1 = $ro_Windexed64:Rn:Rm:extend
/*262770*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
/*262772*/        OPC_Scope, 39, /*->262813*/ // 5 children in Scope
/*262774*/          OPC_CheckPredicate, 37, // Predicate_load
/*262776*/          OPC_CheckType, MVT::i64,
/*262778*/          OPC_MoveParent,
/*262779*/          OPC_CheckType, MVT::v1i64,
/*262781*/          OPC_Scope, 14, /*->262797*/ // 2 children in Scope
/*262783*/            OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*262786*/            OPC_EmitMergeInputChains1_0,
/*262787*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v1i64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (scalar_to_vector:{ *:[v1i64] } (ld:{ *:[i64] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (LDRDroW:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$extend)
/*262797*/          /*Scope*/ 14, /*->262812*/
/*262798*/            OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*262801*/            OPC_EmitMergeInputChains1_0,
/*262802*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v1i64, 4/*#Ops*/, 2, 3, 4, 5, 
                      // Src: (scalar_to_vector:{ *:[v1i64] } (ld:{ *:[i64] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (LDRDroX:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$extend)
/*262812*/          0, /*End of Scope*/
/*262813*/        /*Scope*/ 44|128,2/*300*/, /*->263115*/
/*262815*/          OPC_CheckPredicate, 38, // Predicate_extload
/*262817*/          OPC_CheckType, MVT::i32,
/*262819*/          OPC_Scope, 17|128,1/*145*/, /*->262967*/ // 2 children in Scope
/*262822*/            OPC_CheckPredicate, 6, // Predicate_extloadi8
/*262824*/            OPC_MoveParent,
/*262825*/            OPC_SwitchType /*2 cases */, 68, MVT::v8i8,// ->262896
/*262828*/              OPC_Scope, 32, /*->262862*/ // 2 children in Scope
/*262830*/                OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*262833*/                OPC_EmitMergeInputChains1_0,
/*262834*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v8i8, 0/*#Ops*/,  // Results = #6
/*262840*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*262850*/                OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*262853*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v8i8, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v8i8] } (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (LDRBroW:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$offset), bsub:{ *:[i32] })
/*262862*/              /*Scope*/ 32, /*->262895*/
/*262863*/                OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*262866*/                OPC_EmitMergeInputChains1_0,
/*262867*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v8i8, 0/*#Ops*/,  // Results = #6
/*262873*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*262883*/                OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*262886*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v8i8, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v8i8] } (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (LDRBroX:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$offset), bsub:{ *:[i32] })
/*262895*/              0, /*End of Scope*/
/*262896*/            /*SwitchType*/ 68, MVT::v16i8,// ->262966
/*262898*/              OPC_Scope, 32, /*->262932*/ // 2 children in Scope
/*262900*/                OPC_CheckComplexPat, /*CP*/22, /*#*/1, // SelectAddrModeWRO<8>:$ #2 #3 #4 #5
/*262903*/                OPC_EmitMergeInputChains1_0,
/*262904*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v16i8, 0/*#Ops*/,  // Results = #6
/*262910*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroW), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*262920*/                OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*262923*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v16i8, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v16i8] } (ld:{ *:[i32] } (ro_Windexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (LDRBroW:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend8:{ *:[i32] }:$offset), bsub:{ *:[i32] })
/*262932*/              /*Scope*/ 32, /*->262965*/
/*262933*/                OPC_CheckComplexPat, /*CP*/23, /*#*/1, // SelectAddrModeXRO<8>:$ #2 #3 #4 #5
/*262936*/                OPC_EmitMergeInputChains1_0,
/*262937*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v16i8, 0/*#Ops*/,  // Results = #6
/*262943*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRBroX), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::Untyped, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*262953*/                OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*262956*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v16i8, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v16i8] } (ld:{ *:[i32] } (ro_Xindexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (LDRBroX:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend8:{ *:[i32] }:$offset), bsub:{ *:[i32] })
/*262965*/              0, /*End of Scope*/
/*262966*/            0, // EndSwitchType
/*262967*/          /*Scope*/ 17|128,1/*145*/, /*->263114*/
/*262969*/            OPC_CheckPredicate, 16, // Predicate_extloadi16
/*262971*/            OPC_MoveParent,
/*262972*/            OPC_SwitchType /*2 cases */, 68, MVT::v4i16,// ->263043
/*262975*/              OPC_Scope, 32, /*->263009*/ // 2 children in Scope
/*262977*/                OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*262980*/                OPC_EmitMergeInputChains1_0,
/*262981*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v4i16, 0/*#Ops*/,  // Results = #6
/*262987*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*262997*/                OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263000*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v4i16, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v4i16] } (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$offset), hsub:{ *:[i32] })
/*263009*/              /*Scope*/ 32, /*->263042*/
/*263010*/                OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*263013*/                OPC_EmitMergeInputChains1_0,
/*263014*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v4i16, 0/*#Ops*/,  // Results = #6
/*263020*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263030*/                OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263033*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v4i16, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v4i16] } (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$offset), hsub:{ *:[i32] })
/*263042*/              0, /*End of Scope*/
/*263043*/            /*SwitchType*/ 68, MVT::v8i16,// ->263113
/*263045*/              OPC_Scope, 32, /*->263079*/ // 2 children in Scope
/*263047*/                OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*263050*/                OPC_EmitMergeInputChains1_0,
/*263051*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v8i16, 0/*#Ops*/,  // Results = #6
/*263057*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263067*/                OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263070*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v8i16, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v8i16] } (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$offset), hsub:{ *:[i32] })
/*263079*/              /*Scope*/ 32, /*->263112*/
/*263080*/                OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*263083*/                OPC_EmitMergeInputChains1_0,
/*263084*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v8i16, 0/*#Ops*/,  // Results = #6
/*263090*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263100*/                OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263103*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v8i16, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v8i16] } (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$offset), hsub:{ *:[i32] })
/*263112*/              0, /*End of Scope*/
/*263113*/            0, // EndSwitchType
/*263114*/          0, /*End of Scope*/
/*263115*/        /*Scope*/ 111|128,1/*239*/, /*->263356*/
/*263117*/          OPC_CheckPredicate, 37, // Predicate_load
/*263119*/          OPC_SwitchType /*2 cases */, 15|128,1/*143*/, MVT::i32,// ->263266
/*263123*/            OPC_MoveParent,
/*263124*/            OPC_SwitchType /*2 cases */, 68, MVT::v2i32,// ->263195
/*263127*/              OPC_Scope, 32, /*->263161*/ // 2 children in Scope
/*263129*/                OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*263132*/                OPC_EmitMergeInputChains1_0,
/*263133*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v2i32, 0/*#Ops*/,  // Results = #6
/*263139*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263149*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263152*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v2i32, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v2i32] } (ld:{ *:[i32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (LDRSroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$offset), ssub:{ *:[i32] })
/*263161*/              /*Scope*/ 32, /*->263194*/
/*263162*/                OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*263165*/                OPC_EmitMergeInputChains1_0,
/*263166*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v2i32, 0/*#Ops*/,  // Results = #6
/*263172*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263182*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263185*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v2i32, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v2i32] } (ld:{ *:[i32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (LDRSroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$offset), ssub:{ *:[i32] })
/*263194*/              0, /*End of Scope*/
/*263195*/            /*SwitchType*/ 68, MVT::v4i32,// ->263265
/*263197*/              OPC_Scope, 32, /*->263231*/ // 2 children in Scope
/*263199*/                OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*263202*/                OPC_EmitMergeInputChains1_0,
/*263203*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v4i32, 0/*#Ops*/,  // Results = #6
/*263209*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263219*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263222*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v4i32, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v4i32] } (ld:{ *:[i32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (LDRSroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$offset), ssub:{ *:[i32] })
/*263231*/              /*Scope*/ 32, /*->263264*/
/*263232*/                OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*263235*/                OPC_EmitMergeInputChains1_0,
/*263236*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v4i32, 0/*#Ops*/,  // Results = #6
/*263242*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263252*/                OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263255*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v4i32, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v4i32] } (ld:{ *:[i32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (LDRSroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$offset), ssub:{ *:[i32] })
/*263264*/              0, /*End of Scope*/
/*263265*/            0, // EndSwitchType
/*263266*/          /*SwitchType*/ 87, MVT::i64,// ->263355
/*263268*/            OPC_MoveParent,
/*263269*/            OPC_SwitchType /*2 cases */, 68, MVT::v2i64,// ->263340
/*263272*/              OPC_Scope, 32, /*->263306*/ // 2 children in Scope
/*263274*/                OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*263277*/                OPC_EmitMergeInputChains1_0,
/*263278*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v2i64, 0/*#Ops*/,  // Results = #6
/*263284*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::i64, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263294*/                OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*263297*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v2i64, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v2i64] } (ld:{ *:[i64] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (LDRDroW:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$offset), dsub:{ *:[i32] })
/*263306*/              /*Scope*/ 32, /*->263339*/
/*263307*/                OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*263310*/                OPC_EmitMergeInputChains1_0,
/*263311*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::v2i64, 0/*#Ops*/,  // Results = #6
/*263317*/                OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                              MVT::i64, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263327*/                OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*263330*/                OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                              MVT::v2i64, 3/*#Ops*/, 6, 7, 8, 
                          // Src: (scalar_to_vector:{ *:[v2i64] } (ld:{ *:[i64] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                          // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (LDRDroX:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$offset), dsub:{ *:[i32] })
/*263339*/              0, /*End of Scope*/
/*263340*/            /*SwitchType*/ 12, MVT::v1i64,// ->263354
/*263342*/              OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*263345*/              OPC_EmitMergeInputChains1_0,
/*263346*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v1i64, 2/*#Ops*/, 2, 3, 
                        // Src: (scalar_to_vector:{ *:[v1i64] } (ld:{ *:[i64] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 16
                        // Dst: (LDRDui:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset)
/*263354*/            0, // EndSwitchType
/*263355*/          0, // EndSwitchType
/*263356*/        /*Scope*/ 18|128,1/*146*/, /*->263504*/
/*263358*/          OPC_CheckPredicate, 38, // Predicate_extload
/*263360*/          OPC_CheckType, MVT::i32,
/*263362*/          OPC_Scope, 69, /*->263433*/ // 2 children in Scope
/*263364*/            OPC_CheckPredicate, 6, // Predicate_extloadi8
/*263366*/            OPC_MoveParent,
/*263367*/            OPC_SwitchType /*2 cases */, 30, MVT::v8i8,// ->263400
/*263370*/              OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*263373*/              OPC_EmitMergeInputChains1_0,
/*263374*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v8i8, 0/*#Ops*/,  // Results = #4
/*263380*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::Untyped, 2/*#Ops*/, 2, 3,  // Results = #5
/*263388*/              OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*263391*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                            MVT::v8i8, 3/*#Ops*/, 4, 5, 6, 
                        // Src: (scalar_to_vector:{ *:[v8i8] } (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>) - Complexity = 16
                        // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (LDRBui:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), bsub:{ *:[i32] })
/*263400*/            /*SwitchType*/ 30, MVT::v16i8,// ->263432
/*263402*/              OPC_CheckComplexPat, /*CP*/24, /*#*/1, // SelectAddrModeIndexed8:$ #2 #3
/*263405*/              OPC_EmitMergeInputChains1_0,
/*263406*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v16i8, 0/*#Ops*/,  // Results = #4
/*263412*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRBui), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::Untyped, 2/*#Ops*/, 2, 3,  // Results = #5
/*263420*/              OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*263423*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                            MVT::v16i8, 3/*#Ops*/, 4, 5, 6, 
                        // Src: (scalar_to_vector:{ *:[v16i8] } (ld:{ *:[i32] } (am_indexed8:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>) - Complexity = 16
                        // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (LDRBui:{ *:[Untyped] } GPR64sp:{ *:[i64] }:$Rn, uimm12s1:{ *:[i64] }:$offset), bsub:{ *:[i32] })
/*263432*/            0, // EndSwitchType
/*263433*/          /*Scope*/ 69, /*->263503*/
/*263434*/            OPC_CheckPredicate, 16, // Predicate_extloadi16
/*263436*/            OPC_MoveParent,
/*263437*/            OPC_SwitchType /*2 cases */, 30, MVT::v4i16,// ->263470
/*263440*/              OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*263443*/              OPC_EmitMergeInputChains1_0,
/*263444*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v4i16, 0/*#Ops*/,  // Results = #4
/*263450*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*263458*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263461*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                            MVT::v4i16, 3/*#Ops*/, 4, 5, 6, 
                        // Src: (scalar_to_vector:{ *:[v4i16] } (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>) - Complexity = 16
                        // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (LDRHui:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), hsub:{ *:[i32] })
/*263470*/            /*SwitchType*/ 30, MVT::v8i16,// ->263502
/*263472*/              OPC_CheckComplexPat, /*CP*/14, /*#*/1, // SelectAddrModeIndexed16:$ #2 #3
/*263475*/              OPC_EmitMergeInputChains1_0,
/*263476*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v8i16, 0/*#Ops*/,  // Results = #4
/*263482*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRHui), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::f16, 2/*#Ops*/, 2, 3,  // Results = #5
/*263490*/              OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263493*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                            MVT::v8i16, 3/*#Ops*/, 4, 5, 6, 
                        // Src: (scalar_to_vector:{ *:[v8i16] } (ld:{ *:[i32] } (am_indexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>) - Complexity = 16
                        // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (LDRHui:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, uimm12s2:{ *:[i64] }:$offset), hsub:{ *:[i32] })
/*263502*/            0, // EndSwitchType
/*263503*/          0, /*End of Scope*/
/*263504*/        /*Scope*/ 108, /*->263613*/
/*263505*/          OPC_CheckPredicate, 37, // Predicate_load
/*263507*/          OPC_SwitchType /*2 cases */, 67, MVT::i32,// ->263577
/*263510*/            OPC_MoveParent,
/*263511*/            OPC_SwitchType /*2 cases */, 30, MVT::v2i32,// ->263544
/*263514*/              OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*263517*/              OPC_EmitMergeInputChains1_0,
/*263518*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v2i32, 0/*#Ops*/,  // Results = #4
/*263524*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*263532*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263535*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                            MVT::v2i32, 3/*#Ops*/, 4, 5, 6, 
                        // Src: (scalar_to_vector:{ *:[v2i32] } (ld:{ *:[i32] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 16
                        // Dst: (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), (LDRSui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset), ssub:{ *:[i32] })
/*263544*/            /*SwitchType*/ 30, MVT::v4i32,// ->263576
/*263546*/              OPC_CheckComplexPat, /*CP*/18, /*#*/1, // SelectAddrModeIndexed32:$ #2 #3
/*263549*/              OPC_EmitMergeInputChains1_0,
/*263550*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::v4i32, 0/*#Ops*/,  // Results = #4
/*263556*/              OPC_EmitNode1, TARGET_VAL(AArch64::LDRSui), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::i32, 2/*#Ops*/, 2, 3,  // Results = #5
/*263564*/              OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263567*/              OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                            MVT::v4i32, 3/*#Ops*/, 4, 5, 6, 
                        // Src: (scalar_to_vector:{ *:[v4i32] } (ld:{ *:[i32] } (am_indexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 16
                        // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (LDRSui:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, uimm12s4:{ *:[i64] }:$offset), ssub:{ *:[i32] })
/*263576*/            0, // EndSwitchType
/*263577*/          /*SwitchType*/ 33, MVT::i64,// ->263612
/*263579*/            OPC_MoveParent,
/*263580*/            OPC_CheckType, MVT::v2i64,
/*263582*/            OPC_CheckComplexPat, /*CP*/21, /*#*/1, // SelectAddrModeIndexed64:$ #2 #3
/*263585*/            OPC_EmitMergeInputChains1_0,
/*263586*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v2i64, 0/*#Ops*/,  // Results = #4
/*263592*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRDui), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i64, 2/*#Ops*/, 2, 3,  // Results = #5
/*263600*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*263603*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v2i64, 3/*#Ops*/, 4, 5, 6, 
                      // Src: (scalar_to_vector:{ *:[v2i64] } (ld:{ *:[i64] } (am_indexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 16
                      // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (LDRDui:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, uimm12s8:{ *:[i64] }:$offset), dsub:{ *:[i32] })
/*263612*/          0, // EndSwitchType
/*263613*/        0, /*End of Scope*/
/*263614*/      /*SwitchOpcode*/ 30, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->263647
/*263617*/        OPC_RecordChild0, // #0 = $src
/*263618*/        OPC_CheckChild0Type, MVT::v2i64,
/*263620*/        OPC_RecordChild1, // #1 = $idx
/*263621*/        OPC_MoveChild1,
/*263622*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*263625*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*263627*/        OPC_CheckType, MVT::i64,
/*263629*/        OPC_MoveParent,
/*263630*/        OPC_CheckType, MVT::i64,
/*263632*/        OPC_MoveParent,
/*263633*/        OPC_CheckType, MVT::v1i64,
/*263635*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*263637*/        OPC_EmitConvertToTarget, 1,
/*263639*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CPYi64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (scalar_to_vector:{ *:[v1i64] } (vector_extract:{ *:[i64] } V128:{ *:[v2i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)) - Complexity = 10
                  // Dst: (CPYi64:{ *:[v1i64] } V128:{ *:[v2i64] }:$src, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx)
/*263647*/      0, // EndSwitchOpcode
/*263648*/    /*Scope*/ 71|128,1/*199*/, /*->263849*/
/*263650*/      OPC_RecordChild0, // #0 = $Xn
/*263651*/      OPC_Scope, 37, /*->263690*/ // 2 children in Scope
/*263653*/        OPC_CheckChild0Type, MVT::i64,
/*263655*/        OPC_SwitchType /*2 cases */, 11, MVT::v1i64,// ->263669
/*263658*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*263661*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::v1i64, 2/*#Ops*/, 0, 1, 
                    // Src: (scalar_to_vector:{ *:[v1i64] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[v1i64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*263669*/        /*SwitchType*/ 18, MVT::v2i64,// ->263689
/*263671*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2i64, 0/*#Ops*/,  // Results = #1
/*263677*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*263680*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2i64, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (scalar_to_vector:{ *:[v2i64] } FPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), FPR64:{ *:[i64] }:$Rn, dsub:{ *:[i32] })
/*263689*/        0, // EndSwitchType
/*263690*/      /*Scope*/ 28|128,1/*156*/, /*->263848*/
/*263692*/        OPC_CheckChild0Type, MVT::i32,
/*263694*/        OPC_SwitchType /*6 cases */, 26, MVT::v16i8,// ->263723
/*263697*/          OPC_EmitInteger, MVT::i32, 0, 
/*263700*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*263703*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::f32, 2/*#Ops*/, 0, 2,  // Results = #3
/*263711*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263714*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 3, 4, 
                    // Src: (scalar_to_vector:{ *:[v16i8] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (SUBREG_TO_REG:{ *:[v16i8] } 0:{ *:[i32] }, (COPY_TO_REGCLASS:{ *:[f32] } GPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }), ssub:{ *:[i32] })
/*263723*/        /*SwitchType*/ 26, MVT::v8i8,// ->263751
/*263725*/          OPC_EmitInteger, MVT::i32, 0, 
/*263728*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*263731*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::f32, 2/*#Ops*/, 0, 2,  // Results = #3
/*263739*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263742*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::v8i8, 3/*#Ops*/, 1, 3, 4, 
                    // Src: (scalar_to_vector:{ *:[v8i8] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (SUBREG_TO_REG:{ *:[v8i8] } 0:{ *:[i32] }, (COPY_TO_REGCLASS:{ *:[f32] } GPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }), ssub:{ *:[i32] })
/*263751*/        /*SwitchType*/ 26, MVT::v8i16,// ->263779
/*263753*/          OPC_EmitInteger, MVT::i32, 0, 
/*263756*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*263759*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::f32, 2/*#Ops*/, 0, 2,  // Results = #3
/*263767*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263770*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 3, 4, 
                    // Src: (scalar_to_vector:{ *:[v8i16] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (SUBREG_TO_REG:{ *:[v8i16] } 0:{ *:[i32] }, (COPY_TO_REGCLASS:{ *:[f32] } GPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }), ssub:{ *:[i32] })
/*263779*/        /*SwitchType*/ 26, MVT::v4i16,// ->263807
/*263781*/          OPC_EmitInteger, MVT::i32, 0, 
/*263784*/          OPC_EmitInteger, MVT::i32, AArch64::FPR32RegClassID,
/*263787*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::f32, 2/*#Ops*/, 0, 2,  // Results = #3
/*263795*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263798*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::v4i16, 3/*#Ops*/, 1, 3, 4, 
                    // Src: (scalar_to_vector:{ *:[v4i16] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (SUBREG_TO_REG:{ *:[v4i16] } 0:{ *:[i32] }, (COPY_TO_REGCLASS:{ *:[f32] } GPR32:{ *:[i32] }:$Rn, FPR32:{ *:[i32] }), ssub:{ *:[i32] })
/*263807*/        /*SwitchType*/ 18, MVT::v2i32,// ->263827
/*263809*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2i32, 0/*#Ops*/,  // Results = #1
/*263815*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263818*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2i32, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (scalar_to_vector:{ *:[v2i32] } FPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (INSERT_SUBREG:{ *:[v2i32] } (IMPLICIT_DEF:{ *:[v2i32] }), FPR32:{ *:[i32] }:$Rn, ssub:{ *:[i32] })
/*263827*/        /*SwitchType*/ 18, MVT::v4i32,// ->263847
/*263829*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*263835*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*263838*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (scalar_to_vector:{ *:[v4i32] } FPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32:{ *:[i32] }:$Rn, ssub:{ *:[i32] })
/*263847*/        0, // EndSwitchType
/*263848*/      0, /*End of Scope*/
/*263849*/    /*Scope*/ 122|128,2/*378*/, /*->264229*/
/*263851*/      OPC_MoveChild0,
/*263852*/      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*263855*/      OPC_RecordMemRef,
/*263856*/      OPC_RecordNode, // #0 = 'ld' chained node
/*263857*/      OPC_RecordChild1, // #1 = $ro_Windexed16:Rn:Rm:offset
/*263858*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*263860*/      OPC_CheckPredicate, 37, // Predicate_load
/*263862*/      OPC_SwitchType /*3 cases */, 15|128,1/*143*/, MVT::i32,// ->264009
/*263866*/        OPC_MoveParent,
/*263867*/        OPC_SwitchType /*2 cases */, 68, MVT::v4f16,// ->263938
/*263870*/          OPC_Scope, 32, /*->263904*/ // 2 children in Scope
/*263872*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*263875*/            OPC_EmitMergeInputChains1_0,
/*263876*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4f16, 0/*#Ops*/,  // Results = #6
/*263882*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263892*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263895*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v4f16, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (scalar_to_vector:{ *:[v4f16] } (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (INSERT_SUBREG:{ *:[v4f16] } (IMPLICIT_DEF:{ *:[v4f16] }), (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$offset), hsub:{ *:[i32] })
/*263904*/          /*Scope*/ 32, /*->263937*/
/*263905*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*263908*/            OPC_EmitMergeInputChains1_0,
/*263909*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4f16, 0/*#Ops*/,  // Results = #6
/*263915*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263925*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263928*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v4f16, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (scalar_to_vector:{ *:[v4f16] } (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (INSERT_SUBREG:{ *:[v4f16] } (IMPLICIT_DEF:{ *:[v4f16] }), (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$offset), hsub:{ *:[i32] })
/*263937*/          0, /*End of Scope*/
/*263938*/        /*SwitchType*/ 68, MVT::v8f16,// ->264008
/*263940*/          OPC_Scope, 32, /*->263974*/ // 2 children in Scope
/*263942*/            OPC_CheckComplexPat, /*CP*/12, /*#*/1, // SelectAddrModeWRO<16>:$ #2 #3 #4 #5
/*263945*/            OPC_EmitMergeInputChains1_0,
/*263946*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v8f16, 0/*#Ops*/,  // Results = #6
/*263952*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263962*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263965*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v8f16, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (scalar_to_vector:{ *:[v8f16] } (ld:{ *:[i32] } (ro_Windexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (INSERT_SUBREG:{ *:[v8f16] } (IMPLICIT_DEF:{ *:[v8f16] }), (LDRHroW:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend16:{ *:[i32] }:$offset), hsub:{ *:[i32] })
/*263974*/          /*Scope*/ 32, /*->264007*/
/*263975*/            OPC_CheckComplexPat, /*CP*/13, /*#*/1, // SelectAddrModeXRO<16>:$ #2 #3 #4 #5
/*263978*/            OPC_EmitMergeInputChains1_0,
/*263979*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v8f16, 0/*#Ops*/,  // Results = #6
/*263985*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRHroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f16, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*263995*/            OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*263998*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v8f16, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (scalar_to_vector:{ *:[v8f16] } (ld:{ *:[i32] } (ro_Xindexed16:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (INSERT_SUBREG:{ *:[v8f16] } (IMPLICIT_DEF:{ *:[v8f16] }), (LDRHroX:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend16:{ *:[i32] }:$offset), hsub:{ *:[i32] })
/*264007*/          0, /*End of Scope*/
/*264008*/        0, // EndSwitchType
/*264009*/      /*SwitchType*/ 15|128,1/*143*/, MVT::f32,// ->264155
/*264012*/        OPC_MoveParent,
/*264013*/        OPC_SwitchType /*2 cases */, 68, MVT::v2f32,// ->264084
/*264016*/          OPC_Scope, 32, /*->264050*/ // 2 children in Scope
/*264018*/            OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*264021*/            OPC_EmitMergeInputChains1_0,
/*264022*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v2f32, 0/*#Ops*/,  // Results = #6
/*264028*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*264038*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*264041*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v2f32, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (scalar_to_vector:{ *:[v2f32] } (ld:{ *:[f32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (INSERT_SUBREG:{ *:[v2f32] } (IMPLICIT_DEF:{ *:[v2f32] }), (LDRSroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$offset), ssub:{ *:[i32] })
/*264050*/          /*Scope*/ 32, /*->264083*/
/*264051*/            OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*264054*/            OPC_EmitMergeInputChains1_0,
/*264055*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v2f32, 0/*#Ops*/,  // Results = #6
/*264061*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*264071*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*264074*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v2f32, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (scalar_to_vector:{ *:[v2f32] } (ld:{ *:[f32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (INSERT_SUBREG:{ *:[v2f32] } (IMPLICIT_DEF:{ *:[v2f32] }), (LDRSroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$offset), ssub:{ *:[i32] })
/*264083*/          0, /*End of Scope*/
/*264084*/        /*SwitchType*/ 68, MVT::v4f32,// ->264154
/*264086*/          OPC_Scope, 32, /*->264120*/ // 2 children in Scope
/*264088*/            OPC_CheckComplexPat, /*CP*/16, /*#*/1, // SelectAddrModeWRO<32>:$ #2 #3 #4 #5
/*264091*/            OPC_EmitMergeInputChains1_0,
/*264092*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4f32, 0/*#Ops*/,  // Results = #6
/*264098*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroW), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*264108*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*264111*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v4f32, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (scalar_to_vector:{ *:[v4f32] } (ld:{ *:[f32] } (ro_Windexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), (LDRSroW:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend32:{ *:[i32] }:$offset), ssub:{ *:[i32] })
/*264120*/          /*Scope*/ 32, /*->264153*/
/*264121*/            OPC_CheckComplexPat, /*CP*/17, /*#*/1, // SelectAddrModeXRO<32>:$ #2 #3 #4 #5
/*264124*/            OPC_EmitMergeInputChains1_0,
/*264125*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::v4f32, 0/*#Ops*/,  // Results = #6
/*264131*/            OPC_EmitNode1, TARGET_VAL(AArch64::LDRSroX), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::i32, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*264141*/            OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*264144*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                          MVT::v4f32, 3/*#Ops*/, 6, 7, 8, 
                      // Src: (scalar_to_vector:{ *:[v4f32] } (ld:{ *:[f32] } (ro_Xindexed32:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                      // Dst: (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), (LDRSroX:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend32:{ *:[i32] }:$offset), ssub:{ *:[i32] })
/*264153*/          0, /*End of Scope*/
/*264154*/        0, // EndSwitchType
/*264155*/      /*SwitchType*/ 71, MVT::f64,// ->264228
/*264157*/        OPC_MoveParent,
/*264158*/        OPC_CheckType, MVT::v2f64,
/*264160*/        OPC_Scope, 32, /*->264194*/ // 2 children in Scope
/*264162*/          OPC_CheckComplexPat, /*CP*/19, /*#*/1, // SelectAddrModeWRO<64>:$ #2 #3 #4 #5
/*264165*/          OPC_EmitMergeInputChains1_0,
/*264166*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2f64, 0/*#Ops*/,  // Results = #6
/*264172*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroW), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*264182*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264185*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                        MVT::v2f64, 3/*#Ops*/, 6, 7, 8, 
                    // Src: (scalar_to_vector:{ *:[v2f64] } (ld:{ *:[f64] } (ro_Windexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                    // Dst: (INSERT_SUBREG:{ *:[v2f64] } (IMPLICIT_DEF:{ *:[v2f64] }), (LDRDroW:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR32:{ *:[i32] }:$Rm, ro_Wextend64:{ *:[i32] }:$offset), dsub:{ *:[i32] })
/*264194*/        /*Scope*/ 32, /*->264227*/
/*264195*/          OPC_CheckComplexPat, /*CP*/20, /*#*/1, // SelectAddrModeXRO<64>:$ #2 #3 #4 #5
/*264198*/          OPC_EmitMergeInputChains1_0,
/*264199*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2f64, 0/*#Ops*/,  // Results = #6
/*264205*/          OPC_EmitNode1, TARGET_VAL(AArch64::LDRDroX), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::i64, 4/*#Ops*/, 2, 3, 4, 5,  // Results = #7
/*264215*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264218*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0|OPFL_Chain,
                        MVT::v2f64, 3/*#Ops*/, 6, 7, 8, 
                    // Src: (scalar_to_vector:{ *:[v2f64] } (ld:{ *:[f64] } (ro_Xindexed64:{ *:[iPTR] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$offset))<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 32
                    // Dst: (INSERT_SUBREG:{ *:[v2f64] } (IMPLICIT_DEF:{ *:[v2f64] }), (LDRDroX:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn, GPR64:{ *:[i64] }:$Rm, ro_Xextend64:{ *:[i32] }:$offset), dsub:{ *:[i32] })
/*264227*/        0, /*End of Scope*/
/*264228*/      0, // EndSwitchType
/*264229*/    /*Scope*/ 11|128,1/*139*/, /*->264370*/
/*264231*/      OPC_RecordChild0, // #0 = $Xn
/*264232*/      OPC_Scope, 29, /*->264263*/ // 4 children in Scope
/*264234*/        OPC_CheckChild0Type, MVT::f64,
/*264236*/        OPC_SwitchType /*2 cases */, 3, MVT::v1f64,// ->264242
/*264239*/          OPC_CompleteMatch, 1, 0, 
                     // Src: (scalar_to_vector:{ *:[v1f64] } FPR64:{ *:[f64] }:$Xn) - Complexity = 3
                     // Dst: FPR64:{ *:[v1f64] }:$Xn
/*264242*/        /*SwitchType*/ 18, MVT::v2f64,// ->264262
/*264244*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2f64, 0/*#Ops*/,  // Results = #1
/*264250*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264253*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2f64, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (scalar_to_vector:{ *:[v2f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (INSERT_SUBREG:{ *:[v2f64] } (IMPLICIT_DEF:{ *:[v2f64] }), FPR64:{ *:[f64] }:$Rn, dsub:{ *:[i32] })
/*264262*/        0, // EndSwitchType
/*264263*/      /*Scope*/ 15, /*->264279*/
/*264264*/        OPC_CheckChild0Type, MVT::i64,
/*264266*/        OPC_CheckType, MVT::v1f64,
/*264268*/        OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*264271*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                      MVT::v1f64, 2/*#Ops*/, 0, 1, 
                  // Src: (scalar_to_vector:{ *:[v1f64] } GPR64:{ *:[i64] }:$Xn) - Complexity = 3
                  // Dst: (COPY_TO_REGCLASS:{ *:[v1f64] } GPR64:{ *:[i64] }:$Xn, FPR64:{ *:[i32] })
/*264279*/      /*Scope*/ 44, /*->264324*/
/*264280*/        OPC_CheckChild0Type, MVT::f16,
/*264282*/        OPC_SwitchType /*2 cases */, 18, MVT::v4f16,// ->264303
/*264285*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4f16, 0/*#Ops*/,  // Results = #1
/*264291*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*264294*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4f16, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (scalar_to_vector:{ *:[v4f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (INSERT_SUBREG:{ *:[v4f16] } (IMPLICIT_DEF:{ *:[v4f16] }), FPR16:{ *:[f16] }:$Rn, hsub:{ *:[i32] })
/*264303*/        /*SwitchType*/ 18, MVT::v8f16,// ->264323
/*264305*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8f16, 0/*#Ops*/,  // Results = #1
/*264311*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*264314*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8f16, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (scalar_to_vector:{ *:[v8f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (INSERT_SUBREG:{ *:[v8f16] } (IMPLICIT_DEF:{ *:[v8f16] }), FPR16:{ *:[f16] }:$Rn, hsub:{ *:[i32] })
/*264323*/        0, // EndSwitchType
/*264324*/      /*Scope*/ 44, /*->264369*/
/*264325*/        OPC_CheckChild0Type, MVT::f32,
/*264327*/        OPC_SwitchType /*2 cases */, 18, MVT::v4f32,// ->264348
/*264330*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4f32, 0/*#Ops*/,  // Results = #1
/*264336*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*264339*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4f32, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (scalar_to_vector:{ *:[v4f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), FPR32:{ *:[f32] }:$Rn, ssub:{ *:[i32] })
/*264348*/        /*SwitchType*/ 18, MVT::v2f32,// ->264368
/*264350*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2f32, 0/*#Ops*/,  // Results = #1
/*264356*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*264359*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2f32, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (scalar_to_vector:{ *:[v2f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (INSERT_SUBREG:{ *:[v2f32] } (IMPLICIT_DEF:{ *:[v2f32] }), FPR32:{ *:[f32] }:$Rn, ssub:{ *:[i32] })
/*264368*/        0, // EndSwitchType
/*264369*/      0, /*End of Scope*/
/*264370*/    0, /*End of Scope*/
/*264371*/  /*SwitchOpcode*/ 84|128,7/*980*/, TARGET_VAL(AArch64ISD::EXT),// ->265355
/*264375*/    OPC_Scope, 18|128,3/*402*/, /*->264780*/ // 4 children in Scope
/*264378*/      OPC_MoveChild0,
/*264379*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*264382*/      OPC_RecordChild0, // #0 = $Rn
/*264383*/      OPC_Scope, 37|128,1/*165*/, /*->264551*/ // 5 children in Scope
/*264386*/        OPC_CheckChild1Integer, 0, 
/*264388*/        OPC_CheckChild1Type, MVT::i64,
/*264390*/        OPC_MoveParent,
/*264391*/        OPC_MoveChild1,
/*264392*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*264395*/        OPC_CheckChild0Same, 0,
/*264397*/        OPC_Scope, 37, /*->264436*/ // 4 children in Scope
/*264399*/          OPC_CheckChild1Integer, 8, 
/*264401*/          OPC_CheckChild1Type, MVT::i64,
/*264403*/          OPC_MoveParent,
/*264404*/          OPC_RecordChild2, // #1 = $imm
/*264405*/          OPC_MoveChild2,
/*264406*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264409*/          OPC_CheckType, MVT::i32,
/*264411*/          OPC_MoveParent,
/*264412*/          OPC_CheckType, MVT::v8i8,
/*264414*/          OPC_EmitConvertToTarget, 1,
/*264416*/          OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 2,  // Results = #3
/*264425*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264428*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v8i8, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64ext:{ *:[v8i8] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 0:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (imm:{ *:[i32] }):$imm) - Complexity = 22
                    // Dst: (EXTRACT_SUBREG:{ *:[v8i8] } (EXTv16i8:{ *:[f128] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm), dsub:{ *:[i32] })
/*264436*/        /*Scope*/ 37, /*->264474*/
/*264437*/          OPC_CheckChild1Integer, 4, 
/*264439*/          OPC_CheckChild1Type, MVT::i64,
/*264441*/          OPC_MoveParent,
/*264442*/          OPC_RecordChild2, // #1 = $imm
/*264443*/          OPC_MoveChild2,
/*264444*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264447*/          OPC_CheckType, MVT::i32,
/*264449*/          OPC_MoveParent,
/*264450*/          OPC_CheckType, MVT::v4i16,
/*264452*/          OPC_EmitConvertToTarget, 1,
/*264454*/          OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 2,  // Results = #3
/*264463*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264466*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v4i16, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64ext:{ *:[v4i16] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 0:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (imm:{ *:[i32] }):$imm) - Complexity = 22
                    // Dst: (EXTRACT_SUBREG:{ *:[v4i16] } (EXTv16i8:{ *:[f128] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm), dsub:{ *:[i32] })
/*264474*/        /*Scope*/ 37, /*->264512*/
/*264475*/          OPC_CheckChild1Integer, 2, 
/*264477*/          OPC_CheckChild1Type, MVT::i64,
/*264479*/          OPC_MoveParent,
/*264480*/          OPC_RecordChild2, // #1 = $imm
/*264481*/          OPC_MoveChild2,
/*264482*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264485*/          OPC_CheckType, MVT::i32,
/*264487*/          OPC_MoveParent,
/*264488*/          OPC_CheckType, MVT::v2i32,
/*264490*/          OPC_EmitConvertToTarget, 1,
/*264492*/          OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 2,  // Results = #3
/*264501*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264504*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v2i32, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64ext:{ *:[v2i32] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 0:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (imm:{ *:[i32] }):$imm) - Complexity = 22
                    // Dst: (EXTRACT_SUBREG:{ *:[v2i32] } (EXTv16i8:{ *:[f128] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm), dsub:{ *:[i32] })
/*264512*/        /*Scope*/ 37, /*->264550*/
/*264513*/          OPC_CheckChild1Integer, 1, 
/*264515*/          OPC_CheckChild1Type, MVT::i64,
/*264517*/          OPC_MoveParent,
/*264518*/          OPC_RecordChild2, // #1 = $imm
/*264519*/          OPC_MoveChild2,
/*264520*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264523*/          OPC_CheckType, MVT::i32,
/*264525*/          OPC_MoveParent,
/*264526*/          OPC_CheckType, MVT::v1i64,
/*264528*/          OPC_EmitConvertToTarget, 1,
/*264530*/          OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 2,  // Results = #3
/*264539*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264542*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v1i64, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64ext:{ *:[v1i64] } (extract_subvector:{ *:[v1i64] } V128:{ *:[v2i64] }:$Rn, 0:{ *:[i64] }), (extract_subvector:{ *:[v1i64] } V128:{ *:[v2i64] }:$Rn, 1:{ *:[i64] }), (imm:{ *:[i32] }):$imm) - Complexity = 22
                    // Dst: (EXTRACT_SUBREG:{ *:[v1i64] } (EXTv16i8:{ *:[f128] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm), dsub:{ *:[i32] })
/*264550*/        0, /*End of Scope*/
/*264551*/      /*Scope*/ 56, /*->264608*/
/*264552*/        OPC_CheckChild1Integer, 8, 
/*264554*/        OPC_CheckChild1Type, MVT::i64,
/*264556*/        OPC_MoveParent,
/*264557*/        OPC_RecordChild1, // #1 = $Rm
/*264558*/        OPC_RecordChild2, // #2 = $imm
/*264559*/        OPC_MoveChild2,
/*264560*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264563*/        OPC_CheckType, MVT::i32,
/*264565*/        OPC_MoveParent,
/*264566*/        OPC_CheckType, MVT::v8i8,
/*264568*/        OPC_EmitInteger, MVT::i32, 0, 
/*264571*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264574*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*264583*/        OPC_EmitConvertToTarget, 2,
/*264585*/        OPC_EmitNodeXForm, 24, 6, // AdjustExtImm
/*264588*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 5, 7,  // Results = #8
/*264597*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264600*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v8i8, 2/*#Ops*/, 8, 9, 
                  // Src: (AArch64ext:{ *:[v8i8] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), V64:{ *:[v8i8] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 14
                  // Dst: (EXTRACT_SUBREG:{ *:[v8i8] } (EXTv16i8:{ *:[f128] } V128:{ *:[v16i8] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v8i8] }:$Rm, dsub:{ *:[i32] }), (AdjustExtImm:{ *:[i32] } (imm:{ *:[i32] }):$imm)), dsub:{ *:[i32] })
/*264608*/      /*Scope*/ 56, /*->264665*/
/*264609*/        OPC_CheckChild1Integer, 4, 
/*264611*/        OPC_CheckChild1Type, MVT::i64,
/*264613*/        OPC_MoveParent,
/*264614*/        OPC_RecordChild1, // #1 = $Rm
/*264615*/        OPC_RecordChild2, // #2 = $imm
/*264616*/        OPC_MoveChild2,
/*264617*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264620*/        OPC_CheckType, MVT::i32,
/*264622*/        OPC_MoveParent,
/*264623*/        OPC_CheckType, MVT::v4i16,
/*264625*/        OPC_EmitInteger, MVT::i32, 0, 
/*264628*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264631*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*264640*/        OPC_EmitConvertToTarget, 2,
/*264642*/        OPC_EmitNodeXForm, 24, 6, // AdjustExtImm
/*264645*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 5, 7,  // Results = #8
/*264654*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264657*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4i16, 2/*#Ops*/, 8, 9, 
                  // Src: (AArch64ext:{ *:[v4i16] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), V64:{ *:[v4i16] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 14
                  // Dst: (EXTRACT_SUBREG:{ *:[v4i16] } (EXTv16i8:{ *:[f128] } V128:{ *:[v8i16] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v4i16] }:$Rm, dsub:{ *:[i32] }), (AdjustExtImm:{ *:[i32] } (imm:{ *:[i32] }):$imm)), dsub:{ *:[i32] })
/*264665*/      /*Scope*/ 56, /*->264722*/
/*264666*/        OPC_CheckChild1Integer, 2, 
/*264668*/        OPC_CheckChild1Type, MVT::i64,
/*264670*/        OPC_MoveParent,
/*264671*/        OPC_RecordChild1, // #1 = $Rm
/*264672*/        OPC_RecordChild2, // #2 = $imm
/*264673*/        OPC_MoveChild2,
/*264674*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264677*/        OPC_CheckType, MVT::i32,
/*264679*/        OPC_MoveParent,
/*264680*/        OPC_CheckType, MVT::v2i32,
/*264682*/        OPC_EmitInteger, MVT::i32, 0, 
/*264685*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264688*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*264697*/        OPC_EmitConvertToTarget, 2,
/*264699*/        OPC_EmitNodeXForm, 24, 6, // AdjustExtImm
/*264702*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 5, 7,  // Results = #8
/*264711*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264714*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2i32, 2/*#Ops*/, 8, 9, 
                  // Src: (AArch64ext:{ *:[v2i32] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), V64:{ *:[v2i32] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 14
                  // Dst: (EXTRACT_SUBREG:{ *:[v2i32] } (EXTv16i8:{ *:[f128] } V128:{ *:[v4i32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2i32] }:$Rm, dsub:{ *:[i32] }), (AdjustExtImm:{ *:[i32] } (imm:{ *:[i32] }):$imm)), dsub:{ *:[i32] })
/*264722*/      /*Scope*/ 56, /*->264779*/
/*264723*/        OPC_CheckChild1Integer, 1, 
/*264725*/        OPC_CheckChild1Type, MVT::i64,
/*264727*/        OPC_MoveParent,
/*264728*/        OPC_RecordChild1, // #1 = $Rm
/*264729*/        OPC_RecordChild2, // #2 = $imm
/*264730*/        OPC_MoveChild2,
/*264731*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264734*/        OPC_CheckType, MVT::i32,
/*264736*/        OPC_MoveParent,
/*264737*/        OPC_CheckType, MVT::v1i64,
/*264739*/        OPC_EmitInteger, MVT::i32, 0, 
/*264742*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264745*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*264754*/        OPC_EmitConvertToTarget, 2,
/*264756*/        OPC_EmitNodeXForm, 24, 6, // AdjustExtImm
/*264759*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 5, 7,  // Results = #8
/*264768*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*264771*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v1i64, 2/*#Ops*/, 8, 9, 
                  // Src: (AArch64ext:{ *:[v1i64] } (extract_subvector:{ *:[v1i64] } V128:{ *:[v2i64] }:$Rn, 1:{ *:[i64] }), V64:{ *:[v1i64] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 14
                  // Dst: (EXTRACT_SUBREG:{ *:[v1i64] } (EXTv16i8:{ *:[f128] } V128:{ *:[v2i64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v1i64] }:$Rm, dsub:{ *:[i32] }), (AdjustExtImm:{ *:[i32] } (imm:{ *:[i32] }):$imm)), dsub:{ *:[i32] })
/*264779*/      0, /*End of Scope*/
/*264780*/    /*Scope*/ 45|128,1/*173*/, /*->264955*/
/*264782*/      OPC_RecordChild0, // #0 = $Op1
/*264783*/      OPC_RecordChild1, // #1 = $Op2
/*264784*/      OPC_RecordChild2, // #2 = $Op3
/*264785*/      OPC_MoveChild2,
/*264786*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264789*/      OPC_CheckType, MVT::i32,
/*264791*/      OPC_Scope, 18, /*->264811*/ // 2 children in Scope
/*264793*/        OPC_CheckPredicate, 73, // Predicate_imm0_255
/*264795*/        OPC_MoveParent,
/*264796*/        OPC_CheckType, MVT::nxv16i8,
/*264798*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*264800*/        OPC_EmitConvertToTarget, 2,
/*264802*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXT_ZZI), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (AArch64ext:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$Op3) - Complexity = 7
                  // Dst: (EXT_ZZI:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$Op3)
/*264811*/      /*Scope*/ 13|128,1/*141*/, /*->264954*/
/*264813*/        OPC_MoveParent,
/*264814*/        OPC_SwitchType /*8 cases */, 28, MVT::v8i8,// ->264845
/*264817*/          OPC_Scope, 13, /*->264832*/ // 2 children in Scope
/*264819*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*264821*/            OPC_EmitConvertToTarget, 2,
/*264823*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (AArch64ext:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                      // Dst: (EXTv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264832*/          /*Scope*/ 11, /*->264844*/
/*264833*/            OPC_EmitConvertToTarget, 2,
/*264835*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv8i8), 0,
                          MVT::v8i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (AArch64ext:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                      // Dst: (EXTv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264844*/          0, /*End of Scope*/
/*264845*/        /*SwitchType*/ 28, MVT::v16i8,// ->264875
/*264847*/          OPC_Scope, 13, /*->264862*/ // 2 children in Scope
/*264849*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*264851*/            OPC_EmitConvertToTarget, 2,
/*264853*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (AArch64ext:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                      // Dst: (EXTv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264862*/          /*Scope*/ 11, /*->264874*/
/*264863*/            OPC_EmitConvertToTarget, 2,
/*264865*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 0, 1, 3, 
                      // Src: (AArch64ext:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                      // Dst: (EXTv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264874*/          0, /*End of Scope*/
/*264875*/        /*SwitchType*/ 11, MVT::v4i16,// ->264888
/*264877*/          OPC_EmitConvertToTarget, 2,
/*264879*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv8i8), 0,
                        MVT::v4i16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (AArch64ext:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                    // Dst: (EXTv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264888*/        /*SwitchType*/ 11, MVT::v8i16,// ->264901
/*264890*/          OPC_EmitConvertToTarget, 2,
/*264892*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (AArch64ext:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                    // Dst: (EXTv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264901*/        /*SwitchType*/ 11, MVT::v2i32,// ->264914
/*264903*/          OPC_EmitConvertToTarget, 2,
/*264905*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv8i8), 0,
                        MVT::v2i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (AArch64ext:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                    // Dst: (EXTv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264914*/        /*SwitchType*/ 11, MVT::v4i32,// ->264927
/*264916*/          OPC_EmitConvertToTarget, 2,
/*264918*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (AArch64ext:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                    // Dst: (EXTv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264927*/        /*SwitchType*/ 11, MVT::v1i64,// ->264940
/*264929*/          OPC_EmitConvertToTarget, 2,
/*264931*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv8i8), 0,
                        MVT::v1i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (AArch64ext:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rn, V64:{ *:[v1i64] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                    // Dst: (EXTv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rn, V64:{ *:[v1i64] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264940*/        /*SwitchType*/ 11, MVT::v2i64,// ->264953
/*264942*/          OPC_EmitConvertToTarget, 2,
/*264944*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::v2i64, 3/*#Ops*/, 0, 1, 3, 
                    // Src: (AArch64ext:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                    // Dst: (EXTv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm, (imm:{ *:[i32] }):$imm)
/*264953*/        0, // EndSwitchType
/*264954*/      0, /*End of Scope*/
/*264955*/    /*Scope*/ 50|128,2/*306*/, /*->265263*/
/*264957*/      OPC_MoveChild0,
/*264958*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*264961*/      OPC_RecordChild0, // #0 = $Rn
/*264962*/      OPC_Scope, 127, /*->265091*/ // 4 children in Scope
/*264964*/        OPC_CheckChild1Integer, 0, 
/*264966*/        OPC_CheckChild1Type, MVT::i64,
/*264968*/        OPC_MoveParent,
/*264969*/        OPC_MoveChild1,
/*264970*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*264973*/        OPC_CheckChild0Same, 0,
/*264975*/        OPC_Scope, 37, /*->265014*/ // 3 children in Scope
/*264977*/          OPC_CheckChild1Integer, 4, 
/*264979*/          OPC_CheckChild1Type, MVT::i64,
/*264981*/          OPC_MoveParent,
/*264982*/          OPC_RecordChild2, // #1 = $imm
/*264983*/          OPC_MoveChild2,
/*264984*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*264987*/          OPC_CheckType, MVT::i32,
/*264989*/          OPC_MoveParent,
/*264990*/          OPC_CheckType, MVT::v4f16,
/*264992*/          OPC_EmitConvertToTarget, 1,
/*264994*/          OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 2,  // Results = #3
/*265003*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265006*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v4f16, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64ext:{ *:[v4f16] } (extract_subvector:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rn, 0:{ *:[i64] }), (extract_subvector:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rn, 4:{ *:[i64] }), (imm:{ *:[i32] }):$imm) - Complexity = 22
                    // Dst: (EXTRACT_SUBREG:{ *:[v4f16] } (EXTv16i8:{ *:[f128] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i32] }):$imm), dsub:{ *:[i32] })
/*265014*/        /*Scope*/ 37, /*->265052*/
/*265015*/          OPC_CheckChild1Integer, 2, 
/*265017*/          OPC_CheckChild1Type, MVT::i64,
/*265019*/          OPC_MoveParent,
/*265020*/          OPC_RecordChild2, // #1 = $imm
/*265021*/          OPC_MoveChild2,
/*265022*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265025*/          OPC_CheckType, MVT::i32,
/*265027*/          OPC_MoveParent,
/*265028*/          OPC_CheckType, MVT::v2f32,
/*265030*/          OPC_EmitConvertToTarget, 1,
/*265032*/          OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 2,  // Results = #3
/*265041*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265044*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v2f32, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64ext:{ *:[v2f32] } (extract_subvector:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rn, 0:{ *:[i64] }), (extract_subvector:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rn, 2:{ *:[i64] }), (imm:{ *:[i32] }):$imm) - Complexity = 22
                    // Dst: (EXTRACT_SUBREG:{ *:[v2f32] } (EXTv16i8:{ *:[f128] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i32] }):$imm), dsub:{ *:[i32] })
/*265052*/        /*Scope*/ 37, /*->265090*/
/*265053*/          OPC_CheckChild1Integer, 1, 
/*265055*/          OPC_CheckChild1Type, MVT::i64,
/*265057*/          OPC_MoveParent,
/*265058*/          OPC_RecordChild2, // #1 = $imm
/*265059*/          OPC_MoveChild2,
/*265060*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265063*/          OPC_CheckType, MVT::i32,
/*265065*/          OPC_MoveParent,
/*265066*/          OPC_CheckType, MVT::v1f64,
/*265068*/          OPC_EmitConvertToTarget, 1,
/*265070*/          OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 2,  // Results = #3
/*265079*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265082*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v1f64, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64ext:{ *:[v1f64] } (extract_subvector:{ *:[v1f64] } V128:{ *:[v2f64] }:$Rn, 0:{ *:[i64] }), (extract_subvector:{ *:[v1f64] } V128:{ *:[v2f64] }:$Rn, 1:{ *:[i64] }), (imm:{ *:[i32] }):$imm) - Complexity = 22
                    // Dst: (EXTRACT_SUBREG:{ *:[v1f64] } (EXTv16i8:{ *:[f128] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i32] }):$imm), dsub:{ *:[i32] })
/*265090*/        0, /*End of Scope*/
/*265091*/      /*Scope*/ 56, /*->265148*/
/*265092*/        OPC_CheckChild1Integer, 4, 
/*265094*/        OPC_CheckChild1Type, MVT::i64,
/*265096*/        OPC_MoveParent,
/*265097*/        OPC_RecordChild1, // #1 = $Rm
/*265098*/        OPC_RecordChild2, // #2 = $imm
/*265099*/        OPC_MoveChild2,
/*265100*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265103*/        OPC_CheckType, MVT::i32,
/*265105*/        OPC_MoveParent,
/*265106*/        OPC_CheckType, MVT::v4f16,
/*265108*/        OPC_EmitInteger, MVT::i32, 0, 
/*265111*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265114*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*265123*/        OPC_EmitConvertToTarget, 2,
/*265125*/        OPC_EmitNodeXForm, 24, 6, // AdjustExtImm
/*265128*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 5, 7,  // Results = #8
/*265137*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265140*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4f16, 2/*#Ops*/, 8, 9, 
                  // Src: (AArch64ext:{ *:[v4f16] } (extract_subvector:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rn, 4:{ *:[i64] }), V64:{ *:[v4f16] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 14
                  // Dst: (EXTRACT_SUBREG:{ *:[v4f16] } (EXTv16i8:{ *:[f128] } V128:{ *:[v8f16] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v4f16] }:$Rm, dsub:{ *:[i32] }), (AdjustExtImm:{ *:[i32] } (imm:{ *:[i32] }):$imm)), dsub:{ *:[i32] })
/*265148*/      /*Scope*/ 56, /*->265205*/
/*265149*/        OPC_CheckChild1Integer, 2, 
/*265151*/        OPC_CheckChild1Type, MVT::i64,
/*265153*/        OPC_MoveParent,
/*265154*/        OPC_RecordChild1, // #1 = $Rm
/*265155*/        OPC_RecordChild2, // #2 = $imm
/*265156*/        OPC_MoveChild2,
/*265157*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265160*/        OPC_CheckType, MVT::i32,
/*265162*/        OPC_MoveParent,
/*265163*/        OPC_CheckType, MVT::v2f32,
/*265165*/        OPC_EmitInteger, MVT::i32, 0, 
/*265168*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265171*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*265180*/        OPC_EmitConvertToTarget, 2,
/*265182*/        OPC_EmitNodeXForm, 24, 6, // AdjustExtImm
/*265185*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 5, 7,  // Results = #8
/*265194*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265197*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2f32, 2/*#Ops*/, 8, 9, 
                  // Src: (AArch64ext:{ *:[v2f32] } (extract_subvector:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rn, 2:{ *:[i64] }), V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 14
                  // Dst: (EXTRACT_SUBREG:{ *:[v2f32] } (EXTv16i8:{ *:[f128] } V128:{ *:[v4f32] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2f32] }:$Rm, dsub:{ *:[i32] }), (AdjustExtImm:{ *:[i32] } (imm:{ *:[i32] }):$imm)), dsub:{ *:[i32] })
/*265205*/      /*Scope*/ 56, /*->265262*/
/*265206*/        OPC_CheckChild1Integer, 1, 
/*265208*/        OPC_CheckChild1Type, MVT::i64,
/*265210*/        OPC_MoveParent,
/*265211*/        OPC_RecordChild1, // #1 = $Rm
/*265212*/        OPC_RecordChild2, // #2 = $imm
/*265213*/        OPC_MoveChild2,
/*265214*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265217*/        OPC_CheckType, MVT::i32,
/*265219*/        OPC_MoveParent,
/*265220*/        OPC_CheckType, MVT::v1f64,
/*265222*/        OPC_EmitInteger, MVT::i32, 0, 
/*265225*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265228*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                      MVT::f128, 3/*#Ops*/, 3, 1, 4,  // Results = #5
/*265237*/        OPC_EmitConvertToTarget, 2,
/*265239*/        OPC_EmitNodeXForm, 24, 6, // AdjustExtImm
/*265242*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 5, 7,  // Results = #8
/*265251*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*265254*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v1f64, 2/*#Ops*/, 8, 9, 
                  // Src: (AArch64ext:{ *:[v1f64] } (extract_subvector:{ *:[v1f64] } V128:{ *:[v2f64] }:$Rn, 1:{ *:[i64] }), V64:{ *:[v1f64] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 14
                  // Dst: (EXTRACT_SUBREG:{ *:[v1f64] } (EXTv16i8:{ *:[f128] } V128:{ *:[v2f64] }:$Rn, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v1f64] }:$Rm, dsub:{ *:[i32] }), (AdjustExtImm:{ *:[i32] } (imm:{ *:[i32] }):$imm)), dsub:{ *:[i32] })
/*265262*/      0, /*End of Scope*/
/*265263*/    /*Scope*/ 90, /*->265354*/
/*265264*/      OPC_RecordChild0, // #0 = $Rn
/*265265*/      OPC_RecordChild1, // #1 = $Rm
/*265266*/      OPC_RecordChild2, // #2 = $imm
/*265267*/      OPC_MoveChild2,
/*265268*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265271*/      OPC_CheckType, MVT::i32,
/*265273*/      OPC_MoveParent,
/*265274*/      OPC_SwitchType /*6 cases */, 11, MVT::v4f16,// ->265288
/*265277*/        OPC_EmitConvertToTarget, 2,
/*265279*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv8i8), 0,
                      MVT::v4f16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (AArch64ext:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                  // Dst: (EXTv8i8:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm, (imm:{ *:[i32] }):$imm)
/*265288*/      /*SwitchType*/ 11, MVT::v8f16,// ->265301
/*265290*/        OPC_EmitConvertToTarget, 2,
/*265292*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::v8f16, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (AArch64ext:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                  // Dst: (EXTv16i8:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm, (imm:{ *:[i32] }):$imm)
/*265301*/      /*SwitchType*/ 11, MVT::v2f32,// ->265314
/*265303*/        OPC_EmitConvertToTarget, 2,
/*265305*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv8i8), 0,
                      MVT::v2f32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (AArch64ext:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                  // Dst: (EXTv8i8:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm, (imm:{ *:[i32] }):$imm)
/*265314*/      /*SwitchType*/ 11, MVT::v4f32,// ->265327
/*265316*/        OPC_EmitConvertToTarget, 2,
/*265318*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::v4f32, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (AArch64ext:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                  // Dst: (EXTv16i8:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm, (imm:{ *:[i32] }):$imm)
/*265327*/      /*SwitchType*/ 11, MVT::v1f64,// ->265340
/*265329*/        OPC_EmitConvertToTarget, 2,
/*265331*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv8i8), 0,
                      MVT::v1f64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (AArch64ext:{ *:[v1f64] } V64:{ *:[v1f64] }:$Rn, V64:{ *:[v1f64] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                  // Dst: (EXTv8i8:{ *:[v1f64] } V64:{ *:[v1f64] }:$Rn, V64:{ *:[v1f64] }:$Rm, (imm:{ *:[i32] }):$imm)
/*265340*/      /*SwitchType*/ 11, MVT::v2f64,// ->265353
/*265342*/        OPC_EmitConvertToTarget, 2,
/*265344*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::v2f64, 3/*#Ops*/, 0, 1, 3, 
                  // Src: (AArch64ext:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i32] }):$imm) - Complexity = 6
                  // Dst: (EXTv16i8:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm, (imm:{ *:[i32] }):$imm)
/*265353*/      0, // EndSwitchType
/*265354*/    0, /*End of Scope*/
/*265355*/  /*SwitchOpcode*/ 125|128,6/*893*/, TARGET_VAL(AArch64ISD::VSHL),// ->266252
/*265359*/    OPC_Scope, 99|128,5/*739*/, /*->266101*/ // 2 children in Scope
/*265362*/      OPC_MoveChild0,
/*265363*/      OPC_SwitchOpcode /*3 cases */, 0|128,1/*128*/, TARGET_VAL(ISD::ANY_EXTEND),// ->265496
/*265368*/        OPC_Scope, 70, /*->265440*/ // 2 children in Scope
/*265370*/          OPC_MoveChild0,
/*265371*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*265374*/          OPC_RecordChild0, // #0 = $Rn
/*265375*/          OPC_SwitchType /*3 cases */, 19, MVT::v8i8,// ->265397
/*265378*/            OPC_CheckChild1Integer, 8, 
/*265380*/            OPC_CheckChild1Type, MVT::i64,
/*265382*/            OPC_MoveParent,
/*265383*/            OPC_MoveParent,
/*265384*/            OPC_CheckChild1Integer, 8, 
/*265386*/            OPC_CheckChild1Type, MVT::i32,
/*265388*/            OPC_CheckType, MVT::v8i16,
/*265390*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv16i8), 0,
                          MVT::v8i16, 1/*#Ops*/, 0, 
                      // Src: (AArch64vshl:{ *:[v8i16] } (anyext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), 8:{ *:[i32] }) - Complexity = 19
                      // Dst: (SHLLv16i8:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn)
/*265397*/          /*SwitchType*/ 19, MVT::v4i16,// ->265418
/*265399*/            OPC_CheckChild1Integer, 4, 
/*265401*/            OPC_CheckChild1Type, MVT::i64,
/*265403*/            OPC_MoveParent,
/*265404*/            OPC_MoveParent,
/*265405*/            OPC_CheckChild1Integer, 16, 
/*265407*/            OPC_CheckChild1Type, MVT::i32,
/*265409*/            OPC_CheckType, MVT::v4i32,
/*265411*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv8i16), 0,
                          MVT::v4i32, 1/*#Ops*/, 0, 
                      // Src: (AArch64vshl:{ *:[v4i32] } (anyext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), 16:{ *:[i32] }) - Complexity = 19
                      // Dst: (SHLLv8i16:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn)
/*265418*/          /*SwitchType*/ 19, MVT::v2i32,// ->265439
/*265420*/            OPC_CheckChild1Integer, 2, 
/*265422*/            OPC_CheckChild1Type, MVT::i64,
/*265424*/            OPC_MoveParent,
/*265425*/            OPC_MoveParent,
/*265426*/            OPC_CheckChild1Integer, 32, 
/*265428*/            OPC_CheckChild1Type, MVT::i32,
/*265430*/            OPC_CheckType, MVT::v2i64,
/*265432*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv4i32), 0,
                          MVT::v2i64, 1/*#Ops*/, 0, 
                      // Src: (AArch64vshl:{ *:[v2i64] } (anyext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), 32:{ *:[i32] }) - Complexity = 19
                      // Dst: (SHLLv4i32:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn)
/*265439*/          0, // EndSwitchType
/*265440*/        /*Scope*/ 54, /*->265495*/
/*265441*/          OPC_RecordChild0, // #0 = $Rn
/*265442*/          OPC_Scope, 16, /*->265460*/ // 3 children in Scope
/*265444*/            OPC_CheckChild0Type, MVT::v8i8,
/*265446*/            OPC_MoveParent,
/*265447*/            OPC_CheckChild1Integer, 8, 
/*265449*/            OPC_CheckChild1Type, MVT::i32,
/*265451*/            OPC_CheckType, MVT::v8i16,
/*265453*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv8i8), 0,
                          MVT::v8i16, 1/*#Ops*/, 0, 
                      // Src: (AArch64vshl:{ *:[v8i16] } (anyext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), 8:{ *:[i32] }) - Complexity = 11
                      // Dst: (SHLLv8i8:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn)
/*265460*/          /*Scope*/ 16, /*->265477*/
/*265461*/            OPC_CheckChild0Type, MVT::v4i16,
/*265463*/            OPC_MoveParent,
/*265464*/            OPC_CheckChild1Integer, 16, 
/*265466*/            OPC_CheckChild1Type, MVT::i32,
/*265468*/            OPC_CheckType, MVT::v4i32,
/*265470*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv4i16), 0,
                          MVT::v4i32, 1/*#Ops*/, 0, 
                      // Src: (AArch64vshl:{ *:[v4i32] } (anyext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), 16:{ *:[i32] }) - Complexity = 11
                      // Dst: (SHLLv4i16:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn)
/*265477*/          /*Scope*/ 16, /*->265494*/
/*265478*/            OPC_CheckChild0Type, MVT::v2i32,
/*265480*/            OPC_MoveParent,
/*265481*/            OPC_CheckChild1Integer, 32, 
/*265483*/            OPC_CheckChild1Type, MVT::i32,
/*265485*/            OPC_CheckType, MVT::v2i64,
/*265487*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv2i32), 0,
                          MVT::v2i64, 1/*#Ops*/, 0, 
                      // Src: (AArch64vshl:{ *:[v2i64] } (anyext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), 32:{ *:[i32] }) - Complexity = 11
                      // Dst: (SHLLv2i32:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn)
/*265494*/          0, /*End of Scope*/
/*265495*/        0, /*End of Scope*/
/*265496*/      /*SwitchOpcode*/ 42|128,2/*298*/, TARGET_VAL(ISD::ZERO_EXTEND),// ->265798
/*265500*/        OPC_Scope, 26|128,1/*154*/, /*->265657*/ // 2 children in Scope
/*265503*/          OPC_MoveChild0,
/*265504*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*265507*/          OPC_RecordChild0, // #0 = $Rn
/*265508*/          OPC_SwitchType /*3 cases */, 47, MVT::v8i8,// ->265558
/*265511*/            OPC_CheckChild1Integer, 8, 
/*265513*/            OPC_CheckChild1Type, MVT::i64,
/*265515*/            OPC_MoveParent,
/*265516*/            OPC_MoveParent,
/*265517*/            OPC_Scope, 13, /*->265532*/ // 2 children in Scope
/*265519*/              OPC_CheckChild1Integer, 8, 
/*265521*/              OPC_CheckChild1Type, MVT::i32,
/*265523*/              OPC_CheckType, MVT::v8i16,
/*265525*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv16i8), 0,
                            MVT::v8i16, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), 8:{ *:[i32] }) - Complexity = 19
                        // Dst: (SHLLv16i8:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn)
/*265532*/            /*Scope*/ 24, /*->265557*/
/*265533*/              OPC_RecordChild1, // #1 = $imm
/*265534*/              OPC_MoveChild1,
/*265535*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265538*/              OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*265540*/              OPC_CheckType, MVT::i32,
/*265542*/              OPC_MoveParent,
/*265543*/              OPC_CheckType, MVT::v8i16,
/*265545*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265547*/              OPC_EmitConvertToTarget, 1,
/*265549*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv16i8_shift), 0,
                            MVT::v8i16, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v8i16] } (zext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 18
                        // Dst: (USHLLv16i8_shift:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265557*/            0, /*End of Scope*/
/*265558*/          /*SwitchType*/ 47, MVT::v4i16,// ->265607
/*265560*/            OPC_CheckChild1Integer, 4, 
/*265562*/            OPC_CheckChild1Type, MVT::i64,
/*265564*/            OPC_MoveParent,
/*265565*/            OPC_MoveParent,
/*265566*/            OPC_Scope, 13, /*->265581*/ // 2 children in Scope
/*265568*/              OPC_CheckChild1Integer, 16, 
/*265570*/              OPC_CheckChild1Type, MVT::i32,
/*265572*/              OPC_CheckType, MVT::v4i32,
/*265574*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv8i16), 0,
                            MVT::v4i32, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v4i32] } (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), 16:{ *:[i32] }) - Complexity = 19
                        // Dst: (SHLLv8i16:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn)
/*265581*/            /*Scope*/ 24, /*->265606*/
/*265582*/              OPC_RecordChild1, // #1 = $imm
/*265583*/              OPC_MoveChild1,
/*265584*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265587*/              OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*265589*/              OPC_CheckType, MVT::i32,
/*265591*/              OPC_MoveParent,
/*265592*/              OPC_CheckType, MVT::v4i32,
/*265594*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265596*/              OPC_EmitConvertToTarget, 1,
/*265598*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv8i16_shift), 0,
                            MVT::v4i32, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v4i32] } (zext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 18
                        // Dst: (USHLLv8i16_shift:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265606*/            0, /*End of Scope*/
/*265607*/          /*SwitchType*/ 47, MVT::v2i32,// ->265656
/*265609*/            OPC_CheckChild1Integer, 2, 
/*265611*/            OPC_CheckChild1Type, MVT::i64,
/*265613*/            OPC_MoveParent,
/*265614*/            OPC_MoveParent,
/*265615*/            OPC_Scope, 13, /*->265630*/ // 2 children in Scope
/*265617*/              OPC_CheckChild1Integer, 32, 
/*265619*/              OPC_CheckChild1Type, MVT::i32,
/*265621*/              OPC_CheckType, MVT::v2i64,
/*265623*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv4i32), 0,
                            MVT::v2i64, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v2i64] } (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), 32:{ *:[i32] }) - Complexity = 19
                        // Dst: (SHLLv4i32:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn)
/*265630*/            /*Scope*/ 24, /*->265655*/
/*265631*/              OPC_RecordChild1, // #1 = $imm
/*265632*/              OPC_MoveChild1,
/*265633*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265636*/              OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*265638*/              OPC_CheckType, MVT::i32,
/*265640*/              OPC_MoveParent,
/*265641*/              OPC_CheckType, MVT::v2i64,
/*265643*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265645*/              OPC_EmitConvertToTarget, 1,
/*265647*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv4i32_shift), 0,
                            MVT::v2i64, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v2i64] } (zext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 18
                        // Dst: (USHLLv4i32_shift:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265655*/            0, /*End of Scope*/
/*265656*/          0, // EndSwitchType
/*265657*/        /*Scope*/ 10|128,1/*138*/, /*->265797*/
/*265659*/          OPC_RecordChild0, // #0 = $Rn
/*265660*/          OPC_Scope, 44, /*->265706*/ // 3 children in Scope
/*265662*/            OPC_CheckChild0Type, MVT::v8i8,
/*265664*/            OPC_MoveParent,
/*265665*/            OPC_Scope, 13, /*->265680*/ // 2 children in Scope
/*265667*/              OPC_CheckChild1Integer, 8, 
/*265669*/              OPC_CheckChild1Type, MVT::i32,
/*265671*/              OPC_CheckType, MVT::v8i16,
/*265673*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv8i8), 0,
                            MVT::v8i16, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), 8:{ *:[i32] }) - Complexity = 11
                        // Dst: (SHLLv8i8:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn)
/*265680*/            /*Scope*/ 24, /*->265705*/
/*265681*/              OPC_RecordChild1, // #1 = $imm
/*265682*/              OPC_MoveChild1,
/*265683*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265686*/              OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*265688*/              OPC_CheckType, MVT::i32,
/*265690*/              OPC_MoveParent,
/*265691*/              OPC_CheckType, MVT::v8i16,
/*265693*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265695*/              OPC_EmitConvertToTarget, 1,
/*265697*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv8i8_shift), 0,
                            MVT::v8i16, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v8i16] } (zext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 10
                        // Dst: (USHLLv8i8_shift:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265705*/            0, /*End of Scope*/
/*265706*/          /*Scope*/ 44, /*->265751*/
/*265707*/            OPC_CheckChild0Type, MVT::v4i16,
/*265709*/            OPC_MoveParent,
/*265710*/            OPC_Scope, 13, /*->265725*/ // 2 children in Scope
/*265712*/              OPC_CheckChild1Integer, 16, 
/*265714*/              OPC_CheckChild1Type, MVT::i32,
/*265716*/              OPC_CheckType, MVT::v4i32,
/*265718*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv4i16), 0,
                            MVT::v4i32, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v4i32] } (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), 16:{ *:[i32] }) - Complexity = 11
                        // Dst: (SHLLv4i16:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn)
/*265725*/            /*Scope*/ 24, /*->265750*/
/*265726*/              OPC_RecordChild1, // #1 = $imm
/*265727*/              OPC_MoveChild1,
/*265728*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265731*/              OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*265733*/              OPC_CheckType, MVT::i32,
/*265735*/              OPC_MoveParent,
/*265736*/              OPC_CheckType, MVT::v4i32,
/*265738*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265740*/              OPC_EmitConvertToTarget, 1,
/*265742*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv4i16_shift), 0,
                            MVT::v4i32, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v4i32] } (zext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 10
                        // Dst: (USHLLv4i16_shift:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265750*/            0, /*End of Scope*/
/*265751*/          /*Scope*/ 44, /*->265796*/
/*265752*/            OPC_CheckChild0Type, MVT::v2i32,
/*265754*/            OPC_MoveParent,
/*265755*/            OPC_Scope, 13, /*->265770*/ // 2 children in Scope
/*265757*/              OPC_CheckChild1Integer, 32, 
/*265759*/              OPC_CheckChild1Type, MVT::i32,
/*265761*/              OPC_CheckType, MVT::v2i64,
/*265763*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv2i32), 0,
                            MVT::v2i64, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v2i64] } (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), 32:{ *:[i32] }) - Complexity = 11
                        // Dst: (SHLLv2i32:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn)
/*265770*/            /*Scope*/ 24, /*->265795*/
/*265771*/              OPC_RecordChild1, // #1 = $imm
/*265772*/              OPC_MoveChild1,
/*265773*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265776*/              OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*265778*/              OPC_CheckType, MVT::i32,
/*265780*/              OPC_MoveParent,
/*265781*/              OPC_CheckType, MVT::v2i64,
/*265783*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265785*/              OPC_EmitConvertToTarget, 1,
/*265787*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::USHLLv2i32_shift), 0,
                            MVT::v2i64, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v2i64] } (zext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 10
                        // Dst: (USHLLv2i32_shift:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265795*/            0, /*End of Scope*/
/*265796*/          0, /*End of Scope*/
/*265797*/        0, /*End of Scope*/
/*265798*/      /*SwitchOpcode*/ 42|128,2/*298*/, TARGET_VAL(ISD::SIGN_EXTEND),// ->266100
/*265802*/        OPC_Scope, 26|128,1/*154*/, /*->265959*/ // 2 children in Scope
/*265805*/          OPC_MoveChild0,
/*265806*/          OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*265809*/          OPC_RecordChild0, // #0 = $Rn
/*265810*/          OPC_SwitchType /*3 cases */, 47, MVT::v8i8,// ->265860
/*265813*/            OPC_CheckChild1Integer, 8, 
/*265815*/            OPC_CheckChild1Type, MVT::i64,
/*265817*/            OPC_MoveParent,
/*265818*/            OPC_MoveParent,
/*265819*/            OPC_Scope, 13, /*->265834*/ // 2 children in Scope
/*265821*/              OPC_CheckChild1Integer, 8, 
/*265823*/              OPC_CheckChild1Type, MVT::i32,
/*265825*/              OPC_CheckType, MVT::v8i16,
/*265827*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv16i8), 0,
                            MVT::v8i16, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v8i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), 8:{ *:[i32] }) - Complexity = 19
                        // Dst: (SHLLv16i8:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn)
/*265834*/            /*Scope*/ 24, /*->265859*/
/*265835*/              OPC_RecordChild1, // #1 = $imm
/*265836*/              OPC_MoveChild1,
/*265837*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265840*/              OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*265842*/              OPC_CheckType, MVT::i32,
/*265844*/              OPC_MoveParent,
/*265845*/              OPC_CheckType, MVT::v8i16,
/*265847*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265849*/              OPC_EmitConvertToTarget, 1,
/*265851*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv16i8_shift), 0,
                            MVT::v8i16, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v8i16] } (sext:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] })), (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 18
                        // Dst: (SSHLLv16i8_shift:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265859*/            0, /*End of Scope*/
/*265860*/          /*SwitchType*/ 47, MVT::v4i16,// ->265909
/*265862*/            OPC_CheckChild1Integer, 4, 
/*265864*/            OPC_CheckChild1Type, MVT::i64,
/*265866*/            OPC_MoveParent,
/*265867*/            OPC_MoveParent,
/*265868*/            OPC_Scope, 13, /*->265883*/ // 2 children in Scope
/*265870*/              OPC_CheckChild1Integer, 16, 
/*265872*/              OPC_CheckChild1Type, MVT::i32,
/*265874*/              OPC_CheckType, MVT::v4i32,
/*265876*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv8i16), 0,
                            MVT::v4i32, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v4i32] } (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), 16:{ *:[i32] }) - Complexity = 19
                        // Dst: (SHLLv8i16:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn)
/*265883*/            /*Scope*/ 24, /*->265908*/
/*265884*/              OPC_RecordChild1, // #1 = $imm
/*265885*/              OPC_MoveChild1,
/*265886*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265889*/              OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*265891*/              OPC_CheckType, MVT::i32,
/*265893*/              OPC_MoveParent,
/*265894*/              OPC_CheckType, MVT::v4i32,
/*265896*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265898*/              OPC_EmitConvertToTarget, 1,
/*265900*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv8i16_shift), 0,
                            MVT::v4i32, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v4i32] } (sext:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] })), (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 18
                        // Dst: (SSHLLv8i16_shift:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265908*/            0, /*End of Scope*/
/*265909*/          /*SwitchType*/ 47, MVT::v2i32,// ->265958
/*265911*/            OPC_CheckChild1Integer, 2, 
/*265913*/            OPC_CheckChild1Type, MVT::i64,
/*265915*/            OPC_MoveParent,
/*265916*/            OPC_MoveParent,
/*265917*/            OPC_Scope, 13, /*->265932*/ // 2 children in Scope
/*265919*/              OPC_CheckChild1Integer, 32, 
/*265921*/              OPC_CheckChild1Type, MVT::i32,
/*265923*/              OPC_CheckType, MVT::v2i64,
/*265925*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv4i32), 0,
                            MVT::v2i64, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v2i64] } (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), 32:{ *:[i32] }) - Complexity = 19
                        // Dst: (SHLLv4i32:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn)
/*265932*/            /*Scope*/ 24, /*->265957*/
/*265933*/              OPC_RecordChild1, // #1 = $imm
/*265934*/              OPC_MoveChild1,
/*265935*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265938*/              OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*265940*/              OPC_CheckType, MVT::i32,
/*265942*/              OPC_MoveParent,
/*265943*/              OPC_CheckType, MVT::v2i64,
/*265945*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265947*/              OPC_EmitConvertToTarget, 1,
/*265949*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv4i32_shift), 0,
                            MVT::v2i64, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v2i64] } (sext:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] })), (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 18
                        // Dst: (SSHLLv4i32_shift:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*265957*/            0, /*End of Scope*/
/*265958*/          0, // EndSwitchType
/*265959*/        /*Scope*/ 10|128,1/*138*/, /*->266099*/
/*265961*/          OPC_RecordChild0, // #0 = $Rn
/*265962*/          OPC_Scope, 44, /*->266008*/ // 3 children in Scope
/*265964*/            OPC_CheckChild0Type, MVT::v8i8,
/*265966*/            OPC_MoveParent,
/*265967*/            OPC_Scope, 13, /*->265982*/ // 2 children in Scope
/*265969*/              OPC_CheckChild1Integer, 8, 
/*265971*/              OPC_CheckChild1Type, MVT::i32,
/*265973*/              OPC_CheckType, MVT::v8i16,
/*265975*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv8i8), 0,
                            MVT::v8i16, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v8i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), 8:{ *:[i32] }) - Complexity = 11
                        // Dst: (SHLLv8i8:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn)
/*265982*/            /*Scope*/ 24, /*->266007*/
/*265983*/              OPC_RecordChild1, // #1 = $imm
/*265984*/              OPC_MoveChild1,
/*265985*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*265988*/              OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*265990*/              OPC_CheckType, MVT::i32,
/*265992*/              OPC_MoveParent,
/*265993*/              OPC_CheckType, MVT::v8i16,
/*265995*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*265997*/              OPC_EmitConvertToTarget, 1,
/*265999*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv8i8_shift), 0,
                            MVT::v8i16, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v8i16] } (sext:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn), (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 10
                        // Dst: (SSHLLv8i8_shift:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266007*/            0, /*End of Scope*/
/*266008*/          /*Scope*/ 44, /*->266053*/
/*266009*/            OPC_CheckChild0Type, MVT::v4i16,
/*266011*/            OPC_MoveParent,
/*266012*/            OPC_Scope, 13, /*->266027*/ // 2 children in Scope
/*266014*/              OPC_CheckChild1Integer, 16, 
/*266016*/              OPC_CheckChild1Type, MVT::i32,
/*266018*/              OPC_CheckType, MVT::v4i32,
/*266020*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv4i16), 0,
                            MVT::v4i32, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v4i32] } (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), 16:{ *:[i32] }) - Complexity = 11
                        // Dst: (SHLLv4i16:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn)
/*266027*/            /*Scope*/ 24, /*->266052*/
/*266028*/              OPC_RecordChild1, // #1 = $imm
/*266029*/              OPC_MoveChild1,
/*266030*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*266033*/              OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*266035*/              OPC_CheckType, MVT::i32,
/*266037*/              OPC_MoveParent,
/*266038*/              OPC_CheckType, MVT::v4i32,
/*266040*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266042*/              OPC_EmitConvertToTarget, 1,
/*266044*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv4i16_shift), 0,
                            MVT::v4i32, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v4i32] } (sext:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn), (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 10
                        // Dst: (SSHLLv4i16_shift:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266052*/            0, /*End of Scope*/
/*266053*/          /*Scope*/ 44, /*->266098*/
/*266054*/            OPC_CheckChild0Type, MVT::v2i32,
/*266056*/            OPC_MoveParent,
/*266057*/            OPC_Scope, 13, /*->266072*/ // 2 children in Scope
/*266059*/              OPC_CheckChild1Integer, 32, 
/*266061*/              OPC_CheckChild1Type, MVT::i32,
/*266063*/              OPC_CheckType, MVT::v2i64,
/*266065*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLLv2i32), 0,
                            MVT::v2i64, 1/*#Ops*/, 0, 
                        // Src: (AArch64vshl:{ *:[v2i64] } (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), 32:{ *:[i32] }) - Complexity = 11
                        // Dst: (SHLLv2i32:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn)
/*266072*/            /*Scope*/ 24, /*->266097*/
/*266073*/              OPC_RecordChild1, // #1 = $imm
/*266074*/              OPC_MoveChild1,
/*266075*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*266078*/              OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*266080*/              OPC_CheckType, MVT::i32,
/*266082*/              OPC_MoveParent,
/*266083*/              OPC_CheckType, MVT::v2i64,
/*266085*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266087*/              OPC_EmitConvertToTarget, 1,
/*266089*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SSHLLv2i32_shift), 0,
                            MVT::v2i64, 2/*#Ops*/, 0, 2, 
                        // Src: (AArch64vshl:{ *:[v2i64] } (sext:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn), (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 10
                        // Dst: (SSHLLv2i32_shift:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266097*/            0, /*End of Scope*/
/*266098*/          0, /*End of Scope*/
/*266099*/        0, /*End of Scope*/
/*266100*/      0, // EndSwitchOpcode
/*266101*/    /*Scope*/ 20|128,1/*148*/, /*->266251*/
/*266103*/      OPC_RecordChild0, // #0 = $Rn
/*266104*/      OPC_RecordChild1, // #1 = $imm
/*266105*/      OPC_MoveChild1,
/*266106*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*266109*/      OPC_CheckType, MVT::i32,
/*266111*/      OPC_Scope, 17, /*->266130*/ // 5 children in Scope
/*266113*/        OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*266115*/        OPC_MoveParent,
/*266116*/        OPC_CheckType, MVT::v1i64,
/*266118*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266120*/        OPC_EmitConvertToTarget, 1,
/*266122*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLd), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vshl:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                  // Dst: (SHLd:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266130*/      /*Scope*/ 33, /*->266164*/
/*266131*/        OPC_CheckPredicate, 28, // Predicate_vecshiftL8
/*266133*/        OPC_MoveParent,
/*266134*/        OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->266149
/*266137*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266139*/          OPC_EmitConvertToTarget, 1,
/*266141*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLv8i8_shift), 0,
                        MVT::v8i8, 2/*#Ops*/, 0, 2, 
                    // Src: (AArch64vshl:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 7
                    // Dst: (SHLv8i8_shift:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266149*/        /*SwitchType*/ 12, MVT::v16i8,// ->266163
/*266151*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266153*/          OPC_EmitConvertToTarget, 1,
/*266155*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLv16i8_shift), 0,
                        MVT::v16i8, 2/*#Ops*/, 0, 2, 
                    // Src: (AArch64vshl:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL8>>:$imm) - Complexity = 7
                    // Dst: (SHLv16i8_shift:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266163*/        0, // EndSwitchType
/*266164*/      /*Scope*/ 33, /*->266198*/
/*266165*/        OPC_CheckPredicate, 29, // Predicate_vecshiftL16
/*266167*/        OPC_MoveParent,
/*266168*/        OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->266183
/*266171*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266173*/          OPC_EmitConvertToTarget, 1,
/*266175*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLv4i16_shift), 0,
                        MVT::v4i16, 2/*#Ops*/, 0, 2, 
                    // Src: (AArch64vshl:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 7
                    // Dst: (SHLv4i16_shift:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266183*/        /*SwitchType*/ 12, MVT::v8i16,// ->266197
/*266185*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266187*/          OPC_EmitConvertToTarget, 1,
/*266189*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLv8i16_shift), 0,
                        MVT::v8i16, 2/*#Ops*/, 0, 2, 
                    // Src: (AArch64vshl:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL16>>:$imm) - Complexity = 7
                    // Dst: (SHLv8i16_shift:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266197*/        0, // EndSwitchType
/*266198*/      /*Scope*/ 33, /*->266232*/
/*266199*/        OPC_CheckPredicate, 30, // Predicate_vecshiftL32
/*266201*/        OPC_MoveParent,
/*266202*/        OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->266217
/*266205*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266207*/          OPC_EmitConvertToTarget, 1,
/*266209*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLv2i32_shift), 0,
                        MVT::v2i32, 2/*#Ops*/, 0, 2, 
                    // Src: (AArch64vshl:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                    // Dst: (SHLv2i32_shift:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266217*/        /*SwitchType*/ 12, MVT::v4i32,// ->266231
/*266219*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266221*/          OPC_EmitConvertToTarget, 1,
/*266223*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLv4i32_shift), 0,
                        MVT::v4i32, 2/*#Ops*/, 0, 2, 
                    // Src: (AArch64vshl:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL32>>:$imm) - Complexity = 7
                    // Dst: (SHLv4i32_shift:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266231*/        0, // EndSwitchType
/*266232*/      /*Scope*/ 17, /*->266250*/
/*266233*/        OPC_CheckPredicate, 31, // Predicate_vecshiftL64
/*266235*/        OPC_MoveParent,
/*266236*/        OPC_CheckType, MVT::v2i64,
/*266238*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266240*/        OPC_EmitConvertToTarget, 1,
/*266242*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHLv2i64_shift), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64vshl:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftL64>>:$imm) - Complexity = 7
                  // Dst: (SHLv2i64_shift:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] }):$imm)
/*266250*/      0, /*End of Scope*/
/*266251*/    0, /*End of Scope*/
/*266252*/  /*SwitchOpcode*/ 6|128,1/*134*/, TARGET_VAL(AArch64ISD::SMULL),// ->266390
/*266256*/    OPC_Scope, 88, /*->266346*/ // 2 children in Scope
/*266258*/      OPC_MoveChild0,
/*266259*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*266262*/      OPC_RecordChild0, // #0 = $Rn
/*266263*/      OPC_SwitchType /*3 cases */, 25, MVT::v8i8,// ->266291
/*266266*/        OPC_CheckChild1Integer, 8, 
/*266268*/        OPC_CheckChild1Type, MVT::i64,
/*266270*/        OPC_MoveParent,
/*266271*/        OPC_MoveChild1,
/*266272*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*266275*/        OPC_RecordChild0, // #1 = $Rm
/*266276*/        OPC_CheckChild1Integer, 8, 
/*266278*/        OPC_CheckChild1Type, MVT::i64,
/*266280*/        OPC_MoveParent,
/*266281*/        OPC_CheckType, MVT::v8i16,
/*266283*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv16i8_v8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64smull:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })) - Complexity = 19
                  // Dst: (SMULLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*266291*/      /*SwitchType*/ 25, MVT::v4i16,// ->266318
/*266293*/        OPC_CheckChild1Integer, 4, 
/*266295*/        OPC_CheckChild1Type, MVT::i64,
/*266297*/        OPC_MoveParent,
/*266298*/        OPC_MoveChild1,
/*266299*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*266302*/        OPC_RecordChild0, // #1 = $Rm
/*266303*/        OPC_CheckChild1Integer, 4, 
/*266305*/        OPC_CheckChild1Type, MVT::i64,
/*266307*/        OPC_MoveParent,
/*266308*/        OPC_CheckType, MVT::v4i32,
/*266310*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv8i16_v4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64smull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })) - Complexity = 19
                  // Dst: (SMULLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*266318*/      /*SwitchType*/ 25, MVT::v2i32,// ->266345
/*266320*/        OPC_CheckChild1Integer, 2, 
/*266322*/        OPC_CheckChild1Type, MVT::i64,
/*266324*/        OPC_MoveParent,
/*266325*/        OPC_MoveChild1,
/*266326*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*266329*/        OPC_RecordChild0, // #1 = $Rm
/*266330*/        OPC_CheckChild1Integer, 2, 
/*266332*/        OPC_CheckChild1Type, MVT::i64,
/*266334*/        OPC_MoveParent,
/*266335*/        OPC_CheckType, MVT::v2i64,
/*266337*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv4i32_v2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64smull:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })) - Complexity = 19
                  // Dst: (SMULLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*266345*/      0, // EndSwitchType
/*266346*/    /*Scope*/ 42, /*->266389*/
/*266347*/      OPC_RecordChild0, // #0 = $Rn
/*266348*/      OPC_SwitchType /*3 cases */, 11, MVT::v8i16,// ->266362
/*266351*/        OPC_CheckChild0Type, MVT::v8i8,
/*266353*/        OPC_RecordChild1, // #1 = $Rm
/*266354*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv8i8_v8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64smull:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (SMULLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*266362*/      /*SwitchType*/ 11, MVT::v4i32,// ->266375
/*266364*/        OPC_CheckChild0Type, MVT::v4i16,
/*266366*/        OPC_RecordChild1, // #1 = $Rm
/*266367*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv4i16_v4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64smull:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                  // Dst: (SMULLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*266375*/      /*SwitchType*/ 11, MVT::v2i64,// ->266388
/*266377*/        OPC_CheckChild0Type, MVT::v2i32,
/*266379*/        OPC_RecordChild1, // #1 = $Rm
/*266380*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMULLv2i32_v2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64smull:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                  // Dst: (SMULLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*266388*/      0, // EndSwitchType
/*266389*/    0, /*End of Scope*/
/*266390*/  /*SwitchOpcode*/ 6|128,1/*134*/, TARGET_VAL(AArch64ISD::UMULL),// ->266528
/*266394*/    OPC_Scope, 88, /*->266484*/ // 2 children in Scope
/*266396*/      OPC_MoveChild0,
/*266397*/      OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*266400*/      OPC_RecordChild0, // #0 = $Rn
/*266401*/      OPC_SwitchType /*3 cases */, 25, MVT::v8i8,// ->266429
/*266404*/        OPC_CheckChild1Integer, 8, 
/*266406*/        OPC_CheckChild1Type, MVT::i64,
/*266408*/        OPC_MoveParent,
/*266409*/        OPC_MoveChild1,
/*266410*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*266413*/        OPC_RecordChild0, // #1 = $Rm
/*266414*/        OPC_CheckChild1Integer, 8, 
/*266416*/        OPC_CheckChild1Type, MVT::i64,
/*266418*/        OPC_MoveParent,
/*266419*/        OPC_CheckType, MVT::v8i16,
/*266421*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv16i8_v8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64umull:{ *:[v8i16] } (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }), (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rm, 8:{ *:[i64] })) - Complexity = 19
                  // Dst: (UMULLv16i8_v8i16:{ *:[v8i16] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*266429*/      /*SwitchType*/ 25, MVT::v4i16,// ->266456
/*266431*/        OPC_CheckChild1Integer, 4, 
/*266433*/        OPC_CheckChild1Type, MVT::i64,
/*266435*/        OPC_MoveParent,
/*266436*/        OPC_MoveChild1,
/*266437*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*266440*/        OPC_RecordChild0, // #1 = $Rm
/*266441*/        OPC_CheckChild1Integer, 4, 
/*266443*/        OPC_CheckChild1Type, MVT::i64,
/*266445*/        OPC_MoveParent,
/*266446*/        OPC_CheckType, MVT::v4i32,
/*266448*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv8i16_v4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64umull:{ *:[v4i32] } (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }), (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rm, 4:{ *:[i64] })) - Complexity = 19
                  // Dst: (UMULLv8i16_v4i32:{ *:[v4i32] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*266456*/      /*SwitchType*/ 25, MVT::v2i32,// ->266483
/*266458*/        OPC_CheckChild1Integer, 2, 
/*266460*/        OPC_CheckChild1Type, MVT::i64,
/*266462*/        OPC_MoveParent,
/*266463*/        OPC_MoveChild1,
/*266464*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),
/*266467*/        OPC_RecordChild0, // #1 = $Rm
/*266468*/        OPC_CheckChild1Integer, 2, 
/*266470*/        OPC_CheckChild1Type, MVT::i64,
/*266472*/        OPC_MoveParent,
/*266473*/        OPC_CheckType, MVT::v2i64,
/*266475*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv4i32_v2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64umull:{ *:[v2i64] } (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }), (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rm, 2:{ *:[i64] })) - Complexity = 19
                  // Dst: (UMULLv4i32_v2i64:{ *:[v2i64] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*266483*/      0, // EndSwitchType
/*266484*/    /*Scope*/ 42, /*->266527*/
/*266485*/      OPC_RecordChild0, // #0 = $Rn
/*266486*/      OPC_SwitchType /*3 cases */, 11, MVT::v8i16,// ->266500
/*266489*/        OPC_CheckChild0Type, MVT::v8i8,
/*266491*/        OPC_RecordChild1, // #1 = $Rm
/*266492*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv8i8_v8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64umull:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (UMULLv8i8_v8i16:{ *:[v8i16] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*266500*/      /*SwitchType*/ 11, MVT::v4i32,// ->266513
/*266502*/        OPC_CheckChild0Type, MVT::v4i16,
/*266504*/        OPC_RecordChild1, // #1 = $Rm
/*266505*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv4i16_v4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64umull:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                  // Dst: (UMULLv4i16_v4i32:{ *:[v4i32] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*266513*/      /*SwitchType*/ 11, MVT::v2i64,// ->266526
/*266515*/        OPC_CheckChild0Type, MVT::v2i32,
/*266517*/        OPC_RecordChild1, // #1 = $Rm
/*266518*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMULLv2i32_v2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64umull:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                  // Dst: (UMULLv2i32_v2i64:{ *:[v2i64] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*266526*/      0, // EndSwitchType
/*266527*/    0, /*End of Scope*/
/*266528*/  /*SwitchOpcode*/ 126|128,23/*3070*/, TARGET_VAL(ISD::CONCAT_VECTORS),// ->269602
/*266532*/    OPC_RecordChild0, // #0 = $Rd
/*266533*/    OPC_Scope, 120|128,19/*2552*/, /*->269088*/ // 4 children in Scope
/*266536*/      OPC_MoveChild1,
/*266537*/      OPC_SwitchOpcode /*3 cases */, 97|128,4/*609*/, TARGET_VAL(ISD::TRUNCATE),// ->267151
/*266542*/        OPC_Scope, 115|128,3/*499*/, /*->267044*/ // 2 children in Scope
/*266545*/          OPC_MoveChild0,
/*266546*/          OPC_SwitchOpcode /*2 cases */, 99|128,2/*355*/, TARGET_VAL(AArch64ISD::VLSHR),// ->266906
/*266551*/            OPC_Scope, 95|128,1/*223*/, /*->266777*/ // 2 children in Scope
/*266554*/              OPC_MoveChild0,
/*266555*/              OPC_SwitchOpcode /*2 cases */, 107, TARGET_VAL(ISD::ADD),// ->266666
/*266559*/                OPC_RecordChild0, // #1 = $Rn
/*266560*/                OPC_RecordChild1, // #2 = $Rm
/*266561*/                OPC_MoveParent,
/*266562*/                OPC_SwitchType /*3 cases */, 32, MVT::v8i16,// ->266597
/*266565*/                  OPC_CheckChild1Integer, 8, 
/*266567*/                  OPC_CheckChild1Type, MVT::i32,
/*266569*/                  OPC_MoveParent,
/*266570*/                  OPC_MoveParent,
/*266571*/                  OPC_CheckType, MVT::v16i8,
/*266573*/                  OPC_EmitInteger, MVT::i32, 0, 
/*266576*/                  OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266579*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266588*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv8i16_v16i8), 0,
                                MVT::v16i8, 3/*#Ops*/, 5, 1, 2, 
                            // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (trunc:{ *:[v8i8] } (AArch64vlshr:{ *:[v8i16] } (add:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm), 8:{ *:[i32] }))) - Complexity = 17
                            // Dst: (ADDHNv8i16_v16i8:{ *:[v16i8] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*266597*/                /*SwitchType*/ 32, MVT::v4i32,// ->266631
/*266599*/                  OPC_CheckChild1Integer, 16, 
/*266601*/                  OPC_CheckChild1Type, MVT::i32,
/*266603*/                  OPC_MoveParent,
/*266604*/                  OPC_MoveParent,
/*266605*/                  OPC_CheckType, MVT::v8i16,
/*266607*/                  OPC_EmitInteger, MVT::i32, 0, 
/*266610*/                  OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266613*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266622*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv4i32_v8i16), 0,
                                MVT::v8i16, 3/*#Ops*/, 5, 1, 2, 
                            // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (trunc:{ *:[v4i16] } (AArch64vlshr:{ *:[v4i32] } (add:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm), 16:{ *:[i32] }))) - Complexity = 17
                            // Dst: (ADDHNv4i32_v8i16:{ *:[v8i16] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*266631*/                /*SwitchType*/ 32, MVT::v2i64,// ->266665
/*266633*/                  OPC_CheckChild1Integer, 32, 
/*266635*/                  OPC_CheckChild1Type, MVT::i32,
/*266637*/                  OPC_MoveParent,
/*266638*/                  OPC_MoveParent,
/*266639*/                  OPC_CheckType, MVT::v4i32,
/*266641*/                  OPC_EmitInteger, MVT::i32, 0, 
/*266644*/                  OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266647*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266656*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv2i64_v4i32), 0,
                                MVT::v4i32, 3/*#Ops*/, 5, 1, 2, 
                            // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (trunc:{ *:[v2i32] } (AArch64vlshr:{ *:[v2i64] } (add:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm), 32:{ *:[i32] }))) - Complexity = 17
                            // Dst: (ADDHNv2i64_v4i32:{ *:[v4i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*266665*/                0, // EndSwitchType
/*266666*/              /*SwitchOpcode*/ 107, TARGET_VAL(ISD::SUB),// ->266776
/*266669*/                OPC_RecordChild0, // #1 = $Rn
/*266670*/                OPC_RecordChild1, // #2 = $Rm
/*266671*/                OPC_MoveParent,
/*266672*/                OPC_SwitchType /*3 cases */, 32, MVT::v8i16,// ->266707
/*266675*/                  OPC_CheckChild1Integer, 8, 
/*266677*/                  OPC_CheckChild1Type, MVT::i32,
/*266679*/                  OPC_MoveParent,
/*266680*/                  OPC_MoveParent,
/*266681*/                  OPC_CheckType, MVT::v16i8,
/*266683*/                  OPC_EmitInteger, MVT::i32, 0, 
/*266686*/                  OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266689*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266698*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv8i16_v16i8), 0,
                                MVT::v16i8, 3/*#Ops*/, 5, 1, 2, 
                            // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (trunc:{ *:[v8i8] } (AArch64vlshr:{ *:[v8i16] } (sub:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm), 8:{ *:[i32] }))) - Complexity = 17
                            // Dst: (SUBHNv8i16_v16i8:{ *:[v16i8] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*266707*/                /*SwitchType*/ 32, MVT::v4i32,// ->266741
/*266709*/                  OPC_CheckChild1Integer, 16, 
/*266711*/                  OPC_CheckChild1Type, MVT::i32,
/*266713*/                  OPC_MoveParent,
/*266714*/                  OPC_MoveParent,
/*266715*/                  OPC_CheckType, MVT::v8i16,
/*266717*/                  OPC_EmitInteger, MVT::i32, 0, 
/*266720*/                  OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266723*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266732*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv4i32_v8i16), 0,
                                MVT::v8i16, 3/*#Ops*/, 5, 1, 2, 
                            // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (trunc:{ *:[v4i16] } (AArch64vlshr:{ *:[v4i32] } (sub:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm), 16:{ *:[i32] }))) - Complexity = 17
                            // Dst: (SUBHNv4i32_v8i16:{ *:[v8i16] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*266741*/                /*SwitchType*/ 32, MVT::v2i64,// ->266775
/*266743*/                  OPC_CheckChild1Integer, 32, 
/*266745*/                  OPC_CheckChild1Type, MVT::i32,
/*266747*/                  OPC_MoveParent,
/*266748*/                  OPC_MoveParent,
/*266749*/                  OPC_CheckType, MVT::v4i32,
/*266751*/                  OPC_EmitInteger, MVT::i32, 0, 
/*266754*/                  OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266757*/                  OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                                MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266766*/                  OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv2i64_v4i32), 0,
                                MVT::v4i32, 3/*#Ops*/, 5, 1, 2, 
                            // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (trunc:{ *:[v2i32] } (AArch64vlshr:{ *:[v2i64] } (sub:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm), 32:{ *:[i32] }))) - Complexity = 17
                            // Dst: (SUBHNv2i64_v4i32:{ *:[v4i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*266775*/                0, // EndSwitchType
/*266776*/              0, // EndSwitchOpcode
/*266777*/            /*Scope*/ 127, /*->266905*/
/*266778*/              OPC_RecordChild0, // #1 = $Rn
/*266779*/              OPC_RecordChild1, // #2 = $imm
/*266780*/              OPC_MoveChild1,
/*266781*/              OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*266784*/              OPC_CheckType, MVT::i32,
/*266786*/              OPC_Scope, 38, /*->266826*/ // 3 children in Scope
/*266788*/                OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*266790*/                OPC_MoveParent,
/*266791*/                OPC_CheckType, MVT::v8i16,
/*266793*/                OPC_MoveParent,
/*266794*/                OPC_MoveParent,
/*266795*/                OPC_CheckType, MVT::v16i8,
/*266797*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::f128, 0/*#Ops*/,  // Results = #3
/*266803*/                OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266806*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266815*/                OPC_EmitConvertToTarget, 2,
/*266817*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv16i8_shift), 0,
                              MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                          // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (trunc:{ *:[v8i8] } (AArch64vlshr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm))) - Complexity = 13
                          // Dst: (SHRNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*266826*/              /*Scope*/ 38, /*->266865*/
/*266827*/                OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*266829*/                OPC_MoveParent,
/*266830*/                OPC_CheckType, MVT::v4i32,
/*266832*/                OPC_MoveParent,
/*266833*/                OPC_MoveParent,
/*266834*/                OPC_CheckType, MVT::v8i16,
/*266836*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::f128, 0/*#Ops*/,  // Results = #3
/*266842*/                OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266845*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266854*/                OPC_EmitConvertToTarget, 2,
/*266856*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv8i16_shift), 0,
                              MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                          // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (trunc:{ *:[v4i16] } (AArch64vlshr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm))) - Complexity = 13
                          // Dst: (SHRNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*266865*/              /*Scope*/ 38, /*->266904*/
/*266866*/                OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*266868*/                OPC_MoveParent,
/*266869*/                OPC_CheckType, MVT::v2i64,
/*266871*/                OPC_MoveParent,
/*266872*/                OPC_MoveParent,
/*266873*/                OPC_CheckType, MVT::v4i32,
/*266875*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                              MVT::f128, 0/*#Ops*/,  // Results = #3
/*266881*/                OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266884*/                OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                              MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266893*/                OPC_EmitConvertToTarget, 2,
/*266895*/                OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv4i32_shift), 0,
                              MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                          // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (trunc:{ *:[v2i32] } (AArch64vlshr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm))) - Complexity = 13
                          // Dst: (SHRNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*266904*/              0, /*End of Scope*/
/*266905*/            0, /*End of Scope*/
/*266906*/          /*SwitchOpcode*/ 5|128,1/*133*/, TARGET_VAL(AArch64ISD::VASHR),// ->267043
/*266910*/            OPC_RecordChild0, // #1 = $Rn
/*266911*/            OPC_RecordChild1, // #2 = $imm
/*266912*/            OPC_MoveChild1,
/*266913*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*266916*/            OPC_CheckType, MVT::i32,
/*266918*/            OPC_Scope, 40, /*->266960*/ // 3 children in Scope
/*266920*/              OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*266922*/              OPC_MoveParent,
/*266923*/              OPC_CheckType, MVT::v8i16,
/*266925*/              OPC_MoveParent,
/*266926*/              OPC_MoveParent,
/*266927*/              OPC_CheckType, MVT::v16i8,
/*266929*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266931*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::f128, 0/*#Ops*/,  // Results = #3
/*266937*/              OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266940*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266949*/              OPC_EmitConvertToTarget, 2,
/*266951*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv16i8_shift), 0,
                            MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                        // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (trunc:{ *:[v8i8] } (AArch64vashr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm))) - Complexity = 13
                        // Dst: (SHRNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*266960*/            /*Scope*/ 40, /*->267001*/
/*266961*/              OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*266963*/              OPC_MoveParent,
/*266964*/              OPC_CheckType, MVT::v4i32,
/*266966*/              OPC_MoveParent,
/*266967*/              OPC_MoveParent,
/*266968*/              OPC_CheckType, MVT::v8i16,
/*266970*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*266972*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::f128, 0/*#Ops*/,  // Results = #3
/*266978*/              OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*266981*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*266990*/              OPC_EmitConvertToTarget, 2,
/*266992*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv8i16_shift), 0,
                            MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                        // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (trunc:{ *:[v4i16] } (AArch64vashr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm))) - Complexity = 13
                        // Dst: (SHRNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*267001*/            /*Scope*/ 40, /*->267042*/
/*267002*/              OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*267004*/              OPC_MoveParent,
/*267005*/              OPC_CheckType, MVT::v2i64,
/*267007*/              OPC_MoveParent,
/*267008*/              OPC_MoveParent,
/*267009*/              OPC_CheckType, MVT::v4i32,
/*267011*/              OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267013*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                            MVT::f128, 0/*#Ops*/,  // Results = #3
/*267019*/              OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267022*/              OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                            MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267031*/              OPC_EmitConvertToTarget, 2,
/*267033*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::SHRNv4i32_shift), 0,
                            MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                        // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (trunc:{ *:[v2i32] } (AArch64vashr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm))) - Complexity = 13
                        // Dst: (SHRNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*267042*/            0, /*End of Scope*/
/*267043*/          0, // EndSwitchOpcode
/*267044*/        /*Scope*/ 105, /*->267150*/
/*267045*/          OPC_RecordChild0, // #1 = $Rn
/*267046*/          OPC_Scope, 33, /*->267081*/ // 3 children in Scope
/*267048*/            OPC_CheckChild0Type, MVT::v8i16,
/*267050*/            OPC_MoveParent,
/*267051*/            OPC_CheckType, MVT::v16i8,
/*267053*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267055*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*267061*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267064*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*267073*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::XTNv16i8), 0,
                          MVT::v16i8, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (trunc:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn)) - Complexity = 6
                      // Dst: (XTNv16i8:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn)
/*267081*/          /*Scope*/ 33, /*->267115*/
/*267082*/            OPC_CheckChild0Type, MVT::v4i32,
/*267084*/            OPC_MoveParent,
/*267085*/            OPC_CheckType, MVT::v8i16,
/*267087*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267089*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*267095*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267098*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*267107*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::XTNv8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (trunc:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn)) - Complexity = 6
                      // Dst: (XTNv8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn)
/*267115*/          /*Scope*/ 33, /*->267149*/
/*267116*/            OPC_CheckChild0Type, MVT::v2i64,
/*267118*/            OPC_MoveParent,
/*267119*/            OPC_CheckType, MVT::v4i32,
/*267121*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267123*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*267129*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267132*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*267141*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::XTNv4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (trunc:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn)) - Complexity = 6
                      // Dst: (XTNv4i32:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn)
/*267149*/          0, /*End of Scope*/
/*267150*/        0, /*End of Scope*/
/*267151*/      /*SwitchOpcode*/ 54|128,14/*1846*/, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->269001
/*267155*/        OPC_Scope, 13|128,1/*141*/, /*->267299*/ // 15 children in Scope
/*267158*/          OPC_CheckChild0Integer, 112|128,2/*368*/, 
/*267161*/          OPC_RecordChild1, // #1 = $Rn
/*267162*/          OPC_Scope, 44, /*->267208*/ // 3 children in Scope
/*267164*/            OPC_CheckChild1Type, MVT::v8i16,
/*267166*/            OPC_RecordChild2, // #2 = $imm
/*267167*/            OPC_MoveChild2,
/*267168*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267171*/            OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*267173*/            OPC_MoveParent,
/*267174*/            OPC_MoveParent,
/*267175*/            OPC_CheckType, MVT::v16i8,
/*267177*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267179*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267185*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267188*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267197*/            OPC_EmitConvertToTarget, 2,
/*267199*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 368:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 15
                      // Dst: (RSHRNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*267208*/          /*Scope*/ 44, /*->267253*/
/*267209*/            OPC_CheckChild1Type, MVT::v4i32,
/*267211*/            OPC_RecordChild2, // #2 = $imm
/*267212*/            OPC_MoveChild2,
/*267213*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267216*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*267218*/            OPC_MoveParent,
/*267219*/            OPC_MoveParent,
/*267220*/            OPC_CheckType, MVT::v8i16,
/*267222*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267224*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267230*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267233*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267242*/            OPC_EmitConvertToTarget, 2,
/*267244*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 368:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 15
                      // Dst: (RSHRNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*267253*/          /*Scope*/ 44, /*->267298*/
/*267254*/            OPC_CheckChild1Type, MVT::v2i64,
/*267256*/            OPC_RecordChild2, // #2 = $imm
/*267257*/            OPC_MoveChild2,
/*267258*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267261*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*267263*/            OPC_MoveParent,
/*267264*/            OPC_MoveParent,
/*267265*/            OPC_CheckType, MVT::v4i32,
/*267267*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267269*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267275*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267278*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267287*/            OPC_EmitConvertToTarget, 2,
/*267289*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSHRNv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 368:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 15
                      // Dst: (RSHRNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*267298*/          0, /*End of Scope*/
/*267299*/        /*Scope*/ 13|128,1/*141*/, /*->267442*/
/*267301*/          OPC_CheckChild0Integer, 12|128,3/*396*/, 
/*267304*/          OPC_RecordChild1, // #1 = $Rn
/*267305*/          OPC_Scope, 44, /*->267351*/ // 3 children in Scope
/*267307*/            OPC_CheckChild1Type, MVT::v8i16,
/*267309*/            OPC_RecordChild2, // #2 = $imm
/*267310*/            OPC_MoveChild2,
/*267311*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267314*/            OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*267316*/            OPC_MoveParent,
/*267317*/            OPC_MoveParent,
/*267318*/            OPC_CheckType, MVT::v16i8,
/*267320*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267322*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267328*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267331*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267340*/            OPC_EmitConvertToTarget, 2,
/*267342*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 396:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQRSHRNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*267351*/          /*Scope*/ 44, /*->267396*/
/*267352*/            OPC_CheckChild1Type, MVT::v4i32,
/*267354*/            OPC_RecordChild2, // #2 = $imm
/*267355*/            OPC_MoveChild2,
/*267356*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267359*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*267361*/            OPC_MoveParent,
/*267362*/            OPC_MoveParent,
/*267363*/            OPC_CheckType, MVT::v8i16,
/*267365*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267367*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267373*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267376*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267385*/            OPC_EmitConvertToTarget, 2,
/*267387*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 396:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQRSHRNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*267396*/          /*Scope*/ 44, /*->267441*/
/*267397*/            OPC_CheckChild1Type, MVT::v2i64,
/*267399*/            OPC_RecordChild2, // #2 = $imm
/*267400*/            OPC_MoveChild2,
/*267401*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267404*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*267406*/            OPC_MoveParent,
/*267407*/            OPC_MoveParent,
/*267408*/            OPC_CheckType, MVT::v4i32,
/*267410*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267412*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267418*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267421*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267430*/            OPC_EmitConvertToTarget, 2,
/*267432*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRNv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 396:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQRSHRNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*267441*/          0, /*End of Scope*/
/*267442*/        /*Scope*/ 13|128,1/*141*/, /*->267585*/
/*267444*/          OPC_CheckChild0Integer, 13|128,3/*397*/, 
/*267447*/          OPC_RecordChild1, // #1 = $Rn
/*267448*/          OPC_Scope, 44, /*->267494*/ // 3 children in Scope
/*267450*/            OPC_CheckChild1Type, MVT::v8i16,
/*267452*/            OPC_RecordChild2, // #2 = $imm
/*267453*/            OPC_MoveChild2,
/*267454*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267457*/            OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*267459*/            OPC_MoveParent,
/*267460*/            OPC_MoveParent,
/*267461*/            OPC_CheckType, MVT::v16i8,
/*267463*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267465*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267471*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267474*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267483*/            OPC_EmitConvertToTarget, 2,
/*267485*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 397:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQRSHRUNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*267494*/          /*Scope*/ 44, /*->267539*/
/*267495*/            OPC_CheckChild1Type, MVT::v4i32,
/*267497*/            OPC_RecordChild2, // #2 = $imm
/*267498*/            OPC_MoveChild2,
/*267499*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267502*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*267504*/            OPC_MoveParent,
/*267505*/            OPC_MoveParent,
/*267506*/            OPC_CheckType, MVT::v8i16,
/*267508*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267510*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267516*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267519*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267528*/            OPC_EmitConvertToTarget, 2,
/*267530*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 397:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQRSHRUNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*267539*/          /*Scope*/ 44, /*->267584*/
/*267540*/            OPC_CheckChild1Type, MVT::v2i64,
/*267542*/            OPC_RecordChild2, // #2 = $imm
/*267543*/            OPC_MoveChild2,
/*267544*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267547*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*267549*/            OPC_MoveParent,
/*267550*/            OPC_MoveParent,
/*267551*/            OPC_CheckType, MVT::v4i32,
/*267553*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267555*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267561*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267564*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267573*/            OPC_EmitConvertToTarget, 2,
/*267575*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQRSHRUNv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 397:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQRSHRUNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*267584*/          0, /*End of Scope*/
/*267585*/        /*Scope*/ 13|128,1/*141*/, /*->267728*/
/*267587*/          OPC_CheckChild0Integer, 16|128,3/*400*/, 
/*267590*/          OPC_RecordChild1, // #1 = $Rn
/*267591*/          OPC_Scope, 44, /*->267637*/ // 3 children in Scope
/*267593*/            OPC_CheckChild1Type, MVT::v8i16,
/*267595*/            OPC_RecordChild2, // #2 = $imm
/*267596*/            OPC_MoveChild2,
/*267597*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267600*/            OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*267602*/            OPC_MoveParent,
/*267603*/            OPC_MoveParent,
/*267604*/            OPC_CheckType, MVT::v16i8,
/*267606*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267608*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267614*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267617*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267626*/            OPC_EmitConvertToTarget, 2,
/*267628*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 400:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQSHRNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*267637*/          /*Scope*/ 44, /*->267682*/
/*267638*/            OPC_CheckChild1Type, MVT::v4i32,
/*267640*/            OPC_RecordChild2, // #2 = $imm
/*267641*/            OPC_MoveChild2,
/*267642*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267645*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*267647*/            OPC_MoveParent,
/*267648*/            OPC_MoveParent,
/*267649*/            OPC_CheckType, MVT::v8i16,
/*267651*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267653*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267659*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267662*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267671*/            OPC_EmitConvertToTarget, 2,
/*267673*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 400:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQSHRNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*267682*/          /*Scope*/ 44, /*->267727*/
/*267683*/            OPC_CheckChild1Type, MVT::v2i64,
/*267685*/            OPC_RecordChild2, // #2 = $imm
/*267686*/            OPC_MoveChild2,
/*267687*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267690*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*267692*/            OPC_MoveParent,
/*267693*/            OPC_MoveParent,
/*267694*/            OPC_CheckType, MVT::v4i32,
/*267696*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267698*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267704*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267707*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267716*/            OPC_EmitConvertToTarget, 2,
/*267718*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRNv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 400:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQSHRNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*267727*/          0, /*End of Scope*/
/*267728*/        /*Scope*/ 13|128,1/*141*/, /*->267871*/
/*267730*/          OPC_CheckChild0Integer, 17|128,3/*401*/, 
/*267733*/          OPC_RecordChild1, // #1 = $Rn
/*267734*/          OPC_Scope, 44, /*->267780*/ // 3 children in Scope
/*267736*/            OPC_CheckChild1Type, MVT::v8i16,
/*267738*/            OPC_RecordChild2, // #2 = $imm
/*267739*/            OPC_MoveChild2,
/*267740*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267743*/            OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*267745*/            OPC_MoveParent,
/*267746*/            OPC_MoveParent,
/*267747*/            OPC_CheckType, MVT::v16i8,
/*267749*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267751*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267757*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267760*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267769*/            OPC_EmitConvertToTarget, 2,
/*267771*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 401:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQSHRUNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*267780*/          /*Scope*/ 44, /*->267825*/
/*267781*/            OPC_CheckChild1Type, MVT::v4i32,
/*267783*/            OPC_RecordChild2, // #2 = $imm
/*267784*/            OPC_MoveChild2,
/*267785*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267788*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*267790*/            OPC_MoveParent,
/*267791*/            OPC_MoveParent,
/*267792*/            OPC_CheckType, MVT::v8i16,
/*267794*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267796*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267802*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267805*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267814*/            OPC_EmitConvertToTarget, 2,
/*267816*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 401:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQSHRUNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*267825*/          /*Scope*/ 44, /*->267870*/
/*267826*/            OPC_CheckChild1Type, MVT::v2i64,
/*267828*/            OPC_RecordChild2, // #2 = $imm
/*267829*/            OPC_MoveChild2,
/*267830*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267833*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*267835*/            OPC_MoveParent,
/*267836*/            OPC_MoveParent,
/*267837*/            OPC_CheckType, MVT::v4i32,
/*267839*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267841*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267847*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267850*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267859*/            OPC_EmitConvertToTarget, 2,
/*267861*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSHRUNv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 401:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 15
                      // Dst: (SQSHRUNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*267870*/          0, /*End of Scope*/
/*267871*/        /*Scope*/ 13|128,1/*141*/, /*->268014*/
/*267873*/          OPC_CheckChild0Integer, 60|128,3/*444*/, 
/*267876*/          OPC_RecordChild1, // #1 = $Rn
/*267877*/          OPC_Scope, 44, /*->267923*/ // 3 children in Scope
/*267879*/            OPC_CheckChild1Type, MVT::v8i16,
/*267881*/            OPC_RecordChild2, // #2 = $imm
/*267882*/            OPC_MoveChild2,
/*267883*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267886*/            OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*267888*/            OPC_MoveParent,
/*267889*/            OPC_MoveParent,
/*267890*/            OPC_CheckType, MVT::v16i8,
/*267892*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267894*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267900*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267903*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267912*/            OPC_EmitConvertToTarget, 2,
/*267914*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 444:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 15
                      // Dst: (UQRSHRNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*267923*/          /*Scope*/ 44, /*->267968*/
/*267924*/            OPC_CheckChild1Type, MVT::v4i32,
/*267926*/            OPC_RecordChild2, // #2 = $imm
/*267927*/            OPC_MoveChild2,
/*267928*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267931*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*267933*/            OPC_MoveParent,
/*267934*/            OPC_MoveParent,
/*267935*/            OPC_CheckType, MVT::v8i16,
/*267937*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267939*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267945*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267948*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*267957*/            OPC_EmitConvertToTarget, 2,
/*267959*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 444:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 15
                      // Dst: (UQRSHRNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*267968*/          /*Scope*/ 44, /*->268013*/
/*267969*/            OPC_CheckChild1Type, MVT::v2i64,
/*267971*/            OPC_RecordChild2, // #2 = $imm
/*267972*/            OPC_MoveChild2,
/*267973*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*267976*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*267978*/            OPC_MoveParent,
/*267979*/            OPC_MoveParent,
/*267980*/            OPC_CheckType, MVT::v4i32,
/*267982*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*267984*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*267990*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*267993*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268002*/            OPC_EmitConvertToTarget, 2,
/*268004*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQRSHRNv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 444:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 15
                      // Dst: (UQRSHRNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*268013*/          0, /*End of Scope*/
/*268014*/        /*Scope*/ 13|128,1/*141*/, /*->268157*/
/*268016*/          OPC_CheckChild0Integer, 62|128,3/*446*/, 
/*268019*/          OPC_RecordChild1, // #1 = $Rn
/*268020*/          OPC_Scope, 44, /*->268066*/ // 3 children in Scope
/*268022*/            OPC_CheckChild1Type, MVT::v8i16,
/*268024*/            OPC_RecordChild2, // #2 = $imm
/*268025*/            OPC_MoveChild2,
/*268026*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*268029*/            OPC_CheckPredicate, 11, // Predicate_vecshiftR16Narrow
/*268031*/            OPC_MoveParent,
/*268032*/            OPC_MoveParent,
/*268033*/            OPC_CheckType, MVT::v16i8,
/*268035*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268037*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268043*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268046*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268055*/            OPC_EmitConvertToTarget, 2,
/*268057*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNv16i8_shift), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 446:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)) - Complexity = 15
                      // Dst: (UQSHRNv16i8_shift:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR16Narrow>>:$imm)
/*268066*/          /*Scope*/ 44, /*->268111*/
/*268067*/            OPC_CheckChild1Type, MVT::v4i32,
/*268069*/            OPC_RecordChild2, // #2 = $imm
/*268070*/            OPC_MoveChild2,
/*268071*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*268074*/            OPC_CheckPredicate, 12, // Predicate_vecshiftR32Narrow
/*268076*/            OPC_MoveParent,
/*268077*/            OPC_MoveParent,
/*268078*/            OPC_CheckType, MVT::v8i16,
/*268080*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268082*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268088*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268091*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268100*/            OPC_EmitConvertToTarget, 2,
/*268102*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNv8i16_shift), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 446:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)) - Complexity = 15
                      // Dst: (UQSHRNv8i16_shift:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR32Narrow>>:$imm)
/*268111*/          /*Scope*/ 44, /*->268156*/
/*268112*/            OPC_CheckChild1Type, MVT::v2i64,
/*268114*/            OPC_RecordChild2, // #2 = $imm
/*268115*/            OPC_MoveChild2,
/*268116*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*268119*/            OPC_CheckPredicate, 13, // Predicate_vecshiftR64Narrow
/*268121*/            OPC_MoveParent,
/*268122*/            OPC_MoveParent,
/*268123*/            OPC_CheckType, MVT::v4i32,
/*268125*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268127*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268133*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268136*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268145*/            OPC_EmitConvertToTarget, 2,
/*268147*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSHRNv4i32_shift), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 6, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 446:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)) - Complexity = 15
                      // Dst: (UQSHRNv4i32_shift:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i32] })<<P:Predicate_vecshiftR64Narrow>>:$imm)
/*268156*/          0, /*End of Scope*/
/*268157*/        /*Scope*/ 31, /*->268189*/
/*268158*/          OPC_CheckChild0Integer, 77|128,3/*461*/, 
/*268161*/          OPC_RecordChild1, // #1 = $Rn
/*268162*/          OPC_MoveParent,
/*268163*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::f128, 0/*#Ops*/,  // Results = #2
/*268169*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268172*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268181*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNv8i16), 0,
                        MVT::v8i16, 2/*#Ops*/, 4, 1, 
                    // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 461:{ *:[iPTR] }, V128:{ *:[v4f32] }:$Rn)) - Complexity = 11
                    // Dst: (FCVTNv8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4f32] }:$Rn)
/*268189*/        /*Scope*/ 108, /*->268298*/
/*268190*/          OPC_CheckChild0Integer, 19|128,3/*403*/, 
/*268193*/          OPC_RecordChild1, // #1 = $Rn
/*268194*/          OPC_Scope, 33, /*->268229*/ // 3 children in Scope
/*268196*/            OPC_CheckChild1Type, MVT::v8i16,
/*268198*/            OPC_MoveParent,
/*268199*/            OPC_CheckType, MVT::v16i8,
/*268201*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268203*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268209*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268212*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268221*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNv16i8), 0,
                          MVT::v16i8, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 403:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn)) - Complexity = 11
                      // Dst: (SQXTNv16i8:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn)
/*268229*/          /*Scope*/ 33, /*->268263*/
/*268230*/            OPC_CheckChild1Type, MVT::v4i32,
/*268232*/            OPC_MoveParent,
/*268233*/            OPC_CheckType, MVT::v8i16,
/*268235*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268237*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268243*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268246*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268255*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNv8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 403:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn)) - Complexity = 11
                      // Dst: (SQXTNv8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn)
/*268263*/          /*Scope*/ 33, /*->268297*/
/*268264*/            OPC_CheckChild1Type, MVT::v2i64,
/*268266*/            OPC_MoveParent,
/*268267*/            OPC_CheckType, MVT::v4i32,
/*268269*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268271*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268277*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268280*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268289*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTNv4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 403:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn)) - Complexity = 11
                      // Dst: (SQXTNv4i32:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn)
/*268297*/          0, /*End of Scope*/
/*268298*/        /*Scope*/ 108, /*->268407*/
/*268299*/          OPC_CheckChild0Integer, 20|128,3/*404*/, 
/*268302*/          OPC_RecordChild1, // #1 = $Rn
/*268303*/          OPC_Scope, 33, /*->268338*/ // 3 children in Scope
/*268305*/            OPC_CheckChild1Type, MVT::v8i16,
/*268307*/            OPC_MoveParent,
/*268308*/            OPC_CheckType, MVT::v16i8,
/*268310*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268312*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268318*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268321*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268330*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNv16i8), 0,
                          MVT::v16i8, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 404:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn)) - Complexity = 11
                      // Dst: (SQXTUNv16i8:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn)
/*268338*/          /*Scope*/ 33, /*->268372*/
/*268339*/            OPC_CheckChild1Type, MVT::v4i32,
/*268341*/            OPC_MoveParent,
/*268342*/            OPC_CheckType, MVT::v8i16,
/*268344*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268346*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268352*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268355*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268364*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNv8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 404:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn)) - Complexity = 11
                      // Dst: (SQXTUNv8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn)
/*268372*/          /*Scope*/ 33, /*->268406*/
/*268373*/            OPC_CheckChild1Type, MVT::v2i64,
/*268375*/            OPC_MoveParent,
/*268376*/            OPC_CheckType, MVT::v4i32,
/*268378*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268380*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268386*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268389*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268398*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQXTUNv4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 404:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn)) - Complexity = 11
                      // Dst: (SQXTUNv4i32:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn)
/*268406*/          0, /*End of Scope*/
/*268407*/        /*Scope*/ 108, /*->268516*/
/*268408*/          OPC_CheckChild0Integer, 64|128,3/*448*/, 
/*268411*/          OPC_RecordChild1, // #1 = $Rn
/*268412*/          OPC_Scope, 33, /*->268447*/ // 3 children in Scope
/*268414*/            OPC_CheckChild1Type, MVT::v8i16,
/*268416*/            OPC_MoveParent,
/*268417*/            OPC_CheckType, MVT::v16i8,
/*268419*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268421*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268427*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268430*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268439*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNv16i8), 0,
                          MVT::v16i8, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 448:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn)) - Complexity = 11
                      // Dst: (UQXTNv16i8:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn)
/*268447*/          /*Scope*/ 33, /*->268481*/
/*268448*/            OPC_CheckChild1Type, MVT::v4i32,
/*268450*/            OPC_MoveParent,
/*268451*/            OPC_CheckType, MVT::v8i16,
/*268453*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268455*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268461*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268464*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268473*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNv8i16), 0,
                          MVT::v8i16, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 448:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn)) - Complexity = 11
                      // Dst: (UQXTNv8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn)
/*268481*/          /*Scope*/ 33, /*->268515*/
/*268482*/            OPC_CheckChild1Type, MVT::v2i64,
/*268484*/            OPC_MoveParent,
/*268485*/            OPC_CheckType, MVT::v4i32,
/*268487*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268489*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #2
/*268495*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268498*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*268507*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQXTNv4i32), 0,
                          MVT::v4i32, 2/*#Ops*/, 4, 1, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 448:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn)) - Complexity = 11
                      // Dst: (UQXTNv4i32:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn)
/*268515*/          0, /*End of Scope*/
/*268516*/        /*Scope*/ 120, /*->268637*/
/*268517*/          OPC_CheckChild0Integer, 53|128,2/*309*/, 
/*268520*/          OPC_RecordChild1, // #1 = $Rn
/*268521*/          OPC_Scope, 37, /*->268560*/ // 3 children in Scope
/*268523*/            OPC_CheckChild1Type, MVT::v8i16,
/*268525*/            OPC_RecordChild2, // #2 = $Rm
/*268526*/            OPC_CheckChild2Type, MVT::v8i16,
/*268528*/            OPC_MoveParent,
/*268529*/            OPC_CheckType, MVT::v16i8,
/*268531*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268533*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268539*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268542*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268551*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv8i16_v16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 309:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)) - Complexity = 11
                      // Dst: (ADDHNv8i16_v16i8:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*268560*/          /*Scope*/ 37, /*->268598*/
/*268561*/            OPC_CheckChild1Type, MVT::v4i32,
/*268563*/            OPC_RecordChild2, // #2 = $Rm
/*268564*/            OPC_CheckChild2Type, MVT::v4i32,
/*268566*/            OPC_MoveParent,
/*268567*/            OPC_CheckType, MVT::v8i16,
/*268569*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268571*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268577*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268580*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268589*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv4i32_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 309:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)) - Complexity = 11
                      // Dst: (ADDHNv4i32_v8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*268598*/          /*Scope*/ 37, /*->268636*/
/*268599*/            OPC_CheckChild1Type, MVT::v2i64,
/*268601*/            OPC_RecordChild2, // #2 = $Rm
/*268602*/            OPC_CheckChild2Type, MVT::v2i64,
/*268604*/            OPC_MoveParent,
/*268605*/            OPC_CheckType, MVT::v4i32,
/*268607*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268609*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268615*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268618*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268627*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDHNv2i64_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 309:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)) - Complexity = 11
                      // Dst: (ADDHNv2i64_v4i32:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*268636*/          0, /*End of Scope*/
/*268637*/        /*Scope*/ 120, /*->268758*/
/*268638*/          OPC_CheckChild0Integer, 34|128,3/*418*/, 
/*268641*/          OPC_RecordChild1, // #1 = $Rn
/*268642*/          OPC_Scope, 37, /*->268681*/ // 3 children in Scope
/*268644*/            OPC_CheckChild1Type, MVT::v8i16,
/*268646*/            OPC_RecordChild2, // #2 = $Rm
/*268647*/            OPC_CheckChild2Type, MVT::v8i16,
/*268649*/            OPC_MoveParent,
/*268650*/            OPC_CheckType, MVT::v16i8,
/*268652*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268654*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268660*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268663*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268672*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv8i16_v16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 418:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)) - Complexity = 11
                      // Dst: (SUBHNv8i16_v16i8:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*268681*/          /*Scope*/ 37, /*->268719*/
/*268682*/            OPC_CheckChild1Type, MVT::v4i32,
/*268684*/            OPC_RecordChild2, // #2 = $Rm
/*268685*/            OPC_CheckChild2Type, MVT::v4i32,
/*268687*/            OPC_MoveParent,
/*268688*/            OPC_CheckType, MVT::v8i16,
/*268690*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268692*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268698*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268701*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268710*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv4i32_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 418:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)) - Complexity = 11
                      // Dst: (SUBHNv4i32_v8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*268719*/          /*Scope*/ 37, /*->268757*/
/*268720*/            OPC_CheckChild1Type, MVT::v2i64,
/*268722*/            OPC_RecordChild2, // #2 = $Rm
/*268723*/            OPC_CheckChild2Type, MVT::v2i64,
/*268725*/            OPC_MoveParent,
/*268726*/            OPC_CheckType, MVT::v4i32,
/*268728*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268730*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268736*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268739*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268748*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUBHNv2i64_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 418:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)) - Complexity = 11
                      // Dst: (SUBHNv2i64_v4i32:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*268757*/          0, /*End of Scope*/
/*268758*/        /*Scope*/ 120, /*->268879*/
/*268759*/          OPC_CheckChild0Integer, 110|128,2/*366*/, 
/*268762*/          OPC_RecordChild1, // #1 = $Rn
/*268763*/          OPC_Scope, 37, /*->268802*/ // 3 children in Scope
/*268765*/            OPC_CheckChild1Type, MVT::v8i16,
/*268767*/            OPC_RecordChild2, // #2 = $Rm
/*268768*/            OPC_CheckChild2Type, MVT::v8i16,
/*268770*/            OPC_MoveParent,
/*268771*/            OPC_CheckType, MVT::v16i8,
/*268773*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268775*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268781*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268784*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268793*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNv8i16_v16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 366:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)) - Complexity = 11
                      // Dst: (RADDHNv8i16_v16i8:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*268802*/          /*Scope*/ 37, /*->268840*/
/*268803*/            OPC_CheckChild1Type, MVT::v4i32,
/*268805*/            OPC_RecordChild2, // #2 = $Rm
/*268806*/            OPC_CheckChild2Type, MVT::v4i32,
/*268808*/            OPC_MoveParent,
/*268809*/            OPC_CheckType, MVT::v8i16,
/*268811*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268813*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268819*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268822*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268831*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNv4i32_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 366:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)) - Complexity = 11
                      // Dst: (RADDHNv4i32_v8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*268840*/          /*Scope*/ 37, /*->268878*/
/*268841*/            OPC_CheckChild1Type, MVT::v2i64,
/*268843*/            OPC_RecordChild2, // #2 = $Rm
/*268844*/            OPC_CheckChild2Type, MVT::v2i64,
/*268846*/            OPC_MoveParent,
/*268847*/            OPC_CheckType, MVT::v4i32,
/*268849*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268851*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268857*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268860*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268869*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RADDHNv2i64_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 366:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)) - Complexity = 11
                      // Dst: (RADDHNv2i64_v4i32:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*268878*/          0, /*End of Scope*/
/*268879*/        /*Scope*/ 120, /*->269000*/
/*268880*/          OPC_CheckChild0Integer, 113|128,2/*369*/, 
/*268883*/          OPC_RecordChild1, // #1 = $Rn
/*268884*/          OPC_Scope, 37, /*->268923*/ // 3 children in Scope
/*268886*/            OPC_CheckChild1Type, MVT::v8i16,
/*268888*/            OPC_RecordChild2, // #2 = $Rm
/*268889*/            OPC_CheckChild2Type, MVT::v8i16,
/*268891*/            OPC_MoveParent,
/*268892*/            OPC_CheckType, MVT::v16i8,
/*268894*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268896*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268902*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268905*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268914*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNv8i16_v16i8), 0,
                          MVT::v16i8, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, (intrinsic_wo_chain:{ *:[v8i8] } 369:{ *:[iPTR] }, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)) - Complexity = 11
                      // Dst: (RSUBHNv8i16_v16i8:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*268923*/          /*Scope*/ 37, /*->268961*/
/*268924*/            OPC_CheckChild1Type, MVT::v4i32,
/*268926*/            OPC_RecordChild2, // #2 = $Rm
/*268927*/            OPC_CheckChild2Type, MVT::v4i32,
/*268929*/            OPC_MoveParent,
/*268930*/            OPC_CheckType, MVT::v8i16,
/*268932*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268934*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268940*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268943*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268952*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNv4i32_v8i16), 0,
                          MVT::v8i16, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, (intrinsic_wo_chain:{ *:[v4i16] } 369:{ *:[iPTR] }, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)) - Complexity = 11
                      // Dst: (RSUBHNv4i32_v8i16:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*268961*/          /*Scope*/ 37, /*->268999*/
/*268962*/            OPC_CheckChild1Type, MVT::v2i64,
/*268964*/            OPC_RecordChild2, // #2 = $Rm
/*268965*/            OPC_CheckChild2Type, MVT::v2i64,
/*268967*/            OPC_MoveParent,
/*268968*/            OPC_CheckType, MVT::v4i32,
/*268970*/            OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*268972*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                          MVT::f128, 0/*#Ops*/,  // Results = #3
/*268978*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*268981*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                          MVT::f128, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*268990*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::RSUBHNv2i64_v4i32), 0,
                          MVT::v4i32, 3/*#Ops*/, 5, 1, 2, 
                      // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, (intrinsic_wo_chain:{ *:[v2i32] } 369:{ *:[iPTR] }, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)) - Complexity = 11
                      // Dst: (RSUBHNv2i64_v4i32:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*268999*/          0, /*End of Scope*/
/*269000*/        0, /*End of Scope*/
/*269001*/      /*SwitchOpcode*/ 83, TARGET_VAL(ISD::UNDEF),// ->269087
/*269004*/        OPC_MoveParent,
/*269005*/        OPC_SwitchType /*4 cases */, 18, MVT::v2i64,// ->269026
/*269008*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2i64, 0/*#Ops*/,  // Results = #1
/*269014*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269017*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2i64, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (concat_vectors:{ *:[v2i64] } V64:{ *:[v1i64] }:$Rn, (undef:{ *:[v1i64] })) - Complexity = 6
                    // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), V64:{ *:[v1i64] }:$Rn, dsub:{ *:[i32] })
/*269026*/        /*SwitchType*/ 18, MVT::v4i32,// ->269046
/*269028*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*269034*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269037*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rn, (undef:{ *:[v2i32] })) - Complexity = 6
                    // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), V64:{ *:[v2i32] }:$Rn, dsub:{ *:[i32] })
/*269046*/        /*SwitchType*/ 18, MVT::v8i16,// ->269066
/*269048*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*269054*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269057*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rn, (undef:{ *:[v4i16] })) - Complexity = 6
                    // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), V64:{ *:[v4i16] }:$Rn, dsub:{ *:[i32] })
/*269066*/        /*SwitchType*/ 18, MVT::v16i8,// ->269086
/*269068*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*269074*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269077*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v16i8, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rn, (undef:{ *:[v8i8] })) - Complexity = 6
                    // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), V64:{ *:[v8i8] }:$Rn, dsub:{ *:[i32] })
/*269086*/        0, // EndSwitchType
/*269087*/      0, // EndSwitchOpcode
/*269088*/    /*Scope*/ 91|128,1/*219*/, /*->269309*/
/*269090*/      OPC_RecordChild1, // #1 = $Rn
/*269091*/      OPC_SwitchType /*4 cases */, 52, MVT::v2i64,// ->269146
/*269094*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269100*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269103*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269112*/        OPC_EmitInteger, MVT::i64, 1, 
/*269115*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #6
/*269121*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269124*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 6, 1, 7,  // Results = #8
/*269133*/        OPC_EmitInteger, MVT::i64, 0, 
/*269136*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v2i64, 4/*#Ops*/, 4, 5, 8, 9, 
                  // Src: (concat_vectors:{ *:[v2i64] } V64:{ *:[v1i64] }:$Rd, V64:{ *:[v1i64] }:$Rn) - Complexity = 3
                  // Dst: (INSvi64lane:{ *:[v2i64] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v1i64] }:$Rd, dsub:{ *:[i32] }), 1:{ *:[i64] }, (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v1i64] }:$Rn, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*269146*/      /*SwitchType*/ 52, MVT::v4i32,// ->269200
/*269148*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269154*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269157*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269166*/        OPC_EmitInteger, MVT::i64, 1, 
/*269169*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #6
/*269175*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269178*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 6, 1, 7,  // Results = #8
/*269187*/        OPC_EmitInteger, MVT::i64, 0, 
/*269190*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v4i32, 4/*#Ops*/, 4, 5, 8, 9, 
                  // Src: (concat_vectors:{ *:[v4i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (INSvi64lane:{ *:[v4i32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), 1:{ *:[i64] }, (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2i32] }:$Rn, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*269200*/      /*SwitchType*/ 52, MVT::v8i16,// ->269254
/*269202*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269208*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269211*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269220*/        OPC_EmitInteger, MVT::i64, 1, 
/*269223*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #6
/*269229*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269232*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 6, 1, 7,  // Results = #8
/*269241*/        OPC_EmitInteger, MVT::i64, 0, 
/*269244*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v8i16, 4/*#Ops*/, 4, 5, 8, 9, 
                  // Src: (concat_vectors:{ *:[v8i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (INSvi64lane:{ *:[v8i16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), 1:{ *:[i64] }, (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4i16] }:$Rn, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*269254*/      /*SwitchType*/ 52, MVT::v16i8,// ->269308
/*269256*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269262*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269265*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269274*/        OPC_EmitInteger, MVT::i64, 1, 
/*269277*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #6
/*269283*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269286*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 6, 1, 7,  // Results = #8
/*269295*/        OPC_EmitInteger, MVT::i64, 0, 
/*269298*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v16i8, 4/*#Ops*/, 4, 5, 8, 9, 
                  // Src: (concat_vectors:{ *:[v16i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                  // Dst: (INSvi64lane:{ *:[v16i8] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), 1:{ *:[i64] }, (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v8i8] }:$Rn, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*269308*/      0, // EndSwitchType
/*269309*/    /*Scope*/ 124, /*->269434*/
/*269310*/      OPC_MoveChild1,
/*269311*/      OPC_SwitchOpcode /*3 cases */, 37, TARGET_VAL(ISD::INTRINSIC_WO_CHAIN),// ->269352
/*269315*/        OPC_CheckChild0Integer, 69|128,2/*325*/, 
/*269318*/        OPC_RecordChild1, // #1 = $Rn
/*269319*/        OPC_CheckChild1Type, MVT::v2f64,
/*269321*/        OPC_MoveParent,
/*269322*/        OPC_CheckType, MVT::v4f32,
/*269324*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*269326*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269332*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269335*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269344*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTXNv4f32), 0,
                      MVT::v4f32, 2/*#Ops*/, 4, 1, 
                  // Src: (concat_vectors:{ *:[v4f32] } V64:{ *:[v2f32] }:$Rd, (intrinsic_wo_chain:{ *:[v2f32] } 325:{ *:[iPTR] }, V128:{ *:[v2f64] }:$Rn)) - Complexity = 11
                  // Dst: (FCVTXNv4f32:{ *:[v4f32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2f32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2f64] }:$Rn)
/*269352*/      /*SwitchOpcode*/ 43, TARGET_VAL(ISD::UNDEF),// ->269398
/*269355*/        OPC_MoveParent,
/*269356*/        OPC_SwitchType /*2 cases */, 18, MVT::v2f64,// ->269377
/*269359*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v2f64, 0/*#Ops*/,  // Results = #1
/*269365*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269368*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v2f64, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (concat_vectors:{ *:[v2f64] } V64:{ *:[v1f64] }:$Rn, (undef:{ *:[v1f64] })) - Complexity = 6
                    // Dst: (INSERT_SUBREG:{ *:[v2f64] } (IMPLICIT_DEF:{ *:[v2f64] }), V64:{ *:[v1f64] }:$Rn, dsub:{ *:[i32] })
/*269377*/        /*SwitchType*/ 18, MVT::v4f32,// ->269397
/*269379*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4f32, 0/*#Ops*/,  // Results = #1
/*269385*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269388*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4f32, 3/*#Ops*/, 1, 0, 2, 
                    // Src: (concat_vectors:{ *:[v4f32] } V64:{ *:[v2f32] }:$Rn, (undef:{ *:[v2f32] })) - Complexity = 6
                    // Dst: (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), V64:{ *:[v2f32] }:$Rn, dsub:{ *:[i32] })
/*269397*/        0, // EndSwitchType
/*269398*/      /*SwitchOpcode*/ 32, TARGET_VAL(ISD::FP_ROUND),// ->269433
/*269401*/        OPC_RecordChild0, // #1 = $Rn
/*269402*/        OPC_CheckChild0Type, MVT::v2f64,
/*269404*/        OPC_MoveParent,
/*269405*/        OPC_CheckType, MVT::v4f32,
/*269407*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269413*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269416*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269425*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCVTNv4i32), 0,
                      MVT::v4f32, 2/*#Ops*/, 4, 1, 
                  // Src: (concat_vectors:{ *:[v4f32] } V64:{ *:[v2f32] }:$Rd, (fpround:{ *:[v2f32] } V128:{ *:[v2f64] }:$Rn)) - Complexity = 6
                  // Dst: (FCVTNv4i32:{ *:[v4f32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2f32] }:$Rd, dsub:{ *:[i32] }), V128:{ *:[v2f64] }:$Rn)
/*269433*/      0, // EndSwitchOpcode
/*269434*/    /*Scope*/ 37|128,1/*165*/, /*->269601*/
/*269436*/      OPC_RecordChild1, // #1 = $Rn
/*269437*/      OPC_SwitchType /*3 cases */, 52, MVT::v2f64,// ->269492
/*269440*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269446*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269449*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269458*/        OPC_EmitInteger, MVT::i64, 1, 
/*269461*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #6
/*269467*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269470*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 6, 1, 7,  // Results = #8
/*269479*/        OPC_EmitInteger, MVT::i64, 0, 
/*269482*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v2f64, 4/*#Ops*/, 4, 5, 8, 9, 
                  // Src: (concat_vectors:{ *:[v2f64] } V64:{ *:[v1f64] }:$Rd, V64:{ *:[v1f64] }:$Rn) - Complexity = 3
                  // Dst: (INSvi64lane:{ *:[v2f64] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v1f64] }:$Rd, dsub:{ *:[i32] }), 1:{ *:[i64] }, (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v1f64] }:$Rn, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*269492*/      /*SwitchType*/ 52, MVT::v4f32,// ->269546
/*269494*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269500*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269503*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269512*/        OPC_EmitInteger, MVT::i64, 1, 
/*269515*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #6
/*269521*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269524*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 6, 1, 7,  // Results = #8
/*269533*/        OPC_EmitInteger, MVT::i64, 0, 
/*269536*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v4f32, 4/*#Ops*/, 4, 5, 8, 9, 
                  // Src: (concat_vectors:{ *:[v4f32] } V64:{ *:[v2f32] }:$Rd, V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                  // Dst: (INSvi64lane:{ *:[v4f32] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2f32] }:$Rd, dsub:{ *:[i32] }), 1:{ *:[i64] }, (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v2f32] }:$Rn, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*269546*/      /*SwitchType*/ 52, MVT::v8f16,// ->269600
/*269548*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #2
/*269554*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269557*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*269566*/        OPC_EmitInteger, MVT::i64, 1, 
/*269569*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::f128, 0/*#Ops*/,  // Results = #6
/*269575*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*269578*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::f128, 3/*#Ops*/, 6, 1, 7,  // Results = #8
/*269587*/        OPC_EmitInteger, MVT::i64, 0, 
/*269590*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v8f16, 4/*#Ops*/, 4, 5, 8, 9, 
                  // Src: (concat_vectors:{ *:[v8f16] } V64:{ *:[v4f16] }:$Rd, V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                  // Dst: (INSvi64lane:{ *:[v8f16] } (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4f16] }:$Rd, dsub:{ *:[i32] }), 1:{ *:[i64] }, (INSERT_SUBREG:{ *:[f128] } (IMPLICIT_DEF:{ *:[f128] }), V64:{ *:[v4f16] }:$Rn, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*269600*/      0, // EndSwitchType
/*269601*/    0, /*End of Scope*/
/*269602*/  /*SwitchOpcode*/ 51|128,2/*307*/, TARGET_VAL(ISD::SADDSAT),// ->269913
/*269606*/    OPC_Scope, 82, /*->269690*/ // 3 children in Scope
/*269608*/      OPC_RecordChild0, // #0 = $Op1
/*269609*/      OPC_MoveChild1,
/*269610*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*269613*/      OPC_RecordChild0, // #1 = $SVEAddSubImm8Pat:imm:shift
/*269614*/      OPC_Scope, 53, /*->269669*/ // 2 children in Scope
/*269616*/        OPC_CheckChild0Type, MVT::i32,
/*269618*/        OPC_MoveParent,
/*269619*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->269636
/*269622*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269624*/          OPC_CheckComplexPat, /*CP*/8, /*#*/1, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*269627*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (saddsat:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (SQADD_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269636*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->269652
/*269638*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269640*/          OPC_CheckComplexPat, /*CP*/9, /*#*/1, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*269643*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (saddsat:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (SQADD_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269652*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->269668
/*269654*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269656*/          OPC_CheckComplexPat, /*CP*/10, /*#*/1, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*269659*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (saddsat:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (SQADD_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269668*/        0, // EndSwitchType
/*269669*/      /*Scope*/ 19, /*->269689*/
/*269670*/        OPC_CheckChild0Type, MVT::i64,
/*269672*/        OPC_MoveParent,
/*269673*/        OPC_CheckType, MVT::nxv2i64,
/*269675*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269677*/        OPC_CheckComplexPat, /*CP*/11, /*#*/1, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*269680*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (saddsat:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                  // Dst: (SQADD_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269689*/      0, /*End of Scope*/
/*269690*/    /*Scope*/ 83, /*->269774*/
/*269691*/      OPC_MoveChild0,
/*269692*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*269695*/      OPC_RecordChild0, // #0 = $SVEAddSubImm8Pat:imm:shift
/*269696*/      OPC_Scope, 54, /*->269752*/ // 2 children in Scope
/*269698*/        OPC_CheckChild0Type, MVT::i32,
/*269700*/        OPC_MoveParent,
/*269701*/        OPC_RecordChild1, // #1 = $Op1
/*269702*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->269719
/*269705*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269707*/          OPC_CheckComplexPat, /*CP*/8, /*#*/0, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*269710*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (saddsat:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 15
                    // Dst: (SQADD_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269719*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->269735
/*269721*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269723*/          OPC_CheckComplexPat, /*CP*/9, /*#*/0, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*269726*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (saddsat:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 15
                    // Dst: (SQADD_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269735*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->269751
/*269737*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269739*/          OPC_CheckComplexPat, /*CP*/10, /*#*/0, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*269742*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (saddsat:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 15
                    // Dst: (SQADD_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269751*/        0, // EndSwitchType
/*269752*/      /*Scope*/ 20, /*->269773*/
/*269753*/        OPC_CheckChild0Type, MVT::i64,
/*269755*/        OPC_MoveParent,
/*269756*/        OPC_RecordChild1, // #1 = $Op1
/*269757*/        OPC_CheckType, MVT::nxv2i64,
/*269759*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269761*/        OPC_CheckComplexPat, /*CP*/11, /*#*/0, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*269764*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (saddsat:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 15
                  // Dst: (SQADD_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269773*/      0, /*End of Scope*/
/*269774*/    /*Scope*/ 8|128,1/*136*/, /*->269912*/
/*269776*/      OPC_RecordChild0, // #0 = $LHS
/*269777*/      OPC_RecordChild1, // #1 = $RHS
/*269778*/      OPC_SwitchType /*11 cases */, 10, MVT::v8i8,// ->269791
/*269781*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*269783*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[v8i8] } V64:{ *:[v8i8] }:$LHS, V64:{ *:[v8i8] }:$RHS) - Complexity = 3
                  // Dst: (SQADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$LHS, V64:{ *:[v8i8] }:$RHS)
/*269791*/      /*SwitchType*/ 10, MVT::v4i16,// ->269803
/*269793*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*269795*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS) - Complexity = 3
                  // Dst: (SQADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*269803*/      /*SwitchType*/ 10, MVT::v2i32,// ->269815
/*269805*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*269807*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS) - Complexity = 3
                  // Dst: (SQADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*269815*/      /*SwitchType*/ 10, MVT::v16i8,// ->269827
/*269817*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*269819*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[v16i8] } V128:{ *:[v16i8] }:$LHS, V128:{ *:[v16i8] }:$RHS) - Complexity = 3
                  // Dst: (SQADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$LHS, V128:{ *:[v16i8] }:$RHS)
/*269827*/      /*SwitchType*/ 10, MVT::v8i16,// ->269839
/*269829*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*269831*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS) - Complexity = 3
                  // Dst: (SQADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*269839*/      /*SwitchType*/ 10, MVT::v4i32,// ->269851
/*269841*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*269843*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS) - Complexity = 3
                  // Dst: (SQADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*269851*/      /*SwitchType*/ 10, MVT::v2i64,// ->269863
/*269853*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*269855*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADDv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS) - Complexity = 3
                  // Dst: (SQADDv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*269863*/      /*SwitchType*/ 10, MVT::nxv16i8,// ->269875
/*269865*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269867*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                  // Dst: (SQADD_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*269875*/      /*SwitchType*/ 10, MVT::nxv8i16,// ->269887
/*269877*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269879*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (SQADD_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*269887*/      /*SwitchType*/ 10, MVT::nxv4i32,// ->269899
/*269889*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269891*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (SQADD_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*269899*/      /*SwitchType*/ 10, MVT::nxv2i64,// ->269911
/*269901*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269903*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQADD_ZZZ_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (saddsat:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (SQADD_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*269911*/      0, // EndSwitchType
/*269912*/    0, /*End of Scope*/
/*269913*/  /*SwitchOpcode*/ 51|128,2/*307*/, TARGET_VAL(ISD::UADDSAT),// ->270224
/*269917*/    OPC_Scope, 82, /*->270001*/ // 3 children in Scope
/*269919*/      OPC_RecordChild0, // #0 = $Op1
/*269920*/      OPC_MoveChild1,
/*269921*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*269924*/      OPC_RecordChild0, // #1 = $SVEAddSubImm8Pat:imm:shift
/*269925*/      OPC_Scope, 53, /*->269980*/ // 2 children in Scope
/*269927*/        OPC_CheckChild0Type, MVT::i32,
/*269929*/        OPC_MoveParent,
/*269930*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->269947
/*269933*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269935*/          OPC_CheckComplexPat, /*CP*/8, /*#*/1, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*269938*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (uaddsat:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (UQADD_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269947*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->269963
/*269949*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269951*/          OPC_CheckComplexPat, /*CP*/9, /*#*/1, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*269954*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (uaddsat:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (UQADD_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269963*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->269979
/*269965*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269967*/          OPC_CheckComplexPat, /*CP*/10, /*#*/1, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*269970*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (uaddsat:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (UQADD_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*269979*/        0, // EndSwitchType
/*269980*/      /*Scope*/ 19, /*->270000*/
/*269981*/        OPC_CheckChild0Type, MVT::i64,
/*269983*/        OPC_MoveParent,
/*269984*/        OPC_CheckType, MVT::nxv2i64,
/*269986*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*269988*/        OPC_CheckComplexPat, /*CP*/11, /*#*/1, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*269991*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (uaddsat:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                  // Dst: (UQADD_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270000*/      0, /*End of Scope*/
/*270001*/    /*Scope*/ 83, /*->270085*/
/*270002*/      OPC_MoveChild0,
/*270003*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*270006*/      OPC_RecordChild0, // #0 = $SVEAddSubImm8Pat:imm:shift
/*270007*/      OPC_Scope, 54, /*->270063*/ // 2 children in Scope
/*270009*/        OPC_CheckChild0Type, MVT::i32,
/*270011*/        OPC_MoveParent,
/*270012*/        OPC_RecordChild1, // #1 = $Op1
/*270013*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->270030
/*270016*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270018*/          OPC_CheckComplexPat, /*CP*/8, /*#*/0, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*270021*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (uaddsat:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 15
                    // Dst: (UQADD_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270030*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->270046
/*270032*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270034*/          OPC_CheckComplexPat, /*CP*/9, /*#*/0, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*270037*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (uaddsat:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 15
                    // Dst: (UQADD_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270046*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->270062
/*270048*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270050*/          OPC_CheckComplexPat, /*CP*/10, /*#*/0, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*270053*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                    // Src: (uaddsat:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 15
                    // Dst: (UQADD_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270062*/        0, // EndSwitchType
/*270063*/      /*Scope*/ 20, /*->270084*/
/*270064*/        OPC_CheckChild0Type, MVT::i64,
/*270066*/        OPC_MoveParent,
/*270067*/        OPC_RecordChild1, // #1 = $Op1
/*270068*/        OPC_CheckType, MVT::nxv2i64,
/*270070*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270072*/        OPC_CheckComplexPat, /*CP*/11, /*#*/0, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*270075*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (uaddsat:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 15
                  // Dst: (UQADD_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270084*/      0, /*End of Scope*/
/*270085*/    /*Scope*/ 8|128,1/*136*/, /*->270223*/
/*270087*/      OPC_RecordChild0, // #0 = $LHS
/*270088*/      OPC_RecordChild1, // #1 = $RHS
/*270089*/      OPC_SwitchType /*11 cases */, 10, MVT::v8i8,// ->270102
/*270092*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270094*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[v8i8] } V64:{ *:[v8i8] }:$LHS, V64:{ *:[v8i8] }:$RHS) - Complexity = 3
                  // Dst: (UQADDv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$LHS, V64:{ *:[v8i8] }:$RHS)
/*270102*/      /*SwitchType*/ 10, MVT::v4i16,// ->270114
/*270104*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270106*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS) - Complexity = 3
                  // Dst: (UQADDv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*270114*/      /*SwitchType*/ 10, MVT::v2i32,// ->270126
/*270116*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270118*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS) - Complexity = 3
                  // Dst: (UQADDv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*270126*/      /*SwitchType*/ 10, MVT::v16i8,// ->270138
/*270128*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270130*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[v16i8] } V128:{ *:[v16i8] }:$LHS, V128:{ *:[v16i8] }:$RHS) - Complexity = 3
                  // Dst: (UQADDv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$LHS, V128:{ *:[v16i8] }:$RHS)
/*270138*/      /*SwitchType*/ 10, MVT::v8i16,// ->270150
/*270140*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270142*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS) - Complexity = 3
                  // Dst: (UQADDv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*270150*/      /*SwitchType*/ 10, MVT::v4i32,// ->270162
/*270152*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270154*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS) - Complexity = 3
                  // Dst: (UQADDv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*270162*/      /*SwitchType*/ 10, MVT::v2i64,// ->270174
/*270164*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270166*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADDv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS) - Complexity = 3
                  // Dst: (UQADDv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*270174*/      /*SwitchType*/ 10, MVT::nxv16i8,// ->270186
/*270176*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270178*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                  // Dst: (UQADD_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*270186*/      /*SwitchType*/ 10, MVT::nxv8i16,// ->270198
/*270188*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270190*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (UQADD_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*270198*/      /*SwitchType*/ 10, MVT::nxv4i32,// ->270210
/*270200*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270202*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (UQADD_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*270210*/      /*SwitchType*/ 10, MVT::nxv2i64,// ->270222
/*270212*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270214*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQADD_ZZZ_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (uaddsat:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (UQADD_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*270222*/      0, // EndSwitchType
/*270223*/    0, /*End of Scope*/
/*270224*/  /*SwitchOpcode*/ 94|128,1/*222*/, TARGET_VAL(ISD::SSUBSAT),// ->270450
/*270228*/    OPC_RecordChild0, // #0 = $Op1
/*270229*/    OPC_Scope, 81, /*->270312*/ // 2 children in Scope
/*270231*/      OPC_MoveChild1,
/*270232*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*270235*/      OPC_RecordChild0, // #1 = $SVEAddSubImm8Pat:imm:shift
/*270236*/      OPC_Scope, 53, /*->270291*/ // 2 children in Scope
/*270238*/        OPC_CheckChild0Type, MVT::i32,
/*270240*/        OPC_MoveParent,
/*270241*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->270258
/*270244*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270246*/          OPC_CheckComplexPat, /*CP*/8, /*#*/1, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*270249*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUB_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (ssubsat:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (SQSUB_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270258*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->270274
/*270260*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270262*/          OPC_CheckComplexPat, /*CP*/9, /*#*/1, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*270265*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUB_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (ssubsat:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (SQSUB_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270274*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->270290
/*270276*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270278*/          OPC_CheckComplexPat, /*CP*/10, /*#*/1, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*270281*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUB_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (ssubsat:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (SQSUB_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270290*/        0, // EndSwitchType
/*270291*/      /*Scope*/ 19, /*->270311*/
/*270292*/        OPC_CheckChild0Type, MVT::i64,
/*270294*/        OPC_MoveParent,
/*270295*/        OPC_CheckType, MVT::nxv2i64,
/*270297*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270299*/        OPC_CheckComplexPat, /*CP*/11, /*#*/1, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*270302*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUB_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (ssubsat:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                  // Dst: (SQSUB_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270311*/      0, /*End of Scope*/
/*270312*/    /*Scope*/ 7|128,1/*135*/, /*->270449*/
/*270314*/      OPC_RecordChild1, // #1 = $RHS
/*270315*/      OPC_SwitchType /*11 cases */, 10, MVT::v8i8,// ->270328
/*270318*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270320*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[v8i8] } V64:{ *:[v8i8] }:$LHS, V64:{ *:[v8i8] }:$RHS) - Complexity = 3
                  // Dst: (SQSUBv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$LHS, V64:{ *:[v8i8] }:$RHS)
/*270328*/      /*SwitchType*/ 10, MVT::v4i16,// ->270340
/*270330*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270332*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS) - Complexity = 3
                  // Dst: (SQSUBv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*270340*/      /*SwitchType*/ 10, MVT::v2i32,// ->270352
/*270342*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270344*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS) - Complexity = 3
                  // Dst: (SQSUBv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*270352*/      /*SwitchType*/ 10, MVT::v16i8,// ->270364
/*270354*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270356*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[v16i8] } V128:{ *:[v16i8] }:$LHS, V128:{ *:[v16i8] }:$RHS) - Complexity = 3
                  // Dst: (SQSUBv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$LHS, V128:{ *:[v16i8] }:$RHS)
/*270364*/      /*SwitchType*/ 10, MVT::v8i16,// ->270376
/*270366*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270368*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS) - Complexity = 3
                  // Dst: (SQSUBv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*270376*/      /*SwitchType*/ 10, MVT::v4i32,// ->270388
/*270378*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270380*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS) - Complexity = 3
                  // Dst: (SQSUBv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*270388*/      /*SwitchType*/ 10, MVT::v2i64,// ->270400
/*270390*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270392*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUBv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS) - Complexity = 3
                  // Dst: (SQSUBv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*270400*/      /*SwitchType*/ 10, MVT::nxv16i8,// ->270412
/*270402*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270404*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUB_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                  // Dst: (SQSUB_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*270412*/      /*SwitchType*/ 10, MVT::nxv8i16,// ->270424
/*270414*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270416*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUB_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (SQSUB_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*270424*/      /*SwitchType*/ 10, MVT::nxv4i32,// ->270436
/*270426*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270428*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUB_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (SQSUB_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*270436*/      /*SwitchType*/ 10, MVT::nxv2i64,// ->270448
/*270438*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270440*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SQSUB_ZZZ_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (ssubsat:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (SQSUB_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*270448*/      0, // EndSwitchType
/*270449*/    0, /*End of Scope*/
/*270450*/  /*SwitchOpcode*/ 94|128,1/*222*/, TARGET_VAL(ISD::USUBSAT),// ->270676
/*270454*/    OPC_RecordChild0, // #0 = $Op1
/*270455*/    OPC_Scope, 81, /*->270538*/ // 2 children in Scope
/*270457*/      OPC_MoveChild1,
/*270458*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*270461*/      OPC_RecordChild0, // #1 = $SVEAddSubImm8Pat:imm:shift
/*270462*/      OPC_Scope, 53, /*->270517*/ // 2 children in Scope
/*270464*/        OPC_CheckChild0Type, MVT::i32,
/*270466*/        OPC_MoveParent,
/*270467*/        OPC_SwitchType /*3 cases */, 14, MVT::nxv16i8,// ->270484
/*270470*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270472*/          OPC_CheckComplexPat, /*CP*/8, /*#*/1, // SelectSVEAddSubImm<MVT::i8>:$ #2 #3
/*270475*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUB_ZI_B), 0,
                        MVT::nxv16i8, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (usubsat:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEAddSubImm8Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (UQSUB_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270484*/        /*SwitchType*/ 14, MVT::nxv8i16,// ->270500
/*270486*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270488*/          OPC_CheckComplexPat, /*CP*/9, /*#*/1, // SelectSVEAddSubImm<MVT::i16>:$ #2 #3
/*270491*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUB_ZI_H), 0,
                        MVT::nxv8i16, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (usubsat:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEAddSubImm16Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (UQSUB_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270500*/        /*SwitchType*/ 14, MVT::nxv4i32,// ->270516
/*270502*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270504*/          OPC_CheckComplexPat, /*CP*/10, /*#*/1, // SelectSVEAddSubImm<MVT::i32>:$ #2 #3
/*270507*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUB_ZI_S), 0,
                        MVT::nxv4i32, 3/*#Ops*/, 0, 2, 3, 
                    // Src: (usubsat:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEAddSubImm32Pat:{ *:[i32] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                    // Dst: (UQSUB_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270516*/        0, // EndSwitchType
/*270517*/      /*Scope*/ 19, /*->270537*/
/*270518*/        OPC_CheckChild0Type, MVT::i64,
/*270520*/        OPC_MoveParent,
/*270521*/        OPC_CheckType, MVT::nxv2i64,
/*270523*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270525*/        OPC_CheckComplexPat, /*CP*/11, /*#*/1, // SelectSVEAddSubImm<MVT::i64>:$ #2 #3
/*270528*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUB_ZI_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 2, 3, 
                  // Src: (usubsat:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEAddSubImm64Pat:{ *:[i64] } i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift))) - Complexity = 15
                  // Dst: (UQSUB_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm, i32:{ *:[i32] }:$shift)
/*270537*/      0, /*End of Scope*/
/*270538*/    /*Scope*/ 7|128,1/*135*/, /*->270675*/
/*270540*/      OPC_RecordChild1, // #1 = $RHS
/*270541*/      OPC_SwitchType /*11 cases */, 10, MVT::v8i8,// ->270554
/*270544*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270546*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[v8i8] } V64:{ *:[v8i8] }:$LHS, V64:{ *:[v8i8] }:$RHS) - Complexity = 3
                  // Dst: (UQSUBv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$LHS, V64:{ *:[v8i8] }:$RHS)
/*270554*/      /*SwitchType*/ 10, MVT::v4i16,// ->270566
/*270556*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270558*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS) - Complexity = 3
                  // Dst: (UQSUBv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$RHS)
/*270566*/      /*SwitchType*/ 10, MVT::v2i32,// ->270578
/*270568*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270570*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS) - Complexity = 3
                  // Dst: (UQSUBv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$RHS)
/*270578*/      /*SwitchType*/ 10, MVT::v16i8,// ->270590
/*270580*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270582*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[v16i8] } V128:{ *:[v16i8] }:$LHS, V128:{ *:[v16i8] }:$RHS) - Complexity = 3
                  // Dst: (UQSUBv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$LHS, V128:{ *:[v16i8] }:$RHS)
/*270590*/      /*SwitchType*/ 10, MVT::v8i16,// ->270602
/*270592*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270594*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS) - Complexity = 3
                  // Dst: (UQSUBv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$RHS)
/*270602*/      /*SwitchType*/ 10, MVT::v4i32,// ->270614
/*270604*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270606*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS) - Complexity = 3
                  // Dst: (UQSUBv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$RHS)
/*270614*/      /*SwitchType*/ 10, MVT::v2i64,// ->270626
/*270616*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270618*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUBv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS) - Complexity = 3
                  // Dst: (UQSUBv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$RHS)
/*270626*/      /*SwitchType*/ 10, MVT::nxv16i8,// ->270638
/*270628*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270630*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUB_ZZZ_B), 0,
                      MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                  // Dst: (UQSUB_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*270638*/      /*SwitchType*/ 10, MVT::nxv8i16,// ->270650
/*270640*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270642*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUB_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (UQSUB_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*270650*/      /*SwitchType*/ 10, MVT::nxv4i32,// ->270662
/*270652*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270654*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUB_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (UQSUB_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*270662*/      /*SwitchType*/ 10, MVT::nxv2i64,// ->270674
/*270664*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*270666*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UQSUB_ZZZ_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (usubsat:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (UQSUB_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*270674*/      0, // EndSwitchType
/*270675*/    0, /*End of Scope*/
/*270676*/  /*SwitchOpcode*/ 100|128,12/*1636*/, TARGET_VAL(ISD::INSERT_VECTOR_ELT),// ->272316
/*270680*/    OPC_RecordChild0, // #0 = $Rd
/*270681*/    OPC_Scope, 109|128,3/*493*/, /*->271177*/ // 4 children in Scope
/*270684*/      OPC_MoveChild1,
/*270685*/      OPC_SwitchOpcode /*2 cases */, 51|128,1/*179*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->270869
/*270690*/        OPC_RecordChild0, // #1 = $Rn
/*270691*/        OPC_Scope, 43, /*->270736*/ // 4 children in Scope
/*270693*/          OPC_CheckChild0Type, MVT::v16i8,
/*270695*/          OPC_RecordChild1, // #2 = $idx2
/*270696*/          OPC_MoveChild1,
/*270697*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270700*/          OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*270702*/          OPC_CheckType, MVT::i64,
/*270704*/          OPC_MoveParent,
/*270705*/          OPC_CheckType, MVT::i32,
/*270707*/          OPC_MoveParent,
/*270708*/          OPC_RecordChild2, // #3 = $idx
/*270709*/          OPC_MoveChild2,
/*270710*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270713*/          OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*270715*/          OPC_CheckType, MVT::i64,
/*270717*/          OPC_MoveParent,
/*270718*/          OPC_CheckType, MVT::v16i8,
/*270720*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270722*/          OPC_EmitConvertToTarget, 3,
/*270724*/          OPC_EmitConvertToTarget, 2,
/*270726*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi8lane), 0,
                        MVT::v16i8, 4/*#Ops*/, 0, 4, 1, 5, 
                    // Src: (vector_insert:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (vector_extract:{ *:[i32] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx2), (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx) - Complexity = 14
                    // Dst: (INSvi8lane:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (imm:{ *:[i64] }):$idx, V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] }):$idx2)
/*270736*/        /*Scope*/ 43, /*->270780*/
/*270737*/          OPC_CheckChild0Type, MVT::v8i16,
/*270739*/          OPC_RecordChild1, // #2 = $idx2
/*270740*/          OPC_MoveChild1,
/*270741*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270744*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*270746*/          OPC_CheckType, MVT::i64,
/*270748*/          OPC_MoveParent,
/*270749*/          OPC_CheckType, MVT::i32,
/*270751*/          OPC_MoveParent,
/*270752*/          OPC_RecordChild2, // #3 = $idx
/*270753*/          OPC_MoveChild2,
/*270754*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270757*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*270759*/          OPC_CheckType, MVT::i64,
/*270761*/          OPC_MoveParent,
/*270762*/          OPC_CheckType, MVT::v8i16,
/*270764*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270766*/          OPC_EmitConvertToTarget, 3,
/*270768*/          OPC_EmitConvertToTarget, 2,
/*270770*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi16lane), 0,
                        MVT::v8i16, 4/*#Ops*/, 0, 4, 1, 5, 
                    // Src: (vector_insert:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx2), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 14
                    // Dst: (INSvi16lane:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (imm:{ *:[i64] }):$idx, V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] }):$idx2)
/*270780*/        /*Scope*/ 43, /*->270824*/
/*270781*/          OPC_CheckChild0Type, MVT::v4i32,
/*270783*/          OPC_RecordChild1, // #2 = $idx2
/*270784*/          OPC_MoveChild1,
/*270785*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270788*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*270790*/          OPC_CheckType, MVT::i64,
/*270792*/          OPC_MoveParent,
/*270793*/          OPC_CheckType, MVT::i32,
/*270795*/          OPC_MoveParent,
/*270796*/          OPC_RecordChild2, // #3 = $idx
/*270797*/          OPC_MoveChild2,
/*270798*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270801*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*270803*/          OPC_CheckType, MVT::i64,
/*270805*/          OPC_MoveParent,
/*270806*/          OPC_CheckType, MVT::v4i32,
/*270808*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270810*/          OPC_EmitConvertToTarget, 3,
/*270812*/          OPC_EmitConvertToTarget, 2,
/*270814*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi32lane), 0,
                        MVT::v4i32, 4/*#Ops*/, 0, 4, 1, 5, 
                    // Src: (vector_insert:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx2), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 14
                    // Dst: (INSvi32lane:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (imm:{ *:[i64] }):$idx, V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] }):$idx2)
/*270824*/        /*Scope*/ 43, /*->270868*/
/*270825*/          OPC_CheckChild0Type, MVT::v2i64,
/*270827*/          OPC_RecordChild1, // #2 = $idx2
/*270828*/          OPC_MoveChild1,
/*270829*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270832*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*270834*/          OPC_CheckType, MVT::i64,
/*270836*/          OPC_MoveParent,
/*270837*/          OPC_CheckType, MVT::i64,
/*270839*/          OPC_MoveParent,
/*270840*/          OPC_RecordChild2, // #3 = $idx
/*270841*/          OPC_MoveChild2,
/*270842*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270845*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*270847*/          OPC_CheckType, MVT::i64,
/*270849*/          OPC_MoveParent,
/*270850*/          OPC_CheckType, MVT::v2i64,
/*270852*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*270854*/          OPC_EmitConvertToTarget, 3,
/*270856*/          OPC_EmitConvertToTarget, 2,
/*270858*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                        MVT::v2i64, 4/*#Ops*/, 0, 4, 1, 5, 
                    // Src: (vector_insert:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (vector_extract:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx2), (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx) - Complexity = 14
                    // Dst: (INSvi64lane:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (imm:{ *:[i64] }):$idx, V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i64] }):$idx2)
/*270868*/        0, /*End of Scope*/
/*270869*/      /*SwitchOpcode*/ 47|128,2/*303*/, TARGET_VAL(ISD::LOAD),// ->271176
/*270873*/        OPC_RecordMemRef,
/*270874*/        OPC_RecordNode, // #1 = 'ld' chained node
/*270875*/        OPC_CheckFoldableChainNode,
/*270876*/        OPC_RecordChild1, // #2 = $Rn
/*270877*/        OPC_CheckChild1Type, MVT::i64,
/*270879*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
/*270881*/        OPC_Scope, 62, /*->270945*/ // 4 children in Scope
/*270883*/          OPC_CheckPredicate, 38, // Predicate_extload
/*270885*/          OPC_CheckType, MVT::i32,
/*270887*/          OPC_Scope, 27, /*->270916*/ // 2 children in Scope
/*270889*/            OPC_CheckPredicate, 6, // Predicate_extloadi8
/*270891*/            OPC_MoveParent,
/*270892*/            OPC_RecordChild2, // #3 = $idx
/*270893*/            OPC_MoveChild2,
/*270894*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270897*/            OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*270899*/            OPC_CheckType, MVT::i64,
/*270901*/            OPC_MoveParent,
/*270902*/            OPC_CheckType, MVT::v16i8,
/*270904*/            OPC_EmitMergeInputChains1_1,
/*270905*/            OPC_EmitConvertToTarget, 3,
/*270907*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v16i8, 3/*#Ops*/, 0, 4, 2, 
                      // Src: (vector_insert:{ *:[v16i8] } VecListOne128:{ *:[v16i8] }:$Rd, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx) - Complexity = 11
                      // Dst: (LD1i8:{ *:[v16i8] } VecListOne128:{ *:[v16i8] }:$Rd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*270916*/          /*Scope*/ 27, /*->270944*/
/*270917*/            OPC_CheckPredicate, 16, // Predicate_extloadi16
/*270919*/            OPC_MoveParent,
/*270920*/            OPC_RecordChild2, // #3 = $idx
/*270921*/            OPC_MoveChild2,
/*270922*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270925*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*270927*/            OPC_CheckType, MVT::i64,
/*270929*/            OPC_MoveParent,
/*270930*/            OPC_CheckType, MVT::v8i16,
/*270932*/            OPC_EmitMergeInputChains1_1,
/*270933*/            OPC_EmitConvertToTarget, 3,
/*270935*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8i16, 3/*#Ops*/, 0, 4, 2, 
                      // Src: (vector_insert:{ *:[v8i16] } VecListOne128:{ *:[v8i16] }:$Rd, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 11
                      // Dst: (LD1i16:{ *:[v8i16] } VecListOne128:{ *:[v8i16] }:$Rd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*270944*/          0, /*End of Scope*/
/*270945*/        /*Scope*/ 58, /*->271004*/
/*270946*/          OPC_CheckPredicate, 37, // Predicate_load
/*270948*/          OPC_SwitchType /*2 cases */, 25, MVT::i32,// ->270976
/*270951*/            OPC_MoveParent,
/*270952*/            OPC_RecordChild2, // #3 = $idx
/*270953*/            OPC_MoveChild2,
/*270954*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270957*/            OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*270959*/            OPC_CheckType, MVT::i64,
/*270961*/            OPC_MoveParent,
/*270962*/            OPC_CheckType, MVT::v4i32,
/*270964*/            OPC_EmitMergeInputChains1_1,
/*270965*/            OPC_EmitConvertToTarget, 3,
/*270967*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i32), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4i32, 3/*#Ops*/, 0, 4, 2, 
                      // Src: (vector_insert:{ *:[v4i32] } VecListOne128:{ *:[v4i32] }:$Rd, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 11
                      // Dst: (LD1i32:{ *:[v4i32] } VecListOne128:{ *:[v4i32] }:$Rd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*270976*/          /*SwitchType*/ 25, MVT::i64,// ->271003
/*270978*/            OPC_MoveParent,
/*270979*/            OPC_RecordChild2, // #3 = $idx
/*270980*/            OPC_MoveChild2,
/*270981*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*270984*/            OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*270986*/            OPC_CheckType, MVT::i64,
/*270988*/            OPC_MoveParent,
/*270989*/            OPC_CheckType, MVT::v2i64,
/*270991*/            OPC_EmitMergeInputChains1_1,
/*270992*/            OPC_EmitConvertToTarget, 3,
/*270994*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i64), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v2i64, 3/*#Ops*/, 0, 4, 2, 
                      // Src: (vector_insert:{ *:[v2i64] } VecListOne128:{ *:[v2i64] }:$Rd, (ld:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx) - Complexity = 11
                      // Dst: (LD1i64:{ *:[v2i64] } VecListOne128:{ *:[v2i64] }:$Rd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*271003*/          0, // EndSwitchType
/*271004*/        /*Scope*/ 114, /*->271119*/
/*271005*/          OPC_CheckPredicate, 38, // Predicate_extload
/*271007*/          OPC_CheckType, MVT::i32,
/*271009*/          OPC_Scope, 53, /*->271064*/ // 2 children in Scope
/*271011*/            OPC_CheckPredicate, 6, // Predicate_extloadi8
/*271013*/            OPC_MoveParent,
/*271014*/            OPC_RecordChild2, // #3 = $idx
/*271015*/            OPC_MoveChild2,
/*271016*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271019*/            OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*271021*/            OPC_CheckType, MVT::i64,
/*271023*/            OPC_MoveParent,
/*271024*/            OPC_CheckType, MVT::v8i8,
/*271026*/            OPC_EmitMergeInputChains1_1,
/*271027*/            OPC_EmitInteger, MVT::i32, 0, 
/*271030*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271033*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271042*/            OPC_EmitConvertToTarget, 3,
/*271044*/            OPC_EmitNode1, TARGET_VAL(AArch64::LD1i8), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f128, 3/*#Ops*/, 6, 7, 2,  // Results = #8
/*271053*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271056*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                          MVT::v8i8, 2/*#Ops*/, 8, 9, 
                      // Src: (vector_insert:{ *:[v8i8] } VecListOne64:{ *:[v8i8] }:$Rd, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx) - Complexity = 11
                      // Dst: (EXTRACT_SUBREG:{ *:[v8i8] } (LD1i8:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v8i8] }:$Rd, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx, GPR64sp:{ *:[i64] }:$Rn), dsub:{ *:[i32] })
/*271064*/          /*Scope*/ 53, /*->271118*/
/*271065*/            OPC_CheckPredicate, 16, // Predicate_extloadi16
/*271067*/            OPC_MoveParent,
/*271068*/            OPC_RecordChild2, // #3 = $idx
/*271069*/            OPC_MoveChild2,
/*271070*/            OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271073*/            OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*271075*/            OPC_CheckType, MVT::i64,
/*271077*/            OPC_MoveParent,
/*271078*/            OPC_CheckType, MVT::v4i16,
/*271080*/            OPC_EmitMergeInputChains1_1,
/*271081*/            OPC_EmitInteger, MVT::i32, 0, 
/*271084*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271087*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271096*/            OPC_EmitConvertToTarget, 3,
/*271098*/            OPC_EmitNode1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f128, 3/*#Ops*/, 6, 7, 2,  // Results = #8
/*271107*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271110*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                          MVT::v4i16, 2/*#Ops*/, 8, 9, 
                      // Src: (vector_insert:{ *:[v4i16] } VecListOne64:{ *:[v4i16] }:$Rd, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 11
                      // Dst: (EXTRACT_SUBREG:{ *:[v4i16] } (LD1i16:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v4i16] }:$Rd, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn), dsub:{ *:[i32] })
/*271118*/          0, /*End of Scope*/
/*271119*/        /*Scope*/ 55, /*->271175*/
/*271120*/          OPC_CheckPredicate, 37, // Predicate_load
/*271122*/          OPC_CheckType, MVT::i32,
/*271124*/          OPC_MoveParent,
/*271125*/          OPC_RecordChild2, // #3 = $idx
/*271126*/          OPC_MoveChild2,
/*271127*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271130*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*271132*/          OPC_CheckType, MVT::i64,
/*271134*/          OPC_MoveParent,
/*271135*/          OPC_CheckType, MVT::v2i32,
/*271137*/          OPC_EmitMergeInputChains1_1,
/*271138*/          OPC_EmitInteger, MVT::i32, 0, 
/*271141*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271144*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                        MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271153*/          OPC_EmitConvertToTarget, 3,
/*271155*/          OPC_EmitNode1, TARGET_VAL(AArch64::LD1i32), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::f128, 3/*#Ops*/, 6, 7, 2,  // Results = #8
/*271164*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271167*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                        MVT::v2i32, 2/*#Ops*/, 8, 9, 
                    // Src: (vector_insert:{ *:[v2i32] } VecListOne64:{ *:[v2i32] }:$Rd, (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 11
                    // Dst: (EXTRACT_SUBREG:{ *:[v2i32] } (LD1i32:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v2i32] }:$Rd, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn), dsub:{ *:[i32] })
/*271175*/        0, /*End of Scope*/
/*271176*/      0, // EndSwitchOpcode
/*271177*/    /*Scope*/ 100, /*->271278*/
/*271178*/      OPC_RecordChild1, // #1 = $Rn
/*271179*/      OPC_Scope, 68, /*->271249*/ // 2 children in Scope
/*271181*/        OPC_CheckChild1Type, MVT::i32,
/*271183*/        OPC_RecordChild2, // #2 = $idx
/*271184*/        OPC_MoveChild2,
/*271185*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271188*/        OPC_CheckType, MVT::i64,
/*271190*/        OPC_Scope, 18, /*->271210*/ // 3 children in Scope
/*271192*/          OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*271194*/          OPC_MoveParent,
/*271195*/          OPC_CheckType, MVT::v16i8,
/*271197*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*271199*/          OPC_EmitConvertToTarget, 2,
/*271201*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi8gpr), 0,
                        MVT::v16i8, 3/*#Ops*/, 0, 3, 1, 
                    // Src: (vector_insert:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx) - Complexity = 7
                    // Dst: (INSvi8gpr:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, (imm:{ *:[i64] }):$idx, GPR32:{ *:[i32] }:$Rn)
/*271210*/        /*Scope*/ 18, /*->271229*/
/*271211*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*271213*/          OPC_MoveParent,
/*271214*/          OPC_CheckType, MVT::v8i16,
/*271216*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*271218*/          OPC_EmitConvertToTarget, 2,
/*271220*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi16gpr), 0,
                        MVT::v8i16, 3/*#Ops*/, 0, 3, 1, 
                    // Src: (vector_insert:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 7
                    // Dst: (INSvi16gpr:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (imm:{ *:[i64] }):$idx, GPR32:{ *:[i32] }:$Rn)
/*271229*/        /*Scope*/ 18, /*->271248*/
/*271230*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*271232*/          OPC_MoveParent,
/*271233*/          OPC_CheckType, MVT::v4i32,
/*271235*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*271237*/          OPC_EmitConvertToTarget, 2,
/*271239*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi32gpr), 0,
                        MVT::v4i32, 3/*#Ops*/, 0, 3, 1, 
                    // Src: (vector_insert:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, GPR32:{ *:[i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 7
                    // Dst: (INSvi32gpr:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (imm:{ *:[i64] }):$idx, GPR32:{ *:[i32] }:$Rn)
/*271248*/        0, /*End of Scope*/
/*271249*/      /*Scope*/ 27, /*->271277*/
/*271250*/        OPC_CheckChild1Type, MVT::i64,
/*271252*/        OPC_RecordChild2, // #2 = $idx
/*271253*/        OPC_MoveChild2,
/*271254*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271257*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*271259*/        OPC_CheckType, MVT::i64,
/*271261*/        OPC_MoveParent,
/*271262*/        OPC_CheckType, MVT::v2i64,
/*271264*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*271266*/        OPC_EmitConvertToTarget, 2,
/*271268*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64gpr), 0,
                      MVT::v2i64, 3/*#Ops*/, 0, 3, 1, 
                  // Src: (vector_insert:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, GPR64:{ *:[i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx) - Complexity = 7
                  // Dst: (INSvi64gpr:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, (imm:{ *:[i64] }):$idx, GPR64:{ *:[i64] }:$Rn)
/*271277*/      0, /*End of Scope*/
/*271278*/    /*Scope*/ 109|128,5/*749*/, /*->272029*/
/*271280*/      OPC_MoveChild1,
/*271281*/      OPC_SwitchOpcode /*2 cases */, 49|128,4/*561*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->271847
/*271286*/        OPC_RecordChild0, // #1 = $Rn
/*271287*/        OPC_Scope, 77, /*->271366*/ // 6 children in Scope
/*271289*/          OPC_CheckChild0Type, MVT::v8f16,
/*271291*/          OPC_RecordChild1, // #2 = $Immn
/*271292*/          OPC_MoveChild1,
/*271293*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271296*/          OPC_MoveParent,
/*271297*/          OPC_CheckType, MVT::f16,
/*271299*/          OPC_MoveParent,
/*271300*/          OPC_RecordChild2, // #3 = $Immd
/*271301*/          OPC_MoveChild2,
/*271302*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271305*/          OPC_MoveParent,
/*271306*/          OPC_SwitchType /*2 cases */, 14, MVT::v8f16,// ->271323
/*271309*/            OPC_EmitConvertToTarget, 3,
/*271311*/            OPC_EmitConvertToTarget, 2,
/*271313*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi16lane), 0,
                          MVT::v8f16, 4/*#Ops*/, 0, 4, 1, 5, 
                      // Src: (vector_insert:{ *:[v8f16] } V128:{ *:[v8f16] }:$src, (vector_extract:{ *:[f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (INSvi16lane:{ *:[v8f16] } V128:{ *:[v8f16] }:$src, (imm:{ *:[i64] }):$Immd, V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] }):$Immn)
/*271323*/          /*SwitchType*/ 40, MVT::v4f16,// ->271365
/*271325*/            OPC_EmitInteger, MVT::i64, 0, 
/*271328*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271331*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271340*/            OPC_EmitConvertToTarget, 3,
/*271342*/            OPC_EmitConvertToTarget, 2,
/*271344*/            OPC_EmitNode1, TARGET_VAL(AArch64::INSvi16lane), 0,
                          MVT::f128, 4/*#Ops*/, 6, 7, 1, 8,  // Results = #9
/*271354*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271357*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::v4f16, 2/*#Ops*/, 9, 10, 
                      // Src: (vector_insert:{ *:[v4f16] } V64:{ *:[v4f16] }:$src, (vector_extract:{ *:[f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (EXTRACT_SUBREG:{ *:[v4f16] } (INSvi16lane:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v4f16] }:$src, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immd, V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] }):$Immn), dsub:{ *:[i32] })
/*271365*/          0, // EndSwitchType
/*271366*/        /*Scope*/ 77, /*->271444*/
/*271367*/          OPC_CheckChild0Type, MVT::v4f32,
/*271369*/          OPC_RecordChild1, // #2 = $Immn
/*271370*/          OPC_MoveChild1,
/*271371*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271374*/          OPC_MoveParent,
/*271375*/          OPC_CheckType, MVT::f32,
/*271377*/          OPC_MoveParent,
/*271378*/          OPC_RecordChild2, // #3 = $Immd
/*271379*/          OPC_MoveChild2,
/*271380*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271383*/          OPC_MoveParent,
/*271384*/          OPC_SwitchType /*2 cases */, 14, MVT::v4f32,// ->271401
/*271387*/            OPC_EmitConvertToTarget, 3,
/*271389*/            OPC_EmitConvertToTarget, 2,
/*271391*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi32lane), 0,
                          MVT::v4f32, 4/*#Ops*/, 0, 4, 1, 5, 
                      // Src: (vector_insert:{ *:[v4f32] } V128:{ *:[v4f32] }:$src, (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (INSvi32lane:{ *:[v4f32] } V128:{ *:[v4f32] }:$src, (imm:{ *:[i64] }):$Immd, V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] }):$Immn)
/*271401*/          /*SwitchType*/ 40, MVT::v2f32,// ->271443
/*271403*/            OPC_EmitInteger, MVT::i64, 0, 
/*271406*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271409*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271418*/            OPC_EmitConvertToTarget, 3,
/*271420*/            OPC_EmitConvertToTarget, 2,
/*271422*/            OPC_EmitNode1, TARGET_VAL(AArch64::INSvi32lane), 0,
                          MVT::f128, 4/*#Ops*/, 6, 7, 1, 8,  // Results = #9
/*271432*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271435*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::v2f32, 2/*#Ops*/, 9, 10, 
                      // Src: (vector_insert:{ *:[v2f32] } V64:{ *:[v2f32] }:$src, (vector_extract:{ *:[f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (EXTRACT_SUBREG:{ *:[v2f32] } (INSvi32lane:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v2f32] }:$src, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immd, V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] }):$Immn), dsub:{ *:[i32] })
/*271443*/          0, // EndSwitchType
/*271444*/        /*Scope*/ 77, /*->271522*/
/*271445*/          OPC_CheckChild0Type, MVT::v2f64,
/*271447*/          OPC_RecordChild1, // #2 = $Immn
/*271448*/          OPC_MoveChild1,
/*271449*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271452*/          OPC_MoveParent,
/*271453*/          OPC_CheckType, MVT::f64,
/*271455*/          OPC_MoveParent,
/*271456*/          OPC_RecordChild2, // #3 = $Immd
/*271457*/          OPC_MoveChild2,
/*271458*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271461*/          OPC_MoveParent,
/*271462*/          OPC_SwitchType /*2 cases */, 14, MVT::v2f64,// ->271479
/*271465*/            OPC_EmitConvertToTarget, 3,
/*271467*/            OPC_EmitConvertToTarget, 2,
/*271469*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                          MVT::v2f64, 4/*#Ops*/, 0, 4, 1, 5, 
                      // Src: (vector_insert:{ *:[v2f64] } V128:{ *:[v2f64] }:$src, (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (INSvi64lane:{ *:[v2f64] } V128:{ *:[v2f64] }:$src, (imm:{ *:[i64] }):$Immd, V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i64] }):$Immn)
/*271479*/          /*SwitchType*/ 40, MVT::v1f64,// ->271521
/*271481*/            OPC_EmitInteger, MVT::i64, 0, 
/*271484*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271487*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271496*/            OPC_EmitConvertToTarget, 3,
/*271498*/            OPC_EmitConvertToTarget, 2,
/*271500*/            OPC_EmitNode1, TARGET_VAL(AArch64::INSvi64lane), 0,
                          MVT::f128, 4/*#Ops*/, 6, 7, 1, 8,  // Results = #9
/*271510*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271513*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::v1f64, 2/*#Ops*/, 9, 10, 
                      // Src: (vector_insert:{ *:[v1f64] } V64:{ *:[v1f64] }:$src, (vector_extract:{ *:[f64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (EXTRACT_SUBREG:{ *:[v1f64] } (INSvi64lane:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1f64] }:$src, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immd, V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i64] }):$Immn), dsub:{ *:[i32] })
/*271521*/          0, // EndSwitchType
/*271522*/        /*Scope*/ 107, /*->271630*/
/*271523*/          OPC_CheckChild0Type, MVT::v4f16,
/*271525*/          OPC_RecordChild1, // #2 = $Immn
/*271526*/          OPC_MoveChild1,
/*271527*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271530*/          OPC_MoveParent,
/*271531*/          OPC_CheckType, MVT::f16,
/*271533*/          OPC_MoveParent,
/*271534*/          OPC_RecordChild2, // #3 = $Immd
/*271535*/          OPC_MoveChild2,
/*271536*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271539*/          OPC_MoveParent,
/*271540*/          OPC_SwitchType /*2 cases */, 29, MVT::v8f16,// ->271572
/*271543*/            OPC_EmitConvertToTarget, 3,
/*271545*/            OPC_EmitInteger, MVT::i64, 0, 
/*271548*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271551*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*271560*/            OPC_EmitConvertToTarget, 2,
/*271562*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi16lane), 0,
                          MVT::v8f16, 4/*#Ops*/, 0, 4, 7, 8, 
                      // Src: (vector_insert:{ *:[v8f16] } V128:{ *:[v8f16] }:$src, (vector_extract:{ *:[f16] } V64:{ *:[v4f16] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (INSvi16lane:{ *:[v8f16] } V128:{ *:[v8f16] }:$src, (imm:{ *:[i64] }):$Immd, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v4f16] }:$Rn, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immn)
/*271572*/          /*SwitchType*/ 55, MVT::v4f16,// ->271629
/*271574*/            OPC_EmitInteger, MVT::i64, 0, 
/*271577*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271580*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271589*/            OPC_EmitConvertToTarget, 3,
/*271591*/            OPC_EmitInteger, MVT::i64, 0, 
/*271594*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271597*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 8, 1, 9,  // Results = #10
/*271606*/            OPC_EmitConvertToTarget, 2,
/*271608*/            OPC_EmitNode1, TARGET_VAL(AArch64::INSvi16lane), 0,
                          MVT::f128, 4/*#Ops*/, 6, 7, 10, 11,  // Results = #12
/*271618*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271621*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::v4f16, 2/*#Ops*/, 12, 13, 
                      // Src: (vector_insert:{ *:[v4f16] } V64:{ *:[v4f16] }:$src, (vector_extract:{ *:[f16] } V64:{ *:[v4f16] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (EXTRACT_SUBREG:{ *:[v4f16] } (INSvi16lane:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v4f16] }:$src, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immd, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v4f16] }:$Rn, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immn), dsub:{ *:[i32] })
/*271629*/          0, // EndSwitchType
/*271630*/        /*Scope*/ 107, /*->271738*/
/*271631*/          OPC_CheckChild0Type, MVT::v2f32,
/*271633*/          OPC_RecordChild1, // #2 = $Immn
/*271634*/          OPC_MoveChild1,
/*271635*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271638*/          OPC_MoveParent,
/*271639*/          OPC_CheckType, MVT::f32,
/*271641*/          OPC_MoveParent,
/*271642*/          OPC_RecordChild2, // #3 = $Immd
/*271643*/          OPC_MoveChild2,
/*271644*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271647*/          OPC_MoveParent,
/*271648*/          OPC_SwitchType /*2 cases */, 29, MVT::v4f32,// ->271680
/*271651*/            OPC_EmitConvertToTarget, 3,
/*271653*/            OPC_EmitInteger, MVT::i64, 0, 
/*271656*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271659*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*271668*/            OPC_EmitConvertToTarget, 2,
/*271670*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi32lane), 0,
                          MVT::v4f32, 4/*#Ops*/, 0, 4, 7, 8, 
                      // Src: (vector_insert:{ *:[v4f32] } V128:{ *:[v4f32] }:$src, (vector_extract:{ *:[f32] } V64:{ *:[v2f32] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (INSvi32lane:{ *:[v4f32] } V128:{ *:[v4f32] }:$src, (imm:{ *:[i64] }):$Immd, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v2f32] }:$Rn, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immn)
/*271680*/          /*SwitchType*/ 55, MVT::v2f32,// ->271737
/*271682*/            OPC_EmitInteger, MVT::i64, 0, 
/*271685*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271688*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271697*/            OPC_EmitConvertToTarget, 3,
/*271699*/            OPC_EmitInteger, MVT::i64, 0, 
/*271702*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271705*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 8, 1, 9,  // Results = #10
/*271714*/            OPC_EmitConvertToTarget, 2,
/*271716*/            OPC_EmitNode1, TARGET_VAL(AArch64::INSvi32lane), 0,
                          MVT::f128, 4/*#Ops*/, 6, 7, 10, 11,  // Results = #12
/*271726*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271729*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::v2f32, 2/*#Ops*/, 12, 13, 
                      // Src: (vector_insert:{ *:[v2f32] } V64:{ *:[v2f32] }:$src, (vector_extract:{ *:[f32] } V64:{ *:[v2f32] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (EXTRACT_SUBREG:{ *:[v2f32] } (INSvi32lane:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v2f32] }:$src, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immd, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v2f32] }:$Rn, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immn), dsub:{ *:[i32] })
/*271737*/          0, // EndSwitchType
/*271738*/        /*Scope*/ 107, /*->271846*/
/*271739*/          OPC_CheckChild0Type, MVT::v1f64,
/*271741*/          OPC_RecordChild1, // #2 = $Immn
/*271742*/          OPC_MoveChild1,
/*271743*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271746*/          OPC_MoveParent,
/*271747*/          OPC_CheckType, MVT::f64,
/*271749*/          OPC_MoveParent,
/*271750*/          OPC_RecordChild2, // #3 = $Immd
/*271751*/          OPC_MoveChild2,
/*271752*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271755*/          OPC_MoveParent,
/*271756*/          OPC_SwitchType /*2 cases */, 29, MVT::v2f64,// ->271788
/*271759*/            OPC_EmitConvertToTarget, 3,
/*271761*/            OPC_EmitInteger, MVT::i64, 0, 
/*271764*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271767*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 5, 1, 6,  // Results = #7
/*271776*/            OPC_EmitConvertToTarget, 2,
/*271778*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                          MVT::v2f64, 4/*#Ops*/, 0, 4, 7, 8, 
                      // Src: (vector_insert:{ *:[v2f64] } V128:{ *:[v2f64] }:$src, (vector_extract:{ *:[f64] } V64:{ *:[v1f64] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (INSvi64lane:{ *:[v2f64] } V128:{ *:[v2f64] }:$src, (imm:{ *:[i64] }):$Immd, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1f64] }:$Rn, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immn)
/*271788*/          /*SwitchType*/ 55, MVT::v1f64,// ->271845
/*271790*/            OPC_EmitInteger, MVT::i64, 0, 
/*271793*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271796*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271805*/            OPC_EmitConvertToTarget, 3,
/*271807*/            OPC_EmitInteger, MVT::i64, 0, 
/*271810*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271813*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 8, 1, 9,  // Results = #10
/*271822*/            OPC_EmitConvertToTarget, 2,
/*271824*/            OPC_EmitNode1, TARGET_VAL(AArch64::INSvi64lane), 0,
                          MVT::f128, 4/*#Ops*/, 6, 7, 10, 11,  // Results = #12
/*271834*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271837*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                          MVT::v1f64, 2/*#Ops*/, 12, 13, 
                      // Src: (vector_insert:{ *:[v1f64] } V64:{ *:[v1f64] }:$src, (vector_extract:{ *:[f64] } V64:{ *:[v1f64] }:$Rn, (imm:{ *:[iPTR] }):$Immn), (imm:{ *:[iPTR] }):$Immd) - Complexity = 12
                      // Dst: (EXTRACT_SUBREG:{ *:[v1f64] } (INSvi64lane:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1f64] }:$src, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immd, (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1f64] }:$Rn, dsub:{ *:[i32] }), (imm:{ *:[i64] }):$Immn), dsub:{ *:[i32] })
/*271845*/          0, // EndSwitchType
/*271846*/        0, /*End of Scope*/
/*271847*/      /*SwitchOpcode*/ 49|128,1/*177*/, TARGET_VAL(ISD::LOAD),// ->272028
/*271851*/        OPC_RecordMemRef,
/*271852*/        OPC_RecordNode, // #1 = 'ld' chained node
/*271853*/        OPC_CheckFoldableChainNode,
/*271854*/        OPC_RecordChild1, // #2 = $Rn
/*271855*/        OPC_CheckChild1Type, MVT::i64,
/*271857*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
/*271859*/        OPC_CheckPredicate, 37, // Predicate_load
/*271861*/        OPC_SwitchType /*3 cases */, 67, MVT::f32,// ->271931
/*271864*/          OPC_MoveParent,
/*271865*/          OPC_RecordChild2, // #3 = $idx
/*271866*/          OPC_MoveChild2,
/*271867*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271870*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*271872*/          OPC_CheckType, MVT::i64,
/*271874*/          OPC_MoveParent,
/*271875*/          OPC_SwitchType /*2 cases */, 12, MVT::v4f32,// ->271890
/*271878*/            OPC_EmitMergeInputChains1_1,
/*271879*/            OPC_EmitConvertToTarget, 3,
/*271881*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i32), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v4f32, 3/*#Ops*/, 0, 4, 2, 
                      // Src: (vector_insert:{ *:[v4f32] } VecListOne128:{ *:[v4f32] }:$Rd, (ld:{ *:[f32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 11
                      // Dst: (LD1i32:{ *:[v4f32] } VecListOne128:{ *:[v4f32] }:$Rd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*271890*/          /*SwitchType*/ 38, MVT::v2f32,// ->271930
/*271892*/            OPC_EmitMergeInputChains1_1,
/*271893*/            OPC_EmitInteger, MVT::i32, 0, 
/*271896*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271899*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*271908*/            OPC_EmitConvertToTarget, 3,
/*271910*/            OPC_EmitNode1, TARGET_VAL(AArch64::LD1i32), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f128, 3/*#Ops*/, 6, 7, 2,  // Results = #8
/*271919*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271922*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                          MVT::v2f32, 2/*#Ops*/, 8, 9, 
                      // Src: (vector_insert:{ *:[v2f32] } VecListOne64:{ *:[v2f32] }:$Rd, (ld:{ *:[f32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 11
                      // Dst: (EXTRACT_SUBREG:{ *:[v2f32] } (LD1i32:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v2f32] }:$Rd, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx, GPR64sp:{ *:[i64] }:$Rn), dsub:{ *:[i32] })
/*271930*/          0, // EndSwitchType
/*271931*/        /*SwitchType*/ 25, MVT::f64,// ->271958
/*271933*/          OPC_MoveParent,
/*271934*/          OPC_RecordChild2, // #3 = $idx
/*271935*/          OPC_MoveChild2,
/*271936*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271939*/          OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*271941*/          OPC_CheckType, MVT::i64,
/*271943*/          OPC_MoveParent,
/*271944*/          OPC_CheckType, MVT::v2f64,
/*271946*/          OPC_EmitMergeInputChains1_1,
/*271947*/          OPC_EmitConvertToTarget, 3,
/*271949*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i64), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f64, 3/*#Ops*/, 0, 4, 2, 
                    // Src: (vector_insert:{ *:[v2f64] } VecListOne128:{ *:[v2f64] }:$Rd, (ld:{ *:[f64] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx) - Complexity = 11
                    // Dst: (LD1i64:{ *:[v2f64] } VecListOne128:{ *:[v2f64] }:$Rd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*271958*/        /*SwitchType*/ 67, MVT::f16,// ->272027
/*271960*/          OPC_MoveParent,
/*271961*/          OPC_RecordChild2, // #3 = $idx
/*271962*/          OPC_MoveChild2,
/*271963*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*271966*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*271968*/          OPC_CheckType, MVT::i64,
/*271970*/          OPC_MoveParent,
/*271971*/          OPC_SwitchType /*2 cases */, 12, MVT::v8f16,// ->271986
/*271974*/            OPC_EmitMergeInputChains1_1,
/*271975*/            OPC_EmitConvertToTarget, 3,
/*271977*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::v8f16, 3/*#Ops*/, 0, 4, 2, 
                      // Src: (vector_insert:{ *:[v8f16] } VecListOne128:{ *:[v8f16] }:$Rd, (ld:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 11
                      // Dst: (LD1i16:{ *:[v8f16] } VecListOne128:{ *:[v8f16] }:$Rd, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn)
/*271986*/          /*SwitchType*/ 38, MVT::v4f16,// ->272026
/*271988*/            OPC_EmitMergeInputChains1_1,
/*271989*/            OPC_EmitInteger, MVT::i32, 0, 
/*271992*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*271995*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 4, 0, 5,  // Results = #6
/*272004*/            OPC_EmitConvertToTarget, 3,
/*272006*/            OPC_EmitNode1, TARGET_VAL(AArch64::LD1i16), 0|OPFL_Chain|OPFL_MemRefs,
                          MVT::f128, 3/*#Ops*/, 6, 7, 2,  // Results = #8
/*272015*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272018*/            OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0|OPFL_Chain,
                          MVT::v4f16, 2/*#Ops*/, 8, 9, 
                      // Src: (vector_insert:{ *:[v4f16] } VecListOne64:{ *:[v4f16] }:$Rd, (ld:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 11
                      // Dst: (EXTRACT_SUBREG:{ *:[v4f16] } (LD1i16:{ *:[f128] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i32] }, VecListOne64:{ *:[v4f16] }:$Rd, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx, GPR64sp:{ *:[i64] }:$Rn), dsub:{ *:[i32] })
/*272026*/          0, // EndSwitchType
/*272027*/        0, // EndSwitchType
/*272028*/      0, // EndSwitchOpcode
/*272029*/    /*Scope*/ 28|128,2/*284*/, /*->272315*/
/*272031*/      OPC_RecordChild1, // #1 = $Rm
/*272032*/      OPC_Scope, 118, /*->272152*/ // 3 children in Scope
/*272034*/        OPC_CheckChild1Type, MVT::f16,
/*272036*/        OPC_RecordChild2, // #2 = $imm
/*272037*/        OPC_MoveChild2,
/*272038*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272041*/        OPC_CheckType, MVT::i64,
/*272043*/        OPC_Scope, 38, /*->272083*/ // 2 children in Scope
/*272045*/          OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*272047*/          OPC_MoveParent,
/*272048*/          OPC_CheckType, MVT::v8f16,
/*272050*/          OPC_EmitConvertToTarget, 2,
/*272052*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8f16, 0/*#Ops*/,  // Results = #4
/*272058*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*272061*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8f16, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*272070*/          OPC_EmitInteger, MVT::i64, 0, 
/*272073*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi16lane), 0,
                        MVT::v8f16, 4/*#Ops*/, 0, 3, 6, 7, 
                    // Src: (vector_insert:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$imm) - Complexity = 7
                    // Dst: (INSvi16lane:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$imm, (INSERT_SUBREG:{ *:[v8f16] } (IMPLICIT_DEF:{ *:[v8f16] }), FPR16:{ *:[f16] }:$Rm, hsub:{ *:[i32] }), 0:{ *:[i64] })
/*272083*/        /*Scope*/ 67, /*->272151*/
/*272084*/          OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*272086*/          OPC_MoveParent,
/*272087*/          OPC_CheckType, MVT::v4f16,
/*272089*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8f16, 0/*#Ops*/,  // Results = #3
/*272095*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272098*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8f16, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*272107*/          OPC_EmitConvertToTarget, 2,
/*272109*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8f16, 0/*#Ops*/,  // Results = #7
/*272115*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*272118*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8f16, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*272127*/          OPC_EmitInteger, MVT::i64, 0, 
/*272130*/          OPC_EmitNode1, TARGET_VAL(AArch64::INSvi16lane), 0,
                        MVT::f128, 4/*#Ops*/, 5, 6, 9, 10,  // Results = #11
/*272140*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272143*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v4f16, 2/*#Ops*/, 11, 12, 
                    // Src: (vector_insert:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, FPR16:{ *:[f16] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm) - Complexity = 7
                    // Dst: (EXTRACT_SUBREG:{ *:[v4f16] } (INSvi16lane:{ *:[f128] } (INSERT_SUBREG:{ *:[v8f16] } (IMPLICIT_DEF:{ *:[v8f16] }), V64:{ *:[v4f16] }:$Rn, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm, (INSERT_SUBREG:{ *:[v8f16] } (IMPLICIT_DEF:{ *:[v8f16] }), FPR16:{ *:[f16] }:$Rm, hsub:{ *:[i32] }), 0:{ *:[i64] }), dsub:{ *:[i32] })
/*272151*/        0, /*End of Scope*/
/*272152*/      /*Scope*/ 113, /*->272266*/
/*272153*/        OPC_CheckChild1Type, MVT::f32,
/*272155*/        OPC_RecordChild2, // #2 = $imm
/*272156*/        OPC_MoveChild2,
/*272157*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272160*/        OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*272162*/        OPC_CheckType, MVT::i64,
/*272164*/        OPC_MoveParent,
/*272165*/        OPC_SwitchType /*2 cases */, 33, MVT::v4f32,// ->272201
/*272168*/          OPC_EmitConvertToTarget, 2,
/*272170*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4f32, 0/*#Ops*/,  // Results = #4
/*272176*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*272179*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4f32, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*272188*/          OPC_EmitInteger, MVT::i64, 0, 
/*272191*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi32lane), 0,
                        MVT::v4f32, 4/*#Ops*/, 0, 3, 6, 7, 
                    // Src: (vector_insert:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm) - Complexity = 7
                    // Dst: (INSvi32lane:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm, (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), FPR32:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*272201*/        /*SwitchType*/ 62, MVT::v2f32,// ->272265
/*272203*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4f32, 0/*#Ops*/,  // Results = #3
/*272209*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272212*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4f32, 3/*#Ops*/, 3, 0, 4,  // Results = #5
/*272221*/          OPC_EmitConvertToTarget, 2,
/*272223*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4f32, 0/*#Ops*/,  // Results = #7
/*272229*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*272232*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4f32, 3/*#Ops*/, 7, 1, 8,  // Results = #9
/*272241*/          OPC_EmitInteger, MVT::i64, 0, 
/*272244*/          OPC_EmitNode1, TARGET_VAL(AArch64::INSvi32lane), 0,
                        MVT::f128, 4/*#Ops*/, 5, 6, 9, 10,  // Results = #11
/*272254*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272257*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v2f32, 2/*#Ops*/, 11, 12, 
                    // Src: (vector_insert:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, FPR32:{ *:[f32] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm) - Complexity = 7
                    // Dst: (EXTRACT_SUBREG:{ *:[v2f32] } (INSvi32lane:{ *:[f128] } (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), V64:{ *:[v2f32] }:$Rn, dsub:{ *:[i32] }), (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm, (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), FPR32:{ *:[f32] }:$Rm, ssub:{ *:[i32] }), 0:{ *:[i64] }), dsub:{ *:[i32] })
/*272265*/        0, // EndSwitchType
/*272266*/      /*Scope*/ 47, /*->272314*/
/*272267*/        OPC_CheckChild1Type, MVT::f64,
/*272269*/        OPC_RecordChild2, // #2 = $imm
/*272270*/        OPC_MoveChild2,
/*272271*/        OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272274*/        OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*272276*/        OPC_CheckType, MVT::i64,
/*272278*/        OPC_MoveParent,
/*272279*/        OPC_CheckType, MVT::v2f64,
/*272281*/        OPC_EmitConvertToTarget, 2,
/*272283*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v2f64, 0/*#Ops*/,  // Results = #4
/*272289*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272292*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v2f64, 3/*#Ops*/, 4, 1, 5,  // Results = #6
/*272301*/        OPC_EmitInteger, MVT::i64, 0, 
/*272304*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSvi64lane), 0,
                      MVT::v2f64, 4/*#Ops*/, 0, 3, 6, 7, 
                  // Src: (vector_insert:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, FPR64:{ *:[f64] }:$Rm, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$imm) - Complexity = 7
                  // Dst: (INSvi64lane:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$imm, (INSERT_SUBREG:{ *:[v2f64] } (IMPLICIT_DEF:{ *:[v2f64] }), FPR64:{ *:[f64] }:$Rm, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*272314*/      0, /*End of Scope*/
/*272315*/    0, /*End of Scope*/
/*272316*/  /*SwitchOpcode*/ 51|128,9/*1203*/, TARGET_VAL(AArch64ISD::DUP),// ->273523
/*272320*/    OPC_Scope, 3|128,6/*771*/, /*->273094*/ // 4 children in Scope
/*272323*/      OPC_MoveChild0,
/*272324*/      OPC_SwitchOpcode /*3 cases */, 48|128,2/*304*/, TARGET_VAL(ISD::TRUNCATE),// ->272633
/*272329*/        OPC_MoveChild0,
/*272330*/        OPC_CheckOpcode, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),
/*272333*/        OPC_RecordChild0, // #0 = $Rn
/*272334*/        OPC_Scope, 102, /*->272438*/ // 2 children in Scope
/*272336*/          OPC_CheckChild0Type, MVT::v2i64,
/*272338*/          OPC_RecordChild1, // #1 = $idx
/*272339*/          OPC_MoveChild1,
/*272340*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272343*/          OPC_MoveParent,
/*272344*/          OPC_MoveParent,
/*272345*/          OPC_MoveParent,
/*272346*/          OPC_SwitchType /*6 cases */, 13, MVT::v8i8,// ->272362
/*272349*/            OPC_EmitConvertToTarget, 1,
/*272351*/            OPC_EmitNodeXForm, 25, 2, // VecIndex_x8
/*272354*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i8lane), 0,
                          MVT::v8i8, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v8i8] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv8i8lane:{ *:[v8i8] } V128:{ *:[v2i64] }:$Rn, (VecIndex_x8:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272362*/          /*SwitchType*/ 13, MVT::v4i16,// ->272377
/*272364*/            OPC_EmitConvertToTarget, 1,
/*272366*/            OPC_EmitNodeXForm, 26, 2, // VecIndex_x4
/*272369*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i16lane), 0,
                          MVT::v4i16, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v4i16] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv4i16lane:{ *:[v4i16] } V128:{ *:[v2i64] }:$Rn, (VecIndex_x4:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272377*/          /*SwitchType*/ 13, MVT::v2i32,// ->272392
/*272379*/            OPC_EmitConvertToTarget, 1,
/*272381*/            OPC_EmitNodeXForm, 27, 2, // VecIndex_x2
/*272384*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i32lane), 0,
                          MVT::v2i32, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v2i32] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv2i32lane:{ *:[v2i32] } V128:{ *:[v2i64] }:$Rn, (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272392*/          /*SwitchType*/ 13, MVT::v16i8,// ->272407
/*272394*/            OPC_EmitConvertToTarget, 1,
/*272396*/            OPC_EmitNodeXForm, 25, 2, // VecIndex_x8
/*272399*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv16i8lane), 0,
                          MVT::v16i8, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v16i8] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv16i8lane:{ *:[v16i8] } V128:{ *:[v2i64] }:$Rn, (VecIndex_x8:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272407*/          /*SwitchType*/ 13, MVT::v8i16,// ->272422
/*272409*/            OPC_EmitConvertToTarget, 1,
/*272411*/            OPC_EmitNodeXForm, 26, 2, // VecIndex_x4
/*272414*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i16lane), 0,
                          MVT::v8i16, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v8i16] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv8i16lane:{ *:[v8i16] } V128:{ *:[v2i64] }:$Rn, (VecIndex_x4:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272422*/          /*SwitchType*/ 13, MVT::v4i32,// ->272437
/*272424*/            OPC_EmitConvertToTarget, 1,
/*272426*/            OPC_EmitNodeXForm, 27, 2, // VecIndex_x2
/*272429*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i32lane), 0,
                          MVT::v4i32, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v4i32] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv4i32lane:{ *:[v4i32] } V128:{ *:[v2i64] }:$Rn, (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272437*/          0, // EndSwitchType
/*272438*/        /*Scope*/ 64|128,1/*192*/, /*->272632*/
/*272440*/          OPC_CheckChild0Type, MVT::v1i64,
/*272442*/          OPC_RecordChild1, // #1 = $idx
/*272443*/          OPC_MoveChild1,
/*272444*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272447*/          OPC_MoveParent,
/*272448*/          OPC_MoveParent,
/*272449*/          OPC_MoveParent,
/*272450*/          OPC_SwitchType /*6 cases */, 28, MVT::v8i8,// ->272481
/*272453*/            OPC_EmitInteger, MVT::i64, 0, 
/*272456*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272459*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272468*/            OPC_EmitConvertToTarget, 1,
/*272470*/            OPC_EmitNodeXForm, 25, 5, // VecIndex_x8
/*272473*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i8lane), 0,
                          MVT::v8i8, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v8i8] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V64:{ *:[v1i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv8i8lane:{ *:[v8i8] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1i64] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x8:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272481*/          /*SwitchType*/ 28, MVT::v4i16,// ->272511
/*272483*/            OPC_EmitInteger, MVT::i64, 0, 
/*272486*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272489*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272498*/            OPC_EmitConvertToTarget, 1,
/*272500*/            OPC_EmitNodeXForm, 26, 5, // VecIndex_x4
/*272503*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i16lane), 0,
                          MVT::v4i16, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v4i16] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V64:{ *:[v1i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv4i16lane:{ *:[v4i16] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1i64] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x4:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272511*/          /*SwitchType*/ 28, MVT::v2i32,// ->272541
/*272513*/            OPC_EmitInteger, MVT::i64, 0, 
/*272516*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272519*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272528*/            OPC_EmitConvertToTarget, 1,
/*272530*/            OPC_EmitNodeXForm, 27, 5, // VecIndex_x2
/*272533*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i32lane), 0,
                          MVT::v2i32, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v2i32] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V64:{ *:[v1i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv2i32lane:{ *:[v2i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1i64] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272541*/          /*SwitchType*/ 28, MVT::v16i8,// ->272571
/*272543*/            OPC_EmitInteger, MVT::i64, 0, 
/*272546*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272549*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272558*/            OPC_EmitConvertToTarget, 1,
/*272560*/            OPC_EmitNodeXForm, 25, 5, // VecIndex_x8
/*272563*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv16i8lane), 0,
                          MVT::v16i8, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v16i8] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V64:{ *:[v1i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv16i8lane:{ *:[v16i8] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1i64] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x8:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272571*/          /*SwitchType*/ 28, MVT::v8i16,// ->272601
/*272573*/            OPC_EmitInteger, MVT::i64, 0, 
/*272576*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272579*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272588*/            OPC_EmitConvertToTarget, 1,
/*272590*/            OPC_EmitNodeXForm, 26, 5, // VecIndex_x4
/*272593*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i16lane), 0,
                          MVT::v8i16, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v8i16] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V64:{ *:[v1i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv8i16lane:{ *:[v8i16] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1i64] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x4:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272601*/          /*SwitchType*/ 28, MVT::v4i32,// ->272631
/*272603*/            OPC_EmitInteger, MVT::i64, 0, 
/*272606*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272609*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272618*/            OPC_EmitConvertToTarget, 1,
/*272620*/            OPC_EmitNodeXForm, 27, 5, // VecIndex_x2
/*272623*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i32lane), 0,
                          MVT::v4i32, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v4i32] } (trunc:{ *:[i32] } (extractelt:{ *:[i64] } V64:{ *:[v1i64] }:$Rn, (imm:{ *:[iPTR] }):$idx))) - Complexity = 12
                      // Dst: (DUPv4i32lane:{ *:[v4i32] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v1i64] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272631*/          0, // EndSwitchType
/*272632*/        0, /*End of Scope*/
/*272633*/      /*SwitchOpcode*/ 74|128,2/*330*/, TARGET_VAL(ISD::EXTRACT_VECTOR_ELT),// ->272967
/*272637*/        OPC_RecordChild0, // #0 = $Rn
/*272638*/        OPC_Scope, 43, /*->272683*/ // 4 children in Scope
/*272640*/          OPC_CheckChild0Type, MVT::v8i16,
/*272642*/          OPC_RecordChild1, // #1 = $idx
/*272643*/          OPC_MoveChild1,
/*272644*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272647*/          OPC_MoveParent,
/*272648*/          OPC_CheckType, MVT::i32,
/*272650*/          OPC_MoveParent,
/*272651*/          OPC_SwitchType /*2 cases */, 13, MVT::v8i8,// ->272667
/*272654*/            OPC_EmitConvertToTarget, 1,
/*272656*/            OPC_EmitNodeXForm, 27, 2, // VecIndex_x2
/*272659*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i8lane), 0,
                          MVT::v8i8, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v8i8] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv8i8lane:{ *:[v8i8] } V128:{ *:[v8i16] }:$Rn, (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272667*/          /*SwitchType*/ 13, MVT::v16i8,// ->272682
/*272669*/            OPC_EmitConvertToTarget, 1,
/*272671*/            OPC_EmitNodeXForm, 27, 2, // VecIndex_x2
/*272674*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv16i8lane), 0,
                          MVT::v16i8, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v16i8] } (vector_extract:{ *:[i32] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv16i8lane:{ *:[v16i8] } V128:{ *:[v8i16] }:$Rn, (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272682*/          0, // EndSwitchType
/*272683*/        /*Scope*/ 73, /*->272757*/
/*272684*/          OPC_CheckChild0Type, MVT::v4i32,
/*272686*/          OPC_RecordChild1, // #1 = $idx
/*272687*/          OPC_MoveChild1,
/*272688*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272691*/          OPC_MoveParent,
/*272692*/          OPC_CheckType, MVT::i32,
/*272694*/          OPC_MoveParent,
/*272695*/          OPC_SwitchType /*4 cases */, 13, MVT::v8i8,// ->272711
/*272698*/            OPC_EmitConvertToTarget, 1,
/*272700*/            OPC_EmitNodeXForm, 26, 2, // VecIndex_x4
/*272703*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i8lane), 0,
                          MVT::v8i8, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v8i8] } (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv8i8lane:{ *:[v8i8] } V128:{ *:[v4i32] }:$Rn, (VecIndex_x4:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272711*/          /*SwitchType*/ 13, MVT::v4i16,// ->272726
/*272713*/            OPC_EmitConvertToTarget, 1,
/*272715*/            OPC_EmitNodeXForm, 27, 2, // VecIndex_x2
/*272718*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i16lane), 0,
                          MVT::v4i16, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v4i16] } (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv4i16lane:{ *:[v4i16] } V128:{ *:[v4i32] }:$Rn, (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272726*/          /*SwitchType*/ 13, MVT::v16i8,// ->272741
/*272728*/            OPC_EmitConvertToTarget, 1,
/*272730*/            OPC_EmitNodeXForm, 26, 2, // VecIndex_x4
/*272733*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv16i8lane), 0,
                          MVT::v16i8, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v16i8] } (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv16i8lane:{ *:[v16i8] } V128:{ *:[v4i32] }:$Rn, (VecIndex_x4:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272741*/          /*SwitchType*/ 13, MVT::v8i16,// ->272756
/*272743*/            OPC_EmitConvertToTarget, 1,
/*272745*/            OPC_EmitNodeXForm, 27, 2, // VecIndex_x2
/*272748*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i16lane), 0,
                          MVT::v8i16, 2/*#Ops*/, 0, 3, 
                      // Src: (AArch64dup:{ *:[v8i16] } (vector_extract:{ *:[i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv8i16lane:{ *:[v8i16] } V128:{ *:[v4i32] }:$Rn, (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272756*/          0, // EndSwitchType
/*272757*/        /*Scope*/ 73, /*->272831*/
/*272758*/          OPC_CheckChild0Type, MVT::v4i16,
/*272760*/          OPC_RecordChild1, // #1 = $idx
/*272761*/          OPC_MoveChild1,
/*272762*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272765*/          OPC_MoveParent,
/*272766*/          OPC_CheckType, MVT::i32,
/*272768*/          OPC_MoveParent,
/*272769*/          OPC_SwitchType /*2 cases */, 28, MVT::v8i8,// ->272800
/*272772*/            OPC_EmitInteger, MVT::i64, 0, 
/*272775*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272778*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272787*/            OPC_EmitConvertToTarget, 1,
/*272789*/            OPC_EmitNodeXForm, 27, 5, // VecIndex_x2
/*272792*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i8lane), 0,
                          MVT::v8i8, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v8i8] } (vector_extract:{ *:[i32] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv8i8lane:{ *:[v8i8] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v4i16] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272800*/          /*SwitchType*/ 28, MVT::v16i8,// ->272830
/*272802*/            OPC_EmitInteger, MVT::i64, 0, 
/*272805*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272808*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272817*/            OPC_EmitConvertToTarget, 1,
/*272819*/            OPC_EmitNodeXForm, 27, 5, // VecIndex_x2
/*272822*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv16i8lane), 0,
                          MVT::v16i8, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v16i8] } (vector_extract:{ *:[i32] } V64:{ *:[v4i16] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv16i8lane:{ *:[v16i8] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v4i16] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272830*/          0, // EndSwitchType
/*272831*/        /*Scope*/ 5|128,1/*133*/, /*->272966*/
/*272833*/          OPC_CheckChild0Type, MVT::v2i32,
/*272835*/          OPC_RecordChild1, // #1 = $idx
/*272836*/          OPC_MoveChild1,
/*272837*/          OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*272840*/          OPC_MoveParent,
/*272841*/          OPC_CheckType, MVT::i32,
/*272843*/          OPC_MoveParent,
/*272844*/          OPC_SwitchType /*4 cases */, 28, MVT::v8i8,// ->272875
/*272847*/            OPC_EmitInteger, MVT::i64, 0, 
/*272850*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272853*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272862*/            OPC_EmitConvertToTarget, 1,
/*272864*/            OPC_EmitNodeXForm, 26, 5, // VecIndex_x4
/*272867*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i8lane), 0,
                          MVT::v8i8, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v8i8] } (vector_extract:{ *:[i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv8i8lane:{ *:[v8i8] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v2i32] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x4:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272875*/          /*SwitchType*/ 28, MVT::v4i16,// ->272905
/*272877*/            OPC_EmitInteger, MVT::i64, 0, 
/*272880*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272883*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272892*/            OPC_EmitConvertToTarget, 1,
/*272894*/            OPC_EmitNodeXForm, 27, 5, // VecIndex_x2
/*272897*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i16lane), 0,
                          MVT::v4i16, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v4i16] } (vector_extract:{ *:[i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv4i16lane:{ *:[v4i16] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v2i32] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272905*/          /*SwitchType*/ 28, MVT::v16i8,// ->272935
/*272907*/            OPC_EmitInteger, MVT::i64, 0, 
/*272910*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272913*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272922*/            OPC_EmitConvertToTarget, 1,
/*272924*/            OPC_EmitNodeXForm, 26, 5, // VecIndex_x4
/*272927*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv16i8lane), 0,
                          MVT::v16i8, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v16i8] } (vector_extract:{ *:[i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv16i8lane:{ *:[v16i8] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v2i32] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x4:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272935*/          /*SwitchType*/ 28, MVT::v8i16,// ->272965
/*272937*/            OPC_EmitInteger, MVT::i64, 0, 
/*272940*/            OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*272943*/            OPC_EmitNode1, TARGET_VAL(TargetOpcode::SUBREG_TO_REG), 0,
                          MVT::f128, 3/*#Ops*/, 2, 0, 3,  // Results = #4
/*272952*/            OPC_EmitConvertToTarget, 1,
/*272954*/            OPC_EmitNodeXForm, 27, 5, // VecIndex_x2
/*272957*/            OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i16lane), 0,
                          MVT::v8i16, 2/*#Ops*/, 4, 6, 
                      // Src: (AArch64dup:{ *:[v8i16] } (vector_extract:{ *:[i32] } V64:{ *:[v2i32] }:$Rn, (imm:{ *:[iPTR] }):$idx)) - Complexity = 9
                      // Dst: (DUPv8i16lane:{ *:[v8i16] } (SUBREG_TO_REG:{ *:[f128] } 0:{ *:[i64] }, V64:{ *:[v2i32] }:$Rn, dsub:{ *:[i32] }), (VecIndex_x2:{ *:[i64] } (imm:{ *:[iPTR] }):$idx))
/*272965*/          0, // EndSwitchType
/*272966*/        0, /*End of Scope*/
/*272967*/      /*SwitchOpcode*/ 123, TARGET_VAL(ISD::LOAD),// ->273093
/*272970*/        OPC_RecordMemRef,
/*272971*/        OPC_RecordNode, // #0 = 'ld' chained node
/*272972*/        OPC_RecordChild1, // #1 = $Rn
/*272973*/        OPC_CheckChild1Type, MVT::i64,
/*272975*/        OPC_CheckPredicate, 4, // Predicate_unindexedload
/*272977*/        OPC_Scope, 58, /*->273037*/ // 2 children in Scope
/*272979*/          OPC_CheckPredicate, 38, // Predicate_extload
/*272981*/          OPC_CheckType, MVT::i32,
/*272983*/          OPC_Scope, 25, /*->273010*/ // 2 children in Scope
/*272985*/            OPC_CheckPredicate, 6, // Predicate_extloadi8
/*272987*/            OPC_MoveParent,
/*272988*/            OPC_SwitchType /*2 cases */, 8, MVT::v8i8,// ->272999
/*272991*/              OPC_EmitMergeInputChains1_0,
/*272992*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8b), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v8i8, 1/*#Ops*/, 1, 
                        // Src: (AArch64dup:{ *:[v8i8] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>) - Complexity = 7
                        // Dst: (LD1Rv8b:{ *:[v8i8] } GPR64sp:{ *:[i64] }:$Rn)
/*272999*/            /*SwitchType*/ 8, MVT::v16i8,// ->273009
/*273001*/              OPC_EmitMergeInputChains1_0,
/*273002*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv16b), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v16i8, 1/*#Ops*/, 1, 
                        // Src: (AArch64dup:{ *:[v16i8] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi8>>) - Complexity = 7
                        // Dst: (LD1Rv16b:{ *:[v16i8] } GPR64sp:{ *:[i64] }:$Rn)
/*273009*/            0, // EndSwitchType
/*273010*/          /*Scope*/ 25, /*->273036*/
/*273011*/            OPC_CheckPredicate, 16, // Predicate_extloadi16
/*273013*/            OPC_MoveParent,
/*273014*/            OPC_SwitchType /*2 cases */, 8, MVT::v4i16,// ->273025
/*273017*/              OPC_EmitMergeInputChains1_0,
/*273018*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4h), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v4i16, 1/*#Ops*/, 1, 
                        // Src: (AArch64dup:{ *:[v4i16] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>) - Complexity = 7
                        // Dst: (LD1Rv4h:{ *:[v4i16] } GPR64sp:{ *:[i64] }:$Rn)
/*273025*/            /*SwitchType*/ 8, MVT::v8i16,// ->273035
/*273027*/              OPC_EmitMergeInputChains1_0,
/*273028*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8h), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v8i16, 1/*#Ops*/, 1, 
                        // Src: (AArch64dup:{ *:[v8i16] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_extload>><<P:Predicate_extloadi16>>) - Complexity = 7
                        // Dst: (LD1Rv8h:{ *:[v8i16] } GPR64sp:{ *:[i64] }:$Rn)
/*273035*/            0, // EndSwitchType
/*273036*/          0, /*End of Scope*/
/*273037*/        /*Scope*/ 54, /*->273092*/
/*273038*/          OPC_CheckPredicate, 37, // Predicate_load
/*273040*/          OPC_SwitchType /*2 cases */, 23, MVT::i32,// ->273066
/*273043*/            OPC_MoveParent,
/*273044*/            OPC_SwitchType /*2 cases */, 8, MVT::v2i32,// ->273055
/*273047*/              OPC_EmitMergeInputChains1_0,
/*273048*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2s), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v2i32, 1/*#Ops*/, 1, 
                        // Src: (AArch64dup:{ *:[v2i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                        // Dst: (LD1Rv2s:{ *:[v2i32] } GPR64sp:{ *:[i64] }:$Rn)
/*273055*/            /*SwitchType*/ 8, MVT::v4i32,// ->273065
/*273057*/              OPC_EmitMergeInputChains1_0,
/*273058*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4s), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v4i32, 1/*#Ops*/, 1, 
                        // Src: (AArch64dup:{ *:[v4i32] } (ld:{ *:[i32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                        // Dst: (LD1Rv4s:{ *:[v4i32] } GPR64sp:{ *:[i64] }:$Rn)
/*273065*/            0, // EndSwitchType
/*273066*/          /*SwitchType*/ 23, MVT::i64,// ->273091
/*273068*/            OPC_MoveParent,
/*273069*/            OPC_SwitchType /*2 cases */, 8, MVT::v2i64,// ->273080
/*273072*/              OPC_EmitMergeInputChains1_0,
/*273073*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2d), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v2i64, 1/*#Ops*/, 1, 
                        // Src: (AArch64dup:{ *:[v2i64] } (ld:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                        // Dst: (LD1Rv2d:{ *:[v2i64] } GPR64sp:{ *:[i64] }:$Rn)
/*273080*/            /*SwitchType*/ 8, MVT::v1i64,// ->273090
/*273082*/              OPC_EmitMergeInputChains1_0,
/*273083*/              OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv1d), 0|OPFL_Chain|OPFL_MemRefs,
                            MVT::v1i64, 1/*#Ops*/, 1, 
                        // Src: (AArch64dup:{ *:[v1i64] } (ld:{ *:[i64] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                        // Dst: (LD1Rv1d:{ *:[v1i64] } GPR64sp:{ *:[i64] }:$Rn)
/*273090*/            0, // EndSwitchType
/*273091*/          0, // EndSwitchType
/*273092*/        0, /*End of Scope*/
/*273093*/      0, // EndSwitchOpcode
/*273094*/    /*Scope*/ 19|128,1/*147*/, /*->273243*/
/*273096*/      OPC_RecordChild0, // #0 = $Rn
/*273097*/      OPC_Scope, 103, /*->273202*/ // 2 children in Scope
/*273099*/        OPC_CheckChild0Type, MVT::i32,
/*273101*/        OPC_SwitchType /*9 cases */, 9, MVT::v8i8,// ->273113
/*273104*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273106*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i8gpr), 0,
                        MVT::v8i8, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[v8i8] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUPv8i8gpr:{ *:[v8i8] } GPR32:{ *:[i32] }:$Rn)
/*273113*/        /*SwitchType*/ 9, MVT::v16i8,// ->273124
/*273115*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273117*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv16i8gpr), 0,
                        MVT::v16i8, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[v16i8] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUPv16i8gpr:{ *:[v16i8] } GPR32:{ *:[i32] }:$Rn)
/*273124*/        /*SwitchType*/ 9, MVT::v4i16,// ->273135
/*273126*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273128*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i16gpr), 0,
                        MVT::v4i16, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[v4i16] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUPv4i16gpr:{ *:[v4i16] } GPR32:{ *:[i32] }:$Rn)
/*273135*/        /*SwitchType*/ 9, MVT::v8i16,// ->273146
/*273137*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273139*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i16gpr), 0,
                        MVT::v8i16, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[v8i16] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUPv8i16gpr:{ *:[v8i16] } GPR32:{ *:[i32] }:$Rn)
/*273146*/        /*SwitchType*/ 9, MVT::v2i32,// ->273157
/*273148*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273150*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i32gpr), 0,
                        MVT::v2i32, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[v2i32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUPv2i32gpr:{ *:[v2i32] } GPR32:{ *:[i32] }:$Rn)
/*273157*/        /*SwitchType*/ 9, MVT::v4i32,// ->273168
/*273159*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273161*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i32gpr), 0,
                        MVT::v4i32, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[v4i32] } GPR32:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUPv4i32gpr:{ *:[v4i32] } GPR32:{ *:[i32] }:$Rn)
/*273168*/        /*SwitchType*/ 9, MVT::nxv16i8,// ->273179
/*273170*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273172*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUP_ZR_B), 0,
                        MVT::nxv16i8, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[nxv16i8] } GPR32sp:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUP_ZR_B:{ *:[nxv16i8] } GPR32sp:{ *:[i32] }:$Rn)
/*273179*/        /*SwitchType*/ 9, MVT::nxv8i16,// ->273190
/*273181*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273183*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUP_ZR_H), 0,
                        MVT::nxv8i16, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[nxv8i16] } GPR32sp:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUP_ZR_H:{ *:[nxv8i16] } GPR32sp:{ *:[i32] }:$Rn)
/*273190*/        /*SwitchType*/ 9, MVT::nxv4i32,// ->273201
/*273192*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273194*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUP_ZR_S), 0,
                        MVT::nxv4i32, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[nxv4i32] } GPR32sp:{ *:[i32] }:$Rn) - Complexity = 3
                    // Dst: (DUP_ZR_S:{ *:[nxv4i32] } GPR32sp:{ *:[i32] }:$Rn)
/*273201*/        0, // EndSwitchType
/*273202*/      /*Scope*/ 39, /*->273242*/
/*273203*/        OPC_CheckChild0Type, MVT::i64,
/*273205*/        OPC_SwitchType /*3 cases */, 9, MVT::v2i64,// ->273217
/*273208*/          OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273210*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i64gpr), 0,
                        MVT::v2i64, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[v2i64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (DUPv2i64gpr:{ *:[v2i64] } GPR64:{ *:[i64] }:$Rn)
/*273217*/        /*SwitchType*/ 11, MVT::v1i64,// ->273230
/*273219*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*273222*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::v1i64, 2/*#Ops*/, 0, 1, 
                    // Src: (AArch64dup:{ *:[v1i64] } GPR64:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[v1i64] } GPR64:{ *:[i64] }:$Rn, FPR64:{ *:[i32] })
/*273230*/        /*SwitchType*/ 9, MVT::nxv2i64,// ->273241
/*273232*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273234*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUP_ZR_D), 0,
                        MVT::nxv2i64, 1/*#Ops*/, 0, 
                    // Src: (AArch64dup:{ *:[nxv2i64] } GPR64sp:{ *:[i64] }:$Rn) - Complexity = 3
                    // Dst: (DUP_ZR_D:{ *:[nxv2i64] } GPR64sp:{ *:[i64] }:$Rn)
/*273241*/        0, // EndSwitchType
/*273242*/      0, /*End of Scope*/
/*273243*/    /*Scope*/ 90, /*->273334*/
/*273244*/      OPC_MoveChild0,
/*273245*/      OPC_CheckOpcode, TARGET_VAL(ISD::LOAD),
/*273248*/      OPC_RecordMemRef,
/*273249*/      OPC_RecordNode, // #0 = 'ld' chained node
/*273250*/      OPC_RecordChild1, // #1 = $Rn
/*273251*/      OPC_CheckChild1Type, MVT::i64,
/*273253*/      OPC_CheckPredicate, 4, // Predicate_unindexedload
/*273255*/      OPC_CheckPredicate, 37, // Predicate_load
/*273257*/      OPC_SwitchType /*3 cases */, 23, MVT::f32,// ->273283
/*273260*/        OPC_MoveParent,
/*273261*/        OPC_SwitchType /*2 cases */, 8, MVT::v2f32,// ->273272
/*273264*/          OPC_EmitMergeInputChains1_0,
/*273265*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2s), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f32, 1/*#Ops*/, 1, 
                    // Src: (AArch64dup:{ *:[v2f32] } (ld:{ *:[f32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                    // Dst: (LD1Rv2s:{ *:[v2f32] } GPR64sp:{ *:[i64] }:$Rn)
/*273272*/        /*SwitchType*/ 8, MVT::v4f32,// ->273282
/*273274*/          OPC_EmitMergeInputChains1_0,
/*273275*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4s), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f32, 1/*#Ops*/, 1, 
                    // Src: (AArch64dup:{ *:[v4f32] } (ld:{ *:[f32] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                    // Dst: (LD1Rv4s:{ *:[v4f32] } GPR64sp:{ *:[i64] }:$Rn)
/*273282*/        0, // EndSwitchType
/*273283*/      /*SwitchType*/ 23, MVT::f64,// ->273308
/*273285*/        OPC_MoveParent,
/*273286*/        OPC_SwitchType /*2 cases */, 8, MVT::v2f64,// ->273297
/*273289*/          OPC_EmitMergeInputChains1_0,
/*273290*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv2d), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v2f64, 1/*#Ops*/, 1, 
                    // Src: (AArch64dup:{ *:[v2f64] } (ld:{ *:[f64] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                    // Dst: (LD1Rv2d:{ *:[v2f64] } GPR64sp:{ *:[i64] }:$Rn)
/*273297*/        /*SwitchType*/ 8, MVT::v1f64,// ->273307
/*273299*/          OPC_EmitMergeInputChains1_0,
/*273300*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv1d), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v1f64, 1/*#Ops*/, 1, 
                    // Src: (AArch64dup:{ *:[v1f64] } (ld:{ *:[f64] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                    // Dst: (LD1Rv1d:{ *:[v1f64] } GPR64sp:{ *:[i64] }:$Rn)
/*273307*/        0, // EndSwitchType
/*273308*/      /*SwitchType*/ 23, MVT::f16,// ->273333
/*273310*/        OPC_MoveParent,
/*273311*/        OPC_SwitchType /*2 cases */, 8, MVT::v4f16,// ->273322
/*273314*/          OPC_EmitMergeInputChains1_0,
/*273315*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv4h), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v4f16, 1/*#Ops*/, 1, 
                    // Src: (AArch64dup:{ *:[v4f16] } (ld:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                    // Dst: (LD1Rv4h:{ *:[v4f16] } GPR64sp:{ *:[i64] }:$Rn)
/*273322*/        /*SwitchType*/ 8, MVT::v8f16,// ->273332
/*273324*/          OPC_EmitMergeInputChains1_0,
/*273325*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1Rv8h), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::v8f16, 1/*#Ops*/, 1, 
                    // Src: (AArch64dup:{ *:[v8f16] } (ld:{ *:[f16] } GPR64sp:{ *:[i64] }:$Rn)<<P:Predicate_unindexedload>><<P:Predicate_load>>) - Complexity = 7
                    // Dst: (LD1Rv8h:{ *:[v8f16] } GPR64sp:{ *:[i64] }:$Rn)
/*273332*/        0, // EndSwitchType
/*273333*/      0, // EndSwitchType
/*273334*/    /*Scope*/ 58|128,1/*186*/, /*->273522*/
/*273336*/      OPC_RecordChild0, // #0 = $Rn
/*273337*/      OPC_Scope, 48, /*->273387*/ // 3 children in Scope
/*273339*/        OPC_CheckChild0Type, MVT::f64,
/*273341*/        OPC_SwitchType /*2 cases */, 11, MVT::v1f64,// ->273355
/*273344*/          OPC_EmitInteger, MVT::i32, AArch64::FPR64RegClassID,
/*273347*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::COPY_TO_REGCLASS), 0,
                        MVT::v1f64, 2/*#Ops*/, 0, 1, 
                    // Src: (AArch64dup:{ *:[v1f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (COPY_TO_REGCLASS:{ *:[v1f64] } FPR64:{ *:[f64] }:$Rn, FPR64:{ *:[i32] })
/*273355*/        /*SwitchType*/ 29, MVT::v2f64,// ->273386
/*273357*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*273363*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*273366*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 0, 2,  // Results = #3
/*273375*/          OPC_EmitInteger, MVT::i64, 0, 
/*273378*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i64lane), 0,
                        MVT::v2f64, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64dup:{ *:[v2f64] } FPR64:{ *:[f64] }:$Rn) - Complexity = 3
                    // Dst: (DUPv2i64lane:{ *:[v2f64] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR64:{ *:[f64] }:$Rn, dsub:{ *:[i32] }), 0:{ *:[i64] })
/*273386*/        0, // EndSwitchType
/*273387*/      /*Scope*/ 66, /*->273454*/
/*273388*/        OPC_CheckChild0Type, MVT::f32,
/*273390*/        OPC_SwitchType /*2 cases */, 29, MVT::v2f32,// ->273422
/*273393*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*273399*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*273402*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 0, 2,  // Results = #3
/*273411*/          OPC_EmitInteger, MVT::i64, 0, 
/*273414*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i32lane), 0,
                        MVT::v2f32, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64dup:{ *:[v2f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (DUPv2i32lane:{ *:[v2f32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32:{ *:[f32] }:$Rn, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*273422*/        /*SwitchType*/ 29, MVT::v4f32,// ->273453
/*273424*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*273430*/          OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*273433*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v4i32, 3/*#Ops*/, 1, 0, 2,  // Results = #3
/*273442*/          OPC_EmitInteger, MVT::i64, 0, 
/*273445*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i32lane), 0,
                        MVT::v4f32, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64dup:{ *:[v4f32] } FPR32:{ *:[f32] }:$Rn) - Complexity = 3
                    // Dst: (DUPv4i32lane:{ *:[v4f32] } (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR32:{ *:[f32] }:$Rn, ssub:{ *:[i32] }), 0:{ *:[i64] })
/*273453*/        0, // EndSwitchType
/*273454*/      /*Scope*/ 66, /*->273521*/
/*273455*/        OPC_CheckChild0Type, MVT::f16,
/*273457*/        OPC_SwitchType /*2 cases */, 29, MVT::v4f16,// ->273489
/*273460*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*273466*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*273469*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 0, 2,  // Results = #3
/*273478*/          OPC_EmitInteger, MVT::i64, 0, 
/*273481*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i16lane), 0,
                        MVT::v4f16, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64dup:{ *:[v4f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (DUPv4i16lane:{ *:[v4f16] } (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), FPR16:{ *:[f16] }:$Rn, hsub:{ *:[i32] }), 0:{ *:[i64] })
/*273489*/        /*SwitchType*/ 29, MVT::v8f16,// ->273520
/*273491*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                        MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*273497*/          OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*273500*/          OPC_EmitNode1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                        MVT::v8i16, 3/*#Ops*/, 1, 0, 2,  // Results = #3
/*273509*/          OPC_EmitInteger, MVT::i64, 0, 
/*273512*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i16lane), 0,
                        MVT::v8f16, 2/*#Ops*/, 3, 4, 
                    // Src: (AArch64dup:{ *:[v8f16] } FPR16:{ *:[f16] }:$Rn) - Complexity = 3
                    // Dst: (DUPv8i16lane:{ *:[v8f16] } (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), FPR16:{ *:[f16] }:$Rn, hsub:{ *:[i32] }), 0:{ *:[i64] })
/*273520*/        0, // EndSwitchType
/*273521*/      0, /*End of Scope*/
/*273522*/    0, /*End of Scope*/
/*273523*/  /*SwitchOpcode*/ 110|128,1/*238*/, TARGET_VAL(ISD::SMAX),// ->273765
/*273527*/    OPC_Scope, 78, /*->273607*/ // 3 children in Scope
/*273529*/      OPC_RecordChild0, // #0 = $Op1
/*273530*/      OPC_MoveChild1,
/*273531*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*273534*/      OPC_RecordChild0, // #1 = $SVEArithSImmPat:imm
/*273535*/      OPC_Scope, 50, /*->273587*/ // 2 children in Scope
/*273537*/        OPC_CheckChild0Type, MVT::i32,
/*273539*/        OPC_MoveParent,
/*273540*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->273556
/*273543*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273545*/          OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*273548*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 0, 2, 
                    // Src: (smax:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (SMAX_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*273556*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->273571
/*273558*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273560*/          OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*273563*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 0, 2, 
                    // Src: (smax:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (SMAX_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*273571*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->273586
/*273573*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273575*/          OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*273578*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 0, 2, 
                    // Src: (smax:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (SMAX_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*273586*/        0, // EndSwitchType
/*273587*/      /*Scope*/ 18, /*->273606*/
/*273588*/        OPC_CheckChild0Type, MVT::i64,
/*273590*/        OPC_MoveParent,
/*273591*/        OPC_CheckType, MVT::nxv2i64,
/*273593*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273595*/        OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*273598*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (smax:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEArithSImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                  // Dst: (SMAX_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*273606*/      0, /*End of Scope*/
/*273607*/    /*Scope*/ 79, /*->273687*/
/*273608*/      OPC_MoveChild0,
/*273609*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*273612*/      OPC_RecordChild0, // #0 = $SVEArithSImmPat:imm
/*273613*/      OPC_Scope, 51, /*->273666*/ // 2 children in Scope
/*273615*/        OPC_CheckChild0Type, MVT::i32,
/*273617*/        OPC_MoveParent,
/*273618*/        OPC_RecordChild1, // #1 = $Op1
/*273619*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->273635
/*273622*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273624*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*273627*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 1, 2, 
                    // Src: (smax:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 12
                    // Dst: (SMAX_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*273635*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->273650
/*273637*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273639*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*273642*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 1, 2, 
                    // Src: (smax:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 12
                    // Dst: (SMAX_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*273650*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->273665
/*273652*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273654*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*273657*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 1, 2, 
                    // Src: (smax:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 12
                    // Dst: (SMAX_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*273665*/        0, // EndSwitchType
/*273666*/      /*Scope*/ 19, /*->273686*/
/*273667*/        OPC_CheckChild0Type, MVT::i64,
/*273669*/        OPC_MoveParent,
/*273670*/        OPC_RecordChild1, // #1 = $Op1
/*273671*/        OPC_CheckType, MVT::nxv2i64,
/*273673*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273675*/        OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*273678*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAX_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 1, 2, 
                  // Src: (smax:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEArithSImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 12
                  // Dst: (SMAX_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*273686*/      0, /*End of Scope*/
/*273687*/    /*Scope*/ 76, /*->273764*/
/*273688*/      OPC_RecordChild0, // #0 = $Rn
/*273689*/      OPC_RecordChild1, // #1 = $Rm
/*273690*/      OPC_SwitchType /*6 cases */, 10, MVT::v8i8,// ->273703
/*273693*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273695*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (smax:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (SMAXv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*273703*/      /*SwitchType*/ 10, MVT::v16i8,// ->273715
/*273705*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273707*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (smax:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (SMAXv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*273715*/      /*SwitchType*/ 10, MVT::v4i16,// ->273727
/*273717*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273719*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (smax:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                  // Dst: (SMAXv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*273727*/      /*SwitchType*/ 10, MVT::v8i16,// ->273739
/*273729*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273731*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (smax:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                  // Dst: (SMAXv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*273739*/      /*SwitchType*/ 10, MVT::v2i32,// ->273751
/*273741*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273743*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (smax:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                  // Dst: (SMAXv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*273751*/      /*SwitchType*/ 10, MVT::v4i32,// ->273763
/*273753*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273755*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (smax:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                  // Dst: (SMAXv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*273763*/      0, // EndSwitchType
/*273764*/    0, /*End of Scope*/
/*273765*/  /*SwitchOpcode*/ 110|128,1/*238*/, TARGET_VAL(ISD::SMIN),// ->274007
/*273769*/    OPC_Scope, 78, /*->273849*/ // 3 children in Scope
/*273771*/      OPC_RecordChild0, // #0 = $Op1
/*273772*/      OPC_MoveChild1,
/*273773*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*273776*/      OPC_RecordChild0, // #1 = $SVEArithSImmPat:imm
/*273777*/      OPC_Scope, 50, /*->273829*/ // 2 children in Scope
/*273779*/        OPC_CheckChild0Type, MVT::i32,
/*273781*/        OPC_MoveParent,
/*273782*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->273798
/*273785*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273787*/          OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*273790*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 0, 2, 
                    // Src: (smin:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (SMIN_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*273798*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->273813
/*273800*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273802*/          OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*273805*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 0, 2, 
                    // Src: (smin:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (SMIN_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*273813*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->273828
/*273815*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273817*/          OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*273820*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 0, 2, 
                    // Src: (smin:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (SMIN_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*273828*/        0, // EndSwitchType
/*273829*/      /*Scope*/ 18, /*->273848*/
/*273830*/        OPC_CheckChild0Type, MVT::i64,
/*273832*/        OPC_MoveParent,
/*273833*/        OPC_CheckType, MVT::nxv2i64,
/*273835*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273837*/        OPC_CheckComplexPat, /*CP*/48, /*#*/1, // SelectSVESignedArithImm:$ #2
/*273840*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (smin:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEArithSImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                  // Dst: (SMIN_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*273848*/      0, /*End of Scope*/
/*273849*/    /*Scope*/ 79, /*->273929*/
/*273850*/      OPC_MoveChild0,
/*273851*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*273854*/      OPC_RecordChild0, // #0 = $SVEArithSImmPat:imm
/*273855*/      OPC_Scope, 51, /*->273908*/ // 2 children in Scope
/*273857*/        OPC_CheckChild0Type, MVT::i32,
/*273859*/        OPC_MoveParent,
/*273860*/        OPC_RecordChild1, // #1 = $Op1
/*273861*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->273877
/*273864*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273866*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*273869*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 1, 2, 
                    // Src: (smin:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 12
                    // Dst: (SMIN_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*273877*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->273892
/*273879*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273881*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*273884*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 1, 2, 
                    // Src: (smin:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 12
                    // Dst: (SMIN_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*273892*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->273907
/*273894*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273896*/          OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*273899*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 1, 2, 
                    // Src: (smin:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEArithSImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 12
                    // Dst: (SMIN_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*273907*/        0, // EndSwitchType
/*273908*/      /*Scope*/ 19, /*->273928*/
/*273909*/        OPC_CheckChild0Type, MVT::i64,
/*273911*/        OPC_MoveParent,
/*273912*/        OPC_RecordChild1, // #1 = $Op1
/*273913*/        OPC_CheckType, MVT::nxv2i64,
/*273915*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*273917*/        OPC_CheckComplexPat, /*CP*/48, /*#*/0, // SelectSVESignedArithImm:$ #2
/*273920*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMIN_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 1, 2, 
                  // Src: (smin:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEArithSImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 12
                  // Dst: (SMIN_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*273928*/      0, /*End of Scope*/
/*273929*/    /*Scope*/ 76, /*->274006*/
/*273930*/      OPC_RecordChild0, // #0 = $Rn
/*273931*/      OPC_RecordChild1, // #1 = $Rm
/*273932*/      OPC_SwitchType /*6 cases */, 10, MVT::v8i8,// ->273945
/*273935*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273937*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (smin:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (SMINv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*273945*/      /*SwitchType*/ 10, MVT::v16i8,// ->273957
/*273947*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273949*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (smin:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (SMINv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*273957*/      /*SwitchType*/ 10, MVT::v4i16,// ->273969
/*273959*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273961*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (smin:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                  // Dst: (SMINv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*273969*/      /*SwitchType*/ 10, MVT::v8i16,// ->273981
/*273971*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273973*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (smin:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                  // Dst: (SMINv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*273981*/      /*SwitchType*/ 10, MVT::v2i32,// ->273993
/*273983*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273985*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (smin:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                  // Dst: (SMINv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*273993*/      /*SwitchType*/ 10, MVT::v4i32,// ->274005
/*273995*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*273997*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (smin:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                  // Dst: (SMINv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*274005*/      0, // EndSwitchType
/*274006*/    0, /*End of Scope*/
/*274007*/  /*SwitchOpcode*/ 110|128,1/*238*/, TARGET_VAL(ISD::UMAX),// ->274249
/*274011*/    OPC_Scope, 78, /*->274091*/ // 3 children in Scope
/*274013*/      OPC_RecordChild0, // #0 = $Op1
/*274014*/      OPC_MoveChild1,
/*274015*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*274018*/      OPC_RecordChild0, // #1 = $SVEArithUImmPat:imm
/*274019*/      OPC_Scope, 50, /*->274071*/ // 2 children in Scope
/*274021*/        OPC_CheckChild0Type, MVT::i32,
/*274023*/        OPC_MoveParent,
/*274024*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->274040
/*274027*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274029*/          OPC_CheckComplexPat, /*CP*/53, /*#*/1, // SelectSVEArithImm:$ #2
/*274032*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 0, 2, 
                    // Src: (umax:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (UMAX_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*274040*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->274055
/*274042*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274044*/          OPC_CheckComplexPat, /*CP*/53, /*#*/1, // SelectSVEArithImm:$ #2
/*274047*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 0, 2, 
                    // Src: (umax:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (UMAX_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*274055*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->274070
/*274057*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274059*/          OPC_CheckComplexPat, /*CP*/53, /*#*/1, // SelectSVEArithImm:$ #2
/*274062*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 0, 2, 
                    // Src: (umax:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (UMAX_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*274070*/        0, // EndSwitchType
/*274071*/      /*Scope*/ 18, /*->274090*/
/*274072*/        OPC_CheckChild0Type, MVT::i64,
/*274074*/        OPC_MoveParent,
/*274075*/        OPC_CheckType, MVT::nxv2i64,
/*274077*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274079*/        OPC_CheckComplexPat, /*CP*/53, /*#*/1, // SelectSVEArithImm:$ #2
/*274082*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (umax:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEArithUImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                  // Dst: (UMAX_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*274090*/      0, /*End of Scope*/
/*274091*/    /*Scope*/ 79, /*->274171*/
/*274092*/      OPC_MoveChild0,
/*274093*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*274096*/      OPC_RecordChild0, // #0 = $SVEArithUImmPat:imm
/*274097*/      OPC_Scope, 51, /*->274150*/ // 2 children in Scope
/*274099*/        OPC_CheckChild0Type, MVT::i32,
/*274101*/        OPC_MoveParent,
/*274102*/        OPC_RecordChild1, // #1 = $Op1
/*274103*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->274119
/*274106*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274108*/          OPC_CheckComplexPat, /*CP*/53, /*#*/0, // SelectSVEArithImm:$ #2
/*274111*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 1, 2, 
                    // Src: (umax:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 12
                    // Dst: (UMAX_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*274119*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->274134
/*274121*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274123*/          OPC_CheckComplexPat, /*CP*/53, /*#*/0, // SelectSVEArithImm:$ #2
/*274126*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 1, 2, 
                    // Src: (umax:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 12
                    // Dst: (UMAX_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*274134*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->274149
/*274136*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274138*/          OPC_CheckComplexPat, /*CP*/53, /*#*/0, // SelectSVEArithImm:$ #2
/*274141*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 1, 2, 
                    // Src: (umax:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 12
                    // Dst: (UMAX_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*274149*/        0, // EndSwitchType
/*274150*/      /*Scope*/ 19, /*->274170*/
/*274151*/        OPC_CheckChild0Type, MVT::i64,
/*274153*/        OPC_MoveParent,
/*274154*/        OPC_RecordChild1, // #1 = $Op1
/*274155*/        OPC_CheckType, MVT::nxv2i64,
/*274157*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274159*/        OPC_CheckComplexPat, /*CP*/53, /*#*/0, // SelectSVEArithImm:$ #2
/*274162*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAX_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 1, 2, 
                  // Src: (umax:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEArithUImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 12
                  // Dst: (UMAX_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*274170*/      0, /*End of Scope*/
/*274171*/    /*Scope*/ 76, /*->274248*/
/*274172*/      OPC_RecordChild0, // #0 = $Rn
/*274173*/      OPC_RecordChild1, // #1 = $Rm
/*274174*/      OPC_SwitchType /*6 cases */, 10, MVT::v8i8,// ->274187
/*274177*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274179*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (umax:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (UMAXv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*274187*/      /*SwitchType*/ 10, MVT::v16i8,// ->274199
/*274189*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274191*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (umax:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (UMAXv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*274199*/      /*SwitchType*/ 10, MVT::v4i16,// ->274211
/*274201*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274203*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (umax:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                  // Dst: (UMAXv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*274211*/      /*SwitchType*/ 10, MVT::v8i16,// ->274223
/*274213*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274215*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (umax:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                  // Dst: (UMAXv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*274223*/      /*SwitchType*/ 10, MVT::v2i32,// ->274235
/*274225*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274227*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (umax:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                  // Dst: (UMAXv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*274235*/      /*SwitchType*/ 10, MVT::v4i32,// ->274247
/*274237*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274239*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (umax:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                  // Dst: (UMAXv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*274247*/      0, // EndSwitchType
/*274248*/    0, /*End of Scope*/
/*274249*/  /*SwitchOpcode*/ 110|128,1/*238*/, TARGET_VAL(ISD::UMIN),// ->274491
/*274253*/    OPC_Scope, 78, /*->274333*/ // 3 children in Scope
/*274255*/      OPC_RecordChild0, // #0 = $Op1
/*274256*/      OPC_MoveChild1,
/*274257*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*274260*/      OPC_RecordChild0, // #1 = $SVEArithUImmPat:imm
/*274261*/      OPC_Scope, 50, /*->274313*/ // 2 children in Scope
/*274263*/        OPC_CheckChild0Type, MVT::i32,
/*274265*/        OPC_MoveParent,
/*274266*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->274282
/*274269*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274271*/          OPC_CheckComplexPat, /*CP*/53, /*#*/1, // SelectSVEArithImm:$ #2
/*274274*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 0, 2, 
                    // Src: (umin:{ *:[nxv16i8] } ZPR8:{ *:[nxv16i8] }:$Op1, (AArch64dup:{ *:[nxv16i8] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (UMIN_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*274282*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->274297
/*274284*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274286*/          OPC_CheckComplexPat, /*CP*/53, /*#*/1, // SelectSVEArithImm:$ #2
/*274289*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 0, 2, 
                    // Src: (umin:{ *:[nxv8i16] } ZPR16:{ *:[nxv8i16] }:$Op1, (AArch64dup:{ *:[nxv8i16] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (UMIN_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*274297*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->274312
/*274299*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274301*/          OPC_CheckComplexPat, /*CP*/53, /*#*/1, // SelectSVEArithImm:$ #2
/*274304*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 0, 2, 
                    // Src: (umin:{ *:[nxv4i32] } ZPR32:{ *:[nxv4i32] }:$Op1, (AArch64dup:{ *:[nxv4i32] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                    // Dst: (UMIN_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*274312*/        0, // EndSwitchType
/*274313*/      /*Scope*/ 18, /*->274332*/
/*274314*/        OPC_CheckChild0Type, MVT::i64,
/*274316*/        OPC_MoveParent,
/*274317*/        OPC_CheckType, MVT::nxv2i64,
/*274319*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274321*/        OPC_CheckComplexPat, /*CP*/53, /*#*/1, // SelectSVEArithImm:$ #2
/*274324*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 2, 
                  // Src: (umin:{ *:[nxv2i64] } ZPR64:{ *:[nxv2i64] }:$Op1, (AArch64dup:{ *:[nxv2i64] } (SVEArithUImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm))) - Complexity = 12
                  // Dst: (UMIN_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*274332*/      0, /*End of Scope*/
/*274333*/    /*Scope*/ 79, /*->274413*/
/*274334*/      OPC_MoveChild0,
/*274335*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*274338*/      OPC_RecordChild0, // #0 = $SVEArithUImmPat:imm
/*274339*/      OPC_Scope, 51, /*->274392*/ // 2 children in Scope
/*274341*/        OPC_CheckChild0Type, MVT::i32,
/*274343*/        OPC_MoveParent,
/*274344*/        OPC_RecordChild1, // #1 = $Op1
/*274345*/        OPC_SwitchType /*3 cases */, 13, MVT::nxv16i8,// ->274361
/*274348*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274350*/          OPC_CheckComplexPat, /*CP*/53, /*#*/0, // SelectSVEArithImm:$ #2
/*274353*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZI_B), 0,
                        MVT::nxv16i8, 2/*#Ops*/, 1, 2, 
                    // Src: (umin:{ *:[nxv16i8] } (AArch64dup:{ *:[nxv16i8] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR8:{ *:[nxv16i8] }:$Op1) - Complexity = 12
                    // Dst: (UMIN_ZI_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$imm)
/*274361*/        /*SwitchType*/ 13, MVT::nxv8i16,// ->274376
/*274363*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274365*/          OPC_CheckComplexPat, /*CP*/53, /*#*/0, // SelectSVEArithImm:$ #2
/*274368*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZI_H), 0,
                        MVT::nxv8i16, 2/*#Ops*/, 1, 2, 
                    // Src: (umin:{ *:[nxv8i16] } (AArch64dup:{ *:[nxv8i16] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR16:{ *:[nxv8i16] }:$Op1) - Complexity = 12
                    // Dst: (UMIN_ZI_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$imm)
/*274376*/        /*SwitchType*/ 13, MVT::nxv4i32,// ->274391
/*274378*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274380*/          OPC_CheckComplexPat, /*CP*/53, /*#*/0, // SelectSVEArithImm:$ #2
/*274383*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZI_S), 0,
                        MVT::nxv4i32, 2/*#Ops*/, 1, 2, 
                    // Src: (umin:{ *:[nxv4i32] } (AArch64dup:{ *:[nxv4i32] } (SVEArithUImmPat:{ *:[i32] } i32:{ *:[i32] }:$imm)), ZPR32:{ *:[nxv4i32] }:$Op1) - Complexity = 12
                    // Dst: (UMIN_ZI_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$imm)
/*274391*/        0, // EndSwitchType
/*274392*/      /*Scope*/ 19, /*->274412*/
/*274393*/        OPC_CheckChild0Type, MVT::i64,
/*274395*/        OPC_MoveParent,
/*274396*/        OPC_RecordChild1, // #1 = $Op1
/*274397*/        OPC_CheckType, MVT::nxv2i64,
/*274399*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*274401*/        OPC_CheckComplexPat, /*CP*/53, /*#*/0, // SelectSVEArithImm:$ #2
/*274404*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMIN_ZI_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 1, 2, 
                  // Src: (umin:{ *:[nxv2i64] } (AArch64dup:{ *:[nxv2i64] } (SVEArithUImmPat:{ *:[i64] } i32:{ *:[i32] }:$imm)), ZPR64:{ *:[nxv2i64] }:$Op1) - Complexity = 12
                  // Dst: (UMIN_ZI_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, i32:{ *:[i32] }:$imm)
/*274412*/      0, /*End of Scope*/
/*274413*/    /*Scope*/ 76, /*->274490*/
/*274414*/      OPC_RecordChild0, // #0 = $Rn
/*274415*/      OPC_RecordChild1, // #1 = $Rm
/*274416*/      OPC_SwitchType /*6 cases */, 10, MVT::v8i8,// ->274429
/*274419*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274421*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (umin:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                  // Dst: (UMINv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*274429*/      /*SwitchType*/ 10, MVT::v16i8,// ->274441
/*274431*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274433*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (umin:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                  // Dst: (UMINv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*274441*/      /*SwitchType*/ 10, MVT::v4i16,// ->274453
/*274443*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274445*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (umin:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                  // Dst: (UMINv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*274453*/      /*SwitchType*/ 10, MVT::v8i16,// ->274465
/*274455*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274457*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (umin:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                  // Dst: (UMINv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*274465*/      /*SwitchType*/ 10, MVT::v2i32,// ->274477
/*274467*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274469*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (umin:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                  // Dst: (UMINv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*274477*/      /*SwitchType*/ 10, MVT::v4i32,// ->274489
/*274479*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274481*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (umin:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                  // Dst: (UMINv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*274489*/      0, // EndSwitchType
/*274490*/    0, /*End of Scope*/
/*274491*/  /*SwitchOpcode*/ 46|128,2/*302*/, TARGET_VAL(ISD::INSERT_SUBVECTOR),// ->274797
/*274495*/    OPC_MoveChild0,
/*274496*/    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*274499*/    OPC_MoveParent,
/*274500*/    OPC_RecordChild1, // #0 = $src
/*274501*/    OPC_CheckChild2Integer, 0, 
/*274503*/    OPC_Scope, 16|128,1/*144*/, /*->274650*/ // 2 children in Scope
/*274506*/      OPC_CheckChild2Type, MVT::i32,
/*274508*/      OPC_SwitchType /*7 cases */, 18, MVT::v2i64,// ->274529
/*274511*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v2i64, 0/*#Ops*/,  // Results = #1
/*274517*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274520*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v2i64, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v2i64] } (undef:{ *:[v2i64] }), FPR64:{ *:[v1i64] }:$src, 0:{ *:[i32] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), FPR64:{ *:[v1i64] }:$src, dsub:{ *:[i32] })
/*274529*/      /*SwitchType*/ 18, MVT::v4i32,// ->274549
/*274531*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*274537*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274540*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v4i32, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v4i32] } (undef:{ *:[v4i32] }), FPR64:{ *:[v2i32] }:$src, 0:{ *:[i32] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR64:{ *:[v2i32] }:$src, dsub:{ *:[i32] })
/*274549*/      /*SwitchType*/ 18, MVT::v8i16,// ->274569
/*274551*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*274557*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274560*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v8i16, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), FPR64:{ *:[v4i16] }:$src, 0:{ *:[i32] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), FPR64:{ *:[v4i16] }:$src, dsub:{ *:[i32] })
/*274569*/      /*SwitchType*/ 18, MVT::v16i8,// ->274589
/*274571*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*274577*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274580*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v16i8, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), FPR64:{ *:[v8i8] }:$src, 0:{ *:[i32] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), FPR64:{ *:[v8i8] }:$src, dsub:{ *:[i32] })
/*274589*/      /*SwitchType*/ 18, MVT::v2f64,// ->274609
/*274591*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v2f64, 0/*#Ops*/,  // Results = #1
/*274597*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274600*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v2f64, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v2f64] } (undef:{ *:[v2f64] }), FPR64:{ *:[v1f64] }:$src, 0:{ *:[i32] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v2f64] } (IMPLICIT_DEF:{ *:[v2f64] }), FPR64:{ *:[v1f64] }:$src, dsub:{ *:[i32] })
/*274609*/      /*SwitchType*/ 18, MVT::v4f32,// ->274629
/*274611*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4f32, 0/*#Ops*/,  // Results = #1
/*274617*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274620*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v4f32, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v4f32] } (undef:{ *:[v4f32] }), FPR64:{ *:[v2f32] }:$src, 0:{ *:[i32] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), FPR64:{ *:[v2f32] }:$src, dsub:{ *:[i32] })
/*274629*/      /*SwitchType*/ 18, MVT::v8f16,// ->274649
/*274631*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v8f16, 0/*#Ops*/,  // Results = #1
/*274637*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274640*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v8f16, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v8f16] } (undef:{ *:[v8f16] }), FPR64:{ *:[v4f16] }:$src, 0:{ *:[i32] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v8f16] } (IMPLICIT_DEF:{ *:[v8f16] }), FPR64:{ *:[v4f16] }:$src, dsub:{ *:[i32] })
/*274649*/      0, // EndSwitchType
/*274650*/    /*Scope*/ 16|128,1/*144*/, /*->274796*/
/*274652*/      OPC_CheckChild2Type, MVT::i64,
/*274654*/      OPC_SwitchType /*7 cases */, 18, MVT::v2i64,// ->274675
/*274657*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v2i64, 0/*#Ops*/,  // Results = #1
/*274663*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274666*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v2i64, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v2i64] } (undef:{ *:[v2i64] }), FPR64:{ *:[v1i64] }:$src, 0:{ *:[i64] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), FPR64:{ *:[v1i64] }:$src, dsub:{ *:[i32] })
/*274675*/      /*SwitchType*/ 18, MVT::v4i32,// ->274695
/*274677*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*274683*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274686*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v4i32, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v4i32] } (undef:{ *:[v4i32] }), FPR64:{ *:[v2i32] }:$src, 0:{ *:[i64] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), FPR64:{ *:[v2i32] }:$src, dsub:{ *:[i32] })
/*274695*/      /*SwitchType*/ 18, MVT::v8i16,// ->274715
/*274697*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*274703*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274706*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v8i16, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v8i16] } (undef:{ *:[v8i16] }), FPR64:{ *:[v4i16] }:$src, 0:{ *:[i64] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), FPR64:{ *:[v4i16] }:$src, dsub:{ *:[i32] })
/*274715*/      /*SwitchType*/ 18, MVT::v16i8,// ->274735
/*274717*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*274723*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274726*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v16i8, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v16i8] } (undef:{ *:[v16i8] }), FPR64:{ *:[v8i8] }:$src, 0:{ *:[i64] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), FPR64:{ *:[v8i8] }:$src, dsub:{ *:[i32] })
/*274735*/      /*SwitchType*/ 18, MVT::v2f64,// ->274755
/*274737*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v2f64, 0/*#Ops*/,  // Results = #1
/*274743*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274746*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v2f64, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v2f64] } (undef:{ *:[v2f64] }), FPR64:{ *:[v1f64] }:$src, 0:{ *:[i64] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v2f64] } (IMPLICIT_DEF:{ *:[v2f64] }), FPR64:{ *:[v1f64] }:$src, dsub:{ *:[i32] })
/*274755*/      /*SwitchType*/ 18, MVT::v4f32,// ->274775
/*274757*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v4f32, 0/*#Ops*/,  // Results = #1
/*274763*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274766*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v4f32, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v4f32] } (undef:{ *:[v4f32] }), FPR64:{ *:[v2f32] }:$src, 0:{ *:[i64] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v4f32] } (IMPLICIT_DEF:{ *:[v4f32] }), FPR64:{ *:[v2f32] }:$src, dsub:{ *:[i32] })
/*274775*/      /*SwitchType*/ 18, MVT::v8f16,// ->274795
/*274777*/        OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                      MVT::v8f16, 0/*#Ops*/,  // Results = #1
/*274783*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*274786*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                      MVT::v8f16, 3/*#Ops*/, 1, 0, 2, 
                  // Src: (insert_subvector:{ *:[v8f16] } (undef:{ *:[v8f16] }), FPR64:{ *:[v4f16] }:$src, 0:{ *:[i64] }) - Complexity = 11
                  // Dst: (INSERT_SUBREG:{ *:[v8f16] } (IMPLICIT_DEF:{ *:[v8f16] }), FPR64:{ *:[v4f16] }:$src, dsub:{ *:[i32] })
/*274795*/      0, // EndSwitchType
/*274796*/    0, /*End of Scope*/
/*274797*/  /*SwitchOpcode*/ 89, TARGET_VAL(AArch64ISD::BICi),// ->274889
/*274800*/    OPC_RecordChild0, // #0 = $Rd
/*274801*/    OPC_RecordChild1, // #1 = $imm8
/*274802*/    OPC_MoveChild1,
/*274803*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*274806*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*274808*/    OPC_CheckType, MVT::i32,
/*274810*/    OPC_MoveParent,
/*274811*/    OPC_RecordChild2, // #2 = $shift
/*274812*/    OPC_MoveChild2,
/*274813*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*274816*/    OPC_CheckType, MVT::i32,
/*274818*/    OPC_MoveParent,
/*274819*/    OPC_SwitchType /*4 cases */, 15, MVT::v4i16,// ->274837
/*274822*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274824*/      OPC_EmitConvertToTarget, 1,
/*274826*/      OPC_EmitConvertToTarget, 2,
/*274828*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv4i16), 0,
                    MVT::v4i16, 3/*#Ops*/, 0, 3, 4, 
                // Src: (AArch64bici:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (BICv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*274837*/    /*SwitchType*/ 15, MVT::v8i16,// ->274854
/*274839*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274841*/      OPC_EmitConvertToTarget, 1,
/*274843*/      OPC_EmitConvertToTarget, 2,
/*274845*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv8i16), 0,
                    MVT::v8i16, 3/*#Ops*/, 0, 3, 4, 
                // Src: (AArch64bici:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (BICv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*274854*/    /*SwitchType*/ 15, MVT::v2i32,// ->274871
/*274856*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274858*/      OPC_EmitConvertToTarget, 1,
/*274860*/      OPC_EmitConvertToTarget, 2,
/*274862*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv2i32), 0,
                    MVT::v2i32, 3/*#Ops*/, 0, 3, 4, 
                // Src: (AArch64bici:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (BICv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*274871*/    /*SwitchType*/ 15, MVT::v4i32,// ->274888
/*274873*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274875*/      OPC_EmitConvertToTarget, 1,
/*274877*/      OPC_EmitConvertToTarget, 2,
/*274879*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BICv4i32), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 3, 4, 
                // Src: (AArch64bici:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (BICv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*274888*/    0, // EndSwitchType
/*274889*/  /*SwitchOpcode*/ 89, TARGET_VAL(AArch64ISD::ORRi),// ->274981
/*274892*/    OPC_RecordChild0, // #0 = $Rd
/*274893*/    OPC_RecordChild1, // #1 = $imm8
/*274894*/    OPC_MoveChild1,
/*274895*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*274898*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*274900*/    OPC_CheckType, MVT::i32,
/*274902*/    OPC_MoveParent,
/*274903*/    OPC_RecordChild2, // #2 = $shift
/*274904*/    OPC_MoveChild2,
/*274905*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*274908*/    OPC_CheckType, MVT::i32,
/*274910*/    OPC_MoveParent,
/*274911*/    OPC_SwitchType /*4 cases */, 15, MVT::v4i16,// ->274929
/*274914*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274916*/      OPC_EmitConvertToTarget, 1,
/*274918*/      OPC_EmitConvertToTarget, 2,
/*274920*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv4i16), 0,
                    MVT::v4i16, 3/*#Ops*/, 0, 3, 4, 
                // Src: (AArch64orri:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (ORRv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*274929*/    /*SwitchType*/ 15, MVT::v8i16,// ->274946
/*274931*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274933*/      OPC_EmitConvertToTarget, 1,
/*274935*/      OPC_EmitConvertToTarget, 2,
/*274937*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv8i16), 0,
                    MVT::v8i16, 3/*#Ops*/, 0, 3, 4, 
                // Src: (AArch64orri:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (ORRv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*274946*/    /*SwitchType*/ 15, MVT::v2i32,// ->274963
/*274948*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274950*/      OPC_EmitConvertToTarget, 1,
/*274952*/      OPC_EmitConvertToTarget, 2,
/*274954*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv2i32), 0,
                    MVT::v2i32, 3/*#Ops*/, 0, 3, 4, 
                // Src: (AArch64orri:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (ORRv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*274963*/    /*SwitchType*/ 15, MVT::v4i32,// ->274980
/*274965*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*274967*/      OPC_EmitConvertToTarget, 1,
/*274969*/      OPC_EmitConvertToTarget, 2,
/*274971*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ORRv4i32), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 3, 4, 
                // Src: (AArch64orri:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (ORRv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*274980*/    0, // EndSwitchType
/*274981*/  /*SwitchOpcode*/ 76, TARGET_VAL(AArch64ISD::MOVIshift),// ->275060
/*274984*/    OPC_RecordChild0, // #0 = $imm8
/*274985*/    OPC_MoveChild0,
/*274986*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*274989*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*274991*/    OPC_CheckType, MVT::i32,
/*274993*/    OPC_MoveParent,
/*274994*/    OPC_RecordChild1, // #1 = $shift
/*274995*/    OPC_MoveChild1,
/*274996*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*274999*/    OPC_CheckType, MVT::i32,
/*275001*/    OPC_MoveParent,
/*275002*/    OPC_SwitchType /*4 cases */, 12, MVT::v2i32,// ->275017
/*275005*/      OPC_EmitConvertToTarget, 0,
/*275007*/      OPC_EmitConvertToTarget, 1,
/*275009*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64movi_shift:{ *:[v2i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MOVIv2i32:{ *:[v2i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift)
/*275017*/    /*SwitchType*/ 12, MVT::v4i32,// ->275031
/*275019*/      OPC_EmitConvertToTarget, 0,
/*275021*/      OPC_EmitConvertToTarget, 1,
/*275023*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64movi_shift:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MOVIv4i32:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift)
/*275031*/    /*SwitchType*/ 12, MVT::v4i16,// ->275045
/*275033*/      OPC_EmitConvertToTarget, 0,
/*275035*/      OPC_EmitConvertToTarget, 1,
/*275037*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64movi_shift:{ *:[v4i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MOVIv4i16:{ *:[v4i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift)
/*275045*/    /*SwitchType*/ 12, MVT::v8i16,// ->275059
/*275047*/      OPC_EmitConvertToTarget, 0,
/*275049*/      OPC_EmitConvertToTarget, 1,
/*275051*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64movi_shift:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MOVIv8i16:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift)
/*275059*/    0, // EndSwitchType
/*275060*/  /*SwitchOpcode*/ 52, TARGET_VAL(AArch64ISD::MOVImsl),// ->275115
/*275063*/    OPC_RecordChild0, // #0 = $imm8
/*275064*/    OPC_MoveChild0,
/*275065*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*275068*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*275070*/    OPC_CheckType, MVT::i32,
/*275072*/    OPC_MoveParent,
/*275073*/    OPC_RecordChild1, // #1 = $shift
/*275074*/    OPC_MoveChild1,
/*275075*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*275078*/    OPC_CheckType, MVT::i32,
/*275080*/    OPC_MoveParent,
/*275081*/    OPC_SwitchType /*2 cases */, 14, MVT::v2i32,// ->275098
/*275084*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*275086*/      OPC_EmitConvertToTarget, 0,
/*275088*/      OPC_EmitConvertToTarget, 1,
/*275090*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2s_msl), 0,
                    MVT::v2i32, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64movi_msl:{ *:[v2i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MOVIv2s_msl:{ *:[v2i32] } (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*275098*/    /*SwitchType*/ 14, MVT::v4i32,// ->275114
/*275100*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*275102*/      OPC_EmitConvertToTarget, 0,
/*275104*/      OPC_EmitConvertToTarget, 1,
/*275106*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv4s_msl), 0,
                    MVT::v4i32, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64movi_msl:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MOVIv4s_msl:{ *:[v4i32] } (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*275114*/    0, // EndSwitchType
/*275115*/  /*SwitchOpcode*/ 76, TARGET_VAL(AArch64ISD::MVNIshift),// ->275194
/*275118*/    OPC_RecordChild0, // #0 = $imm8
/*275119*/    OPC_MoveChild0,
/*275120*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*275123*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*275125*/    OPC_CheckType, MVT::i32,
/*275127*/    OPC_MoveParent,
/*275128*/    OPC_RecordChild1, // #1 = $shift
/*275129*/    OPC_MoveChild1,
/*275130*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*275133*/    OPC_CheckType, MVT::i32,
/*275135*/    OPC_MoveParent,
/*275136*/    OPC_SwitchType /*4 cases */, 12, MVT::v2i32,// ->275151
/*275139*/      OPC_EmitConvertToTarget, 0,
/*275141*/      OPC_EmitConvertToTarget, 1,
/*275143*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MVNIv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64mvni_shift:{ *:[v2i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MVNIv2i32:{ *:[v2i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift)
/*275151*/    /*SwitchType*/ 12, MVT::v4i32,// ->275165
/*275153*/      OPC_EmitConvertToTarget, 0,
/*275155*/      OPC_EmitConvertToTarget, 1,
/*275157*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MVNIv4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64mvni_shift:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MVNIv4i32:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift)
/*275165*/    /*SwitchType*/ 12, MVT::v4i16,// ->275179
/*275167*/      OPC_EmitConvertToTarget, 0,
/*275169*/      OPC_EmitConvertToTarget, 1,
/*275171*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MVNIv4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64mvni_shift:{ *:[v4i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MVNIv4i16:{ *:[v4i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift)
/*275179*/    /*SwitchType*/ 12, MVT::v8i16,// ->275193
/*275181*/      OPC_EmitConvertToTarget, 0,
/*275183*/      OPC_EmitConvertToTarget, 1,
/*275185*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MVNIv8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64mvni_shift:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MVNIv8i16:{ *:[v8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift)
/*275193*/    0, // EndSwitchType
/*275194*/  /*SwitchOpcode*/ 52, TARGET_VAL(AArch64ISD::MVNImsl),// ->275249
/*275197*/    OPC_RecordChild0, // #0 = $imm8
/*275198*/    OPC_MoveChild0,
/*275199*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*275202*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*275204*/    OPC_CheckType, MVT::i32,
/*275206*/    OPC_MoveParent,
/*275207*/    OPC_RecordChild1, // #1 = $shift
/*275208*/    OPC_MoveChild1,
/*275209*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*275212*/    OPC_CheckType, MVT::i32,
/*275214*/    OPC_MoveParent,
/*275215*/    OPC_SwitchType /*2 cases */, 14, MVT::v2i32,// ->275232
/*275218*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*275220*/      OPC_EmitConvertToTarget, 0,
/*275222*/      OPC_EmitConvertToTarget, 1,
/*275224*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MVNIv2s_msl), 0,
                    MVT::v2i32, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64mvni_msl:{ *:[v2i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MVNIv2s_msl:{ *:[v2i32] } (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*275232*/    /*SwitchType*/ 14, MVT::v4i32,// ->275248
/*275234*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*275236*/      OPC_EmitConvertToTarget, 0,
/*275238*/      OPC_EmitConvertToTarget, 1,
/*275240*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MVNIv4s_msl), 0,
                    MVT::v4i32, 2/*#Ops*/, 2, 3, 
                // Src: (AArch64mvni_msl:{ *:[v4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8, (imm:{ *:[i32] }):$shift) - Complexity = 10
                // Dst: (MVNIv4s_msl:{ *:[v4i32] } (imm:{ *:[i32] }):$imm8, (imm:{ *:[i32] }):$shift)
/*275248*/    0, // EndSwitchType
/*275249*/  /*SwitchOpcode*/ 9|128,5/*649*/, TARGET_VAL(ISD::MLOAD),// ->275902
/*275253*/    OPC_RecordMemRef,
/*275254*/    OPC_RecordNode, // #0 = 'masked_ld' chained node
/*275255*/    OPC_RecordChild1, // #1 = $base
/*275256*/    OPC_CheckChild1Type, MVT::i64,
/*275258*/    OPC_MoveChild2,
/*275259*/    OPC_CheckOpcode, TARGET_VAL(ISD::UNDEF),
/*275262*/    OPC_MoveParent,
/*275263*/    OPC_RecordChild3, // #2 = $gp
/*275264*/    OPC_Scope, 10|128,2/*266*/, /*->275533*/ // 4 children in Scope
/*275267*/      OPC_CheckChild3Type, MVT::nxv2i1,
/*275269*/      OPC_RecordChild4, // #3 = $SVEDup0Undef
/*275270*/      OPC_Scope, 24, /*->275296*/ // 9 children in Scope
/*275272*/        OPC_CheckPredicate, 78, // Predicate_zext_masked_load
/*275274*/        OPC_CheckPredicate, 79, // Predicate_zext_masked_load_i8
/*275276*/        OPC_CheckType, MVT::nxv2i64,
/*275278*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275280*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275283*/        OPC_EmitMergeInputChains1_0,
/*275284*/        OPC_EmitInteger, MVT::i64, 0, 
/*275287*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv2i64, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv2i64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2i64] }))<<P:Predicate_zext_masked_load>><<P:Predicate_zext_masked_load_i8>> - Complexity = 10
                  // Dst: (LD1B_D_IMM:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275296*/      /*Scope*/ 24, /*->275321*/
/*275297*/        OPC_CheckPredicate, 80, // Predicate_asext_masked_load
/*275299*/        OPC_CheckPredicate, 79, // Predicate_asext_masked_load_i8
/*275301*/        OPC_CheckType, MVT::nxv2i64,
/*275303*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275305*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275308*/        OPC_EmitMergeInputChains1_0,
/*275309*/        OPC_EmitInteger, MVT::i64, 0, 
/*275312*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv2i64, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv2i64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2i64] }))<<P:Predicate_asext_masked_load>><<P:Predicate_asext_masked_load_i8>> - Complexity = 10
                  // Dst: (LD1SB_D_IMM:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275321*/      /*Scope*/ 24, /*->275346*/
/*275322*/        OPC_CheckPredicate, 78, // Predicate_zext_masked_load
/*275324*/        OPC_CheckPredicate, 81, // Predicate_zext_masked_load_i16
/*275326*/        OPC_CheckType, MVT::nxv2i64,
/*275328*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275330*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275333*/        OPC_EmitMergeInputChains1_0,
/*275334*/        OPC_EmitInteger, MVT::i64, 0, 
/*275337*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv2i64, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv2i64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2i64] }))<<P:Predicate_zext_masked_load>><<P:Predicate_zext_masked_load_i16>> - Complexity = 10
                  // Dst: (LD1H_D_IMM:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275346*/      /*Scope*/ 24, /*->275371*/
/*275347*/        OPC_CheckPredicate, 80, // Predicate_asext_masked_load
/*275349*/        OPC_CheckPredicate, 81, // Predicate_asext_masked_load_i16
/*275351*/        OPC_CheckType, MVT::nxv2i64,
/*275353*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275355*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275358*/        OPC_EmitMergeInputChains1_0,
/*275359*/        OPC_EmitInteger, MVT::i64, 0, 
/*275362*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv2i64, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv2i64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2i64] }))<<P:Predicate_asext_masked_load>><<P:Predicate_asext_masked_load_i16>> - Complexity = 10
                  // Dst: (LD1SH_D_IMM:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275371*/      /*Scope*/ 24, /*->275396*/
/*275372*/        OPC_CheckPredicate, 78, // Predicate_zext_masked_load
/*275374*/        OPC_CheckPredicate, 82, // Predicate_zext_masked_load_i32
/*275376*/        OPC_CheckType, MVT::nxv2i64,
/*275378*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275380*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275383*/        OPC_EmitMergeInputChains1_0,
/*275384*/        OPC_EmitInteger, MVT::i64, 0, 
/*275387*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv2i64, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv2i64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2i64] }))<<P:Predicate_zext_masked_load>><<P:Predicate_zext_masked_load_i32>> - Complexity = 10
                  // Dst: (LD1W_D_IMM:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275396*/      /*Scope*/ 24, /*->275421*/
/*275397*/        OPC_CheckPredicate, 80, // Predicate_asext_masked_load
/*275399*/        OPC_CheckPredicate, 82, // Predicate_asext_masked_load_i32
/*275401*/        OPC_CheckType, MVT::nxv2i64,
/*275403*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275405*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275408*/        OPC_EmitMergeInputChains1_0,
/*275409*/        OPC_EmitInteger, MVT::i64, 0, 
/*275412*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SW_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv2i64, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv2i64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2i64] }))<<P:Predicate_asext_masked_load>><<P:Predicate_asext_masked_load_i32>> - Complexity = 10
                  // Dst: (LD1SW_D_IMM:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275421*/      /*Scope*/ 22, /*->275444*/
/*275422*/        OPC_CheckPredicate, 83, // Predicate_nonext_masked_load
/*275424*/        OPC_CheckType, MVT::nxv2i64,
/*275426*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275428*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275431*/        OPC_EmitMergeInputChains1_0,
/*275432*/        OPC_EmitInteger, MVT::i64, 0, 
/*275435*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv2i64, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv2i64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2i64] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                  // Dst: (LD1D_IMM:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275444*/      /*Scope*/ 22, /*->275467*/
/*275445*/        OPC_CheckPredicate, 84, // Predicate_non_temporal_load
/*275447*/        OPC_CheckType, MVT::nxv2i64,
/*275449*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275451*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275454*/        OPC_EmitMergeInputChains1_0,
/*275455*/        OPC_EmitInteger, MVT::i64, 0, 
/*275458*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1D_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv2i64, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv2i64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2i64] }))<<P:Predicate_non_temporal_load>> - Complexity = 10
                  // Dst: (LDNT1D_ZRI:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275467*/      /*Scope*/ 64, /*->275532*/
/*275468*/        OPC_CheckPredicate, 83, // Predicate_nonext_masked_load
/*275470*/        OPC_SwitchType /*3 cases */, 18, MVT::nxv2f16,// ->275491
/*275473*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275475*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275478*/          OPC_EmitMergeInputChains1_0,
/*275479*/          OPC_EmitInteger, MVT::i64, 0, 
/*275482*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv2f16, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv2f16] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2f16] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                    // Dst: (LD1H_D_IMM:{ *:[nxv2f16] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275491*/        /*SwitchType*/ 18, MVT::nxv2f32,// ->275511
/*275493*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275495*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275498*/          OPC_EmitMergeInputChains1_0,
/*275499*/          OPC_EmitInteger, MVT::i64, 0, 
/*275502*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv2f32, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv2f32] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2f32] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                    // Dst: (LD1W_D_IMM:{ *:[nxv2f32] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275511*/        /*SwitchType*/ 18, MVT::nxv2f64,// ->275531
/*275513*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275515*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275518*/          OPC_EmitMergeInputChains1_0,
/*275519*/          OPC_EmitInteger, MVT::i64, 0, 
/*275522*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1D_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv2f64, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv2f64] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv2i1] }:$gp, (SVEDup0Undef:{ *:[nxv2f64] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                    // Dst: (LD1D_IMM:{ *:[nxv2f64] } PPR:{ *:[nxv2i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275531*/        0, // EndSwitchType
/*275532*/      0, /*End of Scope*/
/*275533*/    /*Scope*/ 68|128,1/*196*/, /*->275731*/
/*275535*/      OPC_CheckChild3Type, MVT::nxv4i1,
/*275537*/      OPC_RecordChild4, // #3 = $SVEDup0Undef
/*275538*/      OPC_Scope, 24, /*->275564*/ // 7 children in Scope
/*275540*/        OPC_CheckPredicate, 78, // Predicate_zext_masked_load
/*275542*/        OPC_CheckPredicate, 79, // Predicate_zext_masked_load_i8
/*275544*/        OPC_CheckType, MVT::nxv4i32,
/*275546*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275548*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275551*/        OPC_EmitMergeInputChains1_0,
/*275552*/        OPC_EmitInteger, MVT::i64, 0, 
/*275555*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv4i32, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv4i32] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp, (SVEDup0Undef:{ *:[nxv4i32] }))<<P:Predicate_zext_masked_load>><<P:Predicate_zext_masked_load_i8>> - Complexity = 10
                  // Dst: (LD1B_S_IMM:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275564*/      /*Scope*/ 24, /*->275589*/
/*275565*/        OPC_CheckPredicate, 80, // Predicate_asext_masked_load
/*275567*/        OPC_CheckPredicate, 79, // Predicate_asext_masked_load_i8
/*275569*/        OPC_CheckType, MVT::nxv4i32,
/*275571*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275573*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275576*/        OPC_EmitMergeInputChains1_0,
/*275577*/        OPC_EmitInteger, MVT::i64, 0, 
/*275580*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv4i32, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv4i32] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp, (SVEDup0Undef:{ *:[nxv4i32] }))<<P:Predicate_asext_masked_load>><<P:Predicate_asext_masked_load_i8>> - Complexity = 10
                  // Dst: (LD1SB_S_IMM:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275589*/      /*Scope*/ 24, /*->275614*/
/*275590*/        OPC_CheckPredicate, 78, // Predicate_zext_masked_load
/*275592*/        OPC_CheckPredicate, 81, // Predicate_zext_masked_load_i16
/*275594*/        OPC_CheckType, MVT::nxv4i32,
/*275596*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275598*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275601*/        OPC_EmitMergeInputChains1_0,
/*275602*/        OPC_EmitInteger, MVT::i64, 0, 
/*275605*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv4i32, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv4i32] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp, (SVEDup0Undef:{ *:[nxv4i32] }))<<P:Predicate_zext_masked_load>><<P:Predicate_zext_masked_load_i16>> - Complexity = 10
                  // Dst: (LD1H_S_IMM:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275614*/      /*Scope*/ 24, /*->275639*/
/*275615*/        OPC_CheckPredicate, 80, // Predicate_asext_masked_load
/*275617*/        OPC_CheckPredicate, 81, // Predicate_asext_masked_load_i16
/*275619*/        OPC_CheckType, MVT::nxv4i32,
/*275621*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275623*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275626*/        OPC_EmitMergeInputChains1_0,
/*275627*/        OPC_EmitInteger, MVT::i64, 0, 
/*275630*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SH_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv4i32, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv4i32] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp, (SVEDup0Undef:{ *:[nxv4i32] }))<<P:Predicate_asext_masked_load>><<P:Predicate_asext_masked_load_i16>> - Complexity = 10
                  // Dst: (LD1SH_S_IMM:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275639*/      /*Scope*/ 22, /*->275662*/
/*275640*/        OPC_CheckPredicate, 83, // Predicate_nonext_masked_load
/*275642*/        OPC_CheckType, MVT::nxv4i32,
/*275644*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275646*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275649*/        OPC_EmitMergeInputChains1_0,
/*275650*/        OPC_EmitInteger, MVT::i64, 0, 
/*275653*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv4i32, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv4i32] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp, (SVEDup0Undef:{ *:[nxv4i32] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                  // Dst: (LD1W_IMM:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275662*/      /*Scope*/ 22, /*->275685*/
/*275663*/        OPC_CheckPredicate, 84, // Predicate_non_temporal_load
/*275665*/        OPC_CheckType, MVT::nxv4i32,
/*275667*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275669*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275672*/        OPC_EmitMergeInputChains1_0,
/*275673*/        OPC_EmitInteger, MVT::i64, 0, 
/*275676*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1W_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv4i32, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv4i32] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp, (SVEDup0Undef:{ *:[nxv4i32] }))<<P:Predicate_non_temporal_load>> - Complexity = 10
                  // Dst: (LDNT1W_ZRI:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275685*/      /*Scope*/ 44, /*->275730*/
/*275686*/        OPC_CheckPredicate, 83, // Predicate_nonext_masked_load
/*275688*/        OPC_SwitchType /*2 cases */, 18, MVT::nxv4f16,// ->275709
/*275691*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275693*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275696*/          OPC_EmitMergeInputChains1_0,
/*275697*/          OPC_EmitInteger, MVT::i64, 0, 
/*275700*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_S_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv4f16, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv4f16] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp, (SVEDup0Undef:{ *:[nxv4f16] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                    // Dst: (LD1H_S_IMM:{ *:[nxv4f16] } PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275709*/        /*SwitchType*/ 18, MVT::nxv4f32,// ->275729
/*275711*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275713*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275716*/          OPC_EmitMergeInputChains1_0,
/*275717*/          OPC_EmitInteger, MVT::i64, 0, 
/*275720*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1W_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv4f32, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv4f32] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv4i1] }:$gp, (SVEDup0Undef:{ *:[nxv4f32] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                    // Dst: (LD1W_IMM:{ *:[nxv4f32] } PPR:{ *:[nxv4i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275729*/        0, // EndSwitchType
/*275730*/      0, /*End of Scope*/
/*275731*/    /*Scope*/ 119, /*->275851*/
/*275732*/      OPC_CheckChild3Type, MVT::nxv8i1,
/*275734*/      OPC_RecordChild4, // #3 = $SVEDup0Undef
/*275735*/      OPC_SwitchType /*2 cases */, 90, MVT::nxv8i16,// ->275828
/*275738*/        OPC_Scope, 22, /*->275762*/ // 4 children in Scope
/*275740*/          OPC_CheckPredicate, 78, // Predicate_zext_masked_load
/*275742*/          OPC_CheckPredicate, 79, // Predicate_zext_masked_load_i8
/*275744*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275746*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275749*/          OPC_EmitMergeInputChains1_0,
/*275750*/          OPC_EmitInteger, MVT::i64, 0, 
/*275753*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv8i16, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv8i16] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp, (SVEDup0Undef:{ *:[nxv8i16] }))<<P:Predicate_zext_masked_load>><<P:Predicate_zext_masked_load_i8>> - Complexity = 10
                    // Dst: (LD1B_H_IMM:{ *:[nxv8i16] } PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275762*/        /*Scope*/ 22, /*->275785*/
/*275763*/          OPC_CheckPredicate, 80, // Predicate_asext_masked_load
/*275765*/          OPC_CheckPredicate, 79, // Predicate_asext_masked_load_i8
/*275767*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275769*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275772*/          OPC_EmitMergeInputChains1_0,
/*275773*/          OPC_EmitInteger, MVT::i64, 0, 
/*275776*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1SB_H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv8i16, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv8i16] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp, (SVEDup0Undef:{ *:[nxv8i16] }))<<P:Predicate_asext_masked_load>><<P:Predicate_asext_masked_load_i8>> - Complexity = 10
                    // Dst: (LD1SB_H_IMM:{ *:[nxv8i16] } PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275785*/        /*Scope*/ 20, /*->275806*/
/*275786*/          OPC_CheckPredicate, 83, // Predicate_nonext_masked_load
/*275788*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275790*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275793*/          OPC_EmitMergeInputChains1_0,
/*275794*/          OPC_EmitInteger, MVT::i64, 0, 
/*275797*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv8i16, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv8i16] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp, (SVEDup0Undef:{ *:[nxv8i16] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                    // Dst: (LD1H_IMM:{ *:[nxv8i16] } PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275806*/        /*Scope*/ 20, /*->275827*/
/*275807*/          OPC_CheckPredicate, 84, // Predicate_non_temporal_load
/*275809*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275811*/          OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275814*/          OPC_EmitMergeInputChains1_0,
/*275815*/          OPC_EmitInteger, MVT::i64, 0, 
/*275818*/          OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1H_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                        MVT::nxv8i16, 3/*#Ops*/, 2, 1, 4, 
                    // Src: (masked_ld:{ *:[nxv8i16] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp, (SVEDup0Undef:{ *:[nxv8i16] }))<<P:Predicate_non_temporal_load>> - Complexity = 10
                    // Dst: (LDNT1H_ZRI:{ *:[nxv8i16] } PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275827*/        0, /*End of Scope*/
/*275828*/      /*SwitchType*/ 20, MVT::nxv8f16,// ->275850
/*275830*/        OPC_CheckPredicate, 83, // Predicate_nonext_masked_load
/*275832*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275834*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275837*/        OPC_EmitMergeInputChains1_0,
/*275838*/        OPC_EmitInteger, MVT::i64, 0, 
/*275841*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1H_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv8f16, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv8f16] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv8i1] }:$gp, (SVEDup0Undef:{ *:[nxv8f16] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                  // Dst: (LD1H_IMM:{ *:[nxv8f16] } PPR:{ *:[nxv8i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275850*/      0, // EndSwitchType
/*275851*/    /*Scope*/ 49, /*->275901*/
/*275852*/      OPC_CheckChild3Type, MVT::nxv16i1,
/*275854*/      OPC_RecordChild4, // #3 = $SVEDup0Undef
/*275855*/      OPC_CheckType, MVT::nxv16i8,
/*275857*/      OPC_Scope, 20, /*->275879*/ // 2 children in Scope
/*275859*/        OPC_CheckPredicate, 83, // Predicate_nonext_masked_load
/*275861*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275863*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275866*/        OPC_EmitMergeInputChains1_0,
/*275867*/        OPC_EmitInteger, MVT::i64, 0, 
/*275870*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LD1B_IMM), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv16i8, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv16i8] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv16i1] }:$gp, (SVEDup0Undef:{ *:[nxv16i8] }))<<P:Predicate_nonext_masked_load>> - Complexity = 10
                  // Dst: (LD1B_IMM:{ *:[nxv16i8] } PPR:{ *:[nxv16i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275879*/      /*Scope*/ 20, /*->275900*/
/*275880*/        OPC_CheckPredicate, 84, // Predicate_non_temporal_load
/*275882*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275884*/        OPC_CheckComplexPat, /*CP*/54, /*#*/3, // SelectDupZeroOrUndef:$
/*275887*/        OPC_EmitMergeInputChains1_0,
/*275888*/        OPC_EmitInteger, MVT::i64, 0, 
/*275891*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::LDNT1B_ZRI), 0|OPFL_Chain|OPFL_MemRefs,
                      MVT::nxv16i8, 3/*#Ops*/, 2, 1, 4, 
                  // Src: (masked_ld:{ *:[nxv16i8] } GPR64:{ *:[i64] }:$base, (undef:{ *:[iPTR] }), PPR:{ *:[nxv16i1] }:$gp, (SVEDup0Undef:{ *:[nxv16i8] }))<<P:Predicate_non_temporal_load>> - Complexity = 10
                  // Dst: (LDNT1B_ZRI:{ *:[nxv16i8] } PPR:{ *:[nxv16i1] }:$gp, GPR64:{ *:[i64] }:$base, 0:{ *:[i64] })
/*275900*/      0, /*End of Scope*/
/*275901*/    0, /*End of Scope*/
/*275902*/  /*SwitchOpcode*/ 75|128,9/*1227*/, TARGET_VAL(ISD::SETCC),// ->277133
/*275906*/    OPC_RecordChild0, // #0 = $Zs1
/*275907*/    OPC_Scope, 48|128,2/*304*/, /*->276214*/ // 4 children in Scope
/*275910*/      OPC_CheckChild0Type, MVT::nxv16i8,
/*275912*/      OPC_MoveChild1,
/*275913*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*275916*/      OPC_RecordChild0, // #1 = $imm
/*275917*/      OPC_MoveChild0,
/*275918*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*275921*/      OPC_CheckType, MVT::i32,
/*275923*/      OPC_Scope, 42|128,1/*170*/, /*->276096*/ // 2 children in Scope
/*275926*/        OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*275928*/        OPC_MoveParent,
/*275929*/        OPC_MoveParent,
/*275930*/        OPC_CheckType, MVT::nxv16i1,
/*275932*/        OPC_Scope, 26, /*->275960*/ // 6 children in Scope
/*275934*/          OPC_CheckChild2CondCode, ISD::SETGE,
/*275936*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275938*/          OPC_EmitInteger, MVT::i32, 31, 
/*275941*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*275948*/          OPC_EmitConvertToTarget, 1,
/*275950*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETGE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPGE_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*275960*/        /*Scope*/ 26, /*->275987*/
/*275961*/          OPC_CheckChild2CondCode, ISD::SETGT,
/*275963*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275965*/          OPC_EmitInteger, MVT::i32, 31, 
/*275968*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*275975*/          OPC_EmitConvertToTarget, 1,
/*275977*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETGT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPGT_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*275987*/        /*Scope*/ 26, /*->276014*/
/*275988*/          OPC_CheckChild2CondCode, ISD::SETLT,
/*275990*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*275992*/          OPC_EmitInteger, MVT::i32, 31, 
/*275995*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276002*/          OPC_EmitConvertToTarget, 1,
/*276004*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETLT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLT_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276014*/        /*Scope*/ 26, /*->276041*/
/*276015*/          OPC_CheckChild2CondCode, ISD::SETLE,
/*276017*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276019*/          OPC_EmitInteger, MVT::i32, 31, 
/*276022*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276029*/          OPC_EmitConvertToTarget, 1,
/*276031*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETLE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLE_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276041*/        /*Scope*/ 26, /*->276068*/
/*276042*/          OPC_CheckChild2CondCode, ISD::SETEQ,
/*276044*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276046*/          OPC_EmitInteger, MVT::i32, 31, 
/*276049*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276056*/          OPC_EmitConvertToTarget, 1,
/*276058*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETEQ:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPEQ_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276068*/        /*Scope*/ 26, /*->276095*/
/*276069*/          OPC_CheckChild2CondCode, ISD::SETNE,
/*276071*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276073*/          OPC_EmitInteger, MVT::i32, 31, 
/*276076*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276083*/          OPC_EmitConvertToTarget, 1,
/*276085*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETNE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPNE_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276095*/        0, /*End of Scope*/
/*276096*/      /*Scope*/ 116, /*->276213*/
/*276097*/        OPC_CheckPredicate, 26, // Predicate_imm0_127
/*276099*/        OPC_MoveParent,
/*276100*/        OPC_MoveParent,
/*276101*/        OPC_CheckType, MVT::nxv16i1,
/*276103*/        OPC_Scope, 26, /*->276131*/ // 4 children in Scope
/*276105*/          OPC_CheckChild2CondCode, ISD::SETUGE,
/*276107*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276109*/          OPC_EmitInteger, MVT::i32, 31, 
/*276112*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276119*/          OPC_EmitConvertToTarget, 1,
/*276121*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETUGE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPHS_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276131*/        /*Scope*/ 26, /*->276158*/
/*276132*/          OPC_CheckChild2CondCode, ISD::SETUGT,
/*276134*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276136*/          OPC_EmitInteger, MVT::i32, 31, 
/*276139*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276146*/          OPC_EmitConvertToTarget, 1,
/*276148*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETUGT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPHI_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276158*/        /*Scope*/ 26, /*->276185*/
/*276159*/          OPC_CheckChild2CondCode, ISD::SETULT,
/*276161*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276163*/          OPC_EmitInteger, MVT::i32, 31, 
/*276166*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276173*/          OPC_EmitConvertToTarget, 1,
/*276175*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETULT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLO_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276185*/        /*Scope*/ 26, /*->276212*/
/*276186*/          OPC_CheckChild2CondCode, ISD::SETULE,
/*276188*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276190*/          OPC_EmitInteger, MVT::i32, 31, 
/*276193*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_B), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276200*/          OPC_EmitConvertToTarget, 1,
/*276202*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_PPzZI_B), 0,
                        MVT::nxv16i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv16i1] } ZPR:{ *:[nxv16i8] }:$Zs1, (AArch64dup:{ *:[nxv16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETULE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLS_PPzZI_B:{ *:[nxv16i1] }:{ *:[i32] } (PTRUE_B:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv16i8] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276212*/        0, /*End of Scope*/
/*276213*/      0, /*End of Scope*/
/*276214*/    /*Scope*/ 48|128,2/*304*/, /*->276520*/
/*276216*/      OPC_CheckChild0Type, MVT::nxv8i16,
/*276218*/      OPC_MoveChild1,
/*276219*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*276222*/      OPC_RecordChild0, // #1 = $imm
/*276223*/      OPC_MoveChild0,
/*276224*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*276227*/      OPC_CheckType, MVT::i32,
/*276229*/      OPC_Scope, 42|128,1/*170*/, /*->276402*/ // 2 children in Scope
/*276232*/        OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*276234*/        OPC_MoveParent,
/*276235*/        OPC_MoveParent,
/*276236*/        OPC_CheckType, MVT::nxv8i1,
/*276238*/        OPC_Scope, 26, /*->276266*/ // 6 children in Scope
/*276240*/          OPC_CheckChild2CondCode, ISD::SETGE,
/*276242*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276244*/          OPC_EmitInteger, MVT::i32, 31, 
/*276247*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276254*/          OPC_EmitConvertToTarget, 1,
/*276256*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETGE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPGE_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276266*/        /*Scope*/ 26, /*->276293*/
/*276267*/          OPC_CheckChild2CondCode, ISD::SETGT,
/*276269*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276271*/          OPC_EmitInteger, MVT::i32, 31, 
/*276274*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276281*/          OPC_EmitConvertToTarget, 1,
/*276283*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETGT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPGT_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276293*/        /*Scope*/ 26, /*->276320*/
/*276294*/          OPC_CheckChild2CondCode, ISD::SETLT,
/*276296*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276298*/          OPC_EmitInteger, MVT::i32, 31, 
/*276301*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276308*/          OPC_EmitConvertToTarget, 1,
/*276310*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETLT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLT_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276320*/        /*Scope*/ 26, /*->276347*/
/*276321*/          OPC_CheckChild2CondCode, ISD::SETLE,
/*276323*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276325*/          OPC_EmitInteger, MVT::i32, 31, 
/*276328*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276335*/          OPC_EmitConvertToTarget, 1,
/*276337*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETLE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLE_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276347*/        /*Scope*/ 26, /*->276374*/
/*276348*/          OPC_CheckChild2CondCode, ISD::SETEQ,
/*276350*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276352*/          OPC_EmitInteger, MVT::i32, 31, 
/*276355*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276362*/          OPC_EmitConvertToTarget, 1,
/*276364*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETEQ:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPEQ_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276374*/        /*Scope*/ 26, /*->276401*/
/*276375*/          OPC_CheckChild2CondCode, ISD::SETNE,
/*276377*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276379*/          OPC_EmitInteger, MVT::i32, 31, 
/*276382*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276389*/          OPC_EmitConvertToTarget, 1,
/*276391*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETNE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPNE_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276401*/        0, /*End of Scope*/
/*276402*/      /*Scope*/ 116, /*->276519*/
/*276403*/        OPC_CheckPredicate, 26, // Predicate_imm0_127
/*276405*/        OPC_MoveParent,
/*276406*/        OPC_MoveParent,
/*276407*/        OPC_CheckType, MVT::nxv8i1,
/*276409*/        OPC_Scope, 26, /*->276437*/ // 4 children in Scope
/*276411*/          OPC_CheckChild2CondCode, ISD::SETUGE,
/*276413*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276415*/          OPC_EmitInteger, MVT::i32, 31, 
/*276418*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276425*/          OPC_EmitConvertToTarget, 1,
/*276427*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETUGE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPHS_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276437*/        /*Scope*/ 26, /*->276464*/
/*276438*/          OPC_CheckChild2CondCode, ISD::SETUGT,
/*276440*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276442*/          OPC_EmitInteger, MVT::i32, 31, 
/*276445*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276452*/          OPC_EmitConvertToTarget, 1,
/*276454*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETUGT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPHI_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276464*/        /*Scope*/ 26, /*->276491*/
/*276465*/          OPC_CheckChild2CondCode, ISD::SETULT,
/*276467*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276469*/          OPC_EmitInteger, MVT::i32, 31, 
/*276472*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276479*/          OPC_EmitConvertToTarget, 1,
/*276481*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETULT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLO_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276491*/        /*Scope*/ 26, /*->276518*/
/*276492*/          OPC_CheckChild2CondCode, ISD::SETULE,
/*276494*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276496*/          OPC_EmitInteger, MVT::i32, 31, 
/*276499*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_H), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276506*/          OPC_EmitConvertToTarget, 1,
/*276508*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_PPzZI_H), 0,
                        MVT::nxv8i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv8i1] } ZPR:{ *:[nxv8i16] }:$Zs1, (AArch64dup:{ *:[nxv8i16] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETULE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLS_PPzZI_H:{ *:[nxv8i1] }:{ *:[i32] } (PTRUE_H:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv8i16] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276518*/        0, /*End of Scope*/
/*276519*/      0, /*End of Scope*/
/*276520*/    /*Scope*/ 48|128,2/*304*/, /*->276826*/
/*276522*/      OPC_CheckChild0Type, MVT::nxv4i32,
/*276524*/      OPC_MoveChild1,
/*276525*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*276528*/      OPC_RecordChild0, // #1 = $imm
/*276529*/      OPC_MoveChild0,
/*276530*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*276533*/      OPC_CheckType, MVT::i32,
/*276535*/      OPC_Scope, 42|128,1/*170*/, /*->276708*/ // 2 children in Scope
/*276538*/        OPC_CheckPredicate, 25, // Predicate_simm5_32b
/*276540*/        OPC_MoveParent,
/*276541*/        OPC_MoveParent,
/*276542*/        OPC_CheckType, MVT::nxv4i1,
/*276544*/        OPC_Scope, 26, /*->276572*/ // 6 children in Scope
/*276546*/          OPC_CheckChild2CondCode, ISD::SETGE,
/*276548*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276550*/          OPC_EmitInteger, MVT::i32, 31, 
/*276553*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276560*/          OPC_EmitConvertToTarget, 1,
/*276562*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETGE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPGE_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276572*/        /*Scope*/ 26, /*->276599*/
/*276573*/          OPC_CheckChild2CondCode, ISD::SETGT,
/*276575*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276577*/          OPC_EmitInteger, MVT::i32, 31, 
/*276580*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276587*/          OPC_EmitConvertToTarget, 1,
/*276589*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETGT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPGT_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276599*/        /*Scope*/ 26, /*->276626*/
/*276600*/          OPC_CheckChild2CondCode, ISD::SETLT,
/*276602*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276604*/          OPC_EmitInteger, MVT::i32, 31, 
/*276607*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276614*/          OPC_EmitConvertToTarget, 1,
/*276616*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETLT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLT_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276626*/        /*Scope*/ 26, /*->276653*/
/*276627*/          OPC_CheckChild2CondCode, ISD::SETLE,
/*276629*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276631*/          OPC_EmitInteger, MVT::i32, 31, 
/*276634*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276641*/          OPC_EmitConvertToTarget, 1,
/*276643*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETLE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLE_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276653*/        /*Scope*/ 26, /*->276680*/
/*276654*/          OPC_CheckChild2CondCode, ISD::SETEQ,
/*276656*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276658*/          OPC_EmitInteger, MVT::i32, 31, 
/*276661*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276668*/          OPC_EmitConvertToTarget, 1,
/*276670*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETEQ:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPEQ_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276680*/        /*Scope*/ 26, /*->276707*/
/*276681*/          OPC_CheckChild2CondCode, ISD::SETNE,
/*276683*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276685*/          OPC_EmitInteger, MVT::i32, 31, 
/*276688*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276695*/          OPC_EmitConvertToTarget, 1,
/*276697*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm), SETNE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPNE_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_simm5_32b>>:$imm)
/*276707*/        0, /*End of Scope*/
/*276708*/      /*Scope*/ 116, /*->276825*/
/*276709*/        OPC_CheckPredicate, 26, // Predicate_imm0_127
/*276711*/        OPC_MoveParent,
/*276712*/        OPC_MoveParent,
/*276713*/        OPC_CheckType, MVT::nxv4i1,
/*276715*/        OPC_Scope, 26, /*->276743*/ // 4 children in Scope
/*276717*/          OPC_CheckChild2CondCode, ISD::SETUGE,
/*276719*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276721*/          OPC_EmitInteger, MVT::i32, 31, 
/*276724*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276731*/          OPC_EmitConvertToTarget, 1,
/*276733*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETUGE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPHS_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276743*/        /*Scope*/ 26, /*->276770*/
/*276744*/          OPC_CheckChild2CondCode, ISD::SETUGT,
/*276746*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276748*/          OPC_EmitInteger, MVT::i32, 31, 
/*276751*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276758*/          OPC_EmitConvertToTarget, 1,
/*276760*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETUGT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPHI_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276770*/        /*Scope*/ 26, /*->276797*/
/*276771*/          OPC_CheckChild2CondCode, ISD::SETULT,
/*276773*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276775*/          OPC_EmitInteger, MVT::i32, 31, 
/*276778*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276785*/          OPC_EmitConvertToTarget, 1,
/*276787*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETULT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLO_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276797*/        /*Scope*/ 26, /*->276824*/
/*276798*/          OPC_CheckChild2CondCode, ISD::SETULE,
/*276800*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276802*/          OPC_EmitInteger, MVT::i32, 31, 
/*276805*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_S), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276812*/          OPC_EmitConvertToTarget, 1,
/*276814*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_PPzZI_S), 0,
                        MVT::nxv4i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv4i1] } ZPR:{ *:[nxv4i32] }:$Zs1, (AArch64dup:{ *:[nxv4i32] } (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm), SETULE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLS_PPzZI_S:{ *:[nxv4i1] }:{ *:[i32] } (PTRUE_S:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv4i32] }:$Zs1, (imm:{ *:[i32] })<<P:Predicate_imm0_127>>:$imm)
/*276824*/        0, /*End of Scope*/
/*276825*/      0, /*End of Scope*/
/*276826*/    /*Scope*/ 48|128,2/*304*/, /*->277132*/
/*276828*/      OPC_CheckChild0Type, MVT::nxv2i64,
/*276830*/      OPC_MoveChild1,
/*276831*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::DUP),
/*276834*/      OPC_RecordChild0, // #1 = $imm
/*276835*/      OPC_MoveChild0,
/*276836*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*276839*/      OPC_CheckType, MVT::i64,
/*276841*/      OPC_Scope, 42|128,1/*170*/, /*->277014*/ // 2 children in Scope
/*276844*/        OPC_CheckPredicate, 25, // Predicate_simm5_64b
/*276846*/        OPC_MoveParent,
/*276847*/        OPC_MoveParent,
/*276848*/        OPC_CheckType, MVT::nxv2i1,
/*276850*/        OPC_Scope, 26, /*->276878*/ // 6 children in Scope
/*276852*/          OPC_CheckChild2CondCode, ISD::SETGE,
/*276854*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276856*/          OPC_EmitInteger, MVT::i32, 31, 
/*276859*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276866*/          OPC_EmitConvertToTarget, 1,
/*276868*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGE_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm), SETGE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPGE_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*276878*/        /*Scope*/ 26, /*->276905*/
/*276879*/          OPC_CheckChild2CondCode, ISD::SETGT,
/*276881*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276883*/          OPC_EmitInteger, MVT::i32, 31, 
/*276886*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276893*/          OPC_EmitConvertToTarget, 1,
/*276895*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPGT_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm), SETGT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPGT_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*276905*/        /*Scope*/ 26, /*->276932*/
/*276906*/          OPC_CheckChild2CondCode, ISD::SETLT,
/*276908*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276910*/          OPC_EmitInteger, MVT::i32, 31, 
/*276913*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276920*/          OPC_EmitConvertToTarget, 1,
/*276922*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLT_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm), SETLT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLT_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*276932*/        /*Scope*/ 26, /*->276959*/
/*276933*/          OPC_CheckChild2CondCode, ISD::SETLE,
/*276935*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276937*/          OPC_EmitInteger, MVT::i32, 31, 
/*276940*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276947*/          OPC_EmitConvertToTarget, 1,
/*276949*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLE_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm), SETLE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLE_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*276959*/        /*Scope*/ 26, /*->276986*/
/*276960*/          OPC_CheckChild2CondCode, ISD::SETEQ,
/*276962*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276964*/          OPC_EmitInteger, MVT::i32, 31, 
/*276967*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*276974*/          OPC_EmitConvertToTarget, 1,
/*276976*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPEQ_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm), SETEQ:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPEQ_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*276986*/        /*Scope*/ 26, /*->277013*/
/*276987*/          OPC_CheckChild2CondCode, ISD::SETNE,
/*276989*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*276991*/          OPC_EmitInteger, MVT::i32, 31, 
/*276994*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*277001*/          OPC_EmitConvertToTarget, 1,
/*277003*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPNE_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm), SETNE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPNE_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_simm5_64b>>:$imm)
/*277013*/        0, /*End of Scope*/
/*277014*/      /*Scope*/ 116, /*->277131*/
/*277015*/        OPC_CheckPredicate, 27, // Predicate_imm0_127_64b
/*277017*/        OPC_MoveParent,
/*277018*/        OPC_MoveParent,
/*277019*/        OPC_CheckType, MVT::nxv2i1,
/*277021*/        OPC_Scope, 26, /*->277049*/ // 4 children in Scope
/*277023*/          OPC_CheckChild2CondCode, ISD::SETUGE,
/*277025*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*277027*/          OPC_EmitInteger, MVT::i32, 31, 
/*277030*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*277037*/          OPC_EmitConvertToTarget, 1,
/*277039*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHS_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm), SETUGE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPHS_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)
/*277049*/        /*Scope*/ 26, /*->277076*/
/*277050*/          OPC_CheckChild2CondCode, ISD::SETUGT,
/*277052*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*277054*/          OPC_EmitInteger, MVT::i32, 31, 
/*277057*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*277064*/          OPC_EmitConvertToTarget, 1,
/*277066*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPHI_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm), SETUGT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPHI_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)
/*277076*/        /*Scope*/ 26, /*->277103*/
/*277077*/          OPC_CheckChild2CondCode, ISD::SETULT,
/*277079*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*277081*/          OPC_EmitInteger, MVT::i32, 31, 
/*277084*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*277091*/          OPC_EmitConvertToTarget, 1,
/*277093*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLO_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm), SETULT:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLO_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)
/*277103*/        /*Scope*/ 26, /*->277130*/
/*277104*/          OPC_CheckChild2CondCode, ISD::SETULE,
/*277106*/          OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*277108*/          OPC_EmitInteger, MVT::i32, 31, 
/*277111*/          OPC_EmitNode1, TARGET_VAL(AArch64::PTRUE_D), 0,
                        MVT::nxv2i1, 1/*#Ops*/, 2,  // Results = #3
/*277118*/          OPC_EmitConvertToTarget, 1,
/*277120*/          OPC_MorphNodeTo2, TARGET_VAL(AArch64::CMPLS_PPzZI_D), 0,
                        MVT::nxv2i1, MVT::i32, 3/*#Ops*/, 3, 0, 4, 
                    // Src: (setcc:{ *:[nxv2i1] } ZPR:{ *:[nxv2i64] }:$Zs1, (AArch64dup:{ *:[nxv2i64] } (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm), SETULE:{ *:[Other] }) - Complexity = 10
                    // Dst: (CMPLS_PPzZI_D:{ *:[nxv2i1] }:{ *:[i32] } (PTRUE_D:{ *:[nxv2i1] } 31:{ *:[i32] }), ZPR:{ *:[nxv2i64] }:$Zs1, (imm:{ *:[i64] })<<P:Predicate_imm0_127_64b>>:$imm)
/*277130*/        0, /*End of Scope*/
/*277131*/      0, /*End of Scope*/
/*277132*/    0, /*End of Scope*/
/*277133*/  /*SwitchOpcode*/ 61|128,1/*189*/, TARGET_VAL(AArch64ISD::NOT),// ->277326
/*277137*/    OPC_Scope, 110, /*->277249*/ // 2 children in Scope
/*277139*/      OPC_MoveChild0,
/*277140*/      OPC_CheckOpcode, TARGET_VAL(AArch64ISD::CMEQz),
/*277143*/      OPC_MoveChild0,
/*277144*/      OPC_CheckOpcode, TARGET_VAL(ISD::AND),
/*277147*/      OPC_RecordChild0, // #0 = $Rn
/*277148*/      OPC_RecordChild1, // #1 = $Rm
/*277149*/      OPC_MoveParent,
/*277150*/      OPC_MoveParent,
/*277151*/      OPC_SwitchType /*8 cases */, 10, MVT::v8i8,// ->277164
/*277154*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277156*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMTSTv8i8), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64not:{ *:[v8i8] } (AArch64cmeqz:{ *:[v8i8] } (and:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm))) - Complexity = 9
                  // Dst: (CMTSTv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*277164*/      /*SwitchType*/ 10, MVT::v16i8,// ->277176
/*277166*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277168*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMTSTv16i8), 0,
                      MVT::v16i8, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64not:{ *:[v16i8] } (AArch64cmeqz:{ *:[v16i8] } (and:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm))) - Complexity = 9
                  // Dst: (CMTSTv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*277176*/      /*SwitchType*/ 10, MVT::v4i16,// ->277188
/*277178*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277180*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMTSTv4i16), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64not:{ *:[v4i16] } (AArch64cmeqz:{ *:[v4i16] } (and:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm))) - Complexity = 9
                  // Dst: (CMTSTv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*277188*/      /*SwitchType*/ 10, MVT::v8i16,// ->277200
/*277190*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277192*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMTSTv8i16), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64not:{ *:[v8i16] } (AArch64cmeqz:{ *:[v8i16] } (and:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm))) - Complexity = 9
                  // Dst: (CMTSTv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*277200*/      /*SwitchType*/ 10, MVT::v2i32,// ->277212
/*277202*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277204*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMTSTv2i32), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64not:{ *:[v2i32] } (AArch64cmeqz:{ *:[v2i32] } (and:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm))) - Complexity = 9
                  // Dst: (CMTSTv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*277212*/      /*SwitchType*/ 10, MVT::v4i32,// ->277224
/*277214*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277216*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMTSTv4i32), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64not:{ *:[v4i32] } (AArch64cmeqz:{ *:[v4i32] } (and:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm))) - Complexity = 9
                  // Dst: (CMTSTv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*277224*/      /*SwitchType*/ 10, MVT::v2i64,// ->277236
/*277226*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277228*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMTSTv2i64), 0,
                      MVT::v2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64not:{ *:[v2i64] } (AArch64cmeqz:{ *:[v2i64] } (and:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm))) - Complexity = 9
                  // Dst: (CMTSTv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*277236*/      /*SwitchType*/ 10, MVT::v1i64,// ->277248
/*277238*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277240*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMTSTv1i64), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64not:{ *:[v1i64] } (AArch64cmeqz:{ *:[v1i64] } (and:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm))) - Complexity = 9
                  // Dst: (CMTSTv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*277248*/      0, // EndSwitchType
/*277249*/    /*Scope*/ 75, /*->277325*/
/*277250*/      OPC_RecordChild0, // #0 = $Rn
/*277251*/      OPC_SwitchType /*8 cases */, 7, MVT::v8i8,// ->277261
/*277254*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v8i8, 1/*#Ops*/, 0, 
                  // Src: (AArch64not:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                  // Dst: (NOTv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*277261*/      /*SwitchType*/ 7, MVT::v16i8,// ->277270
/*277263*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: (AArch64not:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                  // Dst: (NOTv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*277270*/      /*SwitchType*/ 7, MVT::v4i16,// ->277279
/*277272*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v4i16, 1/*#Ops*/, 0, 
                  // Src: (AArch64not:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                  // Dst: (NOTv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*277279*/      /*SwitchType*/ 7, MVT::v8i16,// ->277288
/*277281*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: (AArch64not:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                  // Dst: (NOTv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*277288*/      /*SwitchType*/ 7, MVT::v2i32,// ->277297
/*277290*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v2i32, 1/*#Ops*/, 0, 
                  // Src: (AArch64not:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                  // Dst: (NOTv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*277297*/      /*SwitchType*/ 7, MVT::v1i64,// ->277306
/*277299*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv8i8), 0,
                      MVT::v1i64, 1/*#Ops*/, 0, 
                  // Src: (AArch64not:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rn) - Complexity = 3
                  // Dst: (NOTv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rn)
/*277306*/      /*SwitchType*/ 7, MVT::v4i32,// ->277315
/*277308*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: (AArch64not:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                  // Dst: (NOTv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*277315*/      /*SwitchType*/ 7, MVT::v2i64,// ->277324
/*277317*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::NOTv16i8), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: (AArch64not:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                  // Dst: (NOTv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*277324*/      0, // EndSwitchType
/*277325*/    0, /*End of Scope*/
/*277326*/  /*SwitchOpcode*/ 17|128,3/*401*/, TARGET_VAL(ISD::EXTRACT_SUBVECTOR),// ->277731
/*277330*/    OPC_RecordChild0, // #0 = $Rn
/*277331*/    OPC_Scope, 97, /*->277430*/ // 5 children in Scope
/*277333*/      OPC_CheckChild1Integer, 0, 
/*277335*/      OPC_CheckChild1Type, MVT::i64,
/*277337*/      OPC_SwitchType /*7 cases */, 11, MVT::v4i16,// ->277351
/*277340*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277343*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 1, 
                  // Src: (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 0:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, dsub:{ *:[i32] })
/*277351*/      /*SwitchType*/ 11, MVT::v8i8,// ->277364
/*277353*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277356*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v8i8, 2/*#Ops*/, 0, 1, 
                  // Src: (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 0:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, dsub:{ *:[i32] })
/*277364*/      /*SwitchType*/ 11, MVT::v2i32,// ->277377
/*277366*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277369*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 1, 
                  // Src: (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 0:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, dsub:{ *:[i32] })
/*277377*/      /*SwitchType*/ 11, MVT::v1i64,// ->277390
/*277379*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277382*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v1i64, 2/*#Ops*/, 0, 1, 
                  // Src: (extract_subvector:{ *:[v1i64] } V128:{ *:[v2i64] }:$Rn, 0:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v1i64] } V128:{ *:[v2i64] }:$Rn, dsub:{ *:[i32] })
/*277390*/      /*SwitchType*/ 11, MVT::v2f32,// ->277403
/*277392*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277395*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 1, 
                  // Src: (extract_subvector:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rn, 0:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rn, dsub:{ *:[i32] })
/*277403*/      /*SwitchType*/ 11, MVT::v4f16,// ->277416
/*277405*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277408*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 1, 
                  // Src: (extract_subvector:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rn, 0:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rn, dsub:{ *:[i32] })
/*277416*/      /*SwitchType*/ 11, MVT::v1f64,// ->277429
/*277418*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277421*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v1f64, 2/*#Ops*/, 0, 1, 
                  // Src: (extract_subvector:{ *:[v1f64] } V128:{ *:[v2f64] }:$Rn, 0:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v1f64] } V128:{ *:[v2f64] }:$Rn, dsub:{ *:[i32] })
/*277429*/      0, // EndSwitchType
/*277430*/    /*Scope*/ 29, /*->277460*/
/*277431*/      OPC_CheckChild1Integer, 8, 
/*277433*/      OPC_CheckChild1Type, MVT::i64,
/*277435*/      OPC_CheckType, MVT::v8i8,
/*277437*/      OPC_EmitInteger, MVT::i32, 8, 
/*277440*/      OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                    MVT::f128, 3/*#Ops*/, 0, 0, 1,  // Results = #2
/*277449*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277452*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                    MVT::v8i8, 2/*#Ops*/, 2, 3, 
                // Src: (extract_subvector:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, 8:{ *:[i64] }) - Complexity = 8
                // Dst: (EXTRACT_SUBREG:{ *:[v8i8] } (EXTv16i8:{ *:[f128] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rn, 8:{ *:[i32] }), dsub:{ *:[i32] })
/*277460*/    /*Scope*/ 56, /*->277517*/
/*277461*/      OPC_CheckChild1Integer, 4, 
/*277463*/      OPC_CheckChild1Type, MVT::i64,
/*277465*/      OPC_SwitchType /*2 cases */, 23, MVT::v4i16,// ->277491
/*277468*/        OPC_EmitInteger, MVT::i32, 8, 
/*277471*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 0, 1,  // Results = #2
/*277480*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277483*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4i16, 2/*#Ops*/, 2, 3, 
                  // Src: (extract_subvector:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, 4:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v4i16] } (EXTv16i8:{ *:[f128] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rn, 8:{ *:[i32] }), dsub:{ *:[i32] })
/*277491*/      /*SwitchType*/ 23, MVT::v4f16,// ->277516
/*277493*/        OPC_EmitInteger, MVT::i32, 8, 
/*277496*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 0, 1,  // Results = #2
/*277505*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277508*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4f16, 2/*#Ops*/, 2, 3, 
                  // Src: (extract_subvector:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rn, 4:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v4f16] } (EXTv16i8:{ *:[f128] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rn, 8:{ *:[i32] }), dsub:{ *:[i32] })
/*277516*/      0, // EndSwitchType
/*277517*/    /*Scope*/ 56, /*->277574*/
/*277518*/      OPC_CheckChild1Integer, 2, 
/*277520*/      OPC_CheckChild1Type, MVT::i64,
/*277522*/      OPC_SwitchType /*2 cases */, 23, MVT::v2i32,// ->277548
/*277525*/        OPC_EmitInteger, MVT::i32, 8, 
/*277528*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 0, 1,  // Results = #2
/*277537*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277540*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2i32, 2/*#Ops*/, 2, 3, 
                  // Src: (extract_subvector:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, 2:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v2i32] } (EXTv16i8:{ *:[f128] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rn, 8:{ *:[i32] }), dsub:{ *:[i32] })
/*277548*/      /*SwitchType*/ 23, MVT::v2f32,// ->277573
/*277550*/        OPC_EmitInteger, MVT::i32, 8, 
/*277553*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 0, 1,  // Results = #2
/*277562*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277565*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2f32, 2/*#Ops*/, 2, 3, 
                  // Src: (extract_subvector:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rn, 2:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v2f32] } (EXTv16i8:{ *:[f128] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rn, 8:{ *:[i32] }), dsub:{ *:[i32] })
/*277573*/      0, // EndSwitchType
/*277574*/    /*Scope*/ 26|128,1/*154*/, /*->277730*/
/*277576*/      OPC_CheckChild1Integer, 1, 
/*277578*/      OPC_CheckChild1Type, MVT::i64,
/*277580*/      OPC_SwitchType /*5 cases */, 49, MVT::v1i64,// ->277632
/*277583*/        OPC_Scope, 23, /*->277608*/ // 2 children in Scope
/*277585*/          OPC_EmitInteger, MVT::i32, 8, 
/*277588*/          OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                        MVT::f128, 3/*#Ops*/, 0, 0, 1,  // Results = #2
/*277597*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277600*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v1i64, 2/*#Ops*/, 2, 3, 
                    // Src: (extract_subvector:{ *:[v1i64] } V128:{ *:[v2i64] }:$Rn, 1:{ *:[i64] }) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[v1i64] } (EXTv16i8:{ *:[f128] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rn, 8:{ *:[i32] }), dsub:{ *:[i32] })
/*277608*/        /*Scope*/ 22, /*->277631*/
/*277609*/          OPC_EmitInteger, MVT::i64, 1, 
/*277612*/          OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i64lane), 0,
                        MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #2
/*277620*/          OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277623*/          OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                        MVT::v1i64, 2/*#Ops*/, 2, 3, 
                    // Src: (extract_subvector:{ *:[v1i64] } FPR128:{ *:[v2i64] }:$Rn, 1:{ *:[i64] }) - Complexity = 8
                    // Dst: (EXTRACT_SUBREG:{ *:[v1i64] } (DUPv2i64lane:{ *:[f128] } FPR128:{ *:[v2i64] }:$Rn, 1:{ *:[i64] }), dsub:{ *:[i32] })
/*277631*/        0, /*End of Scope*/
/*277632*/      /*SwitchType*/ 22, MVT::v8i8,// ->277656
/*277634*/        OPC_EmitInteger, MVT::i64, 1, 
/*277637*/        OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i64lane), 0,
                      MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #2
/*277645*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277648*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v8i8, 2/*#Ops*/, 2, 3, 
                  // Src: (extract_subvector:{ *:[v8i8] } FPR128:{ *:[v16i8] }:$Rn, 1:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v8i8] } (DUPv2i64lane:{ *:[f128] } FPR128:{ *:[v16i8] }:$Rn, 1:{ *:[i64] }), dsub:{ *:[i32] })
/*277656*/      /*SwitchType*/ 22, MVT::v4i16,// ->277680
/*277658*/        OPC_EmitInteger, MVT::i64, 1, 
/*277661*/        OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i64lane), 0,
                      MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #2
/*277669*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277672*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4i16, 2/*#Ops*/, 2, 3, 
                  // Src: (extract_subvector:{ *:[v4i16] } FPR128:{ *:[v8i16] }:$Rn, 1:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v4i16] } (DUPv2i64lane:{ *:[f128] } FPR128:{ *:[v8i16] }:$Rn, 1:{ *:[i64] }), dsub:{ *:[i32] })
/*277680*/      /*SwitchType*/ 22, MVT::v2i32,// ->277704
/*277682*/        OPC_EmitInteger, MVT::i64, 1, 
/*277685*/        OPC_EmitNode1, TARGET_VAL(AArch64::DUPv2i64lane), 0,
                      MVT::f128, 2/*#Ops*/, 0, 1,  // Results = #2
/*277693*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277696*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2i32, 2/*#Ops*/, 2, 3, 
                  // Src: (extract_subvector:{ *:[v2i32] } FPR128:{ *:[v4i32] }:$Rn, 1:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v2i32] } (DUPv2i64lane:{ *:[f128] } FPR128:{ *:[v4i32] }:$Rn, 1:{ *:[i64] }), dsub:{ *:[i32] })
/*277704*/      /*SwitchType*/ 23, MVT::v1f64,// ->277729
/*277706*/        OPC_EmitInteger, MVT::i32, 8, 
/*277709*/        OPC_EmitNode1, TARGET_VAL(AArch64::EXTv16i8), 0,
                      MVT::f128, 3/*#Ops*/, 0, 0, 1,  // Results = #2
/*277718*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*277721*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v1f64, 2/*#Ops*/, 2, 3, 
                  // Src: (extract_subvector:{ *:[v1f64] } V128:{ *:[v2f64] }:$Rn, 1:{ *:[i64] }) - Complexity = 8
                  // Dst: (EXTRACT_SUBREG:{ *:[v1f64] } (EXTv16i8:{ *:[f128] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rn, 8:{ *:[i32] }), dsub:{ *:[i32] })
/*277729*/      0, // EndSwitchType
/*277730*/    0, /*End of Scope*/
/*277731*/  /*SwitchOpcode*/ 54, TARGET_VAL(AArch64ISD::PTRUE),// ->277788
/*277734*/    OPC_RecordChild0, // #0 = $pattern
/*277735*/    OPC_MoveChild0,
/*277736*/    OPC_CheckOpcode, TARGET_VAL(ISD::TargetConstant),
/*277739*/    OPC_CheckPredicate, 24, // Predicate_sve_pred_enum
/*277741*/    OPC_MoveParent,
/*277742*/    OPC_SwitchType /*4 cases */, 9, MVT::nxv16i1,// ->277754
/*277745*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*277747*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::PTRUE_B), 0,
                    MVT::nxv16i1, 1/*#Ops*/, 0, 
                // Src: (AArch64ptrue:{ *:[nxv16i1] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern) - Complexity = 7
                // Dst: (PTRUE_B:{ *:[nxv16i1] } (timm:{ *:[i32] }):$pattern)
/*277754*/    /*SwitchType*/ 9, MVT::nxv8i1,// ->277765
/*277756*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*277758*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::PTRUE_H), 0,
                    MVT::nxv8i1, 1/*#Ops*/, 0, 
                // Src: (AArch64ptrue:{ *:[nxv8i1] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern) - Complexity = 7
                // Dst: (PTRUE_H:{ *:[nxv8i1] } (timm:{ *:[i32] }):$pattern)
/*277765*/    /*SwitchType*/ 9, MVT::nxv4i1,// ->277776
/*277767*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*277769*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::PTRUE_S), 0,
                    MVT::nxv4i1, 1/*#Ops*/, 0, 
                // Src: (AArch64ptrue:{ *:[nxv4i1] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern) - Complexity = 7
                // Dst: (PTRUE_S:{ *:[nxv4i1] } (timm:{ *:[i32] }):$pattern)
/*277776*/    /*SwitchType*/ 9, MVT::nxv2i1,// ->277787
/*277778*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*277780*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::PTRUE_D), 0,
                    MVT::nxv2i1, 1/*#Ops*/, 0, 
                // Src: (AArch64ptrue:{ *:[nxv2i1] } (timm:{ *:[i32] })<<P:Predicate_sve_pred_enum>>:$pattern) - Complexity = 7
                // Dst: (PTRUE_D:{ *:[nxv2i1] } (timm:{ *:[i32] }):$pattern)
/*277787*/    0, // EndSwitchType
/*277788*/  /*SwitchOpcode*/ 55, TARGET_VAL(AArch64ISD::DUPLANE64),// ->277846
/*277791*/    OPC_RecordChild0, // #0 = $Rn
/*277792*/    OPC_Scope, 26, /*->277820*/ // 2 children in Scope
/*277794*/      OPC_CheckChild0Type, MVT::v2i64,
/*277796*/      OPC_RecordChild1, // #1 = $idx
/*277797*/      OPC_MoveChild1,
/*277798*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*277801*/      OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*277803*/      OPC_CheckType, MVT::i64,
/*277805*/      OPC_MoveParent,
/*277806*/      OPC_CheckType, MVT::v2i64,
/*277808*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277810*/      OPC_EmitConvertToTarget, 1,
/*277812*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i64lane), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64duplane64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$idx) - Complexity = 7
                // Dst: (DUPv2i64lane:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, (imm:{ *:[i64] }):$idx)
/*277820*/    /*Scope*/ 24, /*->277845*/
/*277821*/      OPC_CheckChild0Type, MVT::v2f64,
/*277823*/      OPC_RecordChild1, // #1 = $imm
/*277824*/      OPC_MoveChild1,
/*277825*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*277828*/      OPC_CheckPredicate, 3, // Predicate_VectorIndexD
/*277830*/      OPC_CheckType, MVT::i64,
/*277832*/      OPC_MoveParent,
/*277833*/      OPC_CheckType, MVT::v2f64,
/*277835*/      OPC_EmitConvertToTarget, 1,
/*277837*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i64lane), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64duplane64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$imm) - Complexity = 7
                // Dst: (DUPv2i64lane:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexD>>:$imm)
/*277845*/    0, /*End of Scope*/
/*277846*/  /*SwitchOpcode*/ 85, TARGET_VAL(AArch64ISD::DUPLANE32),// ->277934
/*277849*/    OPC_RecordChild0, // #0 = $Rn
/*277850*/    OPC_Scope, 42, /*->277894*/ // 2 children in Scope
/*277852*/      OPC_CheckChild0Type, MVT::v4i32,
/*277854*/      OPC_RecordChild1, // #1 = $idx
/*277855*/      OPC_MoveChild1,
/*277856*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*277859*/      OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*277861*/      OPC_CheckType, MVT::i64,
/*277863*/      OPC_MoveParent,
/*277864*/      OPC_SwitchType /*2 cases */, 12, MVT::v2i32,// ->277879
/*277867*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277869*/        OPC_EmitConvertToTarget, 1,
/*277871*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i32lane), 0,
                      MVT::v2i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64duplane32:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 7
                  // Dst: (DUPv2i32lane:{ *:[v2i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] }):$idx)
/*277879*/      /*SwitchType*/ 12, MVT::v4i32,// ->277893
/*277881*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277883*/        OPC_EmitConvertToTarget, 1,
/*277885*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i32lane), 0,
                      MVT::v4i32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64duplane32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$idx) - Complexity = 7
                  // Dst: (DUPv4i32lane:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, (imm:{ *:[i64] }):$idx)
/*277893*/      0, // EndSwitchType
/*277894*/    /*Scope*/ 38, /*->277933*/
/*277895*/      OPC_CheckChild0Type, MVT::v4f32,
/*277897*/      OPC_RecordChild1, // #1 = $imm
/*277898*/      OPC_MoveChild1,
/*277899*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*277902*/      OPC_CheckPredicate, 2, // Predicate_VectorIndexS
/*277904*/      OPC_CheckType, MVT::i64,
/*277906*/      OPC_MoveParent,
/*277907*/      OPC_SwitchType /*2 cases */, 10, MVT::v2f32,// ->277920
/*277910*/        OPC_EmitConvertToTarget, 1,
/*277912*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv2i32lane), 0,
                      MVT::v2f32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64duplane32:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm) - Complexity = 7
                  // Dst: (DUPv2i32lane:{ *:[v2f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm)
/*277920*/      /*SwitchType*/ 10, MVT::v4f32,// ->277932
/*277922*/        OPC_EmitConvertToTarget, 1,
/*277924*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i32lane), 0,
                      MVT::v4f32, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64duplane32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm) - Complexity = 7
                  // Dst: (DUPv4i32lane:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexS>>:$imm)
/*277932*/      0, // EndSwitchType
/*277933*/    0, /*End of Scope*/
/*277934*/  /*SwitchOpcode*/ 85, TARGET_VAL(AArch64ISD::DUPLANE16),// ->278022
/*277937*/    OPC_RecordChild0, // #0 = $Rn
/*277938*/    OPC_Scope, 42, /*->277982*/ // 2 children in Scope
/*277940*/      OPC_CheckChild0Type, MVT::v8i16,
/*277942*/      OPC_RecordChild1, // #1 = $idx
/*277943*/      OPC_MoveChild1,
/*277944*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*277947*/      OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*277949*/      OPC_CheckType, MVT::i64,
/*277951*/      OPC_MoveParent,
/*277952*/      OPC_SwitchType /*2 cases */, 12, MVT::v4i16,// ->277967
/*277955*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277957*/        OPC_EmitConvertToTarget, 1,
/*277959*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i16lane), 0,
                      MVT::v4i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64duplane16:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 7
                  // Dst: (DUPv4i16lane:{ *:[v4i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] }):$idx)
/*277967*/      /*SwitchType*/ 12, MVT::v8i16,// ->277981
/*277969*/        OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*277971*/        OPC_EmitConvertToTarget, 1,
/*277973*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i16lane), 0,
                      MVT::v8i16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64duplane16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$idx) - Complexity = 7
                  // Dst: (DUPv8i16lane:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, (imm:{ *:[i64] }):$idx)
/*277981*/      0, // EndSwitchType
/*277982*/    /*Scope*/ 38, /*->278021*/
/*277983*/      OPC_CheckChild0Type, MVT::v8f16,
/*277985*/      OPC_RecordChild1, // #1 = $imm
/*277986*/      OPC_MoveChild1,
/*277987*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*277990*/      OPC_CheckPredicate, 1, // Predicate_VectorIndexH
/*277992*/      OPC_CheckType, MVT::i64,
/*277994*/      OPC_MoveParent,
/*277995*/      OPC_SwitchType /*2 cases */, 10, MVT::v4f16,// ->278008
/*277998*/        OPC_EmitConvertToTarget, 1,
/*278000*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv4i16lane), 0,
                      MVT::v4f16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64duplane16:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$imm) - Complexity = 7
                  // Dst: (DUPv4i16lane:{ *:[v4f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$imm)
/*278008*/      /*SwitchType*/ 10, MVT::v8f16,// ->278020
/*278010*/        OPC_EmitConvertToTarget, 1,
/*278012*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i16lane), 0,
                      MVT::v8f16, 2/*#Ops*/, 0, 2, 
                  // Src: (AArch64duplane16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$imm) - Complexity = 7
                  // Dst: (DUPv8i16lane:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexH>>:$imm)
/*278020*/      0, // EndSwitchType
/*278021*/    0, /*End of Scope*/
/*278022*/  /*SwitchOpcode*/ 43, TARGET_VAL(AArch64ISD::DUPLANE8),// ->278068
/*278025*/    OPC_RecordChild0, // #0 = $Rn
/*278026*/    OPC_CheckChild0Type, MVT::v16i8,
/*278028*/    OPC_RecordChild1, // #1 = $idx
/*278029*/    OPC_MoveChild1,
/*278030*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*278033*/    OPC_CheckPredicate, 0, // Predicate_VectorIndexB
/*278035*/    OPC_CheckType, MVT::i64,
/*278037*/    OPC_MoveParent,
/*278038*/    OPC_SwitchType /*2 cases */, 12, MVT::v8i8,// ->278053
/*278041*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278043*/      OPC_EmitConvertToTarget, 1,
/*278045*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv8i8lane), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64duplane8:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx) - Complexity = 7
                // Dst: (DUPv8i8lane:{ *:[v8i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] }):$idx)
/*278053*/    /*SwitchType*/ 12, MVT::v16i8,// ->278067
/*278055*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278057*/      OPC_EmitConvertToTarget, 1,
/*278059*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::DUPv16i8lane), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 2, 
                // Src: (AArch64duplane8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] })<<P:Predicate_VectorIndexB>>:$idx) - Complexity = 7
                // Dst: (DUPv16i8lane:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, (imm:{ *:[i64] }):$idx)
/*278067*/    0, // EndSwitchType
/*278068*/  /*SwitchOpcode*/ 38, TARGET_VAL(AArch64ISD::MOVI),// ->278109
/*278071*/    OPC_RecordChild0, // #0 = $imm8
/*278072*/    OPC_MoveChild0,
/*278073*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*278076*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*278078*/    OPC_CheckType, MVT::i32,
/*278080*/    OPC_MoveParent,
/*278081*/    OPC_SwitchType /*2 cases */, 11, MVT::v8i8,// ->278095
/*278084*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278086*/      OPC_EmitConvertToTarget, 0,
/*278088*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv8b_ns), 0,
                    MVT::v8i8, 1/*#Ops*/, 1, 
                // Src: (AArch64movi:{ *:[v8i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8) - Complexity = 7
                // Dst: (MOVIv8b_ns:{ *:[v8i8] } (imm:{ *:[i32] }):$imm8)
/*278095*/    /*SwitchType*/ 11, MVT::v16i8,// ->278108
/*278097*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278099*/      OPC_EmitConvertToTarget, 0,
/*278101*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv16b_ns), 0,
                    MVT::v16i8, 1/*#Ops*/, 1, 
                // Src: (AArch64movi:{ *:[v16i8] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8) - Complexity = 7
                // Dst: (MOVIv16b_ns:{ *:[v16i8] } (imm:{ *:[i32] }):$imm8)
/*278108*/    0, // EndSwitchType
/*278109*/  /*SwitchOpcode*/ 31|128,1/*159*/, TARGET_VAL(AArch64ISD::GLD1S_IMM),// ->278272
/*278113*/    OPC_RecordNode, // #0 = 'AArch64ld1s_gather_imm' chained node
/*278114*/    OPC_CaptureGlueInput,
/*278115*/    OPC_RecordChild1, // #1 = $gp
/*278116*/    OPC_RecordChild2, // #2 = $ptrs
/*278117*/    OPC_Scope, 62, /*->278181*/ // 2 children in Scope
/*278119*/      OPC_CheckChild2Type, MVT::nxv4i32,
/*278121*/      OPC_RecordChild3, // #3 = $index
/*278122*/      OPC_MoveChild3,
/*278123*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*278126*/      OPC_CheckType, MVT::i64,
/*278128*/      OPC_Scope, 23, /*->278153*/ // 2 children in Scope
/*278130*/        OPC_CheckPredicate, 35, // Predicate_imm0_31
/*278132*/        OPC_MoveParent,
/*278133*/        OPC_MoveChild4,
/*278134*/        OPC_CheckValueType, MVT::nxv4i8,
/*278136*/        OPC_MoveParent,
/*278137*/        OPC_CheckType, MVT::nxv4i32,
/*278139*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278141*/        OPC_EmitMergeInputChains1_0,
/*278142*/        OPC_EmitConvertToTarget, 3,
/*278144*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_S_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 4, 
                  // Src: (AArch64ld1s_gather_imm:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$index, nxv4i8:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1SB_S_IMM_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$index)
/*278153*/      /*Scope*/ 26, /*->278180*/
/*278154*/        OPC_CheckPredicate, 58, // Predicate_uimm5s2
/*278156*/        OPC_MoveParent,
/*278157*/        OPC_MoveChild4,
/*278158*/        OPC_CheckValueType, MVT::nxv4i16,
/*278160*/        OPC_MoveParent,
/*278161*/        OPC_CheckType, MVT::nxv4i32,
/*278163*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278165*/        OPC_EmitMergeInputChains1_0,
/*278166*/        OPC_EmitConvertToTarget, 3,
/*278168*/        OPC_EmitNodeXForm, 15, 4, // UImmS2XForm
/*278171*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 5, 
                  // Src: (AArch64ld1s_gather_imm:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_uimm5s2>><<X:UImmS2XForm>>:$index, nxv4i16:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1SH_S_IMM_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (UImmS2XForm:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_uimm5s2>>:$index))
/*278180*/      0, /*End of Scope*/
/*278181*/    /*Scope*/ 89, /*->278271*/
/*278182*/      OPC_CheckChild2Type, MVT::nxv2i64,
/*278184*/      OPC_RecordChild3, // #3 = $index
/*278185*/      OPC_MoveChild3,
/*278186*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*278189*/      OPC_CheckType, MVT::i64,
/*278191*/      OPC_Scope, 23, /*->278216*/ // 3 children in Scope
/*278193*/        OPC_CheckPredicate, 35, // Predicate_imm0_31
/*278195*/        OPC_MoveParent,
/*278196*/        OPC_MoveChild4,
/*278197*/        OPC_CheckValueType, MVT::nxv2i8,
/*278199*/        OPC_MoveParent,
/*278200*/        OPC_CheckType, MVT::nxv2i64,
/*278202*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278204*/        OPC_EmitMergeInputChains1_0,
/*278205*/        OPC_EmitConvertToTarget, 3,
/*278207*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 4, 
                  // Src: (AArch64ld1s_gather_imm:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$index, nxv2i8:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1SB_D_IMM_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$index)
/*278216*/      /*Scope*/ 26, /*->278243*/
/*278217*/        OPC_CheckPredicate, 58, // Predicate_uimm5s2
/*278219*/        OPC_MoveParent,
/*278220*/        OPC_MoveChild4,
/*278221*/        OPC_CheckValueType, MVT::nxv2i16,
/*278223*/        OPC_MoveParent,
/*278224*/        OPC_CheckType, MVT::nxv2i64,
/*278226*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278228*/        OPC_EmitMergeInputChains1_0,
/*278229*/        OPC_EmitConvertToTarget, 3,
/*278231*/        OPC_EmitNodeXForm, 15, 4, // UImmS2XForm
/*278234*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 5, 
                  // Src: (AArch64ld1s_gather_imm:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_uimm5s2>><<X:UImmS2XForm>>:$index, nxv2i16:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1SH_D_IMM_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (UImmS2XForm:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_uimm5s2>>:$index))
/*278243*/      /*Scope*/ 26, /*->278270*/
/*278244*/        OPC_CheckPredicate, 59, // Predicate_uimm5s4
/*278246*/        OPC_MoveParent,
/*278247*/        OPC_MoveChild4,
/*278248*/        OPC_CheckValueType, MVT::nxv2i32,
/*278250*/        OPC_MoveParent,
/*278251*/        OPC_CheckType, MVT::nxv2i64,
/*278253*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278255*/        OPC_EmitMergeInputChains1_0,
/*278256*/        OPC_EmitConvertToTarget, 3,
/*278258*/        OPC_EmitNodeXForm, 16, 4, // UImmS4XForm
/*278261*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 5, 
                  // Src: (AArch64ld1s_gather_imm:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_uimm5s4>><<X:UImmS4XForm>>:$index, nxv2i32:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1SW_D_IMM_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (UImmS4XForm:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_uimm5s4>>:$index))
/*278270*/      0, /*End of Scope*/
/*278271*/    0, /*End of Scope*/
/*278272*/  /*SwitchOpcode*/ 85|128,1/*213*/, TARGET_VAL(AArch64ISD::GLD1_IMM),// ->278489
/*278276*/    OPC_RecordNode, // #0 = 'AArch64ld1_gather_imm' chained node
/*278277*/    OPC_CaptureGlueInput,
/*278278*/    OPC_RecordChild1, // #1 = $gp
/*278279*/    OPC_RecordChild2, // #2 = $ptrs
/*278280*/    OPC_Scope, 89, /*->278371*/ // 2 children in Scope
/*278282*/      OPC_CheckChild2Type, MVT::nxv4i32,
/*278284*/      OPC_RecordChild3, // #3 = $index
/*278285*/      OPC_MoveChild3,
/*278286*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*278289*/      OPC_CheckType, MVT::i64,
/*278291*/      OPC_Scope, 23, /*->278316*/ // 3 children in Scope
/*278293*/        OPC_CheckPredicate, 35, // Predicate_imm0_31
/*278295*/        OPC_MoveParent,
/*278296*/        OPC_MoveChild4,
/*278297*/        OPC_CheckValueType, MVT::nxv4i8,
/*278299*/        OPC_MoveParent,
/*278300*/        OPC_CheckType, MVT::nxv4i32,
/*278302*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278304*/        OPC_EmitMergeInputChains1_0,
/*278305*/        OPC_EmitConvertToTarget, 3,
/*278307*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_S_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 4, 
                  // Src: (AArch64ld1_gather_imm:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$index, nxv4i8:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1B_S_IMM_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$index)
/*278316*/      /*Scope*/ 26, /*->278343*/
/*278317*/        OPC_CheckPredicate, 58, // Predicate_uimm5s2
/*278319*/        OPC_MoveParent,
/*278320*/        OPC_MoveChild4,
/*278321*/        OPC_CheckValueType, MVT::nxv4i16,
/*278323*/        OPC_MoveParent,
/*278324*/        OPC_CheckType, MVT::nxv4i32,
/*278326*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278328*/        OPC_EmitMergeInputChains1_0,
/*278329*/        OPC_EmitConvertToTarget, 3,
/*278331*/        OPC_EmitNodeXForm, 15, 4, // UImmS2XForm
/*278334*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 5, 
                  // Src: (AArch64ld1_gather_imm:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_uimm5s2>><<X:UImmS2XForm>>:$index, nxv4i16:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1H_S_IMM_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (UImmS2XForm:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_uimm5s2>>:$index))
/*278343*/      /*Scope*/ 26, /*->278370*/
/*278344*/        OPC_CheckPredicate, 59, // Predicate_uimm5s4
/*278346*/        OPC_MoveParent,
/*278347*/        OPC_MoveChild4,
/*278348*/        OPC_CheckValueType, MVT::nxv4i32,
/*278350*/        OPC_MoveParent,
/*278351*/        OPC_CheckType, MVT::nxv4i32,
/*278353*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278355*/        OPC_EmitMergeInputChains1_0,
/*278356*/        OPC_EmitConvertToTarget, 3,
/*278358*/        OPC_EmitNodeXForm, 16, 4, // UImmS4XForm
/*278361*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 5, 
                  // Src: (AArch64ld1_gather_imm:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_uimm5s4>><<X:UImmS4XForm>>:$index, nxv4i32:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1W_IMM_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, ZPR:{ *:[nxv4i32] }:$ptrs, (UImmS4XForm:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_uimm5s4>>:$index))
/*278370*/      0, /*End of Scope*/
/*278371*/    /*Scope*/ 116, /*->278488*/
/*278372*/      OPC_CheckChild2Type, MVT::nxv2i64,
/*278374*/      OPC_RecordChild3, // #3 = $index
/*278375*/      OPC_MoveChild3,
/*278376*/      OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*278379*/      OPC_CheckType, MVT::i64,
/*278381*/      OPC_Scope, 23, /*->278406*/ // 4 children in Scope
/*278383*/        OPC_CheckPredicate, 35, // Predicate_imm0_31
/*278385*/        OPC_MoveParent,
/*278386*/        OPC_MoveChild4,
/*278387*/        OPC_CheckValueType, MVT::nxv2i8,
/*278389*/        OPC_MoveParent,
/*278390*/        OPC_CheckType, MVT::nxv2i64,
/*278392*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278394*/        OPC_EmitMergeInputChains1_0,
/*278395*/        OPC_EmitConvertToTarget, 3,
/*278397*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 4, 
                  // Src: (AArch64ld1_gather_imm:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$index, nxv2i8:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1B_D_IMM_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_imm0_31>>:$index)
/*278406*/      /*Scope*/ 26, /*->278433*/
/*278407*/        OPC_CheckPredicate, 58, // Predicate_uimm5s2
/*278409*/        OPC_MoveParent,
/*278410*/        OPC_MoveChild4,
/*278411*/        OPC_CheckValueType, MVT::nxv2i16,
/*278413*/        OPC_MoveParent,
/*278414*/        OPC_CheckType, MVT::nxv2i64,
/*278416*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278418*/        OPC_EmitMergeInputChains1_0,
/*278419*/        OPC_EmitConvertToTarget, 3,
/*278421*/        OPC_EmitNodeXForm, 15, 4, // UImmS2XForm
/*278424*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 5, 
                  // Src: (AArch64ld1_gather_imm:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_uimm5s2>><<X:UImmS2XForm>>:$index, nxv2i16:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1H_D_IMM_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (UImmS2XForm:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_uimm5s2>>:$index))
/*278433*/      /*Scope*/ 26, /*->278460*/
/*278434*/        OPC_CheckPredicate, 59, // Predicate_uimm5s4
/*278436*/        OPC_MoveParent,
/*278437*/        OPC_MoveChild4,
/*278438*/        OPC_CheckValueType, MVT::nxv2i32,
/*278440*/        OPC_MoveParent,
/*278441*/        OPC_CheckType, MVT::nxv2i64,
/*278443*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278445*/        OPC_EmitMergeInputChains1_0,
/*278446*/        OPC_EmitConvertToTarget, 3,
/*278448*/        OPC_EmitNodeXForm, 16, 4, // UImmS4XForm
/*278451*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 5, 
                  // Src: (AArch64ld1_gather_imm:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_uimm5s4>><<X:UImmS4XForm>>:$index, nxv2i32:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1W_D_IMM_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (UImmS4XForm:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_uimm5s4>>:$index))
/*278460*/      /*Scope*/ 26, /*->278487*/
/*278461*/        OPC_CheckPredicate, 60, // Predicate_uimm5s8
/*278463*/        OPC_MoveParent,
/*278464*/        OPC_MoveChild4,
/*278465*/        OPC_CheckValueType, MVT::nxv2i64,
/*278467*/        OPC_MoveParent,
/*278468*/        OPC_CheckType, MVT::nxv2i64,
/*278470*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*278472*/        OPC_EmitMergeInputChains1_0,
/*278473*/        OPC_EmitConvertToTarget, 3,
/*278475*/        OPC_EmitNodeXForm, 17, 4, // UImmS8XForm
/*278478*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_IMM_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 5, 
                  // Src: (AArch64ld1_gather_imm:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (imm:{ *:[i64] })<<P:Predicate_uimm5s8>><<X:UImmS8XForm>>:$index, nxv2i64:{ *:[Other] }) - Complexity = 7
                  // Dst: (GLD1D_IMM_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, ZPR:{ *:[nxv2i64] }:$ptrs, (UImmS8XForm:{ *:[i64] } (imm:{ *:[i64] })<<P:Predicate_uimm5s8>>:$index))
/*278487*/      0, /*End of Scope*/
/*278488*/    0, /*End of Scope*/
/*278489*/  /*SwitchOpcode*/ 34|128,3/*418*/, TARGET_VAL(AArch64ISD::NVCAST),// ->278911
/*278493*/    OPC_RecordChild0, // #0 = $src
/*278494*/    OPC_Scope, 34, /*->278530*/ // 11 children in Scope
/*278496*/      OPC_CheckChild0Type, MVT::v2i32,
/*278498*/      OPC_SwitchType /*6 cases */, 3, MVT::v8i8,// ->278504
/*278501*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i8] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v8i8] }:$src
/*278504*/      /*SwitchType*/ 3, MVT::v4i16,// ->278509
/*278506*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i16] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4i16] }:$src
/*278509*/      /*SwitchType*/ 3, MVT::v2i32,// ->278514
/*278511*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i32] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2i32] }:$src
/*278514*/      /*SwitchType*/ 3, MVT::v1i64,// ->278519
/*278516*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v1i64] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1i64] }:$src
/*278519*/      /*SwitchType*/ 3, MVT::v4f16,// ->278524
/*278521*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f16] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4f16] }:$src
/*278524*/      /*SwitchType*/ 3, MVT::v2f32,// ->278529
/*278526*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f32] } FPR64:{ *:[v2i32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2f32] }:$src
/*278529*/      0, // EndSwitchType
/*278530*/    /*Scope*/ 29, /*->278560*/
/*278531*/      OPC_CheckChild0Type, MVT::v4i16,
/*278533*/      OPC_SwitchType /*5 cases */, 3, MVT::v8i8,// ->278539
/*278536*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i8] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v8i8] }:$src
/*278539*/      /*SwitchType*/ 3, MVT::v4i16,// ->278544
/*278541*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i16] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4i16] }:$src
/*278544*/      /*SwitchType*/ 3, MVT::v2i32,// ->278549
/*278546*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i32] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2i32] }:$src
/*278549*/      /*SwitchType*/ 3, MVT::v1i64,// ->278554
/*278551*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v1i64] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1i64] }:$src
/*278554*/      /*SwitchType*/ 3, MVT::v4f16,// ->278559
/*278556*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f16] } FPR64:{ *:[v4i16] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4f16] }:$src
/*278559*/      0, // EndSwitchType
/*278560*/    /*Scope*/ 34, /*->278595*/
/*278561*/      OPC_CheckChild0Type, MVT::v8i8,
/*278563*/      OPC_SwitchType /*6 cases */, 3, MVT::v8i8,// ->278569
/*278566*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i8] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v8i8] }:$src
/*278569*/      /*SwitchType*/ 3, MVT::v4i16,// ->278574
/*278571*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i16] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4i16] }:$src
/*278574*/      /*SwitchType*/ 3, MVT::v2i32,// ->278579
/*278576*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i32] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2i32] }:$src
/*278579*/      /*SwitchType*/ 3, MVT::v1i64,// ->278584
/*278581*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v1i64] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1i64] }:$src
/*278584*/      /*SwitchType*/ 3, MVT::v4f16,// ->278589
/*278586*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f16] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4f16] }:$src
/*278589*/      /*SwitchType*/ 3, MVT::v2f32,// ->278594
/*278591*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f32] } FPR64:{ *:[v8i8] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2f32] }:$src
/*278594*/      0, // EndSwitchType
/*278595*/    /*Scope*/ 39, /*->278635*/
/*278596*/      OPC_CheckChild0Type, MVT::f64,
/*278598*/      OPC_SwitchType /*7 cases */, 3, MVT::v8i8,// ->278604
/*278601*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i8] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v8i8] }:$src
/*278604*/      /*SwitchType*/ 3, MVT::v4i16,// ->278609
/*278606*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i16] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4i16] }:$src
/*278609*/      /*SwitchType*/ 3, MVT::v2i32,// ->278614
/*278611*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i32] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2i32] }:$src
/*278614*/      /*SwitchType*/ 3, MVT::v1i64,// ->278619
/*278616*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v1i64] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1i64] }:$src
/*278619*/      /*SwitchType*/ 3, MVT::v4f16,// ->278624
/*278621*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f16] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4f16] }:$src
/*278624*/      /*SwitchType*/ 3, MVT::v2f32,// ->278629
/*278626*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f32] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2f32] }:$src
/*278629*/      /*SwitchType*/ 3, MVT::v1f64,// ->278634
/*278631*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v1f64] } FPR64:{ *:[f64] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1f64] }:$src
/*278634*/      0, // EndSwitchType
/*278635*/    /*Scope*/ 34, /*->278670*/
/*278636*/      OPC_CheckChild0Type, MVT::v2f32,
/*278638*/      OPC_SwitchType /*6 cases */, 3, MVT::v8i8,// ->278644
/*278641*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i8] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v8i8] }:$src
/*278644*/      /*SwitchType*/ 3, MVT::v4i16,// ->278649
/*278646*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i16] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v4i16] }:$src
/*278649*/      /*SwitchType*/ 3, MVT::v2i32,// ->278654
/*278651*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i32] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2i32] }:$src
/*278654*/      /*SwitchType*/ 3, MVT::v1i64,// ->278659
/*278656*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v1i64] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1i64] }:$src
/*278659*/      /*SwitchType*/ 3, MVT::v2f32,// ->278664
/*278661*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f32] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v2f32] }:$src
/*278664*/      /*SwitchType*/ 3, MVT::v1f64,// ->278669
/*278666*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v1f64] } FPR64:{ *:[v2f32] }:$src) - Complexity = 3
                   // Dst: FPR64:{ *:[v1f64] }:$src
/*278669*/      0, // EndSwitchType
/*278670*/    /*Scope*/ 39, /*->278710*/
/*278671*/      OPC_CheckChild0Type, MVT::v4i32,
/*278673*/      OPC_SwitchType /*7 cases */, 3, MVT::v16i8,// ->278679
/*278676*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v16i8] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v16i8] }:$src
/*278679*/      /*SwitchType*/ 3, MVT::v8i16,// ->278684
/*278681*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i16] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8i16] }:$src
/*278684*/      /*SwitchType*/ 3, MVT::v4i32,// ->278689
/*278686*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i32] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4i32] }:$src
/*278689*/      /*SwitchType*/ 3, MVT::v2i64,// ->278694
/*278691*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i64] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2i64] }:$src
/*278694*/      /*SwitchType*/ 3, MVT::v8f16,// ->278699
/*278696*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8f16] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8f16] }:$src
/*278699*/      /*SwitchType*/ 3, MVT::v4f32,// ->278704
/*278701*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f32] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4f32] }:$src
/*278704*/      /*SwitchType*/ 3, MVT::v2f64,// ->278709
/*278706*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f64] } FPR128:{ *:[v4i32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2f64] }:$src
/*278709*/      0, // EndSwitchType
/*278710*/    /*Scope*/ 39, /*->278750*/
/*278711*/      OPC_CheckChild0Type, MVT::v8i16,
/*278713*/      OPC_SwitchType /*7 cases */, 3, MVT::v16i8,// ->278719
/*278716*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v16i8] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v16i8] }:$src
/*278719*/      /*SwitchType*/ 3, MVT::v8i16,// ->278724
/*278721*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i16] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8i16] }:$src
/*278724*/      /*SwitchType*/ 3, MVT::v4i32,// ->278729
/*278726*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i32] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4i32] }:$src
/*278729*/      /*SwitchType*/ 3, MVT::v2i64,// ->278734
/*278731*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i64] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2i64] }:$src
/*278734*/      /*SwitchType*/ 3, MVT::v8f16,// ->278739
/*278736*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8f16] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8f16] }:$src
/*278739*/      /*SwitchType*/ 3, MVT::v4f32,// ->278744
/*278741*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f32] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4f32] }:$src
/*278744*/      /*SwitchType*/ 3, MVT::v2f64,// ->278749
/*278746*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f64] } FPR128:{ *:[v8i16] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2f64] }:$src
/*278749*/      0, // EndSwitchType
/*278750*/    /*Scope*/ 39, /*->278790*/
/*278751*/      OPC_CheckChild0Type, MVT::v16i8,
/*278753*/      OPC_SwitchType /*7 cases */, 3, MVT::v16i8,// ->278759
/*278756*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v16i8] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v16i8] }:$src
/*278759*/      /*SwitchType*/ 3, MVT::v8i16,// ->278764
/*278761*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i16] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8i16] }:$src
/*278764*/      /*SwitchType*/ 3, MVT::v4i32,// ->278769
/*278766*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i32] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4i32] }:$src
/*278769*/      /*SwitchType*/ 3, MVT::v2i64,// ->278774
/*278771*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i64] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2i64] }:$src
/*278774*/      /*SwitchType*/ 3, MVT::v8f16,// ->278779
/*278776*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8f16] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8f16] }:$src
/*278779*/      /*SwitchType*/ 3, MVT::v4f32,// ->278784
/*278781*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f32] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4f32] }:$src
/*278784*/      /*SwitchType*/ 3, MVT::v2f64,// ->278789
/*278786*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f64] } FPR128:{ *:[v16i8] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2f64] }:$src
/*278789*/      0, // EndSwitchType
/*278790*/    /*Scope*/ 39, /*->278830*/
/*278791*/      OPC_CheckChild0Type, MVT::v2i64,
/*278793*/      OPC_SwitchType /*7 cases */, 3, MVT::v16i8,// ->278799
/*278796*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v16i8] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v16i8] }:$src
/*278799*/      /*SwitchType*/ 3, MVT::v8i16,// ->278804
/*278801*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i16] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8i16] }:$src
/*278804*/      /*SwitchType*/ 3, MVT::v4i32,// ->278809
/*278806*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i32] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4i32] }:$src
/*278809*/      /*SwitchType*/ 3, MVT::v2i64,// ->278814
/*278811*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i64] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2i64] }:$src
/*278814*/      /*SwitchType*/ 3, MVT::v8f16,// ->278819
/*278816*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8f16] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8f16] }:$src
/*278819*/      /*SwitchType*/ 3, MVT::v4f32,// ->278824
/*278821*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f32] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4f32] }:$src
/*278824*/      /*SwitchType*/ 3, MVT::v2f64,// ->278829
/*278826*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f64] } FPR128:{ *:[v2i64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2f64] }:$src
/*278829*/      0, // EndSwitchType
/*278830*/    /*Scope*/ 39, /*->278870*/
/*278831*/      OPC_CheckChild0Type, MVT::v4f32,
/*278833*/      OPC_SwitchType /*7 cases */, 3, MVT::v16i8,// ->278839
/*278836*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v16i8] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v16i8] }:$src
/*278839*/      /*SwitchType*/ 3, MVT::v8i16,// ->278844
/*278841*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i16] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8i16] }:$src
/*278844*/      /*SwitchType*/ 3, MVT::v4i32,// ->278849
/*278846*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i32] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4i32] }:$src
/*278849*/      /*SwitchType*/ 3, MVT::v2i64,// ->278854
/*278851*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i64] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2i64] }:$src
/*278854*/      /*SwitchType*/ 3, MVT::v4f32,// ->278859
/*278856*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f32] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4f32] }:$src
/*278859*/      /*SwitchType*/ 3, MVT::v8f16,// ->278864
/*278861*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8f16] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8f16] }:$src
/*278864*/      /*SwitchType*/ 3, MVT::v2f64,// ->278869
/*278866*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f64] } FPR128:{ *:[v4f32] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2f64] }:$src
/*278869*/      0, // EndSwitchType
/*278870*/    /*Scope*/ 39, /*->278910*/
/*278871*/      OPC_CheckChild0Type, MVT::v2f64,
/*278873*/      OPC_SwitchType /*7 cases */, 3, MVT::v16i8,// ->278879
/*278876*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v16i8] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v16i8] }:$src
/*278879*/      /*SwitchType*/ 3, MVT::v8i16,// ->278884
/*278881*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8i16] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8i16] }:$src
/*278884*/      /*SwitchType*/ 3, MVT::v4i32,// ->278889
/*278886*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4i32] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4i32] }:$src
/*278889*/      /*SwitchType*/ 3, MVT::v2i64,// ->278894
/*278891*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2i64] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2i64] }:$src
/*278894*/      /*SwitchType*/ 3, MVT::v2f64,// ->278899
/*278896*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v2f64] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v2f64] }:$src
/*278899*/      /*SwitchType*/ 3, MVT::v8f16,// ->278904
/*278901*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v8f16] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v8f16] }:$src
/*278904*/      /*SwitchType*/ 3, MVT::v4f32,// ->278909
/*278906*/        OPC_CompleteMatch, 1, 0, 
                   // Src: (AArch64NvCast:{ *:[v4f32] } FPR128:{ *:[v2f64] }:$src) - Complexity = 3
                   // Dst: FPR128:{ *:[v4f32] }:$src
/*278909*/      0, // EndSwitchType
/*278910*/    0, /*End of Scope*/
/*278911*/  /*SwitchOpcode*/ 91, TARGET_VAL(AArch64ISD::CMEQz),// ->279005
/*278914*/    OPC_RecordChild0, // #0 = $Rn
/*278915*/    OPC_SwitchType /*8 cases */, 9, MVT::v8i8,// ->278927
/*278918*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278920*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv8i8rz), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmeqz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (CMEQv8i8rz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*278927*/    /*SwitchType*/ 9, MVT::v16i8,// ->278938
/*278929*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278931*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv16i8rz), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmeqz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (CMEQv16i8rz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*278938*/    /*SwitchType*/ 9, MVT::v4i16,// ->278949
/*278940*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278942*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmeqz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (CMEQv4i16rz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*278949*/    /*SwitchType*/ 9, MVT::v8i16,// ->278960
/*278951*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278953*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmeqz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (CMEQv8i16rz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*278960*/    /*SwitchType*/ 9, MVT::v2i32,// ->278971
/*278962*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278964*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmeqz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (CMEQv2i32rz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*278971*/    /*SwitchType*/ 9, MVT::v4i32,// ->278982
/*278973*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278975*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmeqz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (CMEQv4i32rz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*278982*/    /*SwitchType*/ 9, MVT::v2i64,// ->278993
/*278984*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278986*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmeqz:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                // Dst: (CMEQv2i64rz:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*278993*/    /*SwitchType*/ 9, MVT::v1i64,// ->279004
/*278995*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*278997*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmeqz:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn) - Complexity = 3
                // Dst: (CMEQv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*279004*/    0, // EndSwitchType
/*279005*/  /*SwitchOpcode*/ 91, TARGET_VAL(AArch64ISD::CMGEz),// ->279099
/*279008*/    OPC_RecordChild0, // #0 = $Rn
/*279009*/    OPC_SwitchType /*8 cases */, 9, MVT::v8i8,// ->279021
/*279012*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279014*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv8i8rz), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgez:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (CMGEv8i8rz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*279021*/    /*SwitchType*/ 9, MVT::v16i8,// ->279032
/*279023*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279025*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv16i8rz), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgez:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (CMGEv16i8rz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*279032*/    /*SwitchType*/ 9, MVT::v4i16,// ->279043
/*279034*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279036*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgez:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (CMGEv4i16rz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*279043*/    /*SwitchType*/ 9, MVT::v8i16,// ->279054
/*279045*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279047*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgez:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (CMGEv8i16rz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*279054*/    /*SwitchType*/ 9, MVT::v2i32,// ->279065
/*279056*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279058*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgez:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (CMGEv2i32rz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*279065*/    /*SwitchType*/ 9, MVT::v4i32,// ->279076
/*279067*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279069*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgez:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (CMGEv4i32rz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*279076*/    /*SwitchType*/ 9, MVT::v2i64,// ->279087
/*279078*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279080*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgez:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                // Dst: (CMGEv2i64rz:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*279087*/    /*SwitchType*/ 9, MVT::v1i64,// ->279098
/*279089*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279091*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgez:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn) - Complexity = 3
                // Dst: (CMGEv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*279098*/    0, // EndSwitchType
/*279099*/  /*SwitchOpcode*/ 91, TARGET_VAL(AArch64ISD::CMGTz),// ->279193
/*279102*/    OPC_RecordChild0, // #0 = $Rn
/*279103*/    OPC_SwitchType /*8 cases */, 9, MVT::v8i8,// ->279115
/*279106*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279108*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv8i8rz), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgtz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (CMGTv8i8rz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*279115*/    /*SwitchType*/ 9, MVT::v16i8,// ->279126
/*279117*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279119*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv16i8rz), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgtz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (CMGTv16i8rz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*279126*/    /*SwitchType*/ 9, MVT::v4i16,// ->279137
/*279128*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279130*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgtz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (CMGTv4i16rz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*279137*/    /*SwitchType*/ 9, MVT::v8i16,// ->279148
/*279139*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279141*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgtz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (CMGTv8i16rz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*279148*/    /*SwitchType*/ 9, MVT::v2i32,// ->279159
/*279150*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279152*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgtz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (CMGTv2i32rz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*279159*/    /*SwitchType*/ 9, MVT::v4i32,// ->279170
/*279161*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279163*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgtz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (CMGTv4i32rz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*279170*/    /*SwitchType*/ 9, MVT::v2i64,// ->279181
/*279172*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279174*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgtz:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                // Dst: (CMGTv2i64rz:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*279181*/    /*SwitchType*/ 9, MVT::v1i64,// ->279192
/*279183*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279185*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmgtz:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn) - Complexity = 3
                // Dst: (CMGTv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*279192*/    0, // EndSwitchType
/*279193*/  /*SwitchOpcode*/ 91, TARGET_VAL(AArch64ISD::CMLEz),// ->279287
/*279196*/    OPC_RecordChild0, // #0 = $Rn
/*279197*/    OPC_SwitchType /*8 cases */, 9, MVT::v8i8,// ->279209
/*279200*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279202*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLEv8i8rz), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmlez:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (CMLEv8i8rz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*279209*/    /*SwitchType*/ 9, MVT::v16i8,// ->279220
/*279211*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279213*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLEv16i8rz), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmlez:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (CMLEv16i8rz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*279220*/    /*SwitchType*/ 9, MVT::v4i16,// ->279231
/*279222*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279224*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLEv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmlez:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (CMLEv4i16rz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*279231*/    /*SwitchType*/ 9, MVT::v8i16,// ->279242
/*279233*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279235*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLEv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmlez:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (CMLEv8i16rz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*279242*/    /*SwitchType*/ 9, MVT::v2i32,// ->279253
/*279244*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279246*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLEv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmlez:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (CMLEv2i32rz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*279253*/    /*SwitchType*/ 9, MVT::v4i32,// ->279264
/*279255*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279257*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLEv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmlez:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (CMLEv4i32rz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*279264*/    /*SwitchType*/ 9, MVT::v2i64,// ->279275
/*279266*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279268*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLEv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmlez:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                // Dst: (CMLEv2i64rz:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*279275*/    /*SwitchType*/ 9, MVT::v1i64,// ->279286
/*279277*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279279*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLEv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmlez:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn) - Complexity = 3
                // Dst: (CMLEv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*279286*/    0, // EndSwitchType
/*279287*/  /*SwitchOpcode*/ 91, TARGET_VAL(AArch64ISD::CMLTz),// ->279381
/*279290*/    OPC_RecordChild0, // #0 = $Rn
/*279291*/    OPC_SwitchType /*8 cases */, 9, MVT::v8i8,// ->279303
/*279294*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279296*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLTv8i8rz), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmltz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (CMLTv8i8rz:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*279303*/    /*SwitchType*/ 9, MVT::v16i8,// ->279314
/*279305*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279307*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLTv16i8rz), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64cmltz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (CMLTv16i8rz:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*279314*/    /*SwitchType*/ 9, MVT::v4i16,// ->279325
/*279316*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279318*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLTv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmltz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (CMLTv4i16rz:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*279325*/    /*SwitchType*/ 9, MVT::v8i16,// ->279336
/*279327*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279329*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLTv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64cmltz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (CMLTv8i16rz:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*279336*/    /*SwitchType*/ 9, MVT::v2i32,// ->279347
/*279338*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279340*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLTv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmltz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (CMLTv2i32rz:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*279347*/    /*SwitchType*/ 9, MVT::v4i32,// ->279358
/*279349*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279351*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLTv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64cmltz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (CMLTv4i32rz:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*279358*/    /*SwitchType*/ 9, MVT::v2i64,// ->279369
/*279360*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279362*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLTv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmltz:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                // Dst: (CMLTv2i64rz:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*279369*/    /*SwitchType*/ 9, MVT::v1i64,// ->279380
/*279371*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279373*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMLTv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64cmltz:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn) - Complexity = 3
                // Dst: (CMLTv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn)
/*279380*/    0, // EndSwitchType
/*279381*/  /*SwitchOpcode*/ 29, TARGET_VAL(ISD::CTPOP),// ->279413
/*279384*/    OPC_RecordChild0, // #0 = $Rn
/*279385*/    OPC_SwitchType /*2 cases */, 11, MVT::v8i8,// ->279399
/*279388*/      OPC_CheckChild0Type, MVT::v8i8,
/*279390*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279392*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTv8i8), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (ctpop:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (CNTv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*279399*/    /*SwitchType*/ 11, MVT::v16i8,// ->279412
/*279401*/      OPC_CheckChild0Type, MVT::v16i8,
/*279403*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279405*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CNTv16i8), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (ctpop:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (CNTv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*279412*/    0, // EndSwitchType
/*279413*/  /*SwitchOpcode*/ 81, TARGET_VAL(AArch64ISD::FCMEQz),// ->279497
/*279416*/    OPC_RecordChild0, // #0 = $Rn
/*279417*/    OPC_SwitchType /*6 cases */, 11, MVT::v4i16,// ->279431
/*279420*/      OPC_CheckChild0Type, MVT::v4f16,
/*279422*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279424*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmeqz:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FCMEQv4i16rz:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*279431*/    /*SwitchType*/ 11, MVT::v8i16,// ->279444
/*279433*/      OPC_CheckChild0Type, MVT::v8f16,
/*279435*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279437*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmeqz:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FCMEQv8i16rz:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*279444*/    /*SwitchType*/ 11, MVT::v2i32,// ->279457
/*279446*/      OPC_CheckChild0Type, MVT::v2f32,
/*279448*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279450*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmeqz:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FCMEQv2i32rz:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*279457*/    /*SwitchType*/ 11, MVT::v4i32,// ->279470
/*279459*/      OPC_CheckChild0Type, MVT::v4f32,
/*279461*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279463*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmeqz:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FCMEQv4i32rz:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*279470*/    /*SwitchType*/ 11, MVT::v2i64,// ->279483
/*279472*/      OPC_CheckChild0Type, MVT::v2f64,
/*279474*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279476*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmeqz:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FCMEQv2i64rz:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*279483*/    /*SwitchType*/ 11, MVT::v1i64,// ->279496
/*279485*/      OPC_CheckChild0Type, MVT::v1f64,
/*279487*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279489*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMEQv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmeqz:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn) - Complexity = 3
                // Dst: (FCMEQv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*279496*/    0, // EndSwitchType
/*279497*/  /*SwitchOpcode*/ 81, TARGET_VAL(AArch64ISD::FCMGEz),// ->279581
/*279500*/    OPC_RecordChild0, // #0 = $Rn
/*279501*/    OPC_SwitchType /*6 cases */, 11, MVT::v4i16,// ->279515
/*279504*/      OPC_CheckChild0Type, MVT::v4f16,
/*279506*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279508*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgez:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FCMGEv4i16rz:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*279515*/    /*SwitchType*/ 11, MVT::v8i16,// ->279528
/*279517*/      OPC_CheckChild0Type, MVT::v8f16,
/*279519*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279521*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgez:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FCMGEv8i16rz:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*279528*/    /*SwitchType*/ 11, MVT::v2i32,// ->279541
/*279530*/      OPC_CheckChild0Type, MVT::v2f32,
/*279532*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279534*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgez:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FCMGEv2i32rz:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*279541*/    /*SwitchType*/ 11, MVT::v4i32,// ->279554
/*279543*/      OPC_CheckChild0Type, MVT::v4f32,
/*279545*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279547*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgez:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FCMGEv4i32rz:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*279554*/    /*SwitchType*/ 11, MVT::v2i64,// ->279567
/*279556*/      OPC_CheckChild0Type, MVT::v2f64,
/*279558*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279560*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgez:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FCMGEv2i64rz:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*279567*/    /*SwitchType*/ 11, MVT::v1i64,// ->279580
/*279569*/      OPC_CheckChild0Type, MVT::v1f64,
/*279571*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279573*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGEv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgez:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn) - Complexity = 3
                // Dst: (FCMGEv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*279580*/    0, // EndSwitchType
/*279581*/  /*SwitchOpcode*/ 81, TARGET_VAL(AArch64ISD::FCMGTz),// ->279665
/*279584*/    OPC_RecordChild0, // #0 = $Rn
/*279585*/    OPC_SwitchType /*6 cases */, 11, MVT::v4i16,// ->279599
/*279588*/      OPC_CheckChild0Type, MVT::v4f16,
/*279590*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279592*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgtz:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FCMGTv4i16rz:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*279599*/    /*SwitchType*/ 11, MVT::v8i16,// ->279612
/*279601*/      OPC_CheckChild0Type, MVT::v8f16,
/*279603*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279605*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgtz:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FCMGTv8i16rz:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*279612*/    /*SwitchType*/ 11, MVT::v2i32,// ->279625
/*279614*/      OPC_CheckChild0Type, MVT::v2f32,
/*279616*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279618*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgtz:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FCMGTv2i32rz:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*279625*/    /*SwitchType*/ 11, MVT::v4i32,// ->279638
/*279627*/      OPC_CheckChild0Type, MVT::v4f32,
/*279629*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279631*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgtz:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FCMGTv4i32rz:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*279638*/    /*SwitchType*/ 11, MVT::v2i64,// ->279651
/*279640*/      OPC_CheckChild0Type, MVT::v2f64,
/*279642*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279644*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgtz:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FCMGTv2i64rz:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*279651*/    /*SwitchType*/ 11, MVT::v1i64,// ->279664
/*279653*/      OPC_CheckChild0Type, MVT::v1f64,
/*279655*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279657*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMGTv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmgtz:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn) - Complexity = 3
                // Dst: (FCMGTv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*279664*/    0, // EndSwitchType
/*279665*/  /*SwitchOpcode*/ 81, TARGET_VAL(AArch64ISD::FCMLEz),// ->279749
/*279668*/    OPC_RecordChild0, // #0 = $Rn
/*279669*/    OPC_SwitchType /*6 cases */, 11, MVT::v4i16,// ->279683
/*279672*/      OPC_CheckChild0Type, MVT::v4f16,
/*279674*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279676*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLEv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmlez:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FCMLEv4i16rz:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*279683*/    /*SwitchType*/ 11, MVT::v8i16,// ->279696
/*279685*/      OPC_CheckChild0Type, MVT::v8f16,
/*279687*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279689*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLEv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmlez:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FCMLEv8i16rz:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*279696*/    /*SwitchType*/ 11, MVT::v2i32,// ->279709
/*279698*/      OPC_CheckChild0Type, MVT::v2f32,
/*279700*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279702*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLEv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmlez:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FCMLEv2i32rz:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*279709*/    /*SwitchType*/ 11, MVT::v4i32,// ->279722
/*279711*/      OPC_CheckChild0Type, MVT::v4f32,
/*279713*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279715*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLEv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmlez:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FCMLEv4i32rz:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*279722*/    /*SwitchType*/ 11, MVT::v2i64,// ->279735
/*279724*/      OPC_CheckChild0Type, MVT::v2f64,
/*279726*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279728*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLEv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmlez:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FCMLEv2i64rz:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*279735*/    /*SwitchType*/ 11, MVT::v1i64,// ->279748
/*279737*/      OPC_CheckChild0Type, MVT::v1f64,
/*279739*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279741*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLEv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmlez:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn) - Complexity = 3
                // Dst: (FCMLEv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*279748*/    0, // EndSwitchType
/*279749*/  /*SwitchOpcode*/ 81, TARGET_VAL(AArch64ISD::FCMLTz),// ->279833
/*279752*/    OPC_RecordChild0, // #0 = $Rn
/*279753*/    OPC_SwitchType /*6 cases */, 11, MVT::v4i16,// ->279767
/*279756*/      OPC_CheckChild0Type, MVT::v4f16,
/*279758*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279760*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLTv4i16rz), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmltz:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (FCMLTv4i16rz:{ *:[v4i16] } V64:{ *:[v4f16] }:$Rn)
/*279767*/    /*SwitchType*/ 11, MVT::v8i16,// ->279780
/*279769*/      OPC_CheckChild0Type, MVT::v8f16,
/*279771*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*279773*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLTv8i16rz), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmltz:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (FCMLTv8i16rz:{ *:[v8i16] } V128:{ *:[v8f16] }:$Rn)
/*279780*/    /*SwitchType*/ 11, MVT::v2i32,// ->279793
/*279782*/      OPC_CheckChild0Type, MVT::v2f32,
/*279784*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279786*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLTv2i32rz), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmltz:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (FCMLTv2i32rz:{ *:[v2i32] } V64:{ *:[v2f32] }:$Rn)
/*279793*/    /*SwitchType*/ 11, MVT::v4i32,// ->279806
/*279795*/      OPC_CheckChild0Type, MVT::v4f32,
/*279797*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279799*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLTv4i32rz), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmltz:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (FCMLTv4i32rz:{ *:[v4i32] } V128:{ *:[v4f32] }:$Rn)
/*279806*/    /*SwitchType*/ 11, MVT::v2i64,// ->279819
/*279808*/      OPC_CheckChild0Type, MVT::v2f64,
/*279810*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279812*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLTv2i64rz), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmltz:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn) - Complexity = 3
                // Dst: (FCMLTv2i64rz:{ *:[v2i64] } V128:{ *:[v2f64] }:$Rn)
/*279819*/    /*SwitchType*/ 11, MVT::v1i64,// ->279832
/*279821*/      OPC_CheckChild0Type, MVT::v1f64,
/*279823*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279825*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FCMLTv1i64rz), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64fcmltz:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn) - Complexity = 3
                // Dst: (FCMLTv1i64rz:{ *:[v1i64] } FPR64:{ *:[v1f64] }:$Rn)
/*279832*/    0, // EndSwitchType
/*279833*/  /*SwitchOpcode*/ 75, TARGET_VAL(AArch64ISD::NEG),// ->279911
/*279836*/    OPC_RecordChild0, // #0 = $Rn
/*279837*/    OPC_SwitchType /*8 cases */, 7, MVT::v8i8,// ->279847
/*279840*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv8i8), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64neg:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (NEGv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*279847*/    /*SwitchType*/ 7, MVT::v16i8,// ->279856
/*279849*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv16i8), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64neg:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (NEGv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*279856*/    /*SwitchType*/ 7, MVT::v4i16,// ->279865
/*279858*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv4i16), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64neg:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (NEGv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*279865*/    /*SwitchType*/ 7, MVT::v8i16,// ->279874
/*279867*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv8i16), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64neg:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (NEGv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*279874*/    /*SwitchType*/ 7, MVT::v2i32,// ->279883
/*279876*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv2i32), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64neg:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (NEGv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*279883*/    /*SwitchType*/ 7, MVT::v4i32,// ->279892
/*279885*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv4i32), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64neg:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (NEGv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*279892*/    /*SwitchType*/ 7, MVT::v2i64,// ->279901
/*279894*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv2i64), 0,
                    MVT::v2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64neg:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                // Dst: (NEGv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn)
/*279901*/    /*SwitchType*/ 7, MVT::v1i64,// ->279910
/*279903*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::NEGv1i64), 0,
                    MVT::v1i64, 1/*#Ops*/, 0, 
                // Src: (AArch64neg:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rn) - Complexity = 3
                // Dst: (NEGv1i64:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rn)
/*279910*/    0, // EndSwitchType
/*279911*/  /*SwitchOpcode*/ 25, TARGET_VAL(AArch64ISD::REV16),// ->279939
/*279914*/    OPC_RecordChild0, // #0 = $Rn
/*279915*/    OPC_SwitchType /*2 cases */, 9, MVT::v8i8,// ->279927
/*279918*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279920*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v8i8), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64rev16:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (REV16v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*279927*/    /*SwitchType*/ 9, MVT::v16i8,// ->279938
/*279929*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279931*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV16v16i8), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64rev16:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (REV16v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*279938*/    0, // EndSwitchType
/*279939*/  /*SwitchOpcode*/ 65, TARGET_VAL(AArch64ISD::REV32),// ->280007
/*279942*/    OPC_RecordChild0, // #0 = $Rn
/*279943*/    OPC_SwitchType /*6 cases */, 9, MVT::v8i8,// ->279955
/*279946*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279948*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i8), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64rev32:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (REV32v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*279955*/    /*SwitchType*/ 9, MVT::v16i8,// ->279966
/*279957*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279959*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v16i8), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64rev32:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (REV32v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*279966*/    /*SwitchType*/ 9, MVT::v4i16,// ->279977
/*279968*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279970*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev32:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (REV32v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*279977*/    /*SwitchType*/ 9, MVT::v8i16,// ->279988
/*279979*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*279981*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev32:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (REV32v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*279988*/    /*SwitchType*/ 7, MVT::v4f16,// ->279997
/*279990*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v4i16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev32:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (REV32v4i16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*279997*/    /*SwitchType*/ 7, MVT::v8f16,// ->280006
/*279999*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV32v8i16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev32:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (REV32v8i16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*280006*/    0, // EndSwitchType
/*280007*/  /*SwitchOpcode*/ 105, TARGET_VAL(AArch64ISD::REV64),// ->280115
/*280010*/    OPC_RecordChild0, // #0 = $Rn
/*280011*/    OPC_SwitchType /*10 cases */, 9, MVT::v8i8,// ->280023
/*280014*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280016*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i8), 0,
                    MVT::v8i8, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (REV64v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn)
/*280023*/    /*SwitchType*/ 9, MVT::v16i8,// ->280034
/*280025*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280027*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v16i8), 0,
                    MVT::v16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (REV64v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn)
/*280034*/    /*SwitchType*/ 9, MVT::v4i16,// ->280045
/*280036*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280038*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                    MVT::v4i16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (REV64v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn)
/*280045*/    /*SwitchType*/ 9, MVT::v8i16,// ->280056
/*280047*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280049*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                    MVT::v8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (REV64v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn)
/*280056*/    /*SwitchType*/ 9, MVT::v2i32,// ->280067
/*280058*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280060*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                    MVT::v2i32, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (REV64v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn)
/*280067*/    /*SwitchType*/ 9, MVT::v4i32,// ->280078
/*280069*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280071*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                    MVT::v4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (REV64v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn)
/*280078*/    /*SwitchType*/ 7, MVT::v4f16,// ->280087
/*280080*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i16), 0,
                    MVT::v4f16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn) - Complexity = 3
                // Dst: (REV64v4i16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn)
/*280087*/    /*SwitchType*/ 7, MVT::v8f16,// ->280096
/*280089*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v8i16), 0,
                    MVT::v8f16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn) - Complexity = 3
                // Dst: (REV64v8i16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn)
/*280096*/    /*SwitchType*/ 7, MVT::v2f32,// ->280105
/*280098*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v2i32), 0,
                    MVT::v2f32, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn) - Complexity = 3
                // Dst: (REV64v2i32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn)
/*280105*/    /*SwitchType*/ 7, MVT::v4f32,// ->280114
/*280107*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV64v4i32), 0,
                    MVT::v4f32, 1/*#Ops*/, 0, 
                // Src: (AArch64rev64:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn) - Complexity = 3
                // Dst: (REV64v4i32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn)
/*280114*/    0, // EndSwitchType
/*280115*/  /*SwitchOpcode*/ 100, TARGET_VAL(AArch64ISD::CMEQ),// ->280218
/*280118*/    OPC_RecordChild0, // #0 = $Rn
/*280119*/    OPC_RecordChild1, // #1 = $Rm
/*280120*/    OPC_SwitchType /*8 cases */, 10, MVT::v8i8,// ->280133
/*280123*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280125*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmeq:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (CMEQv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*280133*/    /*SwitchType*/ 10, MVT::v16i8,// ->280145
/*280135*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280137*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmeq:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (CMEQv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*280145*/    /*SwitchType*/ 10, MVT::v4i16,// ->280157
/*280147*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280149*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmeq:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (CMEQv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*280157*/    /*SwitchType*/ 10, MVT::v8i16,// ->280169
/*280159*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280161*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmeq:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (CMEQv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*280169*/    /*SwitchType*/ 10, MVT::v2i32,// ->280181
/*280171*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280173*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmeq:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (CMEQv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*280181*/    /*SwitchType*/ 10, MVT::v4i32,// ->280193
/*280183*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280185*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmeq:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (CMEQv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*280193*/    /*SwitchType*/ 10, MVT::v2i64,// ->280205
/*280195*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280197*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmeq:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (CMEQv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*280205*/    /*SwitchType*/ 10, MVT::v1i64,// ->280217
/*280207*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280209*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMEQv1i64), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmeq:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 3
                // Dst: (CMEQv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*280217*/    0, // EndSwitchType
/*280218*/  /*SwitchOpcode*/ 100, TARGET_VAL(AArch64ISD::CMGE),// ->280321
/*280221*/    OPC_RecordChild0, // #0 = $Rn
/*280222*/    OPC_RecordChild1, // #1 = $Rm
/*280223*/    OPC_SwitchType /*8 cases */, 10, MVT::v8i8,// ->280236
/*280226*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280228*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmge:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (CMGEv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*280236*/    /*SwitchType*/ 10, MVT::v16i8,// ->280248
/*280238*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280240*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmge:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (CMGEv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*280248*/    /*SwitchType*/ 10, MVT::v4i16,// ->280260
/*280250*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280252*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmge:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (CMGEv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*280260*/    /*SwitchType*/ 10, MVT::v8i16,// ->280272
/*280262*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280264*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmge:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (CMGEv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*280272*/    /*SwitchType*/ 10, MVT::v2i32,// ->280284
/*280274*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280276*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmge:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (CMGEv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*280284*/    /*SwitchType*/ 10, MVT::v4i32,// ->280296
/*280286*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280288*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmge:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (CMGEv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*280296*/    /*SwitchType*/ 10, MVT::v2i64,// ->280308
/*280298*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280300*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmge:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (CMGEv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*280308*/    /*SwitchType*/ 10, MVT::v1i64,// ->280320
/*280310*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280312*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGEv1i64), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmge:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 3
                // Dst: (CMGEv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*280320*/    0, // EndSwitchType
/*280321*/  /*SwitchOpcode*/ 100, TARGET_VAL(AArch64ISD::CMGT),// ->280424
/*280324*/    OPC_RecordChild0, // #0 = $Rn
/*280325*/    OPC_RecordChild1, // #1 = $Rm
/*280326*/    OPC_SwitchType /*8 cases */, 10, MVT::v8i8,// ->280339
/*280329*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280331*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmgt:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (CMGTv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*280339*/    /*SwitchType*/ 10, MVT::v16i8,// ->280351
/*280341*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280343*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmgt:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (CMGTv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*280351*/    /*SwitchType*/ 10, MVT::v4i16,// ->280363
/*280353*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280355*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmgt:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (CMGTv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*280363*/    /*SwitchType*/ 10, MVT::v8i16,// ->280375
/*280365*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280367*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmgt:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (CMGTv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*280375*/    /*SwitchType*/ 10, MVT::v2i32,// ->280387
/*280377*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280379*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmgt:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (CMGTv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*280387*/    /*SwitchType*/ 10, MVT::v4i32,// ->280399
/*280389*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280391*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmgt:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (CMGTv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*280399*/    /*SwitchType*/ 10, MVT::v2i64,// ->280411
/*280401*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280403*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmgt:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (CMGTv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*280411*/    /*SwitchType*/ 10, MVT::v1i64,// ->280423
/*280413*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280415*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMGTv1i64), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmgt:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 3
                // Dst: (CMGTv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*280423*/    0, // EndSwitchType
/*280424*/  /*SwitchOpcode*/ 100, TARGET_VAL(AArch64ISD::CMHI),// ->280527
/*280427*/    OPC_RecordChild0, // #0 = $Rn
/*280428*/    OPC_RecordChild1, // #1 = $Rm
/*280429*/    OPC_SwitchType /*8 cases */, 10, MVT::v8i8,// ->280442
/*280432*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280434*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHIv8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhi:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (CMHIv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*280442*/    /*SwitchType*/ 10, MVT::v16i8,// ->280454
/*280444*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280446*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHIv16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhi:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (CMHIv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*280454*/    /*SwitchType*/ 10, MVT::v4i16,// ->280466
/*280456*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280458*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHIv4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhi:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (CMHIv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*280466*/    /*SwitchType*/ 10, MVT::v8i16,// ->280478
/*280468*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280470*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHIv8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhi:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (CMHIv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*280478*/    /*SwitchType*/ 10, MVT::v2i32,// ->280490
/*280480*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280482*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHIv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhi:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (CMHIv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*280490*/    /*SwitchType*/ 10, MVT::v4i32,// ->280502
/*280492*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280494*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHIv4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhi:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (CMHIv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*280502*/    /*SwitchType*/ 10, MVT::v2i64,// ->280514
/*280504*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280506*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHIv2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhi:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (CMHIv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*280514*/    /*SwitchType*/ 10, MVT::v1i64,// ->280526
/*280516*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280518*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHIv1i64), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhi:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 3
                // Dst: (CMHIv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*280526*/    0, // EndSwitchType
/*280527*/  /*SwitchOpcode*/ 100, TARGET_VAL(AArch64ISD::CMHS),// ->280630
/*280530*/    OPC_RecordChild0, // #0 = $Rn
/*280531*/    OPC_RecordChild1, // #1 = $Rm
/*280532*/    OPC_SwitchType /*8 cases */, 10, MVT::v8i8,// ->280545
/*280535*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280537*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHSv8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhs:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (CMHSv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*280545*/    /*SwitchType*/ 10, MVT::v16i8,// ->280557
/*280547*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280549*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHSv16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhs:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (CMHSv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*280557*/    /*SwitchType*/ 10, MVT::v4i16,// ->280569
/*280559*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280561*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHSv4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhs:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (CMHSv4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*280569*/    /*SwitchType*/ 10, MVT::v8i16,// ->280581
/*280571*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280573*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHSv8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhs:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (CMHSv8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*280581*/    /*SwitchType*/ 10, MVT::v2i32,// ->280593
/*280583*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280585*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHSv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhs:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (CMHSv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*280593*/    /*SwitchType*/ 10, MVT::v4i32,// ->280605
/*280595*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280597*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHSv4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhs:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (CMHSv4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*280605*/    /*SwitchType*/ 10, MVT::v2i64,// ->280617
/*280607*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280609*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHSv2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhs:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (CMHSv2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*280617*/    /*SwitchType*/ 10, MVT::v1i64,// ->280629
/*280619*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280621*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::CMHSv1i64), 0,
                    MVT::v1i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64cmhs:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm) - Complexity = 3
                // Dst: (CMHSv1i64:{ *:[v1i64] } FPR64:{ *:[v1i64] }:$Rn, FPR64:{ *:[v1i64] }:$Rm)
/*280629*/    0, // EndSwitchType
/*280630*/  /*SwitchOpcode*/ 109, TARGET_VAL(AArch64ISD::BIT),// ->280742
/*280633*/    OPC_RecordChild0, // #0 = $Rd
/*280634*/    OPC_RecordChild1, // #1 = $Rn
/*280635*/    OPC_RecordChild2, // #2 = $Rm
/*280636*/    OPC_SwitchType /*8 cases */, 11, MVT::v8i8,// ->280650
/*280639*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280641*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BITv8i8), 0,
                    MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bit:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (BITv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*280650*/    /*SwitchType*/ 11, MVT::v16i8,// ->280663
/*280652*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280654*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BITv16i8), 0,
                    MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bit:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (BITv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*280663*/    /*SwitchType*/ 11, MVT::v4i16,// ->280676
/*280665*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280667*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BITv8i8), 0,
                    MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bit:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS) - Complexity = 3
                // Dst: (BITv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$LHS, V64:{ *:[v4i16] }:$MHS, V64:{ *:[v4i16] }:$RHS)
/*280676*/    /*SwitchType*/ 11, MVT::v2i32,// ->280689
/*280678*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280680*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BITv8i8), 0,
                    MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bit:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS) - Complexity = 3
                // Dst: (BITv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$LHS, V64:{ *:[v2i32] }:$MHS, V64:{ *:[v2i32] }:$RHS)
/*280689*/    /*SwitchType*/ 11, MVT::v1i64,// ->280702
/*280691*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280693*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BITv8i8), 0,
                    MVT::v1i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bit:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS) - Complexity = 3
                // Dst: (BITv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$LHS, V64:{ *:[v1i64] }:$MHS, V64:{ *:[v1i64] }:$RHS)
/*280702*/    /*SwitchType*/ 11, MVT::v8i16,// ->280715
/*280704*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280706*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BITv16i8), 0,
                    MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bit:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS) - Complexity = 3
                // Dst: (BITv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$LHS, V128:{ *:[v8i16] }:$MHS, V128:{ *:[v8i16] }:$RHS)
/*280715*/    /*SwitchType*/ 11, MVT::v4i32,// ->280728
/*280717*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280719*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BITv16i8), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bit:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS) - Complexity = 3
                // Dst: (BITv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$LHS, V128:{ *:[v4i32] }:$MHS, V128:{ *:[v4i32] }:$RHS)
/*280728*/    /*SwitchType*/ 11, MVT::v2i64,// ->280741
/*280730*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280732*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BITv16i8), 0,
                    MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bit:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS) - Complexity = 3
                // Dst: (BITv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$LHS, V128:{ *:[v2i64] }:$MHS, V128:{ *:[v2i64] }:$RHS)
/*280741*/    0, // EndSwitchType
/*280742*/  /*SwitchOpcode*/ 93, TARGET_VAL(AArch64ISD::BSL),// ->280838
/*280745*/    OPC_RecordChild0, // #0 = $Rd
/*280746*/    OPC_RecordChild1, // #1 = $Rn
/*280747*/    OPC_RecordChild2, // #2 = $Rm
/*280748*/    OPC_SwitchType /*8 cases */, 9, MVT::v8i8,// ->280760
/*280751*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                    MVT::v8i8, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bsl:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (BSLv8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rd, V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*280760*/    /*SwitchType*/ 9, MVT::v4i16,// ->280771
/*280762*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                    MVT::v4i16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bsl:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (BSLv8i8:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rd, V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*280771*/    /*SwitchType*/ 9, MVT::v2i32,// ->280782
/*280773*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                    MVT::v2i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bsl:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (BSLv8i8:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rd, V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*280782*/    /*SwitchType*/ 9, MVT::v1i64,// ->280793
/*280784*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv8i8), 0,
                    MVT::v1i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bsl:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rd, V64:{ *:[v1i64] }:$Rn, V64:{ *:[v1i64] }:$Rm) - Complexity = 3
                // Dst: (BSLv8i8:{ *:[v1i64] } V64:{ *:[v1i64] }:$Rd, V64:{ *:[v1i64] }:$Rn, V64:{ *:[v1i64] }:$Rm)
/*280793*/    /*SwitchType*/ 9, MVT::v16i8,// ->280804
/*280795*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                    MVT::v16i8, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bsl:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (BSLv16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rd, V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*280804*/    /*SwitchType*/ 9, MVT::v8i16,// ->280815
/*280806*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                    MVT::v8i16, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bsl:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (BSLv16i8:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rd, V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*280815*/    /*SwitchType*/ 9, MVT::v4i32,// ->280826
/*280817*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                    MVT::v4i32, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bsl:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (BSLv16i8:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rd, V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*280826*/    /*SwitchType*/ 9, MVT::v2i64,// ->280837
/*280828*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::BSLv16i8), 0,
                    MVT::v2i64, 3/*#Ops*/, 0, 1, 2, 
                // Src: (AArch64bsl:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (BSLv16i8:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rd, V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*280837*/    0, // EndSwitchType
/*280838*/  /*SwitchOpcode*/ 36|128,2/*292*/, TARGET_VAL(AArch64ISD::TRN1),// ->281134
/*280842*/    OPC_RecordChild0, // #0 = $Rn
/*280843*/    OPC_RecordChild1, // #1 = $Rm
/*280844*/    OPC_SwitchType /*24 cases */, 10, MVT::v8i8,// ->280857
/*280847*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280849*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (TRN1v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*280857*/    /*SwitchType*/ 10, MVT::v16i8,// ->280869
/*280859*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280861*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (TRN1v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*280869*/    /*SwitchType*/ 10, MVT::v4i16,// ->280881
/*280871*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280873*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (TRN1v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*280881*/    /*SwitchType*/ 10, MVT::v8i16,// ->280893
/*280883*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280885*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (TRN1v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*280893*/    /*SwitchType*/ 10, MVT::v2i32,// ->280905
/*280895*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280897*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (TRN1v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*280905*/    /*SwitchType*/ 10, MVT::v4i32,// ->280917
/*280907*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280909*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (TRN1v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*280917*/    /*SwitchType*/ 10, MVT::v2i64,// ->280929
/*280919*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*280921*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (TRN1v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*280929*/    /*SwitchType*/ 10, MVT::nxv16i8,// ->280941
/*280931*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*280933*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_ZZZ_B), 0,
                    MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (TRN1_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*280941*/    /*SwitchType*/ 10, MVT::nxv8i16,// ->280953
/*280943*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*280945*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_ZZZ_H), 0,
                    MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (TRN1_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*280953*/    /*SwitchType*/ 10, MVT::nxv4i32,// ->280965
/*280955*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*280957*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_ZZZ_S), 0,
                    MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (TRN1_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*280965*/    /*SwitchType*/ 10, MVT::nxv2i64,// ->280977
/*280967*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*280969*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_ZZZ_D), 0,
                    MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (TRN1_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*280977*/    /*SwitchType*/ 10, MVT::nxv16i1,// ->280989
/*280979*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*280981*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_PPP_B), 0,
                    MVT::nxv16i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv16i1] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 3
                // Dst: (TRN1_PPP_B:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*280989*/    /*SwitchType*/ 10, MVT::nxv8i1,// ->281001
/*280991*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*280993*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_PPP_H), 0,
                    MVT::nxv8i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv8i1] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 3
                // Dst: (TRN1_PPP_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*281001*/    /*SwitchType*/ 10, MVT::nxv4i1,// ->281013
/*281003*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281005*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_PPP_S), 0,
                    MVT::nxv4i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv4i1] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 3
                // Dst: (TRN1_PPP_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*281013*/    /*SwitchType*/ 10, MVT::nxv2i1,// ->281025
/*281015*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281017*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_PPP_D), 0,
                    MVT::nxv2i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv2i1] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 3
                // Dst: (TRN1_PPP_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*281025*/    /*SwitchType*/ 10, MVT::v4f16,// ->281037
/*281027*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281029*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v4i16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (TRN1v4i16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*281037*/    /*SwitchType*/ 10, MVT::v8f16,// ->281049
/*281039*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281041*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v8i16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (TRN1v8i16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*281049*/    /*SwitchType*/ 10, MVT::v2f32,// ->281061
/*281051*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281053*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v2i32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (TRN1v2i32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*281061*/    /*SwitchType*/ 10, MVT::v4f32,// ->281073
/*281063*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281065*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v4i32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (TRN1v4i32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*281073*/    /*SwitchType*/ 10, MVT::v2f64,// ->281085
/*281075*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281077*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1v2i64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (TRN1v2i64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*281085*/    /*SwitchType*/ 10, MVT::nxv8f16,// ->281097
/*281087*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281089*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_ZZZ_H), 0,
                    MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                // Dst: (TRN1_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*281097*/    /*SwitchType*/ 10, MVT::nxv4f16,// ->281109
/*281099*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281101*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_ZZZ_S), 0,
                    MVT::nxv4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv4f16] } nxv4f16:{ *:[nxv4f16] }:$Op1, nxv4f16:{ *:[nxv4f16] }:$Op2) - Complexity = 3
                // Dst: (TRN1_ZZZ_S:{ *:[nxv4f16] } ?:{ *:[nxv4f16] }:$Op1, ?:{ *:[nxv4f16] }:$Op2)
/*281109*/    /*SwitchType*/ 10, MVT::nxv4f32,// ->281121
/*281111*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281113*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_ZZZ_S), 0,
                    MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                // Dst: (TRN1_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*281121*/    /*SwitchType*/ 10, MVT::nxv2f64,// ->281133
/*281123*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281125*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN1_ZZZ_D), 0,
                    MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn1:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                // Dst: (TRN1_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*281133*/    0, // EndSwitchType
/*281134*/  /*SwitchOpcode*/ 36|128,2/*292*/, TARGET_VAL(AArch64ISD::TRN2),// ->281430
/*281138*/    OPC_RecordChild0, // #0 = $Rn
/*281139*/    OPC_RecordChild1, // #1 = $Rm
/*281140*/    OPC_SwitchType /*24 cases */, 10, MVT::v8i8,// ->281153
/*281143*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281145*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (TRN2v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*281153*/    /*SwitchType*/ 10, MVT::v16i8,// ->281165
/*281155*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281157*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (TRN2v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*281165*/    /*SwitchType*/ 10, MVT::v4i16,// ->281177
/*281167*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281169*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (TRN2v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*281177*/    /*SwitchType*/ 10, MVT::v8i16,// ->281189
/*281179*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281181*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (TRN2v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*281189*/    /*SwitchType*/ 10, MVT::v2i32,// ->281201
/*281191*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281193*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (TRN2v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*281201*/    /*SwitchType*/ 10, MVT::v4i32,// ->281213
/*281203*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281205*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (TRN2v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*281213*/    /*SwitchType*/ 10, MVT::v2i64,// ->281225
/*281215*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281217*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (TRN2v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*281225*/    /*SwitchType*/ 10, MVT::nxv16i8,// ->281237
/*281227*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281229*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_ZZZ_B), 0,
                    MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (TRN2_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*281237*/    /*SwitchType*/ 10, MVT::nxv8i16,// ->281249
/*281239*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281241*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_ZZZ_H), 0,
                    MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (TRN2_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*281249*/    /*SwitchType*/ 10, MVT::nxv4i32,// ->281261
/*281251*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281253*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_ZZZ_S), 0,
                    MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (TRN2_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*281261*/    /*SwitchType*/ 10, MVT::nxv2i64,// ->281273
/*281263*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281265*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_ZZZ_D), 0,
                    MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (TRN2_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*281273*/    /*SwitchType*/ 10, MVT::nxv16i1,// ->281285
/*281275*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281277*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_PPP_B), 0,
                    MVT::nxv16i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv16i1] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 3
                // Dst: (TRN2_PPP_B:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*281285*/    /*SwitchType*/ 10, MVT::nxv8i1,// ->281297
/*281287*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281289*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_PPP_H), 0,
                    MVT::nxv8i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv8i1] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 3
                // Dst: (TRN2_PPP_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*281297*/    /*SwitchType*/ 10, MVT::nxv4i1,// ->281309
/*281299*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281301*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_PPP_S), 0,
                    MVT::nxv4i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv4i1] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 3
                // Dst: (TRN2_PPP_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*281309*/    /*SwitchType*/ 10, MVT::nxv2i1,// ->281321
/*281311*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281313*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_PPP_D), 0,
                    MVT::nxv2i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv2i1] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 3
                // Dst: (TRN2_PPP_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*281321*/    /*SwitchType*/ 10, MVT::v4f16,// ->281333
/*281323*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281325*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v4i16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (TRN2v4i16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*281333*/    /*SwitchType*/ 10, MVT::v8f16,// ->281345
/*281335*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281337*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v8i16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (TRN2v8i16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*281345*/    /*SwitchType*/ 10, MVT::v2f32,// ->281357
/*281347*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281349*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v2i32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (TRN2v2i32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*281357*/    /*SwitchType*/ 10, MVT::v4f32,// ->281369
/*281359*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281361*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v4i32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (TRN2v4i32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*281369*/    /*SwitchType*/ 10, MVT::v2f64,// ->281381
/*281371*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281373*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2v2i64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (TRN2v2i64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*281381*/    /*SwitchType*/ 10, MVT::nxv8f16,// ->281393
/*281383*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281385*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_ZZZ_H), 0,
                    MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                // Dst: (TRN2_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*281393*/    /*SwitchType*/ 10, MVT::nxv4f16,// ->281405
/*281395*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281397*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_ZZZ_S), 0,
                    MVT::nxv4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv4f16] } nxv4f16:{ *:[nxv4f16] }:$Op1, nxv4f16:{ *:[nxv4f16] }:$Op2) - Complexity = 3
                // Dst: (TRN2_ZZZ_S:{ *:[nxv4f16] } ?:{ *:[nxv4f16] }:$Op1, ?:{ *:[nxv4f16] }:$Op2)
/*281405*/    /*SwitchType*/ 10, MVT::nxv4f32,// ->281417
/*281407*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281409*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_ZZZ_S), 0,
                    MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                // Dst: (TRN2_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*281417*/    /*SwitchType*/ 10, MVT::nxv2f64,// ->281429
/*281419*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281421*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TRN2_ZZZ_D), 0,
                    MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64trn2:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                // Dst: (TRN2_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*281429*/    0, // EndSwitchType
/*281430*/  /*SwitchOpcode*/ 36|128,2/*292*/, TARGET_VAL(AArch64ISD::UZP1),// ->281726
/*281434*/    OPC_RecordChild0, // #0 = $Rn
/*281435*/    OPC_RecordChild1, // #1 = $Rm
/*281436*/    OPC_SwitchType /*24 cases */, 10, MVT::v8i8,// ->281449
/*281439*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281441*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (UZP1v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*281449*/    /*SwitchType*/ 10, MVT::v16i8,// ->281461
/*281451*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281453*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (UZP1v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*281461*/    /*SwitchType*/ 10, MVT::v4i16,// ->281473
/*281463*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281465*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (UZP1v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*281473*/    /*SwitchType*/ 10, MVT::v8i16,// ->281485
/*281475*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281477*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (UZP1v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*281485*/    /*SwitchType*/ 10, MVT::v2i32,// ->281497
/*281487*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281489*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (UZP1v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*281497*/    /*SwitchType*/ 10, MVT::v4i32,// ->281509
/*281499*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281501*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (UZP1v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*281509*/    /*SwitchType*/ 10, MVT::v2i64,// ->281521
/*281511*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281513*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (UZP1v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*281521*/    /*SwitchType*/ 10, MVT::nxv16i8,// ->281533
/*281523*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281525*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_ZZZ_B), 0,
                    MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (UZP1_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*281533*/    /*SwitchType*/ 10, MVT::nxv8i16,// ->281545
/*281535*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281537*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_ZZZ_H), 0,
                    MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (UZP1_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*281545*/    /*SwitchType*/ 10, MVT::nxv4i32,// ->281557
/*281547*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281549*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_ZZZ_S), 0,
                    MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (UZP1_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*281557*/    /*SwitchType*/ 10, MVT::nxv2i64,// ->281569
/*281559*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281561*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_ZZZ_D), 0,
                    MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (UZP1_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*281569*/    /*SwitchType*/ 10, MVT::nxv16i1,// ->281581
/*281571*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281573*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_PPP_B), 0,
                    MVT::nxv16i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv16i1] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 3
                // Dst: (UZP1_PPP_B:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*281581*/    /*SwitchType*/ 10, MVT::nxv8i1,// ->281593
/*281583*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281585*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_PPP_H), 0,
                    MVT::nxv8i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv8i1] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 3
                // Dst: (UZP1_PPP_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*281593*/    /*SwitchType*/ 10, MVT::nxv4i1,// ->281605
/*281595*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281597*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_PPP_S), 0,
                    MVT::nxv4i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv4i1] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 3
                // Dst: (UZP1_PPP_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*281605*/    /*SwitchType*/ 10, MVT::nxv2i1,// ->281617
/*281607*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281609*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_PPP_D), 0,
                    MVT::nxv2i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv2i1] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 3
                // Dst: (UZP1_PPP_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*281617*/    /*SwitchType*/ 10, MVT::v4f16,// ->281629
/*281619*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281621*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v4i16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (UZP1v4i16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*281629*/    /*SwitchType*/ 10, MVT::v8f16,// ->281641
/*281631*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281633*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v8i16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (UZP1v8i16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*281641*/    /*SwitchType*/ 10, MVT::v2f32,// ->281653
/*281643*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281645*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v2i32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (UZP1v2i32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*281653*/    /*SwitchType*/ 10, MVT::v4f32,// ->281665
/*281655*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281657*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v4i32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (UZP1v4i32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*281665*/    /*SwitchType*/ 10, MVT::v2f64,// ->281677
/*281667*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281669*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1v2i64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (UZP1v2i64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*281677*/    /*SwitchType*/ 10, MVT::nxv8f16,// ->281689
/*281679*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281681*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_ZZZ_H), 0,
                    MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                // Dst: (UZP1_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*281689*/    /*SwitchType*/ 10, MVT::nxv4f16,// ->281701
/*281691*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281693*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_ZZZ_S), 0,
                    MVT::nxv4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv4f16] } nxv4f16:{ *:[nxv4f16] }:$Op1, nxv4f16:{ *:[nxv4f16] }:$Op2) - Complexity = 3
                // Dst: (UZP1_ZZZ_S:{ *:[nxv4f16] } ?:{ *:[nxv4f16] }:$Op1, ?:{ *:[nxv4f16] }:$Op2)
/*281701*/    /*SwitchType*/ 10, MVT::nxv4f32,// ->281713
/*281703*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281705*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_ZZZ_S), 0,
                    MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                // Dst: (UZP1_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*281713*/    /*SwitchType*/ 10, MVT::nxv2f64,// ->281725
/*281715*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281717*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP1_ZZZ_D), 0,
                    MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp1:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                // Dst: (UZP1_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*281725*/    0, // EndSwitchType
/*281726*/  /*SwitchOpcode*/ 36|128,2/*292*/, TARGET_VAL(AArch64ISD::UZP2),// ->282022
/*281730*/    OPC_RecordChild0, // #0 = $Rn
/*281731*/    OPC_RecordChild1, // #1 = $Rm
/*281732*/    OPC_SwitchType /*24 cases */, 10, MVT::v8i8,// ->281745
/*281735*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281737*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (UZP2v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*281745*/    /*SwitchType*/ 10, MVT::v16i8,// ->281757
/*281747*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281749*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (UZP2v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*281757*/    /*SwitchType*/ 10, MVT::v4i16,// ->281769
/*281759*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281761*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (UZP2v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*281769*/    /*SwitchType*/ 10, MVT::v8i16,// ->281781
/*281771*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281773*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (UZP2v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*281781*/    /*SwitchType*/ 10, MVT::v2i32,// ->281793
/*281783*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281785*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (UZP2v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*281793*/    /*SwitchType*/ 10, MVT::v4i32,// ->281805
/*281795*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281797*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (UZP2v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*281805*/    /*SwitchType*/ 10, MVT::v2i64,// ->281817
/*281807*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281809*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (UZP2v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*281817*/    /*SwitchType*/ 10, MVT::nxv16i8,// ->281829
/*281819*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281821*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_ZZZ_B), 0,
                    MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (UZP2_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*281829*/    /*SwitchType*/ 10, MVT::nxv8i16,// ->281841
/*281831*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281833*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_ZZZ_H), 0,
                    MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (UZP2_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*281841*/    /*SwitchType*/ 10, MVT::nxv4i32,// ->281853
/*281843*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281845*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_ZZZ_S), 0,
                    MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (UZP2_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*281853*/    /*SwitchType*/ 10, MVT::nxv2i64,// ->281865
/*281855*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281857*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_ZZZ_D), 0,
                    MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (UZP2_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*281865*/    /*SwitchType*/ 10, MVT::nxv16i1,// ->281877
/*281867*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281869*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_PPP_B), 0,
                    MVT::nxv16i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv16i1] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 3
                // Dst: (UZP2_PPP_B:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*281877*/    /*SwitchType*/ 10, MVT::nxv8i1,// ->281889
/*281879*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281881*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_PPP_H), 0,
                    MVT::nxv8i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv8i1] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 3
                // Dst: (UZP2_PPP_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*281889*/    /*SwitchType*/ 10, MVT::nxv4i1,// ->281901
/*281891*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281893*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_PPP_S), 0,
                    MVT::nxv4i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv4i1] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 3
                // Dst: (UZP2_PPP_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*281901*/    /*SwitchType*/ 10, MVT::nxv2i1,// ->281913
/*281903*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281905*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_PPP_D), 0,
                    MVT::nxv2i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv2i1] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 3
                // Dst: (UZP2_PPP_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*281913*/    /*SwitchType*/ 10, MVT::v4f16,// ->281925
/*281915*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281917*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v4i16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (UZP2v4i16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*281925*/    /*SwitchType*/ 10, MVT::v8f16,// ->281937
/*281927*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281929*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v8i16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (UZP2v8i16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*281937*/    /*SwitchType*/ 10, MVT::v2f32,// ->281949
/*281939*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281941*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v2i32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (UZP2v2i32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*281949*/    /*SwitchType*/ 10, MVT::v4f32,// ->281961
/*281951*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281953*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v4i32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (UZP2v4i32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*281961*/    /*SwitchType*/ 10, MVT::v2f64,// ->281973
/*281963*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*281965*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2v2i64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (UZP2v2i64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*281973*/    /*SwitchType*/ 10, MVT::nxv8f16,// ->281985
/*281975*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281977*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_ZZZ_H), 0,
                    MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                // Dst: (UZP2_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*281985*/    /*SwitchType*/ 10, MVT::nxv4f16,// ->281997
/*281987*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*281989*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_ZZZ_S), 0,
                    MVT::nxv4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv4f16] } nxv4f16:{ *:[nxv4f16] }:$Op1, nxv4f16:{ *:[nxv4f16] }:$Op2) - Complexity = 3
                // Dst: (UZP2_ZZZ_S:{ *:[nxv4f16] } ?:{ *:[nxv4f16] }:$Op1, ?:{ *:[nxv4f16] }:$Op2)
/*281997*/    /*SwitchType*/ 10, MVT::nxv4f32,// ->282009
/*281999*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282001*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_ZZZ_S), 0,
                    MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                // Dst: (UZP2_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*282009*/    /*SwitchType*/ 10, MVT::nxv2f64,// ->282021
/*282011*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282013*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UZP2_ZZZ_D), 0,
                    MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64uzp2:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                // Dst: (UZP2_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*282021*/    0, // EndSwitchType
/*282022*/  /*SwitchOpcode*/ 36|128,2/*292*/, TARGET_VAL(AArch64ISD::ZIP1),// ->282318
/*282026*/    OPC_RecordChild0, // #0 = $Rn
/*282027*/    OPC_RecordChild1, // #1 = $Rm
/*282028*/    OPC_SwitchType /*24 cases */, 10, MVT::v8i8,// ->282041
/*282031*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282033*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*282041*/    /*SwitchType*/ 10, MVT::v16i8,// ->282053
/*282043*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282045*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*282053*/    /*SwitchType*/ 10, MVT::v4i16,// ->282065
/*282055*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282057*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*282065*/    /*SwitchType*/ 10, MVT::v8i16,// ->282077
/*282067*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282069*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*282077*/    /*SwitchType*/ 10, MVT::v2i32,// ->282089
/*282079*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282081*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*282089*/    /*SwitchType*/ 10, MVT::v4i32,// ->282101
/*282091*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282093*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*282101*/    /*SwitchType*/ 10, MVT::v2i64,// ->282113
/*282103*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282105*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*282113*/    /*SwitchType*/ 10, MVT::nxv16i8,// ->282125
/*282115*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282117*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_ZZZ_B), 0,
                    MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*282125*/    /*SwitchType*/ 10, MVT::nxv8i16,// ->282137
/*282127*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282129*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_ZZZ_H), 0,
                    MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*282137*/    /*SwitchType*/ 10, MVT::nxv4i32,// ->282149
/*282139*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282141*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_ZZZ_S), 0,
                    MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*282149*/    /*SwitchType*/ 10, MVT::nxv2i64,// ->282161
/*282151*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282153*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_ZZZ_D), 0,
                    MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*282161*/    /*SwitchType*/ 10, MVT::nxv16i1,// ->282173
/*282163*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282165*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_PPP_B), 0,
                    MVT::nxv16i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv16i1] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_PPP_B:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*282173*/    /*SwitchType*/ 10, MVT::nxv8i1,// ->282185
/*282175*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282177*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_PPP_H), 0,
                    MVT::nxv8i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv8i1] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_PPP_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*282185*/    /*SwitchType*/ 10, MVT::nxv4i1,// ->282197
/*282187*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282189*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_PPP_S), 0,
                    MVT::nxv4i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv4i1] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_PPP_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*282197*/    /*SwitchType*/ 10, MVT::nxv2i1,// ->282209
/*282199*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282201*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_PPP_D), 0,
                    MVT::nxv2i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv2i1] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_PPP_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*282209*/    /*SwitchType*/ 10, MVT::v4f16,// ->282221
/*282211*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282213*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v4i16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v4i16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*282221*/    /*SwitchType*/ 10, MVT::v8f16,// ->282233
/*282223*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282225*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v8i16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v8i16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*282233*/    /*SwitchType*/ 10, MVT::v2f32,// ->282245
/*282235*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282237*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v2i32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v2i32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*282245*/    /*SwitchType*/ 10, MVT::v4f32,// ->282257
/*282247*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282249*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v4i32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v4i32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*282257*/    /*SwitchType*/ 10, MVT::v2f64,// ->282269
/*282259*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282261*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1v2i64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (ZIP1v2i64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*282269*/    /*SwitchType*/ 10, MVT::nxv8f16,// ->282281
/*282271*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282273*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_ZZZ_H), 0,
                    MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*282281*/    /*SwitchType*/ 10, MVT::nxv4f16,// ->282293
/*282283*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282285*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_ZZZ_S), 0,
                    MVT::nxv4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv4f16] } nxv4f16:{ *:[nxv4f16] }:$Op1, nxv4f16:{ *:[nxv4f16] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_ZZZ_S:{ *:[nxv4f16] } ?:{ *:[nxv4f16] }:$Op1, ?:{ *:[nxv4f16] }:$Op2)
/*282293*/    /*SwitchType*/ 10, MVT::nxv4f32,// ->282305
/*282295*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282297*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_ZZZ_S), 0,
                    MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*282305*/    /*SwitchType*/ 10, MVT::nxv2f64,// ->282317
/*282307*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282309*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP1_ZZZ_D), 0,
                    MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip1:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                // Dst: (ZIP1_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*282317*/    0, // EndSwitchType
/*282318*/  /*SwitchOpcode*/ 36|128,2/*292*/, TARGET_VAL(AArch64ISD::ZIP2),// ->282614
/*282322*/    OPC_RecordChild0, // #0 = $Rn
/*282323*/    OPC_RecordChild1, // #1 = $Rm
/*282324*/    OPC_SwitchType /*24 cases */, 10, MVT::v8i8,// ->282337
/*282327*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282329*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v8i8), 0,
                    MVT::v8i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v8i8:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn, V64:{ *:[v8i8] }:$Rm)
/*282337*/    /*SwitchType*/ 10, MVT::v16i8,// ->282349
/*282339*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282341*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v16i8), 0,
                    MVT::v16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v16i8:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn, V128:{ *:[v16i8] }:$Rm)
/*282349*/    /*SwitchType*/ 10, MVT::v4i16,// ->282361
/*282351*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282353*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v4i16), 0,
                    MVT::v4i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v4i16:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn, V64:{ *:[v4i16] }:$Rm)
/*282361*/    /*SwitchType*/ 10, MVT::v8i16,// ->282373
/*282363*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282365*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v8i16), 0,
                    MVT::v8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v8i16:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn, V128:{ *:[v8i16] }:$Rm)
/*282373*/    /*SwitchType*/ 10, MVT::v2i32,// ->282385
/*282375*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282377*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rm)
/*282385*/    /*SwitchType*/ 10, MVT::v4i32,// ->282397
/*282387*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282389*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v4i32), 0,
                    MVT::v4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v4i32:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn, V128:{ *:[v4i32] }:$Rm)
/*282397*/    /*SwitchType*/ 10, MVT::v2i64,// ->282409
/*282399*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282401*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v2i64), 0,
                    MVT::v2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v2i64:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn, V128:{ *:[v2i64] }:$Rm)
/*282409*/    /*SwitchType*/ 10, MVT::nxv16i8,// ->282421
/*282411*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282413*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_ZZZ_B), 0,
                    MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*282421*/    /*SwitchType*/ 10, MVT::nxv8i16,// ->282433
/*282423*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282425*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_ZZZ_H), 0,
                    MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*282433*/    /*SwitchType*/ 10, MVT::nxv4i32,// ->282445
/*282435*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282437*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_ZZZ_S), 0,
                    MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*282445*/    /*SwitchType*/ 10, MVT::nxv2i64,// ->282457
/*282447*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282449*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_ZZZ_D), 0,
                    MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*282457*/    /*SwitchType*/ 10, MVT::nxv16i1,// ->282469
/*282459*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282461*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_PPP_B), 0,
                    MVT::nxv16i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv16i1] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_PPP_B:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2)
/*282469*/    /*SwitchType*/ 10, MVT::nxv8i1,// ->282481
/*282471*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282473*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_PPP_H), 0,
                    MVT::nxv8i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv8i1] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_PPP_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2)
/*282481*/    /*SwitchType*/ 10, MVT::nxv4i1,// ->282493
/*282483*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282485*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_PPP_S), 0,
                    MVT::nxv4i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv4i1] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_PPP_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2)
/*282493*/    /*SwitchType*/ 10, MVT::nxv2i1,// ->282505
/*282495*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282497*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_PPP_D), 0,
                    MVT::nxv2i1, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv2i1] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_PPP_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2)
/*282505*/    /*SwitchType*/ 10, MVT::v4f16,// ->282517
/*282507*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282509*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v4i16), 0,
                    MVT::v4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v4i16:{ *:[v4f16] } V64:{ *:[v4f16] }:$Rn, V64:{ *:[v4f16] }:$Rm)
/*282517*/    /*SwitchType*/ 10, MVT::v8f16,// ->282529
/*282519*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282521*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v8i16), 0,
                    MVT::v8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v8i16:{ *:[v8f16] } V128:{ *:[v8f16] }:$Rn, V128:{ *:[v8f16] }:$Rm)
/*282529*/    /*SwitchType*/ 10, MVT::v2f32,// ->282541
/*282531*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282533*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v2i32), 0,
                    MVT::v2f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v2i32:{ *:[v2f32] } V64:{ *:[v2f32] }:$Rn, V64:{ *:[v2f32] }:$Rm)
/*282541*/    /*SwitchType*/ 10, MVT::v4f32,// ->282553
/*282543*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282545*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v4i32), 0,
                    MVT::v4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v4i32:{ *:[v4f32] } V128:{ *:[v4f32] }:$Rn, V128:{ *:[v4f32] }:$Rm)
/*282553*/    /*SwitchType*/ 10, MVT::v2f64,// ->282565
/*282555*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*282557*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2v2i64), 0,
                    MVT::v2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm) - Complexity = 3
                // Dst: (ZIP2v2i64:{ *:[v2f64] } V128:{ *:[v2f64] }:$Rn, V128:{ *:[v2f64] }:$Rm)
/*282565*/    /*SwitchType*/ 10, MVT::nxv8f16,// ->282577
/*282567*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282569*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_ZZZ_H), 0,
                    MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8f16] }:$Op2)
/*282577*/    /*SwitchType*/ 10, MVT::nxv4f16,// ->282589
/*282579*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282581*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_ZZZ_S), 0,
                    MVT::nxv4f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv4f16] } nxv4f16:{ *:[nxv4f16] }:$Op1, nxv4f16:{ *:[nxv4f16] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_ZZZ_S:{ *:[nxv4f16] } ?:{ *:[nxv4f16] }:$Op1, ?:{ *:[nxv4f16] }:$Op2)
/*282589*/    /*SwitchType*/ 10, MVT::nxv4f32,// ->282601
/*282591*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282593*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_ZZZ_S), 0,
                    MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4f32] }:$Op2)
/*282601*/    /*SwitchType*/ 10, MVT::nxv2f64,// ->282613
/*282603*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*282605*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ZIP2_ZZZ_D), 0,
                    MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64zip2:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2) - Complexity = 3
                // Dst: (ZIP2_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2f64] }:$Op2)
/*282613*/    0, // EndSwitchType
/*282614*/  /*SwitchOpcode*/ 47|128,1/*175*/, TARGET_VAL(AArch64ISD::SADDV),// ->282793
/*282618*/    OPC_RecordChild0, // #0 = $Rn
/*282619*/    OPC_SwitchType /*7 cases */, 8, MVT::v2i32,// ->282630
/*282622*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 0, 
                // Src: (AArch64saddv:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (ADDPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rn)
/*282630*/    /*SwitchType*/ 25, MVT::v2i64,// ->282657
/*282632*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #1
/*282638*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDPv2i64p), 0,
                    MVT::i64, 1/*#Ops*/, 0,  // Results = #2
/*282645*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*282648*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64saddv:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (ADDPv2i64p:{ *:[i64] } V128:{ *:[v2i64] }:$Rn), dsub:{ *:[i32] })
/*282657*/    /*SwitchType*/ 25, MVT::v8i8,// ->282684
/*282659*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*282665*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*282672*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*282675*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64saddv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (ADDVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] })
/*282684*/    /*SwitchType*/ 25, MVT::v16i8,// ->282711
/*282686*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*282692*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv16i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*282699*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*282702*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64saddv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] })
/*282711*/    /*SwitchType*/ 25, MVT::v4i16,// ->282738
/*282713*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*282719*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*282726*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*282729*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64saddv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (ADDVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] })
/*282738*/    /*SwitchType*/ 25, MVT::v8i16,// ->282765
/*282740*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*282746*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*282753*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*282756*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64saddv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (ADDVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] })
/*282765*/    /*SwitchType*/ 25, MVT::v4i32,// ->282792
/*282767*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*282773*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                    MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*282780*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*282783*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64saddv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (ADDVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] })
/*282792*/    0, // EndSwitchType
/*282793*/  /*SwitchOpcode*/ 47|128,1/*175*/, TARGET_VAL(AArch64ISD::UADDV),// ->282972
/*282797*/    OPC_RecordChild0, // #0 = $Rn
/*282798*/    OPC_SwitchType /*7 cases */, 8, MVT::v2i32,// ->282809
/*282801*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::ADDPv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 0, 
                // Src: (AArch64uaddv:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (ADDPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rn)
/*282809*/    /*SwitchType*/ 25, MVT::v2i64,// ->282836
/*282811*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #1
/*282817*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDPv2i64p), 0,
                    MVT::i64, 1/*#Ops*/, 0,  // Results = #2
/*282824*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*282827*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uaddv:{ *:[v2i64] } V128:{ *:[v2i64] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (ADDPv2i64p:{ *:[i64] } V128:{ *:[v2i64] }:$Rn), dsub:{ *:[i32] })
/*282836*/    /*SwitchType*/ 25, MVT::v8i8,// ->282863
/*282838*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*282844*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*282851*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*282854*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uaddv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (ADDVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] })
/*282863*/    /*SwitchType*/ 25, MVT::v16i8,// ->282890
/*282865*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*282871*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv16i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*282878*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*282881*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uaddv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ADDVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] })
/*282890*/    /*SwitchType*/ 25, MVT::v4i16,// ->282917
/*282892*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*282898*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*282905*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*282908*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uaddv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (ADDVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] })
/*282917*/    /*SwitchType*/ 25, MVT::v8i16,// ->282944
/*282919*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*282925*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv8i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*282932*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*282935*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uaddv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (ADDVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] })
/*282944*/    /*SwitchType*/ 25, MVT::v4i32,// ->282971
/*282946*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*282952*/      OPC_EmitNode1, TARGET_VAL(AArch64::ADDVv4i32v), 0,
                    MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*282959*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*282962*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uaddv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (ADDVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] })
/*282971*/    0, // EndSwitchType
/*282972*/  /*SwitchOpcode*/ 20|128,1/*148*/, TARGET_VAL(AArch64ISD::SMAXV),// ->283124
/*282976*/    OPC_RecordChild0, // #0 = $Rn
/*282977*/    OPC_SwitchType /*6 cases */, 8, MVT::v2i32,// ->282988
/*282980*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMAXPv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 0, 
                // Src: (AArch64smaxv:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (SMAXPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rn)
/*282988*/    /*SwitchType*/ 25, MVT::v8i8,// ->283015
/*282990*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*282996*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv8i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*283003*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*283006*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64smaxv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (SMAXVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] })
/*283015*/    /*SwitchType*/ 25, MVT::v16i8,// ->283042
/*283017*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*283023*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv16i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*283030*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*283033*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64smaxv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMAXVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] })
/*283042*/    /*SwitchType*/ 25, MVT::v4i16,// ->283069
/*283044*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*283050*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv4i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*283057*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*283060*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64smaxv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (SMAXVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] })
/*283069*/    /*SwitchType*/ 25, MVT::v8i16,// ->283096
/*283071*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*283077*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv8i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*283084*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*283087*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64smaxv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (SMAXVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] })
/*283096*/    /*SwitchType*/ 25, MVT::v4i32,// ->283123
/*283098*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*283104*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXVv4i32v), 0,
                    MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*283111*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*283114*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64smaxv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (SMAXVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] })
/*283123*/    0, // EndSwitchType
/*283124*/  /*SwitchOpcode*/ 20|128,1/*148*/, TARGET_VAL(AArch64ISD::SMINV),// ->283276
/*283128*/    OPC_RecordChild0, // #0 = $Rn
/*283129*/    OPC_SwitchType /*6 cases */, 8, MVT::v2i32,// ->283140
/*283132*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SMINPv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 0, 
                // Src: (AArch64sminv:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (SMINPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rn)
/*283140*/    /*SwitchType*/ 25, MVT::v8i8,// ->283167
/*283142*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*283148*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv8i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*283155*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*283158*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64sminv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (SMINVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] })
/*283167*/    /*SwitchType*/ 25, MVT::v16i8,// ->283194
/*283169*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*283175*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv16i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*283182*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*283185*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64sminv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMINVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] })
/*283194*/    /*SwitchType*/ 25, MVT::v4i16,// ->283221
/*283196*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*283202*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv4i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*283209*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*283212*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64sminv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (SMINVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] })
/*283221*/    /*SwitchType*/ 25, MVT::v8i16,// ->283248
/*283223*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*283229*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv8i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*283236*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*283239*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64sminv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (SMINVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] })
/*283248*/    /*SwitchType*/ 25, MVT::v4i32,// ->283275
/*283250*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*283256*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINVv4i32v), 0,
                    MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*283263*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*283266*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64sminv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (SMINVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] })
/*283275*/    0, // EndSwitchType
/*283276*/  /*SwitchOpcode*/ 20|128,1/*148*/, TARGET_VAL(AArch64ISD::UMAXV),// ->283428
/*283280*/    OPC_RecordChild0, // #0 = $Rn
/*283281*/    OPC_SwitchType /*6 cases */, 8, MVT::v2i32,// ->283292
/*283284*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMAXPv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 0, 
                // Src: (AArch64umaxv:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (UMAXPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rn)
/*283292*/    /*SwitchType*/ 25, MVT::v8i8,// ->283319
/*283294*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*283300*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv8i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*283307*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*283310*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64umaxv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (UMAXVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] })
/*283319*/    /*SwitchType*/ 25, MVT::v16i8,// ->283346
/*283321*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*283327*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv16i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*283334*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*283337*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64umaxv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMAXVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] })
/*283346*/    /*SwitchType*/ 25, MVT::v4i16,// ->283373
/*283348*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*283354*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv4i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*283361*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*283364*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64umaxv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (UMAXVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] })
/*283373*/    /*SwitchType*/ 25, MVT::v8i16,// ->283400
/*283375*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*283381*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv8i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*283388*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*283391*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64umaxv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (UMAXVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] })
/*283400*/    /*SwitchType*/ 25, MVT::v4i32,// ->283427
/*283402*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*283408*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXVv4i32v), 0,
                    MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*283415*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*283418*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64umaxv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (UMAXVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] })
/*283427*/    0, // EndSwitchType
/*283428*/  /*SwitchOpcode*/ 20|128,1/*148*/, TARGET_VAL(AArch64ISD::UMINV),// ->283580
/*283432*/    OPC_RecordChild0, // #0 = $Rn
/*283433*/    OPC_SwitchType /*6 cases */, 8, MVT::v2i32,// ->283444
/*283436*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UMINPv2i32), 0,
                    MVT::v2i32, 2/*#Ops*/, 0, 0, 
                // Src: (AArch64uminv:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn) - Complexity = 3
                // Dst: (UMINPv2i32:{ *:[v2i32] } V64:{ *:[v2i32] }:$Rn, V64:{ *:[v2i32] }:$Rn)
/*283444*/    /*SwitchType*/ 25, MVT::v8i8,// ->283471
/*283446*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i8, 0/*#Ops*/,  // Results = #1
/*283452*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv8i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*283459*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*283462*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uminv:{ *:[v8i8] } V64:{ *:[v8i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i8] } (IMPLICIT_DEF:{ *:[v8i8] }), (UMINVv8i8v:{ *:[Untyped] } V64:{ *:[v8i8] }:$Rn), bsub:{ *:[i32] })
/*283471*/    /*SwitchType*/ 25, MVT::v16i8,// ->283498
/*283473*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #1
/*283479*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv16i8v), 0,
                    MVT::Untyped, 1/*#Ops*/, 0,  // Results = #2
/*283486*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*283489*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uminv:{ *:[v16i8] } V128:{ *:[v16i8] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMINVv16i8v:{ *:[Untyped] } V128:{ *:[v16i8] }:$Rn), bsub:{ *:[i32] })
/*283498*/    /*SwitchType*/ 25, MVT::v4i16,// ->283525
/*283500*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i16, 0/*#Ops*/,  // Results = #1
/*283506*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv4i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*283513*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*283516*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uminv:{ *:[v4i16] } V64:{ *:[v4i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i16] } (IMPLICIT_DEF:{ *:[v4i16] }), (UMINVv4i16v:{ *:[f16] } V64:{ *:[v4i16] }:$Rn), hsub:{ *:[i32] })
/*283525*/    /*SwitchType*/ 25, MVT::v8i16,// ->283552
/*283527*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #1
/*283533*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv8i16v), 0,
                    MVT::f16, 1/*#Ops*/, 0,  // Results = #2
/*283540*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*283543*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uminv:{ *:[v8i16] } V128:{ *:[v8i16] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (UMINVv8i16v:{ *:[f16] } V128:{ *:[v8i16] }:$Rn), hsub:{ *:[i32] })
/*283552*/    /*SwitchType*/ 25, MVT::v4i32,// ->283579
/*283554*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #1
/*283560*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINVv4i32v), 0,
                    MVT::i32, 1/*#Ops*/, 0,  // Results = #2
/*283567*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*283570*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64uminv:{ *:[v4i32] } V128:{ *:[v4i32] }:$Rn) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (UMINVv4i32v:{ *:[i32] } V128:{ *:[v4i32] }:$Rn), ssub:{ *:[i32] })
/*283579*/    0, // EndSwitchType
/*283580*/  /*SwitchOpcode*/ 44|128,2/*300*/, TARGET_VAL(ISD::BUILD_VECTOR),// ->283884
/*283584*/    OPC_Scope, 15|128,1/*143*/, /*->283730*/ // 2 children in Scope
/*283587*/      OPC_CheckImmAllZerosV,
/*283588*/      OPC_SwitchType /*8 cases */, 10, MVT::v2i64,// ->283601
/*283591*/        OPC_EmitInteger, MVT::i32, 0, 
/*283594*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: immAllZerosV:{ *:[v2i64] } - Complexity = 3
                  // Dst: (MOVIv2d_ns:{ *:[v2i64] } 0:{ *:[i32] })
/*283601*/      /*SwitchType*/ 10, MVT::v4i32,// ->283613
/*283603*/        OPC_EmitInteger, MVT::i32, 0, 
/*283606*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: immAllZerosV:{ *:[v4i32] } - Complexity = 3
                  // Dst: (MOVIv2d_ns:{ *:[v4i32] } 0:{ *:[i32] })
/*283613*/      /*SwitchType*/ 10, MVT::v8i16,// ->283625
/*283615*/        OPC_EmitInteger, MVT::i32, 0, 
/*283618*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: immAllZerosV:{ *:[v8i16] } - Complexity = 3
                  // Dst: (MOVIv2d_ns:{ *:[v8i16] } 0:{ *:[i32] })
/*283625*/      /*SwitchType*/ 10, MVT::v16i8,// ->283637
/*283627*/        OPC_EmitInteger, MVT::i32, 0, 
/*283630*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: immAllZerosV:{ *:[v16i8] } - Complexity = 3
                  // Dst: (MOVIv2d_ns:{ *:[v16i8] } 0:{ *:[i32] })
/*283637*/      /*SwitchType*/ 21, MVT::v1i64,// ->283660
/*283639*/        OPC_EmitInteger, MVT::i32, 0, 
/*283642*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*283649*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*283652*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v1i64, 2/*#Ops*/, 1, 2, 
                  // Src: immAllZerosV:{ *:[v1i64] } - Complexity = 3
                  // Dst: (EXTRACT_SUBREG:{ *:[v1i64] } (MOVIv2d_ns:{ *:[f128] } 0:{ *:[i32] }), dsub:{ *:[i32] })
/*283660*/      /*SwitchType*/ 21, MVT::v2i32,// ->283683
/*283662*/        OPC_EmitInteger, MVT::i32, 0, 
/*283665*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*283672*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*283675*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2i32, 2/*#Ops*/, 1, 2, 
                  // Src: immAllZerosV:{ *:[v2i32] } - Complexity = 3
                  // Dst: (EXTRACT_SUBREG:{ *:[v2i32] } (MOVIv2d_ns:{ *:[f128] } 0:{ *:[i32] }), dsub:{ *:[i32] })
/*283683*/      /*SwitchType*/ 21, MVT::v4i16,// ->283706
/*283685*/        OPC_EmitInteger, MVT::i32, 0, 
/*283688*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*283695*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*283698*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4i16, 2/*#Ops*/, 1, 2, 
                  // Src: immAllZerosV:{ *:[v4i16] } - Complexity = 3
                  // Dst: (EXTRACT_SUBREG:{ *:[v4i16] } (MOVIv2d_ns:{ *:[f128] } 0:{ *:[i32] }), dsub:{ *:[i32] })
/*283706*/      /*SwitchType*/ 21, MVT::v8i8,// ->283729
/*283708*/        OPC_EmitInteger, MVT::i32, 0, 
/*283711*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*283718*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*283721*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v8i8, 2/*#Ops*/, 1, 2, 
                  // Src: immAllZerosV:{ *:[v8i8] } - Complexity = 3
                  // Dst: (EXTRACT_SUBREG:{ *:[v8i8] } (MOVIv2d_ns:{ *:[f128] } 0:{ *:[i32] }), dsub:{ *:[i32] })
/*283729*/      0, // EndSwitchType
/*283730*/    /*Scope*/ 23|128,1/*151*/, /*->283883*/
/*283732*/      OPC_CheckImmAllOnesV,
/*283733*/      OPC_SwitchType /*8 cases */, 11, MVT::v2i64,// ->283747
/*283736*/        OPC_EmitInteger, MVT::i32, 127|128,1/*255*/, 
/*283740*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::v2i64, 1/*#Ops*/, 0, 
                  // Src: immAllOnesV:{ *:[v2i64] } - Complexity = 3
                  // Dst: (MOVIv2d_ns:{ *:[v2i64] } 255:{ *:[i32] })
/*283747*/      /*SwitchType*/ 11, MVT::v4i32,// ->283760
/*283749*/        OPC_EmitInteger, MVT::i32, 127|128,1/*255*/, 
/*283753*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::v4i32, 1/*#Ops*/, 0, 
                  // Src: immAllOnesV:{ *:[v4i32] } - Complexity = 3
                  // Dst: (MOVIv2d_ns:{ *:[v4i32] } 255:{ *:[i32] })
/*283760*/      /*SwitchType*/ 11, MVT::v8i16,// ->283773
/*283762*/        OPC_EmitInteger, MVT::i32, 127|128,1/*255*/, 
/*283766*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::v8i16, 1/*#Ops*/, 0, 
                  // Src: immAllOnesV:{ *:[v8i16] } - Complexity = 3
                  // Dst: (MOVIv2d_ns:{ *:[v8i16] } 255:{ *:[i32] })
/*283773*/      /*SwitchType*/ 11, MVT::v16i8,// ->283786
/*283775*/        OPC_EmitInteger, MVT::i32, 127|128,1/*255*/, 
/*283779*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::v16i8, 1/*#Ops*/, 0, 
                  // Src: immAllOnesV:{ *:[v16i8] } - Complexity = 3
                  // Dst: (MOVIv2d_ns:{ *:[v16i8] } 255:{ *:[i32] })
/*283786*/      /*SwitchType*/ 22, MVT::v1i64,// ->283810
/*283788*/        OPC_EmitInteger, MVT::i32, 127|128,1/*255*/, 
/*283792*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*283799*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*283802*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v1i64, 2/*#Ops*/, 1, 2, 
                  // Src: immAllOnesV:{ *:[v1i64] } - Complexity = 3
                  // Dst: (EXTRACT_SUBREG:{ *:[v1i64] } (MOVIv2d_ns:{ *:[f128] } 255:{ *:[i32] }), dsub:{ *:[i32] })
/*283810*/      /*SwitchType*/ 22, MVT::v2i32,// ->283834
/*283812*/        OPC_EmitInteger, MVT::i32, 127|128,1/*255*/, 
/*283816*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*283823*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*283826*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v2i32, 2/*#Ops*/, 1, 2, 
                  // Src: immAllOnesV:{ *:[v2i32] } - Complexity = 3
                  // Dst: (EXTRACT_SUBREG:{ *:[v2i32] } (MOVIv2d_ns:{ *:[f128] } 255:{ *:[i32] }), dsub:{ *:[i32] })
/*283834*/      /*SwitchType*/ 22, MVT::v4i16,// ->283858
/*283836*/        OPC_EmitInteger, MVT::i32, 127|128,1/*255*/, 
/*283840*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*283847*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*283850*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v4i16, 2/*#Ops*/, 1, 2, 
                  // Src: immAllOnesV:{ *:[v4i16] } - Complexity = 3
                  // Dst: (EXTRACT_SUBREG:{ *:[v4i16] } (MOVIv2d_ns:{ *:[f128] } 255:{ *:[i32] }), dsub:{ *:[i32] })
/*283858*/      /*SwitchType*/ 22, MVT::v8i8,// ->283882
/*283860*/        OPC_EmitInteger, MVT::i32, 127|128,1/*255*/, 
/*283864*/        OPC_EmitNode1, TARGET_VAL(AArch64::MOVIv2d_ns), 0,
                      MVT::f128, 1/*#Ops*/, 0,  // Results = #1
/*283871*/        OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*283874*/        OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::EXTRACT_SUBREG), 0,
                      MVT::v8i8, 2/*#Ops*/, 1, 2, 
                  // Src: immAllOnesV:{ *:[v8i8] } - Complexity = 3
                  // Dst: (EXTRACT_SUBREG:{ *:[v8i8] } (MOVIv2d_ns:{ *:[f128] } 255:{ *:[i32] }), dsub:{ *:[i32] })
/*283882*/      0, // EndSwitchType
/*283883*/    0, /*End of Scope*/
/*283884*/  /*SwitchOpcode*/ 59|128,1/*187*/, TARGET_VAL(ISD::VSELECT),// ->284075
/*283888*/    OPC_RecordChild0, // #0 = $Op1
/*283889*/    OPC_Scope, 32, /*->283923*/ // 4 children in Scope
/*283891*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*283893*/      OPC_RecordChild1, // #1 = $Op2
/*283894*/      OPC_RecordChild2, // #2 = $Op3
/*283895*/      OPC_SwitchType /*2 cases */, 11, MVT::nxv16i8,// ->283909
/*283898*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*283900*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_ZPZZ_B), 0,
                      MVT::nxv16i8, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv16i8] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2, nxv16i8:{ *:[nxv16i8] }:$Op3) - Complexity = 3
                  // Dst: (SEL_ZPZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2, ?:{ *:[nxv16i8] }:$Op3)
/*283909*/      /*SwitchType*/ 11, MVT::nxv16i1,// ->283922
/*283911*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*283913*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_PPPP), 0,
                      MVT::nxv16i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv16i1] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i1:{ *:[nxv16i1] }:$Op2, nxv16i1:{ *:[nxv16i1] }:$Op3) - Complexity = 3
                  // Dst: (SEL_PPPP:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i1] }:$Op2, ?:{ *:[nxv16i1] }:$Op3)
/*283922*/      0, // EndSwitchType
/*283923*/    /*Scope*/ 45, /*->283969*/
/*283924*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*283926*/      OPC_RecordChild1, // #1 = $Op2
/*283927*/      OPC_RecordChild2, // #2 = $Op3
/*283928*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv8i16,// ->283942
/*283931*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*283933*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_ZPZZ_H), 0,
                      MVT::nxv8i16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv8i16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2, nxv8i16:{ *:[nxv8i16] }:$Op3) - Complexity = 3
                  // Dst: (SEL_ZPZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2, ?:{ *:[nxv8i16] }:$Op3)
/*283942*/      /*SwitchType*/ 11, MVT::nxv8i1,// ->283955
/*283944*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*283946*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_PPPP), 0,
                      MVT::nxv8i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv8i1] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i1:{ *:[nxv8i1] }:$Op2, nxv8i1:{ *:[nxv8i1] }:$Op3) - Complexity = 3
                  // Dst: (SEL_PPPP:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i1] }:$Op2, ?:{ *:[nxv8i1] }:$Op3)
/*283955*/      /*SwitchType*/ 11, MVT::nxv8f16,// ->283968
/*283957*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*283959*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_ZPZZ_H), 0,
                      MVT::nxv8f16, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv8f16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8f16:{ *:[nxv8f16] }:$Op2, nxv8f16:{ *:[nxv8f16] }:$Op3) - Complexity = 3
                  // Dst: (SEL_ZPZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8f16] }:$Op2, ?:{ *:[nxv8f16] }:$Op3)
/*283968*/      0, // EndSwitchType
/*283969*/    /*Scope*/ 45, /*->284015*/
/*283970*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*283972*/      OPC_RecordChild1, // #1 = $Op2
/*283973*/      OPC_RecordChild2, // #2 = $Op3
/*283974*/      OPC_SwitchType /*3 cases */, 11, MVT::nxv4i32,// ->283988
/*283977*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*283979*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_ZPZZ_S), 0,
                      MVT::nxv4i32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv4i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2, nxv4i32:{ *:[nxv4i32] }:$Op3) - Complexity = 3
                  // Dst: (SEL_ZPZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2, ?:{ *:[nxv4i32] }:$Op3)
/*283988*/      /*SwitchType*/ 11, MVT::nxv4i1,// ->284001
/*283990*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*283992*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_PPPP), 0,
                      MVT::nxv4i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv4i1] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i1:{ *:[nxv4i1] }:$Op2, nxv4i1:{ *:[nxv4i1] }:$Op3) - Complexity = 3
                  // Dst: (SEL_PPPP:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i1] }:$Op2, ?:{ *:[nxv4i1] }:$Op3)
/*284001*/      /*SwitchType*/ 11, MVT::nxv4f32,// ->284014
/*284003*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284005*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_ZPZZ_S), 0,
                      MVT::nxv4f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv4f32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4f32:{ *:[nxv4f32] }:$Op2, nxv4f32:{ *:[nxv4f32] }:$Op3) - Complexity = 3
                  // Dst: (SEL_ZPZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4f32] }:$Op2, ?:{ *:[nxv4f32] }:$Op3)
/*284014*/      0, // EndSwitchType
/*284015*/    /*Scope*/ 58, /*->284074*/
/*284016*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*284018*/      OPC_RecordChild1, // #1 = $Op2
/*284019*/      OPC_RecordChild2, // #2 = $Op3
/*284020*/      OPC_SwitchType /*4 cases */, 11, MVT::nxv2i64,// ->284034
/*284023*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284025*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_ZPZZ_D), 0,
                      MVT::nxv2i64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv2i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2, nxv2i64:{ *:[nxv2i64] }:$Op3) - Complexity = 3
                  // Dst: (SEL_ZPZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2, ?:{ *:[nxv2i64] }:$Op3)
/*284034*/      /*SwitchType*/ 11, MVT::nxv2i1,// ->284047
/*284036*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284038*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_PPPP), 0,
                      MVT::nxv2i1, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv2i1] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i1:{ *:[nxv2i1] }:$Op2, nxv2i1:{ *:[nxv2i1] }:$Op3) - Complexity = 3
                  // Dst: (SEL_PPPP:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i1] }:$Op2, ?:{ *:[nxv2i1] }:$Op3)
/*284047*/      /*SwitchType*/ 11, MVT::nxv2f32,// ->284060
/*284049*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284051*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_ZPZZ_D), 0,
                      MVT::nxv2f32, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv2f32] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f32:{ *:[nxv2f32] }:$Op2, nxv2f32:{ *:[nxv2f32] }:$Op3) - Complexity = 3
                  // Dst: (SEL_ZPZZ_D:{ *:[nxv2f32] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f32] }:$Op2, ?:{ *:[nxv2f32] }:$Op3)
/*284060*/      /*SwitchType*/ 11, MVT::nxv2f64,// ->284073
/*284062*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284064*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::SEL_ZPZZ_D), 0,
                      MVT::nxv2f64, 3/*#Ops*/, 0, 1, 2, 
                  // Src: (vselect:{ *:[nxv2f64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2f64:{ *:[nxv2f64] }:$Op2, nxv2f64:{ *:[nxv2f64] }:$Op3) - Complexity = 3
                  // Dst: (SEL_ZPZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2f64] }:$Op2, ?:{ *:[nxv2f64] }:$Op3)
/*284073*/      0, // EndSwitchType
/*284074*/    0, /*End of Scope*/
/*284075*/  /*SwitchOpcode*/ 122, TARGET_VAL(AArch64ISD::INSR),// ->284200
/*284078*/    OPC_RecordChild0, // #0 = $Op1
/*284079*/    OPC_SwitchType /*7 cases */, 15, MVT::nxv16i8,// ->284097
/*284082*/      OPC_CheckChild0Type, MVT::nxv16i8,
/*284084*/      OPC_RecordChild1, // #1 = $Op2
/*284085*/      OPC_CheckChild1Type, MVT::i32,
/*284087*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284089*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSR_ZR_B), 0,
                    MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64insr:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 3
                // Dst: (INSR_ZR_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[i32] }:$Op2)
/*284097*/    /*SwitchType*/ 15, MVT::nxv8i16,// ->284114
/*284099*/      OPC_CheckChild0Type, MVT::nxv8i16,
/*284101*/      OPC_RecordChild1, // #1 = $Op2
/*284102*/      OPC_CheckChild1Type, MVT::i32,
/*284104*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284106*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSR_ZR_H), 0,
                    MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64insr:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 3
                // Dst: (INSR_ZR_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[i32] }:$Op2)
/*284114*/    /*SwitchType*/ 15, MVT::nxv4i32,// ->284131
/*284116*/      OPC_CheckChild0Type, MVT::nxv4i32,
/*284118*/      OPC_RecordChild1, // #1 = $Op2
/*284119*/      OPC_CheckChild1Type, MVT::i32,
/*284121*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284123*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSR_ZR_S), 0,
                    MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64insr:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, i32:{ *:[i32] }:$Op2) - Complexity = 3
                // Dst: (INSR_ZR_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[i32] }:$Op2)
/*284131*/    /*SwitchType*/ 15, MVT::nxv2i64,// ->284148
/*284133*/      OPC_CheckChild0Type, MVT::nxv2i64,
/*284135*/      OPC_RecordChild1, // #1 = $Op2
/*284136*/      OPC_CheckChild1Type, MVT::i64,
/*284138*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284140*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSR_ZR_D), 0,
                    MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64insr:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, i64:{ *:[i64] }:$Op2) - Complexity = 3
                // Dst: (INSR_ZR_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[i64] }:$Op2)
/*284148*/    /*SwitchType*/ 15, MVT::nxv8f16,// ->284165
/*284150*/      OPC_CheckChild0Type, MVT::nxv8f16,
/*284152*/      OPC_RecordChild1, // #1 = $Op2
/*284153*/      OPC_CheckChild1Type, MVT::f16,
/*284155*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284157*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSR_ZV_H), 0,
                    MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64insr:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, f16:{ *:[f16] }:$Op2) - Complexity = 3
                // Dst: (INSR_ZV_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[f16] }:$Op2)
/*284165*/    /*SwitchType*/ 15, MVT::nxv4f32,// ->284182
/*284167*/      OPC_CheckChild0Type, MVT::nxv4f32,
/*284169*/      OPC_RecordChild1, // #1 = $Op2
/*284170*/      OPC_CheckChild1Type, MVT::f32,
/*284172*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284174*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSR_ZV_S), 0,
                    MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64insr:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, f32:{ *:[f32] }:$Op2) - Complexity = 3
                // Dst: (INSR_ZV_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[f32] }:$Op2)
/*284182*/    /*SwitchType*/ 15, MVT::nxv2f64,// ->284199
/*284184*/      OPC_CheckChild0Type, MVT::nxv2f64,
/*284186*/      OPC_RecordChild1, // #1 = $Op2
/*284187*/      OPC_CheckChild1Type, MVT::f64,
/*284189*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284191*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::INSR_ZV_D), 0,
                    MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64insr:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, f64:{ *:[f64] }:$Op2) - Complexity = 3
                // Dst: (INSR_ZV_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[f64] }:$Op2)
/*284199*/    0, // EndSwitchType
/*284200*/  /*SwitchOpcode*/ 124, TARGET_VAL(AArch64ISD::REV),// ->284327
/*284203*/    OPC_RecordChild0, // #0 = $Op1
/*284204*/    OPC_SwitchType /*11 cases */, 9, MVT::nxv16i1,// ->284216
/*284207*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284209*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_PP_B), 0,
                    MVT::nxv16i1, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv16i1] } nxv16i1:{ *:[nxv16i1] }:$Op1) - Complexity = 3
                // Dst: (REV_PP_B:{ *:[nxv16i1] } ?:{ *:[nxv16i1] }:$Op1)
/*284216*/    /*SwitchType*/ 9, MVT::nxv8i1,// ->284227
/*284218*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284220*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_PP_H), 0,
                    MVT::nxv8i1, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv8i1] } nxv8i1:{ *:[nxv8i1] }:$Op1) - Complexity = 3
                // Dst: (REV_PP_H:{ *:[nxv8i1] } ?:{ *:[nxv8i1] }:$Op1)
/*284227*/    /*SwitchType*/ 9, MVT::nxv4i1,// ->284238
/*284229*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284231*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_PP_S), 0,
                    MVT::nxv4i1, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv4i1] } nxv4i1:{ *:[nxv4i1] }:$Op1) - Complexity = 3
                // Dst: (REV_PP_S:{ *:[nxv4i1] } ?:{ *:[nxv4i1] }:$Op1)
/*284238*/    /*SwitchType*/ 9, MVT::nxv2i1,// ->284249
/*284240*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284242*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_PP_D), 0,
                    MVT::nxv2i1, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv2i1] } nxv2i1:{ *:[nxv2i1] }:$Op1) - Complexity = 3
                // Dst: (REV_PP_D:{ *:[nxv2i1] } ?:{ *:[nxv2i1] }:$Op1)
/*284249*/    /*SwitchType*/ 9, MVT::nxv16i8,// ->284260
/*284251*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284253*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_ZZ_B), 0,
                    MVT::nxv16i8, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1) - Complexity = 3
                // Dst: (REV_ZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1)
/*284260*/    /*SwitchType*/ 9, MVT::nxv8i16,// ->284271
/*284262*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284264*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_ZZ_H), 0,
                    MVT::nxv8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 3
                // Dst: (REV_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1)
/*284271*/    /*SwitchType*/ 9, MVT::nxv4i32,// ->284282
/*284273*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284275*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_ZZ_S), 0,
                    MVT::nxv4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 3
                // Dst: (REV_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1)
/*284282*/    /*SwitchType*/ 9, MVT::nxv2i64,// ->284293
/*284284*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284286*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_ZZ_D), 0,
                    MVT::nxv2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1) - Complexity = 3
                // Dst: (REV_ZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1)
/*284293*/    /*SwitchType*/ 9, MVT::nxv8f16,// ->284304
/*284295*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284297*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_ZZ_H), 0,
                    MVT::nxv8f16, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1) - Complexity = 3
                // Dst: (REV_ZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1)
/*284304*/    /*SwitchType*/ 9, MVT::nxv4f32,// ->284315
/*284306*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284308*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_ZZ_S), 0,
                    MVT::nxv4f32, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1) - Complexity = 3
                // Dst: (REV_ZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1)
/*284315*/    /*SwitchType*/ 9, MVT::nxv2f64,// ->284326
/*284317*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284319*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::REV_ZZ_D), 0,
                    MVT::nxv2f64, 1/*#Ops*/, 0, 
                // Src: (AArch64rev:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1) - Complexity = 3
                // Dst: (REV_ZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1)
/*284326*/    0, // EndSwitchType
/*284327*/  /*SwitchOpcode*/ 42, TARGET_VAL(AArch64ISD::SUNPKLO),// ->284372
/*284330*/    OPC_RecordChild0, // #0 = $Op1
/*284331*/    OPC_SwitchType /*3 cases */, 11, MVT::nxv8i16,// ->284345
/*284334*/      OPC_CheckChild0Type, MVT::nxv16i8,
/*284336*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284338*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUNPKLO_ZZ_H), 0,
                    MVT::nxv8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64sunpklo:{ *:[nxv8i16] } nxv16i8:{ *:[nxv16i8] }:$Op1) - Complexity = 3
                // Dst: (SUNPKLO_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv16i8] }:$Op1)
/*284345*/    /*SwitchType*/ 11, MVT::nxv4i32,// ->284358
/*284347*/      OPC_CheckChild0Type, MVT::nxv8i16,
/*284349*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284351*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUNPKLO_ZZ_S), 0,
                    MVT::nxv4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64sunpklo:{ *:[nxv4i32] } nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 3
                // Dst: (SUNPKLO_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv8i16] }:$Op1)
/*284358*/    /*SwitchType*/ 11, MVT::nxv2i64,// ->284371
/*284360*/      OPC_CheckChild0Type, MVT::nxv4i32,
/*284362*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284364*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUNPKLO_ZZ_D), 0,
                    MVT::nxv2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64sunpklo:{ *:[nxv2i64] } nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 3
                // Dst: (SUNPKLO_ZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv4i32] }:$Op1)
/*284371*/    0, // EndSwitchType
/*284372*/  /*SwitchOpcode*/ 42, TARGET_VAL(AArch64ISD::SUNPKHI),// ->284417
/*284375*/    OPC_RecordChild0, // #0 = $Op1
/*284376*/    OPC_SwitchType /*3 cases */, 11, MVT::nxv8i16,// ->284390
/*284379*/      OPC_CheckChild0Type, MVT::nxv16i8,
/*284381*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284383*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUNPKHI_ZZ_H), 0,
                    MVT::nxv8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64sunpkhi:{ *:[nxv8i16] } nxv16i8:{ *:[nxv16i8] }:$Op1) - Complexity = 3
                // Dst: (SUNPKHI_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv16i8] }:$Op1)
/*284390*/    /*SwitchType*/ 11, MVT::nxv4i32,// ->284403
/*284392*/      OPC_CheckChild0Type, MVT::nxv8i16,
/*284394*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284396*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUNPKHI_ZZ_S), 0,
                    MVT::nxv4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64sunpkhi:{ *:[nxv4i32] } nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 3
                // Dst: (SUNPKHI_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv8i16] }:$Op1)
/*284403*/    /*SwitchType*/ 11, MVT::nxv2i64,// ->284416
/*284405*/      OPC_CheckChild0Type, MVT::nxv4i32,
/*284407*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284409*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::SUNPKHI_ZZ_D), 0,
                    MVT::nxv2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64sunpkhi:{ *:[nxv2i64] } nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 3
                // Dst: (SUNPKHI_ZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv4i32] }:$Op1)
/*284416*/    0, // EndSwitchType
/*284417*/  /*SwitchOpcode*/ 42, TARGET_VAL(AArch64ISD::UUNPKLO),// ->284462
/*284420*/    OPC_RecordChild0, // #0 = $Op1
/*284421*/    OPC_SwitchType /*3 cases */, 11, MVT::nxv8i16,// ->284435
/*284424*/      OPC_CheckChild0Type, MVT::nxv16i8,
/*284426*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284428*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UUNPKLO_ZZ_H), 0,
                    MVT::nxv8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64uunpklo:{ *:[nxv8i16] } nxv16i8:{ *:[nxv16i8] }:$Op1) - Complexity = 3
                // Dst: (UUNPKLO_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv16i8] }:$Op1)
/*284435*/    /*SwitchType*/ 11, MVT::nxv4i32,// ->284448
/*284437*/      OPC_CheckChild0Type, MVT::nxv8i16,
/*284439*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284441*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UUNPKLO_ZZ_S), 0,
                    MVT::nxv4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64uunpklo:{ *:[nxv4i32] } nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 3
                // Dst: (UUNPKLO_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv8i16] }:$Op1)
/*284448*/    /*SwitchType*/ 11, MVT::nxv2i64,// ->284461
/*284450*/      OPC_CheckChild0Type, MVT::nxv4i32,
/*284452*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284454*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UUNPKLO_ZZ_D), 0,
                    MVT::nxv2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64uunpklo:{ *:[nxv2i64] } nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 3
                // Dst: (UUNPKLO_ZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv4i32] }:$Op1)
/*284461*/    0, // EndSwitchType
/*284462*/  /*SwitchOpcode*/ 42, TARGET_VAL(AArch64ISD::UUNPKHI),// ->284507
/*284465*/    OPC_RecordChild0, // #0 = $Op1
/*284466*/    OPC_SwitchType /*3 cases */, 11, MVT::nxv8i16,// ->284480
/*284469*/      OPC_CheckChild0Type, MVT::nxv16i8,
/*284471*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284473*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UUNPKHI_ZZ_H), 0,
                    MVT::nxv8i16, 1/*#Ops*/, 0, 
                // Src: (AArch64uunpkhi:{ *:[nxv8i16] } nxv16i8:{ *:[nxv16i8] }:$Op1) - Complexity = 3
                // Dst: (UUNPKHI_ZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv16i8] }:$Op1)
/*284480*/    /*SwitchType*/ 11, MVT::nxv4i32,// ->284493
/*284482*/      OPC_CheckChild0Type, MVT::nxv8i16,
/*284484*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284486*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UUNPKHI_ZZ_S), 0,
                    MVT::nxv4i32, 1/*#Ops*/, 0, 
                // Src: (AArch64uunpkhi:{ *:[nxv4i32] } nxv8i16:{ *:[nxv8i16] }:$Op1) - Complexity = 3
                // Dst: (UUNPKHI_ZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv8i16] }:$Op1)
/*284493*/    /*SwitchType*/ 11, MVT::nxv2i64,// ->284506
/*284495*/      OPC_CheckChild0Type, MVT::nxv4i32,
/*284497*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284499*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::UUNPKHI_ZZ_D), 0,
                    MVT::nxv2i64, 1/*#Ops*/, 0, 
                // Src: (AArch64uunpkhi:{ *:[nxv2i64] } nxv4i32:{ *:[nxv4i32] }:$Op1) - Complexity = 3
                // Dst: (UUNPKHI_ZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv4i32] }:$Op1)
/*284506*/    0, // EndSwitchType
/*284507*/  /*SwitchOpcode*/ 111, TARGET_VAL(AArch64ISD::GLD1S_UXTW),// ->284621
/*284510*/    OPC_RecordNode, // #0 = 'AArch64ld1s_gather_uxtw' chained node
/*284511*/    OPC_CaptureGlueInput,
/*284512*/    OPC_RecordChild1, // #1 = $gp
/*284513*/    OPC_RecordChild2, // #2 = $base
/*284514*/    OPC_CheckChild2Type, MVT::i64,
/*284516*/    OPC_RecordChild3, // #3 = $offsets
/*284517*/    OPC_Scope, 41, /*->284560*/ // 2 children in Scope
/*284519*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*284521*/      OPC_MoveChild4,
/*284522*/      OPC_Scope, 17, /*->284541*/ // 2 children in Scope
/*284524*/        OPC_CheckValueType, MVT::nxv4i8,
/*284526*/        OPC_MoveParent,
/*284527*/        OPC_CheckType, MVT::nxv4i32,
/*284529*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284531*/        OPC_EmitMergeInputChains1_0,
/*284532*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_S_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_uxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SB_S_UXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284541*/      /*Scope*/ 17, /*->284559*/
/*284542*/        OPC_CheckValueType, MVT::nxv4i16,
/*284544*/        OPC_MoveParent,
/*284545*/        OPC_CheckType, MVT::nxv4i32,
/*284547*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284549*/        OPC_EmitMergeInputChains1_0,
/*284550*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_uxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SH_S_UXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284559*/      0, /*End of Scope*/
/*284560*/    /*Scope*/ 59, /*->284620*/
/*284561*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*284563*/      OPC_MoveChild4,
/*284564*/      OPC_Scope, 17, /*->284583*/ // 3 children in Scope
/*284566*/        OPC_CheckValueType, MVT::nxv2i8,
/*284568*/        OPC_MoveParent,
/*284569*/        OPC_CheckType, MVT::nxv2i64,
/*284571*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284573*/        OPC_EmitMergeInputChains1_0,
/*284574*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_uxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SB_D_UXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284583*/      /*Scope*/ 17, /*->284601*/
/*284584*/        OPC_CheckValueType, MVT::nxv2i16,
/*284586*/        OPC_MoveParent,
/*284587*/        OPC_CheckType, MVT::nxv2i64,
/*284589*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284591*/        OPC_EmitMergeInputChains1_0,
/*284592*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_uxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SH_D_UXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284601*/      /*Scope*/ 17, /*->284619*/
/*284602*/        OPC_CheckValueType, MVT::nxv2i32,
/*284604*/        OPC_MoveParent,
/*284605*/        OPC_CheckType, MVT::nxv2i64,
/*284607*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284609*/        OPC_EmitMergeInputChains1_0,
/*284610*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_uxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SW_D_UXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284619*/      0, /*End of Scope*/
/*284620*/    0, /*End of Scope*/
/*284621*/  /*SwitchOpcode*/ 111, TARGET_VAL(AArch64ISD::GLD1S_SXTW),// ->284735
/*284624*/    OPC_RecordNode, // #0 = 'AArch64ld1s_gather_sxtw' chained node
/*284625*/    OPC_CaptureGlueInput,
/*284626*/    OPC_RecordChild1, // #1 = $gp
/*284627*/    OPC_RecordChild2, // #2 = $base
/*284628*/    OPC_CheckChild2Type, MVT::i64,
/*284630*/    OPC_RecordChild3, // #3 = $offsets
/*284631*/    OPC_Scope, 41, /*->284674*/ // 2 children in Scope
/*284633*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*284635*/      OPC_MoveChild4,
/*284636*/      OPC_Scope, 17, /*->284655*/ // 2 children in Scope
/*284638*/        OPC_CheckValueType, MVT::nxv4i8,
/*284640*/        OPC_MoveParent,
/*284641*/        OPC_CheckType, MVT::nxv4i32,
/*284643*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284645*/        OPC_EmitMergeInputChains1_0,
/*284646*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_S_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_sxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SB_S_SXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284655*/      /*Scope*/ 17, /*->284673*/
/*284656*/        OPC_CheckValueType, MVT::nxv4i16,
/*284658*/        OPC_MoveParent,
/*284659*/        OPC_CheckType, MVT::nxv4i32,
/*284661*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284663*/        OPC_EmitMergeInputChains1_0,
/*284664*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_sxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SH_S_SXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284673*/      0, /*End of Scope*/
/*284674*/    /*Scope*/ 59, /*->284734*/
/*284675*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*284677*/      OPC_MoveChild4,
/*284678*/      OPC_Scope, 17, /*->284697*/ // 3 children in Scope
/*284680*/        OPC_CheckValueType, MVT::nxv2i8,
/*284682*/        OPC_MoveParent,
/*284683*/        OPC_CheckType, MVT::nxv2i64,
/*284685*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284687*/        OPC_EmitMergeInputChains1_0,
/*284688*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_sxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SB_D_SXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284697*/      /*Scope*/ 17, /*->284715*/
/*284698*/        OPC_CheckValueType, MVT::nxv2i16,
/*284700*/        OPC_MoveParent,
/*284701*/        OPC_CheckType, MVT::nxv2i64,
/*284703*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284705*/        OPC_EmitMergeInputChains1_0,
/*284706*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_sxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SH_D_SXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284715*/      /*Scope*/ 17, /*->284733*/
/*284716*/        OPC_CheckValueType, MVT::nxv2i32,
/*284718*/        OPC_MoveParent,
/*284719*/        OPC_CheckType, MVT::nxv2i64,
/*284721*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284723*/        OPC_EmitMergeInputChains1_0,
/*284724*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_sxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SW_D_SXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284733*/      0, /*End of Scope*/
/*284734*/    0, /*End of Scope*/
/*284735*/  /*SwitchOpcode*/ 19|128,1/*147*/, TARGET_VAL(AArch64ISD::GLD1_UXTW),// ->284886
/*284739*/    OPC_RecordNode, // #0 = 'AArch64ld1_gather_uxtw' chained node
/*284740*/    OPC_CaptureGlueInput,
/*284741*/    OPC_RecordChild1, // #1 = $gp
/*284742*/    OPC_RecordChild2, // #2 = $base
/*284743*/    OPC_CheckChild2Type, MVT::i64,
/*284745*/    OPC_RecordChild3, // #3 = $offsets
/*284746*/    OPC_Scope, 59, /*->284807*/ // 2 children in Scope
/*284748*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*284750*/      OPC_MoveChild4,
/*284751*/      OPC_Scope, 17, /*->284770*/ // 3 children in Scope
/*284753*/        OPC_CheckValueType, MVT::nxv4i8,
/*284755*/        OPC_MoveParent,
/*284756*/        OPC_CheckType, MVT::nxv4i32,
/*284758*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284760*/        OPC_EmitMergeInputChains1_0,
/*284761*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_S_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1B_S_UXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284770*/      /*Scope*/ 17, /*->284788*/
/*284771*/        OPC_CheckValueType, MVT::nxv4i16,
/*284773*/        OPC_MoveParent,
/*284774*/        OPC_CheckType, MVT::nxv4i32,
/*284776*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284778*/        OPC_EmitMergeInputChains1_0,
/*284779*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1H_S_UXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284788*/      /*Scope*/ 17, /*->284806*/
/*284789*/        OPC_CheckValueType, MVT::nxv4i32,
/*284791*/        OPC_MoveParent,
/*284792*/        OPC_CheckType, MVT::nxv4i32,
/*284794*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284796*/        OPC_EmitMergeInputChains1_0,
/*284797*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1W_UXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284806*/      0, /*End of Scope*/
/*284807*/    /*Scope*/ 77, /*->284885*/
/*284808*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*284810*/      OPC_MoveChild4,
/*284811*/      OPC_Scope, 17, /*->284830*/ // 4 children in Scope
/*284813*/        OPC_CheckValueType, MVT::nxv2i8,
/*284815*/        OPC_MoveParent,
/*284816*/        OPC_CheckType, MVT::nxv2i64,
/*284818*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284820*/        OPC_EmitMergeInputChains1_0,
/*284821*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1B_D_UXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284830*/      /*Scope*/ 17, /*->284848*/
/*284831*/        OPC_CheckValueType, MVT::nxv2i16,
/*284833*/        OPC_MoveParent,
/*284834*/        OPC_CheckType, MVT::nxv2i64,
/*284836*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284838*/        OPC_EmitMergeInputChains1_0,
/*284839*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1H_D_UXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284848*/      /*Scope*/ 17, /*->284866*/
/*284849*/        OPC_CheckValueType, MVT::nxv2i32,
/*284851*/        OPC_MoveParent,
/*284852*/        OPC_CheckType, MVT::nxv2i64,
/*284854*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284856*/        OPC_EmitMergeInputChains1_0,
/*284857*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1W_D_UXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284866*/      /*Scope*/ 17, /*->284884*/
/*284867*/        OPC_CheckValueType, MVT::nxv2i64,
/*284869*/        OPC_MoveParent,
/*284870*/        OPC_CheckType, MVT::nxv2i64,
/*284872*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284874*/        OPC_EmitMergeInputChains1_0,
/*284875*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i64:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1D_UXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284884*/      0, /*End of Scope*/
/*284885*/    0, /*End of Scope*/
/*284886*/  /*SwitchOpcode*/ 19|128,1/*147*/, TARGET_VAL(AArch64ISD::GLD1_SXTW),// ->285037
/*284890*/    OPC_RecordNode, // #0 = 'AArch64ld1_gather_sxtw' chained node
/*284891*/    OPC_CaptureGlueInput,
/*284892*/    OPC_RecordChild1, // #1 = $gp
/*284893*/    OPC_RecordChild2, // #2 = $base
/*284894*/    OPC_CheckChild2Type, MVT::i64,
/*284896*/    OPC_RecordChild3, // #3 = $offsets
/*284897*/    OPC_Scope, 59, /*->284958*/ // 2 children in Scope
/*284899*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*284901*/      OPC_MoveChild4,
/*284902*/      OPC_Scope, 17, /*->284921*/ // 3 children in Scope
/*284904*/        OPC_CheckValueType, MVT::nxv4i8,
/*284906*/        OPC_MoveParent,
/*284907*/        OPC_CheckType, MVT::nxv4i32,
/*284909*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284911*/        OPC_EmitMergeInputChains1_0,
/*284912*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_S_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1B_S_SXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284921*/      /*Scope*/ 17, /*->284939*/
/*284922*/        OPC_CheckValueType, MVT::nxv4i16,
/*284924*/        OPC_MoveParent,
/*284925*/        OPC_CheckType, MVT::nxv4i32,
/*284927*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284929*/        OPC_EmitMergeInputChains1_0,
/*284930*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1H_S_SXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284939*/      /*Scope*/ 17, /*->284957*/
/*284940*/        OPC_CheckValueType, MVT::nxv4i32,
/*284942*/        OPC_MoveParent,
/*284943*/        OPC_CheckType, MVT::nxv4i32,
/*284945*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284947*/        OPC_EmitMergeInputChains1_0,
/*284948*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets, nxv4i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1W_SXTW_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$offsets)
/*284957*/      0, /*End of Scope*/
/*284958*/    /*Scope*/ 77, /*->285036*/
/*284959*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*284961*/      OPC_MoveChild4,
/*284962*/      OPC_Scope, 17, /*->284981*/ // 4 children in Scope
/*284964*/        OPC_CheckValueType, MVT::nxv2i8,
/*284966*/        OPC_MoveParent,
/*284967*/        OPC_CheckType, MVT::nxv2i64,
/*284969*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284971*/        OPC_EmitMergeInputChains1_0,
/*284972*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1B_D_SXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284981*/      /*Scope*/ 17, /*->284999*/
/*284982*/        OPC_CheckValueType, MVT::nxv2i16,
/*284984*/        OPC_MoveParent,
/*284985*/        OPC_CheckType, MVT::nxv2i64,
/*284987*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*284989*/        OPC_EmitMergeInputChains1_0,
/*284990*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1H_D_SXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*284999*/      /*Scope*/ 17, /*->285017*/
/*285000*/        OPC_CheckValueType, MVT::nxv2i32,
/*285002*/        OPC_MoveParent,
/*285003*/        OPC_CheckType, MVT::nxv2i64,
/*285005*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285007*/        OPC_EmitMergeInputChains1_0,
/*285008*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1W_D_SXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285017*/      /*Scope*/ 17, /*->285035*/
/*285018*/        OPC_CheckValueType, MVT::nxv2i64,
/*285020*/        OPC_MoveParent,
/*285021*/        OPC_CheckType, MVT::nxv2i64,
/*285023*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285025*/        OPC_EmitMergeInputChains1_0,
/*285026*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SXTW_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i64:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1D_SXTW_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285035*/      0, /*End of Scope*/
/*285036*/    0, /*End of Scope*/
/*285037*/  /*SwitchOpcode*/ 72, TARGET_VAL(AArch64ISD::GLD1S_UXTW_SCALED),// ->285112
/*285040*/    OPC_RecordNode, // #0 = 'AArch64ld1s_gather_uxtw_scaled' chained node
/*285041*/    OPC_CaptureGlueInput,
/*285042*/    OPC_RecordChild1, // #1 = $gp
/*285043*/    OPC_RecordChild2, // #2 = $base
/*285044*/    OPC_CheckChild2Type, MVT::i64,
/*285046*/    OPC_RecordChild3, // #3 = $indices
/*285047*/    OPC_Scope, 20, /*->285069*/ // 2 children in Scope
/*285049*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*285051*/      OPC_MoveChild4,
/*285052*/      OPC_CheckValueType, MVT::nxv4i16,
/*285054*/      OPC_MoveParent,
/*285055*/      OPC_CheckType, MVT::nxv4i32,
/*285057*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285059*/      OPC_EmitMergeInputChains1_0,
/*285060*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_UXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1s_gather_uxtw_scaled:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices, nxv4i16:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1SH_S_UXTW_SCALED_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices)
/*285069*/    /*Scope*/ 41, /*->285111*/
/*285070*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*285072*/      OPC_MoveChild4,
/*285073*/      OPC_Scope, 17, /*->285092*/ // 2 children in Scope
/*285075*/        OPC_CheckValueType, MVT::nxv2i16,
/*285077*/        OPC_MoveParent,
/*285078*/        OPC_CheckType, MVT::nxv2i64,
/*285080*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285082*/        OPC_EmitMergeInputChains1_0,
/*285083*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_UXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_uxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SH_D_UXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285092*/      /*Scope*/ 17, /*->285110*/
/*285093*/        OPC_CheckValueType, MVT::nxv2i32,
/*285095*/        OPC_MoveParent,
/*285096*/        OPC_CheckType, MVT::nxv2i64,
/*285098*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285100*/        OPC_EmitMergeInputChains1_0,
/*285101*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_UXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_uxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SW_D_UXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285110*/      0, /*End of Scope*/
/*285111*/    0, /*End of Scope*/
/*285112*/  /*SwitchOpcode*/ 72, TARGET_VAL(AArch64ISD::GLD1S_SXTW_SCALED),// ->285187
/*285115*/    OPC_RecordNode, // #0 = 'AArch64ld1s_gather_sxtw_scaled' chained node
/*285116*/    OPC_CaptureGlueInput,
/*285117*/    OPC_RecordChild1, // #1 = $gp
/*285118*/    OPC_RecordChild2, // #2 = $base
/*285119*/    OPC_CheckChild2Type, MVT::i64,
/*285121*/    OPC_RecordChild3, // #3 = $indices
/*285122*/    OPC_Scope, 20, /*->285144*/ // 2 children in Scope
/*285124*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*285126*/      OPC_MoveChild4,
/*285127*/      OPC_CheckValueType, MVT::nxv4i16,
/*285129*/      OPC_MoveParent,
/*285130*/      OPC_CheckType, MVT::nxv4i32,
/*285132*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285134*/      OPC_EmitMergeInputChains1_0,
/*285135*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_S_SXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1s_gather_sxtw_scaled:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices, nxv4i16:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1SH_S_SXTW_SCALED_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices)
/*285144*/    /*Scope*/ 41, /*->285186*/
/*285145*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*285147*/      OPC_MoveChild4,
/*285148*/      OPC_Scope, 17, /*->285167*/ // 2 children in Scope
/*285150*/        OPC_CheckValueType, MVT::nxv2i16,
/*285152*/        OPC_MoveParent,
/*285153*/        OPC_CheckType, MVT::nxv2i64,
/*285155*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285157*/        OPC_EmitMergeInputChains1_0,
/*285158*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_SXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_sxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SH_D_SXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285167*/      /*Scope*/ 17, /*->285185*/
/*285168*/        OPC_CheckValueType, MVT::nxv2i32,
/*285170*/        OPC_MoveParent,
/*285171*/        OPC_CheckType, MVT::nxv2i64,
/*285173*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285175*/        OPC_EmitMergeInputChains1_0,
/*285176*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_SXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1s_gather_sxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1SW_D_SXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285185*/      0, /*End of Scope*/
/*285186*/    0, /*End of Scope*/
/*285187*/  /*SwitchOpcode*/ 111, TARGET_VAL(AArch64ISD::GLD1_UXTW_SCALED),// ->285301
/*285190*/    OPC_RecordNode, // #0 = 'AArch64ld1_gather_uxtw_scaled' chained node
/*285191*/    OPC_CaptureGlueInput,
/*285192*/    OPC_RecordChild1, // #1 = $gp
/*285193*/    OPC_RecordChild2, // #2 = $base
/*285194*/    OPC_CheckChild2Type, MVT::i64,
/*285196*/    OPC_RecordChild3, // #3 = $indices
/*285197*/    OPC_Scope, 41, /*->285240*/ // 2 children in Scope
/*285199*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*285201*/      OPC_MoveChild4,
/*285202*/      OPC_Scope, 17, /*->285221*/ // 2 children in Scope
/*285204*/        OPC_CheckValueType, MVT::nxv4i16,
/*285206*/        OPC_MoveParent,
/*285207*/        OPC_CheckType, MVT::nxv4i32,
/*285209*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285211*/        OPC_EmitMergeInputChains1_0,
/*285212*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_UXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw_scaled:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1H_S_UXTW_SCALED_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices)
/*285221*/      /*Scope*/ 17, /*->285239*/
/*285222*/        OPC_CheckValueType, MVT::nxv4i32,
/*285224*/        OPC_MoveParent,
/*285225*/        OPC_CheckType, MVT::nxv4i32,
/*285227*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285229*/        OPC_EmitMergeInputChains1_0,
/*285230*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_UXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw_scaled:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices, nxv4i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1W_UXTW_SCALED_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices)
/*285239*/      0, /*End of Scope*/
/*285240*/    /*Scope*/ 59, /*->285300*/
/*285241*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*285243*/      OPC_MoveChild4,
/*285244*/      OPC_Scope, 17, /*->285263*/ // 3 children in Scope
/*285246*/        OPC_CheckValueType, MVT::nxv2i16,
/*285248*/        OPC_MoveParent,
/*285249*/        OPC_CheckType, MVT::nxv2i64,
/*285251*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285253*/        OPC_EmitMergeInputChains1_0,
/*285254*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_UXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1H_D_UXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285263*/      /*Scope*/ 17, /*->285281*/
/*285264*/        OPC_CheckValueType, MVT::nxv2i32,
/*285266*/        OPC_MoveParent,
/*285267*/        OPC_CheckType, MVT::nxv2i64,
/*285269*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285271*/        OPC_EmitMergeInputChains1_0,
/*285272*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_UXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1W_D_UXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285281*/      /*Scope*/ 17, /*->285299*/
/*285282*/        OPC_CheckValueType, MVT::nxv2i64,
/*285284*/        OPC_MoveParent,
/*285285*/        OPC_CheckType, MVT::nxv2i64,
/*285287*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285289*/        OPC_EmitMergeInputChains1_0,
/*285290*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_UXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_uxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i64:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1D_UXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285299*/      0, /*End of Scope*/
/*285300*/    0, /*End of Scope*/
/*285301*/  /*SwitchOpcode*/ 111, TARGET_VAL(AArch64ISD::GLD1_SXTW_SCALED),// ->285415
/*285304*/    OPC_RecordNode, // #0 = 'AArch64ld1_gather_sxtw_scaled' chained node
/*285305*/    OPC_CaptureGlueInput,
/*285306*/    OPC_RecordChild1, // #1 = $gp
/*285307*/    OPC_RecordChild2, // #2 = $base
/*285308*/    OPC_CheckChild2Type, MVT::i64,
/*285310*/    OPC_RecordChild3, // #3 = $indices
/*285311*/    OPC_Scope, 41, /*->285354*/ // 2 children in Scope
/*285313*/      OPC_CheckChild3Type, MVT::nxv4i32,
/*285315*/      OPC_MoveChild4,
/*285316*/      OPC_Scope, 17, /*->285335*/ // 2 children in Scope
/*285318*/        OPC_CheckValueType, MVT::nxv4i16,
/*285320*/        OPC_MoveParent,
/*285321*/        OPC_CheckType, MVT::nxv4i32,
/*285323*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285325*/        OPC_EmitMergeInputChains1_0,
/*285326*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_S_SXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw_scaled:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices, nxv4i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1H_S_SXTW_SCALED_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices)
/*285335*/      /*Scope*/ 17, /*->285353*/
/*285336*/        OPC_CheckValueType, MVT::nxv4i32,
/*285338*/        OPC_MoveParent,
/*285339*/        OPC_CheckType, MVT::nxv4i32,
/*285341*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285343*/        OPC_EmitMergeInputChains1_0,
/*285344*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_SXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv4i32, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw_scaled:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices, nxv4i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1W_SXTW_SCALED_REAL:{ *:[nxv4i32] } PPR:{ *:[nxv4i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv4i32] }:$indices)
/*285353*/      0, /*End of Scope*/
/*285354*/    /*Scope*/ 59, /*->285414*/
/*285355*/      OPC_CheckChild3Type, MVT::nxv2i64,
/*285357*/      OPC_MoveChild4,
/*285358*/      OPC_Scope, 17, /*->285377*/ // 3 children in Scope
/*285360*/        OPC_CheckValueType, MVT::nxv2i16,
/*285362*/        OPC_MoveParent,
/*285363*/        OPC_CheckType, MVT::nxv2i64,
/*285365*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285367*/        OPC_EmitMergeInputChains1_0,
/*285368*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i16:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1H_D_SXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285377*/      /*Scope*/ 17, /*->285395*/
/*285378*/        OPC_CheckValueType, MVT::nxv2i32,
/*285380*/        OPC_MoveParent,
/*285381*/        OPC_CheckType, MVT::nxv2i64,
/*285383*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285385*/        OPC_EmitMergeInputChains1_0,
/*285386*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i32:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1W_D_SXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285395*/      /*Scope*/ 17, /*->285413*/
/*285396*/        OPC_CheckValueType, MVT::nxv2i64,
/*285398*/        OPC_MoveParent,
/*285399*/        OPC_CheckType, MVT::nxv2i64,
/*285401*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285403*/        OPC_EmitMergeInputChains1_0,
/*285404*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SXTW_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                      MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                  // Src: (AArch64ld1_gather_sxtw_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i64:{ *:[Other] }) - Complexity = 3
                  // Dst: (GLD1D_SXTW_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285413*/      0, /*End of Scope*/
/*285414*/    0, /*End of Scope*/
/*285415*/  /*SwitchOpcode*/ 66, TARGET_VAL(AArch64ISD::GLD1S),// ->285484
/*285418*/    OPC_RecordNode, // #0 = 'AArch64ld1s_gather' chained node
/*285419*/    OPC_CaptureGlueInput,
/*285420*/    OPC_RecordChild1, // #1 = $gp
/*285421*/    OPC_RecordChild2, // #2 = $base
/*285422*/    OPC_CheckChild2Type, MVT::i64,
/*285424*/    OPC_RecordChild3, // #3 = $offsets
/*285425*/    OPC_CheckChild3Type, MVT::nxv2i64,
/*285427*/    OPC_MoveChild4,
/*285428*/    OPC_Scope, 17, /*->285447*/ // 3 children in Scope
/*285430*/      OPC_CheckValueType, MVT::nxv2i8,
/*285432*/      OPC_MoveParent,
/*285433*/      OPC_CheckType, MVT::nxv2i64,
/*285435*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285437*/      OPC_EmitMergeInputChains1_0,
/*285438*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SB_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1s_gather:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1SB_D_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285447*/    /*Scope*/ 17, /*->285465*/
/*285448*/      OPC_CheckValueType, MVT::nxv2i16,
/*285450*/      OPC_MoveParent,
/*285451*/      OPC_CheckType, MVT::nxv2i64,
/*285453*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285455*/      OPC_EmitMergeInputChains1_0,
/*285456*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1s_gather:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1SH_D_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285465*/    /*Scope*/ 17, /*->285483*/
/*285466*/      OPC_CheckValueType, MVT::nxv2i32,
/*285468*/      OPC_MoveParent,
/*285469*/      OPC_CheckType, MVT::nxv2i64,
/*285471*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285473*/      OPC_EmitMergeInputChains1_0,
/*285474*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1s_gather:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1SW_D_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285483*/    0, /*End of Scope*/
/*285484*/  /*SwitchOpcode*/ 84, TARGET_VAL(AArch64ISD::GLD1),// ->285571
/*285487*/    OPC_RecordNode, // #0 = 'AArch64ld1_gather' chained node
/*285488*/    OPC_CaptureGlueInput,
/*285489*/    OPC_RecordChild1, // #1 = $gp
/*285490*/    OPC_RecordChild2, // #2 = $base
/*285491*/    OPC_CheckChild2Type, MVT::i64,
/*285493*/    OPC_RecordChild3, // #3 = $offsets
/*285494*/    OPC_CheckChild3Type, MVT::nxv2i64,
/*285496*/    OPC_MoveChild4,
/*285497*/    OPC_Scope, 17, /*->285516*/ // 4 children in Scope
/*285499*/      OPC_CheckValueType, MVT::nxv2i8,
/*285501*/      OPC_MoveParent,
/*285502*/      OPC_CheckType, MVT::nxv2i64,
/*285504*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285506*/      OPC_EmitMergeInputChains1_0,
/*285507*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1B_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1_gather:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i8:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1B_D_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285516*/    /*Scope*/ 17, /*->285534*/
/*285517*/      OPC_CheckValueType, MVT::nxv2i16,
/*285519*/      OPC_MoveParent,
/*285520*/      OPC_CheckType, MVT::nxv2i64,
/*285522*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285524*/      OPC_EmitMergeInputChains1_0,
/*285525*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1_gather:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i16:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1H_D_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285534*/    /*Scope*/ 17, /*->285552*/
/*285535*/      OPC_CheckValueType, MVT::nxv2i32,
/*285537*/      OPC_MoveParent,
/*285538*/      OPC_CheckType, MVT::nxv2i64,
/*285540*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285542*/      OPC_EmitMergeInputChains1_0,
/*285543*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1_gather:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i32:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1W_D_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285552*/    /*Scope*/ 17, /*->285570*/
/*285553*/      OPC_CheckValueType, MVT::nxv2i64,
/*285555*/      OPC_MoveParent,
/*285556*/      OPC_CheckType, MVT::nxv2i64,
/*285558*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285560*/      OPC_EmitMergeInputChains1_0,
/*285561*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1_gather:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets, nxv2i64:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1D_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$offsets)
/*285570*/    0, /*End of Scope*/
/*285571*/  /*SwitchOpcode*/ 48, TARGET_VAL(AArch64ISD::GLD1S_SCALED),// ->285622
/*285574*/    OPC_RecordNode, // #0 = 'AArch64ld1s_gather_scaled' chained node
/*285575*/    OPC_CaptureGlueInput,
/*285576*/    OPC_RecordChild1, // #1 = $gp
/*285577*/    OPC_RecordChild2, // #2 = $base
/*285578*/    OPC_CheckChild2Type, MVT::i64,
/*285580*/    OPC_RecordChild3, // #3 = $indices
/*285581*/    OPC_CheckChild3Type, MVT::nxv2i64,
/*285583*/    OPC_MoveChild4,
/*285584*/    OPC_Scope, 17, /*->285603*/ // 2 children in Scope
/*285586*/      OPC_CheckValueType, MVT::nxv2i16,
/*285588*/      OPC_MoveParent,
/*285589*/      OPC_CheckType, MVT::nxv2i64,
/*285591*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285593*/      OPC_EmitMergeInputChains1_0,
/*285594*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SH_D_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1s_gather_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i16:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1SH_D_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285603*/    /*Scope*/ 17, /*->285621*/
/*285604*/      OPC_CheckValueType, MVT::nxv2i32,
/*285606*/      OPC_MoveParent,
/*285607*/      OPC_CheckType, MVT::nxv2i64,
/*285609*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285611*/      OPC_EmitMergeInputChains1_0,
/*285612*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1SW_D_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1s_gather_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i32:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1SW_D_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285621*/    0, /*End of Scope*/
/*285622*/  /*SwitchOpcode*/ 66, TARGET_VAL(AArch64ISD::GLD1_SCALED),// ->285691
/*285625*/    OPC_RecordNode, // #0 = 'AArch64ld1_gather_scaled' chained node
/*285626*/    OPC_CaptureGlueInput,
/*285627*/    OPC_RecordChild1, // #1 = $gp
/*285628*/    OPC_RecordChild2, // #2 = $base
/*285629*/    OPC_CheckChild2Type, MVT::i64,
/*285631*/    OPC_RecordChild3, // #3 = $indices
/*285632*/    OPC_CheckChild3Type, MVT::nxv2i64,
/*285634*/    OPC_MoveChild4,
/*285635*/    OPC_Scope, 17, /*->285654*/ // 3 children in Scope
/*285637*/      OPC_CheckValueType, MVT::nxv2i16,
/*285639*/      OPC_MoveParent,
/*285640*/      OPC_CheckType, MVT::nxv2i64,
/*285642*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285644*/      OPC_EmitMergeInputChains1_0,
/*285645*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1H_D_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1_gather_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i16:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1H_D_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285654*/    /*Scope*/ 17, /*->285672*/
/*285655*/      OPC_CheckValueType, MVT::nxv2i32,
/*285657*/      OPC_MoveParent,
/*285658*/      OPC_CheckType, MVT::nxv2i64,
/*285660*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285662*/      OPC_EmitMergeInputChains1_0,
/*285663*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1W_D_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1_gather_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i32:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1W_D_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285672*/    /*Scope*/ 17, /*->285690*/
/*285673*/      OPC_CheckValueType, MVT::nxv2i64,
/*285675*/      OPC_MoveParent,
/*285676*/      OPC_CheckType, MVT::nxv2i64,
/*285678*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285680*/      OPC_EmitMergeInputChains1_0,
/*285681*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::GLD1D_SCALED_REAL), 0|OPFL_Chain|OPFL_GlueInput,
                    MVT::nxv2i64, 3/*#Ops*/, 1, 2, 3, 
                // Src: (AArch64ld1_gather_scaled:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices, nxv2i64:{ *:[Other] }) - Complexity = 3
                // Dst: (GLD1D_SCALED_REAL:{ *:[nxv2i64] } PPR:{ *:[nxv2i1] }:$gp, GPR64sp:{ *:[i64] }:$base, ZPR:{ *:[nxv2i64] }:$indices)
/*285690*/    0, /*End of Scope*/
/*285691*/  /*SwitchOpcode*/ 106, TARGET_VAL(AArch64ISD::TBL),// ->285800
/*285694*/    OPC_RecordChild0, // #0 = $Op1
/*285695*/    OPC_RecordChild1, // #1 = $Op2
/*285696*/    OPC_Scope, 14, /*->285712*/ // 4 children in Scope
/*285698*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*285700*/      OPC_CheckType, MVT::nxv16i8,
/*285702*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285704*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBL_ZZZ_B), 0,
                    MVT::nxv16i8, 2/*#Ops*/, 0, 1, 
                // Src: (AArch64tbl:{ *:[nxv16i8] } nxv16i8:{ *:[nxv16i8] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (TBL_ZZZ_B:{ *:[nxv16i8] } ?:{ *:[nxv16i8] }:$Op1, ?:{ *:[nxv16i8] }:$Op2)
/*285712*/    /*Scope*/ 28, /*->285741*/
/*285713*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*285715*/      OPC_SwitchType /*2 cases */, 10, MVT::nxv8i16,// ->285728
/*285718*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285720*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBL_ZZZ_H), 0,
                      MVT::nxv8i16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64tbl:{ *:[nxv8i16] } nxv8i16:{ *:[nxv8i16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (TBL_ZZZ_H:{ *:[nxv8i16] } ?:{ *:[nxv8i16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*285728*/      /*SwitchType*/ 10, MVT::nxv8f16,// ->285740
/*285730*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285732*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBL_ZZZ_H), 0,
                      MVT::nxv8f16, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64tbl:{ *:[nxv8f16] } nxv8f16:{ *:[nxv8f16] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                  // Dst: (TBL_ZZZ_H:{ *:[nxv8f16] } ?:{ *:[nxv8f16] }:$Op1, ?:{ *:[nxv8i16] }:$Op2)
/*285740*/      0, // EndSwitchType
/*285741*/    /*Scope*/ 28, /*->285770*/
/*285742*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*285744*/      OPC_SwitchType /*2 cases */, 10, MVT::nxv4i32,// ->285757
/*285747*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285749*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBL_ZZZ_S), 0,
                      MVT::nxv4i32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64tbl:{ *:[nxv4i32] } nxv4i32:{ *:[nxv4i32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (TBL_ZZZ_S:{ *:[nxv4i32] } ?:{ *:[nxv4i32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*285757*/      /*SwitchType*/ 10, MVT::nxv4f32,// ->285769
/*285759*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285761*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBL_ZZZ_S), 0,
                      MVT::nxv4f32, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64tbl:{ *:[nxv4f32] } nxv4f32:{ *:[nxv4f32] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                  // Dst: (TBL_ZZZ_S:{ *:[nxv4f32] } ?:{ *:[nxv4f32] }:$Op1, ?:{ *:[nxv4i32] }:$Op2)
/*285769*/      0, // EndSwitchType
/*285770*/    /*Scope*/ 28, /*->285799*/
/*285771*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*285773*/      OPC_SwitchType /*2 cases */, 10, MVT::nxv2i64,// ->285786
/*285776*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285778*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBL_ZZZ_D), 0,
                      MVT::nxv2i64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64tbl:{ *:[nxv2i64] } nxv2i64:{ *:[nxv2i64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (TBL_ZZZ_D:{ *:[nxv2i64] } ?:{ *:[nxv2i64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*285786*/      /*SwitchType*/ 10, MVT::nxv2f64,// ->285798
/*285788*/        OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285790*/        OPC_MorphNodeTo1, TARGET_VAL(AArch64::TBL_ZZZ_D), 0,
                      MVT::nxv2f64, 2/*#Ops*/, 0, 1, 
                  // Src: (AArch64tbl:{ *:[nxv2f64] } nxv2f64:{ *:[nxv2f64] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                  // Dst: (TBL_ZZZ_D:{ *:[nxv2f64] } ?:{ *:[nxv2f64] }:$Op1, ?:{ *:[nxv2i64] }:$Op2)
/*285798*/      0, // EndSwitchType
/*285799*/    0, /*End of Scope*/
/*285800*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::SMAXV_PRED),// ->285947
/*285804*/    OPC_RecordChild0, // #0 = $Op1
/*285805*/    OPC_SwitchType /*4 cases */, 33, MVT::v16i8,// ->285841
/*285808*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*285810*/      OPC_RecordChild1, // #1 = $Op2
/*285811*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*285813*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285815*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #2
/*285821*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXV_VPZ_B), 0,
                    MVT::Untyped, 2/*#Ops*/, 0, 1,  // Results = #3
/*285829*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*285832*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64smaxv_pred:{ *:[v16i8] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMAXV_VPZ_B:{ *:[Untyped] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2), bsub:{ *:[i32] })
/*285841*/    /*SwitchType*/ 33, MVT::v8i16,// ->285876
/*285843*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*285845*/      OPC_RecordChild1, // #1 = $Op2
/*285846*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*285848*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285850*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #2
/*285856*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXV_VPZ_H), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*285864*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*285867*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64smaxv_pred:{ *:[v8i16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (SMAXV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2), hsub:{ *:[i32] })
/*285876*/    /*SwitchType*/ 33, MVT::v4i32,// ->285911
/*285878*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*285880*/      OPC_RecordChild1, // #1 = $Op2
/*285881*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*285883*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285885*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*285891*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXV_VPZ_S), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1,  // Results = #3
/*285899*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*285902*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64smaxv_pred:{ *:[v4i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (SMAXV_VPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2), ssub:{ *:[i32] })
/*285911*/    /*SwitchType*/ 33, MVT::v2i64,// ->285946
/*285913*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*285915*/      OPC_RecordChild1, // #1 = $Op2
/*285916*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*285918*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285920*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #2
/*285926*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMAXV_VPZ_D), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #3
/*285934*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*285937*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64smaxv_pred:{ *:[v2i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (SMAXV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2), dsub:{ *:[i32] })
/*285946*/    0, // EndSwitchType
/*285947*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::UMAXV_PRED),// ->286094
/*285951*/    OPC_RecordChild0, // #0 = $Op1
/*285952*/    OPC_SwitchType /*4 cases */, 33, MVT::v16i8,// ->285988
/*285955*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*285957*/      OPC_RecordChild1, // #1 = $Op2
/*285958*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*285960*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285962*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #2
/*285968*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXV_VPZ_B), 0,
                    MVT::Untyped, 2/*#Ops*/, 0, 1,  // Results = #3
/*285976*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*285979*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64umaxv_pred:{ *:[v16i8] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMAXV_VPZ_B:{ *:[Untyped] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2), bsub:{ *:[i32] })
/*285988*/    /*SwitchType*/ 33, MVT::v8i16,// ->286023
/*285990*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*285992*/      OPC_RecordChild1, // #1 = $Op2
/*285993*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*285995*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*285997*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #2
/*286003*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXV_VPZ_H), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*286011*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*286014*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64umaxv_pred:{ *:[v8i16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (UMAXV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2), hsub:{ *:[i32] })
/*286023*/    /*SwitchType*/ 33, MVT::v4i32,// ->286058
/*286025*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*286027*/      OPC_RecordChild1, // #1 = $Op2
/*286028*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*286030*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286032*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*286038*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXV_VPZ_S), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1,  // Results = #3
/*286046*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*286049*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64umaxv_pred:{ *:[v4i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (UMAXV_VPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2), ssub:{ *:[i32] })
/*286058*/    /*SwitchType*/ 33, MVT::v2i64,// ->286093
/*286060*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*286062*/      OPC_RecordChild1, // #1 = $Op2
/*286063*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*286065*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286067*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #2
/*286073*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMAXV_VPZ_D), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #3
/*286081*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*286084*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64umaxv_pred:{ *:[v2i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (UMAXV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2), dsub:{ *:[i32] })
/*286093*/    0, // EndSwitchType
/*286094*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::SMINV_PRED),// ->286241
/*286098*/    OPC_RecordChild0, // #0 = $Op1
/*286099*/    OPC_SwitchType /*4 cases */, 33, MVT::v16i8,// ->286135
/*286102*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*286104*/      OPC_RecordChild1, // #1 = $Op2
/*286105*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*286107*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286109*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #2
/*286115*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINV_VPZ_B), 0,
                    MVT::Untyped, 2/*#Ops*/, 0, 1,  // Results = #3
/*286123*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*286126*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64sminv_pred:{ *:[v16i8] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (SMINV_VPZ_B:{ *:[Untyped] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2), bsub:{ *:[i32] })
/*286135*/    /*SwitchType*/ 33, MVT::v8i16,// ->286170
/*286137*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*286139*/      OPC_RecordChild1, // #1 = $Op2
/*286140*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*286142*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286144*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #2
/*286150*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINV_VPZ_H), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*286158*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*286161*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64sminv_pred:{ *:[v8i16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (SMINV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2), hsub:{ *:[i32] })
/*286170*/    /*SwitchType*/ 33, MVT::v4i32,// ->286205
/*286172*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*286174*/      OPC_RecordChild1, // #1 = $Op2
/*286175*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*286177*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286179*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*286185*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINV_VPZ_S), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1,  // Results = #3
/*286193*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*286196*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64sminv_pred:{ *:[v4i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (SMINV_VPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2), ssub:{ *:[i32] })
/*286205*/    /*SwitchType*/ 33, MVT::v2i64,// ->286240
/*286207*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*286209*/      OPC_RecordChild1, // #1 = $Op2
/*286210*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*286212*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286214*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #2
/*286220*/      OPC_EmitNode1, TARGET_VAL(AArch64::SMINV_VPZ_D), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #3
/*286228*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*286231*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64sminv_pred:{ *:[v2i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (SMINV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2), dsub:{ *:[i32] })
/*286240*/    0, // EndSwitchType
/*286241*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::UMINV_PRED),// ->286388
/*286245*/    OPC_RecordChild0, // #0 = $Op1
/*286246*/    OPC_SwitchType /*4 cases */, 33, MVT::v16i8,// ->286282
/*286249*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*286251*/      OPC_RecordChild1, // #1 = $Op2
/*286252*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*286254*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286256*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #2
/*286262*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINV_VPZ_B), 0,
                    MVT::Untyped, 2/*#Ops*/, 0, 1,  // Results = #3
/*286270*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*286273*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64uminv_pred:{ *:[v16i8] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (UMINV_VPZ_B:{ *:[Untyped] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2), bsub:{ *:[i32] })
/*286282*/    /*SwitchType*/ 33, MVT::v8i16,// ->286317
/*286284*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*286286*/      OPC_RecordChild1, // #1 = $Op2
/*286287*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*286289*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286291*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #2
/*286297*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINV_VPZ_H), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*286305*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*286308*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64uminv_pred:{ *:[v8i16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (UMINV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2), hsub:{ *:[i32] })
/*286317*/    /*SwitchType*/ 33, MVT::v4i32,// ->286352
/*286319*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*286321*/      OPC_RecordChild1, // #1 = $Op2
/*286322*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*286324*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286326*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*286332*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINV_VPZ_S), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1,  // Results = #3
/*286340*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*286343*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64uminv_pred:{ *:[v4i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (UMINV_VPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2), ssub:{ *:[i32] })
/*286352*/    /*SwitchType*/ 33, MVT::v2i64,// ->286387
/*286354*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*286356*/      OPC_RecordChild1, // #1 = $Op2
/*286357*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*286359*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286361*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #2
/*286367*/      OPC_EmitNode1, TARGET_VAL(AArch64::UMINV_VPZ_D), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #3
/*286375*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*286378*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64uminv_pred:{ *:[v2i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (UMINV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2), dsub:{ *:[i32] })
/*286387*/    0, // EndSwitchType
/*286388*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::ORV_PRED),// ->286535
/*286392*/    OPC_RecordChild0, // #0 = $Op1
/*286393*/    OPC_SwitchType /*4 cases */, 33, MVT::v16i8,// ->286429
/*286396*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*286398*/      OPC_RecordChild1, // #1 = $Op2
/*286399*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*286401*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286403*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #2
/*286409*/      OPC_EmitNode1, TARGET_VAL(AArch64::ORV_VPZ_B), 0,
                    MVT::Untyped, 2/*#Ops*/, 0, 1,  // Results = #3
/*286417*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*286420*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64orv_pred:{ *:[v16i8] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ORV_VPZ_B:{ *:[Untyped] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2), bsub:{ *:[i32] })
/*286429*/    /*SwitchType*/ 33, MVT::v8i16,// ->286464
/*286431*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*286433*/      OPC_RecordChild1, // #1 = $Op2
/*286434*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*286436*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286438*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #2
/*286444*/      OPC_EmitNode1, TARGET_VAL(AArch64::ORV_VPZ_H), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*286452*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*286455*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64orv_pred:{ *:[v8i16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (ORV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2), hsub:{ *:[i32] })
/*286464*/    /*SwitchType*/ 33, MVT::v4i32,// ->286499
/*286466*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*286468*/      OPC_RecordChild1, // #1 = $Op2
/*286469*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*286471*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286473*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*286479*/      OPC_EmitNode1, TARGET_VAL(AArch64::ORV_VPZ_S), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1,  // Results = #3
/*286487*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*286490*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64orv_pred:{ *:[v4i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (ORV_VPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2), ssub:{ *:[i32] })
/*286499*/    /*SwitchType*/ 33, MVT::v2i64,// ->286534
/*286501*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*286503*/      OPC_RecordChild1, // #1 = $Op2
/*286504*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*286506*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286508*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #2
/*286514*/      OPC_EmitNode1, TARGET_VAL(AArch64::ORV_VPZ_D), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #3
/*286522*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*286525*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64orv_pred:{ *:[v2i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (ORV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2), dsub:{ *:[i32] })
/*286534*/    0, // EndSwitchType
/*286535*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::EORV_PRED),// ->286682
/*286539*/    OPC_RecordChild0, // #0 = $Op1
/*286540*/    OPC_SwitchType /*4 cases */, 33, MVT::v16i8,// ->286576
/*286543*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*286545*/      OPC_RecordChild1, // #1 = $Op2
/*286546*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*286548*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286550*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #2
/*286556*/      OPC_EmitNode1, TARGET_VAL(AArch64::EORV_VPZ_B), 0,
                    MVT::Untyped, 2/*#Ops*/, 0, 1,  // Results = #3
/*286564*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*286567*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64eorv_pred:{ *:[v16i8] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (EORV_VPZ_B:{ *:[Untyped] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2), bsub:{ *:[i32] })
/*286576*/    /*SwitchType*/ 33, MVT::v8i16,// ->286611
/*286578*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*286580*/      OPC_RecordChild1, // #1 = $Op2
/*286581*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*286583*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286585*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #2
/*286591*/      OPC_EmitNode1, TARGET_VAL(AArch64::EORV_VPZ_H), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*286599*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*286602*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64eorv_pred:{ *:[v8i16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (EORV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2), hsub:{ *:[i32] })
/*286611*/    /*SwitchType*/ 33, MVT::v4i32,// ->286646
/*286613*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*286615*/      OPC_RecordChild1, // #1 = $Op2
/*286616*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*286618*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286620*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*286626*/      OPC_EmitNode1, TARGET_VAL(AArch64::EORV_VPZ_S), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1,  // Results = #3
/*286634*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*286637*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64eorv_pred:{ *:[v4i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (EORV_VPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2), ssub:{ *:[i32] })
/*286646*/    /*SwitchType*/ 33, MVT::v2i64,// ->286681
/*286648*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*286650*/      OPC_RecordChild1, // #1 = $Op2
/*286651*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*286653*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286655*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #2
/*286661*/      OPC_EmitNode1, TARGET_VAL(AArch64::EORV_VPZ_D), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #3
/*286669*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*286672*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64eorv_pred:{ *:[v2i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (EORV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2), dsub:{ *:[i32] })
/*286681*/    0, // EndSwitchType
/*286682*/  /*SwitchOpcode*/ 15|128,1/*143*/, TARGET_VAL(AArch64ISD::ANDV_PRED),// ->286829
/*286686*/    OPC_RecordChild0, // #0 = $Op1
/*286687*/    OPC_SwitchType /*4 cases */, 33, MVT::v16i8,// ->286723
/*286690*/      OPC_CheckChild0Type, MVT::nxv16i1,
/*286692*/      OPC_RecordChild1, // #1 = $Op2
/*286693*/      OPC_CheckChild1Type, MVT::nxv16i8,
/*286695*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286697*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v16i8, 0/*#Ops*/,  // Results = #2
/*286703*/      OPC_EmitNode1, TARGET_VAL(AArch64::ANDV_VPZ_B), 0,
                    MVT::Untyped, 2/*#Ops*/, 0, 1,  // Results = #3
/*286711*/      OPC_EmitInteger, MVT::i32, AArch64::bsub,
/*286714*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v16i8, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64andv_pred:{ *:[v16i8] } nxv16i1:{ *:[nxv16i1] }:$Op1, nxv16i8:{ *:[nxv16i8] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v16i8] } (IMPLICIT_DEF:{ *:[v16i8] }), (ANDV_VPZ_B:{ *:[Untyped] } ?:{ *:[nxv16i1] }:$Op1, ?:{ *:[nxv16i8] }:$Op2), bsub:{ *:[i32] })
/*286723*/    /*SwitchType*/ 33, MVT::v8i16,// ->286758
/*286725*/      OPC_CheckChild0Type, MVT::nxv8i1,
/*286727*/      OPC_RecordChild1, // #1 = $Op2
/*286728*/      OPC_CheckChild1Type, MVT::nxv8i16,
/*286730*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286732*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v8i16, 0/*#Ops*/,  // Results = #2
/*286738*/      OPC_EmitNode1, TARGET_VAL(AArch64::ANDV_VPZ_H), 0,
                    MVT::f16, 2/*#Ops*/, 0, 1,  // Results = #3
/*286746*/      OPC_EmitInteger, MVT::i32, AArch64::hsub,
/*286749*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v8i16, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64andv_pred:{ *:[v8i16] } nxv8i1:{ *:[nxv8i1] }:$Op1, nxv8i16:{ *:[nxv8i16] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v8i16] } (IMPLICIT_DEF:{ *:[v8i16] }), (ANDV_VPZ_H:{ *:[f16] } ?:{ *:[nxv8i1] }:$Op1, ?:{ *:[nxv8i16] }:$Op2), hsub:{ *:[i32] })
/*286758*/    /*SwitchType*/ 33, MVT::v4i32,// ->286793
/*286760*/      OPC_CheckChild0Type, MVT::nxv4i1,
/*286762*/      OPC_RecordChild1, // #1 = $Op2
/*286763*/      OPC_CheckChild1Type, MVT::nxv4i32,
/*286765*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286767*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v4i32, 0/*#Ops*/,  // Results = #2
/*286773*/      OPC_EmitNode1, TARGET_VAL(AArch64::ANDV_VPZ_S), 0,
                    MVT::i32, 2/*#Ops*/, 0, 1,  // Results = #3
/*286781*/      OPC_EmitInteger, MVT::i32, AArch64::ssub,
/*286784*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v4i32, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64andv_pred:{ *:[v4i32] } nxv4i1:{ *:[nxv4i1] }:$Op1, nxv4i32:{ *:[nxv4i32] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v4i32] } (IMPLICIT_DEF:{ *:[v4i32] }), (ANDV_VPZ_S:{ *:[i32] } ?:{ *:[nxv4i1] }:$Op1, ?:{ *:[nxv4i32] }:$Op2), ssub:{ *:[i32] })
/*286793*/    /*SwitchType*/ 33, MVT::v2i64,// ->286828
/*286795*/      OPC_CheckChild0Type, MVT::nxv2i1,
/*286797*/      OPC_RecordChild1, // #1 = $Op2
/*286798*/      OPC_CheckChild1Type, MVT::nxv2i64,
/*286800*/      OPC_CheckPatternPredicate, 2, // (Subtarget->hasSVE())
/*286802*/      OPC_EmitNode1, TARGET_VAL(TargetOpcode::IMPLICIT_DEF), 0,
                    MVT::v2i64, 0/*#Ops*/,  // Results = #2
/*286808*/      OPC_EmitNode1, TARGET_VAL(AArch64::ANDV_VPZ_D), 0,
                    MVT::i64, 2/*#Ops*/, 0, 1,  // Results = #3
/*286816*/      OPC_EmitInteger, MVT::i32, AArch64::dsub,
/*286819*/      OPC_MorphNodeTo1, TARGET_VAL(TargetOpcode::INSERT_SUBREG), 0,
                    MVT::v2i64, 3/*#Ops*/, 2, 3, 4, 
                // Src: (AArch64andv_pred:{ *:[v2i64] } nxv2i1:{ *:[nxv2i1] }:$Op1, nxv2i64:{ *:[nxv2i64] }:$Op2) - Complexity = 3
                // Dst: (INSERT_SUBREG:{ *:[v2i64] } (IMPLICIT_DEF:{ *:[v2i64] }), (ANDV_VPZ_D:{ *:[i64] } ?:{ *:[nxv2i1] }:$Op1, ?:{ *:[nxv2i64] }:$Op2), dsub:{ *:[i32] })
/*286828*/    0, // EndSwitchType
/*286829*/  /*SwitchOpcode*/ 77, TARGET_VAL(AArch64ISD::FMOV),// ->286909
/*286832*/    OPC_RecordChild0, // #0 = $imm8
/*286833*/    OPC_MoveChild0,
/*286834*/    OPC_CheckOpcode, TARGET_VAL(ISD::Constant),
/*286837*/    OPC_CheckPredicate, 73, // Predicate_imm0_255
/*286839*/    OPC_CheckType, MVT::i32,
/*286841*/    OPC_MoveParent,
/*286842*/    OPC_SwitchType /*5 cases */, 11, MVT::v2f64,// ->286856
/*286845*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*286847*/      OPC_EmitConvertToTarget, 0,
/*286849*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVv2f64_ns), 0,
                    MVT::v2f64, 1/*#Ops*/, 1, 
                // Src: (AArch64fmov:{ *:[v2f64] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8) - Complexity = 7
                // Dst: (FMOVv2f64_ns:{ *:[v2f64] } (imm:{ *:[i32] }):$imm8)
/*286856*/    /*SwitchType*/ 11, MVT::v2f32,// ->286869
/*286858*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*286860*/      OPC_EmitConvertToTarget, 0,
/*286862*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVv2f32_ns), 0,
                    MVT::v2f32, 1/*#Ops*/, 1, 
                // Src: (AArch64fmov:{ *:[v2f32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8) - Complexity = 7
                // Dst: (FMOVv2f32_ns:{ *:[v2f32] } (imm:{ *:[i32] }):$imm8)
/*286869*/    /*SwitchType*/ 11, MVT::v4f32,// ->286882
/*286871*/      OPC_CheckPatternPredicate, 1, // (Subtarget->hasNEON())
/*286873*/      OPC_EmitConvertToTarget, 0,
/*286875*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVv4f32_ns), 0,
                    MVT::v4f32, 1/*#Ops*/, 1, 
                // Src: (AArch64fmov:{ *:[v4f32] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8) - Complexity = 7
                // Dst: (FMOVv4f32_ns:{ *:[v4f32] } (imm:{ *:[i32] }):$imm8)
/*286882*/    /*SwitchType*/ 11, MVT::v4f16,// ->286895
/*286884*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*286886*/      OPC_EmitConvertToTarget, 0,
/*286888*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVv4f16_ns), 0,
                    MVT::v4f16, 1/*#Ops*/, 1, 
                // Src: (AArch64fmov:{ *:[v4f16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8) - Complexity = 7
                // Dst: (FMOVv4f16_ns:{ *:[v4f16] } (imm:{ *:[i32] }):$imm8)
/*286895*/    /*SwitchType*/ 11, MVT::v8f16,// ->286908
/*286897*/      OPC_CheckPatternPredicate, 9, // (Subtarget->hasFullFP16()) && (Subtarget->hasNEON())
/*286899*/      OPC_EmitConvertToTarget, 0,
/*286901*/      OPC_MorphNodeTo1, TARGET_VAL(AArch64::FMOVv8f16_ns), 0,
                    MVT::v8f16, 1/*#Ops*/, 1, 
                // Src: (AArch64fmov:{ *:[v8f16] } (imm:{ *:[i32] })<<P:Predicate_imm0_255>>:$imm8) - Complexity = 7
                // Dst: (FMOVv8f16_ns:{ *:[v8f16] } (imm:{ *:[i32] }):$imm8)
/*286908*/    0, // EndSwitchType
/*286909*/  0, // EndSwitchOpcode
    0
  }; // Total Array size is 286911 bytes

  // Opcode Histogram:
  // #OPC_Scope                                = 1901
  // #OPC_RecordNode                           = 1946
  // #OPC_RecordChild                          = 5012
  // #OPC_RecordMemRef                         = 1885
  // #OPC_CaptureGlueInput                     = 26
  // #OPC_MoveChild                            = 6068
  // #OPC_MoveParent                           = 10414
  // #OPC_CheckSame                            = 0
  // #OPC_CheckChildSame                       = 2769
  // #OPC_CheckPatternPredicate                = 4880
  // #OPC_CheckPredicate                       = 9472
  // #OPC_CheckOpcode                          = 5754
  // #OPC_SwitchOpcode                         = 96
  // #OPC_CheckType                            = 4630
  // #OPC_SwitchType                           = 911
  // #OPC_CheckChildType                       = 4733
  // #OPC_CheckInteger                         = 0
  // #OPC_CheckChildInteger                    = 3212
  // #OPC_CheckCondCode                        = 0
  // #OPC_CheckChild2CondCode                  = 40
  // #OPC_CheckValueType                       = 138
  // #OPC_CheckComplexPat                      = 746
  // #OPC_CheckAndImm                          = 19
  // #OPC_CheckOrImm                           = 0
  // #OPC_CheckImmAllOnesV                     = 142
  // #OPC_CheckImmAllZerosV                    = 3
  // #OPC_CheckFoldableChainNode               = 1863
  // #OPC_EmitInteger                          = 1998
  // #OPC_EmitStringInteger                    = 4658
  // #OPC_EmitRegister                         = 860
  // #OPC_EmitConvertToTarget                  = 1005
  // #OPC_EmitMergeInputChains                 = 1857
  // #OPC_EmitCopyToReg                        = 58
  // #OPC_EmitNode                             = 9035
  // #OPC_EmitNodeXForm                        = 106
  // #OPC_CompleteMatch                        = 227
  // #OPC_MorphNodeTo                          = 6395

  #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->hasDotProd());
  case 1: return (Subtarget->hasNEON());
  case 2: return (Subtarget->hasSVE());
  case 3: return (Subtarget->isLittleEndian());
  case 4: return (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF));
  case 5: return (Subtarget->isLittleEndian()) && (!Subtarget->isSTRQroSlow() || shouldOptForSize(MF));
  case 6: return (Subtarget->hasNEON()) && (Subtarget->hasRDM());
  case 7: return (Subtarget->hasRDM());
  case 8: return (Subtarget->hasMTE());
  case 9: return (Subtarget->hasFullFP16()) && (Subtarget->hasNEON());
  case 10: return (Subtarget->hasFPARMv8()) && (Subtarget->hasJS());
  case 11: return (Subtarget->hasCRC());
  case 12: return (Subtarget->hasFullFP16());
  case 13: return (Subtarget->hasFPARMv8());
  case 14: return (Subtarget->hasSHA2());
  case 15: return (Subtarget->hasFuseAES());
  case 16: return (Subtarget->hasAES());
  case 17: return (Subtarget->hasSVE2());
  case 18: return (Subtarget->hasFP16FML()) && (Subtarget->hasNEON());
  case 19: return (Subtarget->hasComplxNum()) && (Subtarget->hasFullFP16()) && (Subtarget->hasNEON());
  case 20: return (Subtarget->hasComplxNum()) && (Subtarget->hasNEON());
  case 21: return (Subtarget->hasTME());
  case 22: return ( !MF->getFunction().hasFnAttribute("branch-target-enforcement") );
  case 23: return ( MF->getFunction().hasFnAttribute("branch-target-enforcement") );
  case 24: return (Subtarget->hasLSE());
  case 25: return (!MF->getFunction().hasOptNone() || MF->getProperties().hasProperty(MachineFunctionProperties::Property::FailedISel) || !MF->getProperties().hasProperty(MachineFunctionProperties::Property::Legalized));
  case 26: return (Subtarget->hasPerfMon());
  case 27: return (Subtarget->isTargetWindows());
  case 28: return (!Subtarget->isLittleEndian());
  case 29: return (!shouldOptForSize(MF));
  case 30: return (!shouldOptForSize(MF)) && (Subtarget->useAlternateSExtLoadCVTF32Pattern());
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckNodePredicate(SDNode *Node, unsigned PredNo) const override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckNodePredicate(SDNode *Node, unsigned PredNo) const
#if DAGISEL_INLINE
  override
#endif
{
  switch (PredNo) {
  default: llvm_unreachable("Invalid predicate in table?");
  case 0: { 
    // Predicate_VectorIndexB
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return ((uint64_t)Imm) < 16; 
  }
  case 1: { 
    // Predicate_VectorIndexH
    // Predicate_VectorIndexH32b
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return ((uint64_t)Imm) < 8; 
  }
  case 2: { 
    // Predicate_VectorIndexS
    // Predicate_VectorIndexS32b
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return ((uint64_t)Imm) < 4; 
  }
  case 3: { 
    // Predicate_VectorIndexD
    // Predicate_VectorIndexD32b
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return ((uint64_t)Imm) < 2; 
  }
  case 4: { 
    // Predicate_unindexedload
    SDNode *N = Node;
    (void)N;
if (cast<LoadSDNode>(N)->getAddressingMode() != ISD::UNINDEXED) return false;
return true;

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

  }
  case 6: { 
    // Predicate_sextloadi8
    // Predicate_zextloadi8
    // Predicate_truncstorei8
    // Predicate_post_truncsti8
    // Predicate_pre_truncsti8
    // Predicate_extloadi8
    // Predicate_atomic_load_8
    // Predicate_atomic_store_8
    // Predicate_atomic_load_add_8
    // Predicate_atomic_load_or_8
    // Predicate_atomic_load_xor_8
    // Predicate_atomic_load_clr_8
    // Predicate_atomic_load_max_8
    // Predicate_atomic_load_min_8
    // Predicate_atomic_load_umax_8
    // Predicate_atomic_load_umin_8
    // Predicate_atomic_swap_8
    // Predicate_atomic_cmp_swap_8
    // Predicate_atomic_load_sub_8
    // Predicate_atomic_load_and_8
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i8) return false;
return true;

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

  }
  case 8: { 
    // Predicate_s64imm_32bit
    int64_t Imm = cast<ConstantSDNode>(Node)->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 9: { 
    // Predicate_i64imm_32bit
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

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

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

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

  }
  case 11: { 
    // Predicate_vecshiftR8
    // Predicate_vecshiftR16Narrow
    // Predicate_tvecshiftR8
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

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

  }
  case 12: { 
    // Predicate_vecshiftR16
    // Predicate_sve_incdec_imm
    // Predicate_vecshiftR32Narrow
    // Predicate_tvecshiftR16
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

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

  }
  case 13: { 
    // Predicate_vecshiftR32
    // Predicate_vecshiftR64Narrow
    // Predicate_tvecshiftR32
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

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

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

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

  }
  case 16: { 
    // Predicate_truncstorei16
    // Predicate_post_truncsti16
    // Predicate_pre_truncsti16
    // Predicate_zextloadi16
    // Predicate_sextloadi16
    // Predicate_extloadi16
    // Predicate_atomic_load_16
    // Predicate_atomic_store_16
    // Predicate_atomic_load_add_16
    // Predicate_atomic_load_or_16
    // Predicate_atomic_load_xor_16
    // Predicate_atomic_load_clr_16
    // Predicate_atomic_load_max_16
    // Predicate_atomic_load_min_16
    // Predicate_atomic_load_umax_16
    // Predicate_atomic_load_umin_16
    // Predicate_atomic_swap_16
    // Predicate_atomic_cmp_swap_16
    // Predicate_atomic_load_sub_16
    // Predicate_atomic_load_and_16
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i16) return false;
return true;

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

  }
  case 18: { 
    // Predicate_truncstorei32
    // Predicate_pre_truncsti32
    // Predicate_post_truncsti32
    // Predicate_sextloadi32
    // Predicate_extloadi32
    // Predicate_zextloadi32
    // Predicate_atomic_load_32
    // Predicate_atomic_store_32
    // Predicate_atomic_load_add_32
    // Predicate_atomic_load_or_32
    // Predicate_atomic_load_xor_32
    // Predicate_atomic_load_clr_32
    // Predicate_atomic_load_max_32
    // Predicate_atomic_load_min_32
    // Predicate_atomic_load_umax_32
    // Predicate_atomic_load_umin_32
    // Predicate_atomic_swap_32
    // Predicate_atomic_cmp_swap_32
    // Predicate_atomic_load_sub_32
    // Predicate_atomic_load_and_32
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i32) return false;
return true;

  }
  case 19: { 
    // Predicate_nontemporalstore
    SDNode *N = Node;
    (void)N;

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

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

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

  }
  case 21: { 
    // Predicate_simm9
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= -256 && Imm < 256; 
  }
  case 22: { 
    // Predicate_pre_store
    // Predicate_pre_truncst
    SDNode *N = Node;
    (void)N;

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

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

  return ((uint64_t)Imm) < 16;

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

  return (((uint32_t)Imm) < 32);
  
  }
  case 25: { 
    // Predicate_simm5_32b
    // Predicate_simm5_64b
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= -16 && Imm < 16; 
  }
  case 26: { 
    // Predicate_imm0_127
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return ((uint32_t)Imm) < 128;

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

  return ((uint64_t)Imm) < 128;

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

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

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

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

  }
  case 30: { 
    // Predicate_vecshiftL32
    // Predicate_tbz_imm0_31_diag
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

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

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

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

  }
  case 32: { 
    // Predicate_complexrotateop
    // Predicate_complexrotateopodd
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= 0 && Imm <= 270;  
  }
  case 33: { 
    // Predicate_imm32_0_7
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return ((uint32_t)Imm) < 8;

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

  return ((uint64_t)Imm) < 8;

  }
  case 35: { 
    // Predicate_imm0_31
    // Predicate_imm32_0_31
    // Predicate_timm0_31
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();

  return ((uint64_t)Imm) < 32;

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

  return ((uint64_t)Imm) < 64;

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

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

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

  }
  case 40: { 
    // Predicate_alignedglobal
    SDNode *N = Node;
    (void)N;

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

  }
  case 41: { 
    // Predicate_maski8_or_more
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return (Imm & 0xff) == 0xff; 
  }
  case 42: { 
    // Predicate_maski16_or_more
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return (Imm & 0xffff) == 0xffff; 
  }
  case 43: { 
    // Predicate_ldxr_1
    // Predicate_ldaxr_1
    // Predicate_stxr_1
    // Predicate_stlxr_1
    SDNode *N = Node;
    (void)N;

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

  }
  case 44: { 
    // Predicate_ldxr_2
    // Predicate_ldaxr_2
    // Predicate_stxr_2
    // Predicate_stlxr_2
    SDNode *N = Node;
    (void)N;

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

  }
  case 45: { 
    // Predicate_ldxr_4
    // Predicate_ldaxr_4
    // Predicate_stxr_4
    // Predicate_stlxr_4
    SDNode *N = Node;
    (void)N;

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

  }
  case 46: { 
    // Predicate_logical_imm32
    const APInt & Imm = cast<ConstantSDNode>(Node)->getAPIntValue();

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

  }
  case 47: { 
    // Predicate_logical_imm64
    const APInt & Imm = cast<ConstantSDNode>(Node)->getAPIntValue();

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

  }
  case 48: { 
    // Predicate_stxr_8
    // Predicate_stlxr_8
    // Predicate_ldxr_8
    // Predicate_ldaxr_8
    SDNode *N = Node;
    (void)N;

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

  }
  case 49: { 
    // Predicate_anonymous_6470
    // Predicate_anonymous_6477
    // Predicate_anonymous_6484
    // Predicate_anonymous_6491
    SDNode *N = Node;
    (void)N;
if (isAcquireOrStronger(cast<AtomicSDNode>(N)->getOrdering())) return false;
return true;

  }
  case 50: { 
    // Predicate_atomic_load_64
    // Predicate_atomic_store_64
    // Predicate_atomic_load_add_64
    // Predicate_atomic_load_or_64
    // Predicate_atomic_load_xor_64
    // Predicate_atomic_load_clr_64
    // Predicate_atomic_load_max_64
    // Predicate_atomic_load_min_64
    // Predicate_atomic_load_umax_64
    // Predicate_atomic_load_umin_64
    // Predicate_atomic_swap_64
    // Predicate_atomic_cmp_swap_64
    // Predicate_atomic_load_sub_64
    // Predicate_atomic_load_and_64
    SDNode *N = Node;
    (void)N;
if (cast<MemSDNode>(N)->getMemoryVT() != MVT::i64) return false;
return true;

  }
  case 51: { 
    // Predicate_anonymous_6468
    // Predicate_anonymous_6475
    // Predicate_anonymous_6482
    // Predicate_anonymous_6489
    SDNode *N = Node;
    (void)N;
if (!isAcquireOrStronger(cast<AtomicSDNode>(N)->getOrdering())) return false;
return true;

  }
  case 52: { 
    // Predicate_anonymous_6498
    // Predicate_anonymous_6505
    // Predicate_anonymous_6512
    // Predicate_anonymous_6519
    SDNode *N = Node;
    (void)N;
if (isReleaseOrStronger(cast<AtomicSDNode>(N)->getOrdering())) return false;
return true;

  }
  case 53: { 
    // Predicate_anonymous_6496
    // Predicate_anonymous_6503
    // Predicate_anonymous_6510
    // Predicate_anonymous_6517
    SDNode *N = Node;
    (void)N;
if (!isReleaseOrStronger(cast<AtomicSDNode>(N)->getOrdering())) return false;
return true;

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

  return ((uint32_t)Imm) < 16;

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

  return ((uint64_t)Imm) < 65536;

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

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

  }
  case 57: { 
    // Predicate_fpimm0
    const APFloat & Imm = cast<ConstantFPSDNode>(Node)->getValueAPF();

  return Imm.isExactlyValue(+0.0);

  }
  case 58: { 
    // Predicate_tuimm5s2
    // Predicate_uimm5s2
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= 0 && Imm < (32*2) && ((Imm % 2) == 0); 
  }
  case 59: { 
    // Predicate_tuimm5s4
    // Predicate_uimm5s4
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= 0 && Imm < (32*4) && ((Imm % 4) == 0); 
  }
  case 60: { 
    // Predicate_tuimm5s8
    // Predicate_uimm5s8
    int64_t Imm = cast<ConstantSDNode>(Node)->getSExtValue();
 return Imm >= 0 && Imm < (32*8) && ((Imm % 8) == 0); 
  }
  case 61: { 
    // Predicate_trunc_masked_store
    SDNode *N = Node;
    (void)N;

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

  }
  case 62: { 
    // Predicate_trunc_masked_store_i8
    SDNode *N = Node;
    (void)N;

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

  }
  case 63: { 
    // Predicate_trunc_masked_store_i16
    SDNode *N = Node;
    (void)N;

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

  }
  case 64: { 
    // Predicate_trunc_masked_store_i32
    SDNode *N = Node;
    (void)N;

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

  }
  case 65: { 
    // Predicate_nontrunc_masked_store
    SDNode *N = Node;
    (void)N;

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

  }
  case 66: { 
    // Predicate_non_temporal_store
    SDNode *N = Node;
    (void)N;

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

  }
  case 67: { 
    // Predicate_def32
    SDNode *N = Node;
    (void)N;

  return isDef32(*N);

  }
  case 68: { 
    // Predicate_atomic_load_add_64_monotonic
    // Predicate_atomic_load_add_32_monotonic
    // Predicate_atomic_load_add_16_monotonic
    // Predicate_atomic_load_add_8_monotonic
    // Predicate_atomic_load_or_64_monotonic
    // Predicate_atomic_load_or_32_monotonic
    // Predicate_atomic_load_or_16_monotonic
    // Predicate_atomic_load_or_8_monotonic
    // Predicate_atomic_load_xor_64_monotonic
    // Predicate_atomic_load_xor_32_monotonic
    // Predicate_atomic_load_xor_16_monotonic
    // Predicate_atomic_load_xor_8_monotonic
    // Predicate_atomic_load_clr_64_monotonic
    // Predicate_atomic_load_clr_32_monotonic
    // Predicate_atomic_load_clr_16_monotonic
    // Predicate_atomic_load_clr_8_monotonic
    // Predicate_atomic_load_max_64_monotonic
    // Predicate_atomic_load_max_32_monotonic
    // Predicate_atomic_load_max_16_monotonic
    // Predicate_atomic_load_max_8_monotonic
    // Predicate_atomic_load_min_64_monotonic
    // Predicate_atomic_load_min_32_monotonic
    // Predicate_atomic_load_min_16_monotonic
    // Predicate_atomic_load_min_8_monotonic
    // Predicate_atomic_load_umax_64_monotonic
    // Predicate_atomic_load_umax_32_monotonic
    // Predicate_atomic_load_umax_16_monotonic
    // Predicate_atomic_load_umax_8_monotonic
    // Predicate_atomic_load_umin_64_monotonic
    // Predicate_atomic_load_umin_32_monotonic
    // Predicate_atomic_load_umin_16_monotonic
    // Predicate_atomic_load_umin_8_monotonic
    // Predicate_atomic_swap_64_monotonic
    // Predicate_atomic_swap_32_monotonic
    // Predicate_atomic_swap_16_monotonic
    // Predicate_atomic_swap_8_monotonic
    // Predicate_atomic_cmp_swap_64_monotonic
    // Predicate_atomic_cmp_swap_32_monotonic
    // Predicate_atomic_cmp_swap_16_monotonic
    // Predicate_atomic_cmp_swap_8_monotonic
    // Predicate_atomic_load_sub_64_monotonic
    // Predicate_atomic_load_sub_32_monotonic
    // Predicate_atomic_load_sub_16_monotonic
    // Predicate_atomic_load_sub_8_monotonic
    // Predicate_atomic_load_and_64_monotonic
    // Predicate_atomic_load_and_32_monotonic
    // Predicate_atomic_load_and_16_monotonic
    // Predicate_atomic_load_and_8_monotonic
    SDNode *N = Node;
    (void)N;
if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Monotonic) return false;
return true;

  }
  case 69: { 
    // Predicate_atomic_load_add_64_acquire
    // Predicate_atomic_load_add_32_acquire
    // Predicate_atomic_load_add_16_acquire
    // Predicate_atomic_load_add_8_acquire
    // Predicate_atomic_load_or_64_acquire
    // Predicate_atomic_load_or_32_acquire
    // Predicate_atomic_load_or_16_acquire
    // Predicate_atomic_load_or_8_acquire
    // Predicate_atomic_load_xor_64_acquire
    // Predicate_atomic_load_xor_32_acquire
    // Predicate_atomic_load_xor_16_acquire
    // Predicate_atomic_load_xor_8_acquire
    // Predicate_atomic_load_clr_64_acquire
    // Predicate_atomic_load_clr_32_acquire
    // Predicate_atomic_load_clr_16_acquire
    // Predicate_atomic_load_clr_8_acquire
    // Predicate_atomic_load_max_64_acquire
    // Predicate_atomic_load_max_32_acquire
    // Predicate_atomic_load_max_16_acquire
    // Predicate_atomic_load_max_8_acquire
    // Predicate_atomic_load_min_64_acquire
    // Predicate_atomic_load_min_32_acquire
    // Predicate_atomic_load_min_16_acquire
    // Predicate_atomic_load_min_8_acquire
    // Predicate_atomic_load_umax_64_acquire
    // Predicate_atomic_load_umax_32_acquire
    // Predicate_atomic_load_umax_16_acquire
    // Predicate_atomic_load_umax_8_acquire
    // Predicate_atomic_load_umin_64_acquire
    // Predicate_atomic_load_umin_32_acquire
    // Predicate_atomic_load_umin_16_acquire
    // Predicate_atomic_load_umin_8_acquire
    // Predicate_atomic_swap_64_acquire
    // Predicate_atomic_swap_32_acquire
    // Predicate_atomic_swap_16_acquire
    // Predicate_atomic_swap_8_acquire
    // Predicate_atomic_cmp_swap_64_acquire
    // Predicate_atomic_cmp_swap_32_acquire
    // Predicate_atomic_cmp_swap_16_acquire
    // Predicate_atomic_cmp_swap_8_acquire
    // Predicate_atomic_load_sub_64_acquire
    // Predicate_atomic_load_sub_32_acquire
    // Predicate_atomic_load_sub_16_acquire
    // Predicate_atomic_load_sub_8_acquire
    // Predicate_atomic_load_and_64_acquire
    // Predicate_atomic_load_and_32_acquire
    // Predicate_atomic_load_and_16_acquire
    // Predicate_atomic_load_and_8_acquire
    SDNode *N = Node;
    (void)N;
if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Acquire) return false;
return true;

  }
  case 70: { 
    // Predicate_atomic_load_add_64_release
    // Predicate_atomic_load_add_32_release
    // Predicate_atomic_load_add_16_release
    // Predicate_atomic_load_add_8_release
    // Predicate_atomic_load_or_64_release
    // Predicate_atomic_load_or_32_release
    // Predicate_atomic_load_or_16_release
    // Predicate_atomic_load_or_8_release
    // Predicate_atomic_load_xor_64_release
    // Predicate_atomic_load_xor_32_release
    // Predicate_atomic_load_xor_16_release
    // Predicate_atomic_load_xor_8_release
    // Predicate_atomic_load_clr_64_release
    // Predicate_atomic_load_clr_32_release
    // Predicate_atomic_load_clr_16_release
    // Predicate_atomic_load_clr_8_release
    // Predicate_atomic_load_max_64_release
    // Predicate_atomic_load_max_32_release
    // Predicate_atomic_load_max_16_release
    // Predicate_atomic_load_max_8_release
    // Predicate_atomic_load_min_64_release
    // Predicate_atomic_load_min_32_release
    // Predicate_atomic_load_min_16_release
    // Predicate_atomic_load_min_8_release
    // Predicate_atomic_load_umax_64_release
    // Predicate_atomic_load_umax_32_release
    // Predicate_atomic_load_umax_16_release
    // Predicate_atomic_load_umax_8_release
    // Predicate_atomic_load_umin_64_release
    // Predicate_atomic_load_umin_32_release
    // Predicate_atomic_load_umin_16_release
    // Predicate_atomic_load_umin_8_release
    // Predicate_atomic_swap_64_release
    // Predicate_atomic_swap_32_release
    // Predicate_atomic_swap_16_release
    // Predicate_atomic_swap_8_release
    // Predicate_atomic_cmp_swap_64_release
    // Predicate_atomic_cmp_swap_32_release
    // Predicate_atomic_cmp_swap_16_release
    // Predicate_atomic_cmp_swap_8_release
    // Predicate_atomic_load_sub_64_release
    // Predicate_atomic_load_sub_32_release
    // Predicate_atomic_load_sub_16_release
    // Predicate_atomic_load_sub_8_release
    // Predicate_atomic_load_and_64_release
    // Predicate_atomic_load_and_32_release
    // Predicate_atomic_load_and_16_release
    // Predicate_atomic_load_and_8_release
    SDNode *N = Node;
    (void)N;
if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::Release) return false;
return true;

  }
  case 71: { 
    // Predicate_atomic_load_add_64_acq_rel
    // Predicate_atomic_load_add_32_acq_rel
    // Predicate_atomic_load_add_16_acq_rel
    // Predicate_atomic_load_add_8_acq_rel
    // Predicate_atomic_load_or_64_acq_rel
    // Predicate_atomic_load_or_32_acq_rel
    // Predicate_atomic_load_or_16_acq_rel
    // Predicate_atomic_load_or_8_acq_rel
    // Predicate_atomic_load_xor_64_acq_rel
    // Predicate_atomic_load_xor_32_acq_rel
    // Predicate_atomic_load_xor_16_acq_rel
    // Predicate_atomic_load_xor_8_acq_rel
    // Predicate_atomic_load_clr_64_acq_rel
    // Predicate_atomic_load_clr_32_acq_rel
    // Predicate_atomic_load_clr_16_acq_rel
    // Predicate_atomic_load_clr_8_acq_rel
    // Predicate_atomic_load_max_64_acq_rel
    // Predicate_atomic_load_max_32_acq_rel
    // Predicate_atomic_load_max_16_acq_rel
    // Predicate_atomic_load_max_8_acq_rel
    // Predicate_atomic_load_min_64_acq_rel
    // Predicate_atomic_load_min_32_acq_rel
    // Predicate_atomic_load_min_16_acq_rel
    // Predicate_atomic_load_min_8_acq_rel
    // Predicate_atomic_load_umax_64_acq_rel
    // Predicate_atomic_load_umax_32_acq_rel
    // Predicate_atomic_load_umax_16_acq_rel
    // Predicate_atomic_load_umax_8_acq_rel
    // Predicate_atomic_load_umin_64_acq_rel
    // Predicate_atomic_load_umin_32_acq_rel
    // Predicate_atomic_load_umin_16_acq_rel
    // Predicate_atomic_load_umin_8_acq_rel
    // Predicate_atomic_swap_64_acq_rel
    // Predicate_atomic_swap_32_acq_rel
    // Predicate_atomic_swap_16_acq_rel
    // Predicate_atomic_swap_8_acq_rel
    // Predicate_atomic_cmp_swap_64_acq_rel
    // Predicate_atomic_cmp_swap_32_acq_rel
    // Predicate_atomic_cmp_swap_16_acq_rel
    // Predicate_atomic_cmp_swap_8_acq_rel
    // Predicate_atomic_load_sub_64_acq_rel
    // Predicate_atomic_load_sub_32_acq_rel
    // Predicate_atomic_load_sub_16_acq_rel
    // Predicate_atomic_load_sub_8_acq_rel
    // Predicate_atomic_load_and_64_acq_rel
    // Predicate_atomic_load_and_32_acq_rel
    // Predicate_atomic_load_and_16_acq_rel
    // Predicate_atomic_load_and_8_acq_rel
    SDNode *N = Node;
    (void)N;
if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::AcquireRelease) return false;
return true;

  }
  case 72: { 
    // Predicate_atomic_load_add_64_seq_cst
    // Predicate_atomic_load_add_32_seq_cst
    // Predicate_atomic_load_add_16_seq_cst
    // Predicate_atomic_load_add_8_seq_cst
    // Predicate_atomic_load_or_64_seq_cst
    // Predicate_atomic_load_or_32_seq_cst
    // Predicate_atomic_load_or_16_seq_cst
    // Predicate_atomic_load_or_8_seq_cst
    // Predicate_atomic_load_xor_64_seq_cst
    // Predicate_atomic_load_xor_32_seq_cst
    // Predicate_atomic_load_xor_16_seq_cst
    // Predicate_atomic_load_xor_8_seq_cst
    // Predicate_atomic_load_clr_64_seq_cst
    // Predicate_atomic_load_clr_32_seq_cst
    // Predicate_atomic_load_clr_16_seq_cst
    // Predicate_atomic_load_clr_8_seq_cst
    // Predicate_atomic_load_max_64_seq_cst
    // Predicate_atomic_load_max_32_seq_cst
    // Predicate_atomic_load_max_16_seq_cst
    // Predicate_atomic_load_max_8_seq_cst
    // Predicate_atomic_load_min_64_seq_cst
    // Predicate_atomic_load_min_32_seq_cst
    // Predicate_atomic_load_min_16_seq_cst
    // Predicate_atomic_load_min_8_seq_cst
    // Predicate_atomic_load_umax_64_seq_cst
    // Predicate_atomic_load_umax_32_seq_cst
    // Predicate_atomic_load_umax_16_seq_cst
    // Predicate_atomic_load_umax_8_seq_cst
    // Predicate_atomic_load_umin_64_seq_cst
    // Predicate_atomic_load_umin_32_seq_cst
    // Predicate_atomic_load_umin_16_seq_cst
    // Predicate_atomic_load_umin_8_seq_cst
    // Predicate_atomic_swap_64_seq_cst
    // Predicate_atomic_swap_32_seq_cst
    // Predicate_atomic_swap_16_seq_cst
    // Predicate_atomic_swap_8_seq_cst
    // Predicate_atomic_cmp_swap_64_seq_cst
    // Predicate_atomic_cmp_swap_32_seq_cst
    // Predicate_atomic_cmp_swap_16_seq_cst
    // Predicate_atomic_cmp_swap_8_seq_cst
    // Predicate_atomic_load_sub_64_seq_cst
    // Predicate_atomic_load_sub_32_seq_cst
    // Predicate_atomic_load_sub_16_seq_cst
    // Predicate_atomic_load_sub_8_seq_cst
    // Predicate_atomic_load_and_64_seq_cst
    // Predicate_atomic_load_and_32_seq_cst
    // Predicate_atomic_load_and_16_seq_cst
    // Predicate_atomic_load_and_8_seq_cst
    SDNode *N = Node;
    (void)N;
if (cast<AtomicSDNode>(N)->getOrdering() != AtomicOrdering::SequentiallyConsistent) return false;
return true;

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

  return ((uint32_t)Imm) < 256;

  }
  case 74: { 
    // Predicate_fpimm16
    const APFloat & Imm = cast<ConstantFPSDNode>(Node)->getValueAPF();

      return AArch64_AM::getFP16Imm(Imm) != -1;
    
  }
  case 75: { 
    // Predicate_fpimm32
    const APFloat & Imm = cast<ConstantFPSDNode>(Node)->getValueAPF();

      return AArch64_AM::getFP32Imm(Imm) != -1;
    
  }
  case 76: { 
    // Predicate_fpimm64
    const APFloat & Imm = cast<ConstantFPSDNode>(Node)->getValueAPF();

      return AArch64_AM::getFP64Imm(Imm) != -1;
    
  }
  case 77: { 
    // Predicate_simdimmtype10
    const APFloat & Imm = cast<ConstantFPSDNode>(Node)->getValueAPF();

      return AArch64_AM::isAdvSIMDModImmType10(
                 Imm.bitcastToAPInt().getZExtValue());
    
  }
  case 78: { 
    // Predicate_zext_masked_load
    SDNode *N = Node;
    (void)N;

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

  }
  case 79: { 
    // Predicate_zext_masked_load_i8
    // Predicate_asext_masked_load_i8
    SDNode *N = Node;
    (void)N;

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

  }
  case 80: { 
    // Predicate_asext_masked_load
    SDNode *N = Node;
    (void)N;

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

  }
  case 81: { 
    // Predicate_zext_masked_load_i16
    // Predicate_asext_masked_load_i16
    SDNode *N = Node;
    (void)N;

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

  }
  case 82: { 
    // Predicate_zext_masked_load_i32
    // Predicate_asext_masked_load_i32
    SDNode *N = Node;
    (void)N;

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

  }
  case 83: { 
    // Predicate_nonext_masked_load
    SDNode *N = Node;
    (void)N;

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

  }
  case 84: { 
    // Predicate_non_temporal_load
    SDNode *N = Node;
    (void)N;

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

  }
  }
}
#endif // GET_DAGISEL_BODY

#ifdef GET_DAGISEL_DECL
bool CheckComplexPattern(SDNode *Root, SDNode *Parent,
      SDValue N, unsigned PatternNo,
      SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result) override;
#endif
#if defined(GET_DAGISEL_BODY) || DAGISEL_INLINE
bool DAGISEL_CLASS_COLONCOLON CheckComplexPattern(SDNode *Root, SDNode *Parent,
      SDValue N, unsigned PatternNo,
      SmallVectorImpl<std::pair<SDValue, SDNode*>> &Result)
#if DAGISEL_INLINE
  override
#endif
{
  unsigned NextRes = Result.size();
  switch (PatternNo) {
  default: llvm_unreachable("Invalid pattern # in table?");
  case 0:
    Result.resize(NextRes+2);
  return SelectArithImmed(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 1:
    Result.resize(NextRes+2);
  return SelectArithImmed(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 2:
    Result.resize(NextRes+2);
  return SelectArithExtendedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 3:
    Result.resize(NextRes+2);
  return SelectNegArithImmed(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 4:
    Result.resize(NextRes+2);
  return SelectArithShiftedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 5:
    Result.resize(NextRes+2);
  return SelectArithExtendedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 6:
    Result.resize(NextRes+2);
  return SelectNegArithImmed(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 7:
    Result.resize(NextRes+2);
  return SelectArithShiftedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 8:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i8>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 9:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i16>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 10:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i32>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 11:
    Result.resize(NextRes+2);
  return SelectSVEAddSubImm<MVT::i64>(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 12:
    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 13:
    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 14:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed16(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 15:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 16:
    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 17:
    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 18:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed32(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 19:
    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 20:
    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 21:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed64(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 22:
    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 23:
    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 24:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed8(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 25:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed7S32(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 26:
    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 27:
    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 28:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 29:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled64(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 30:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed7S64(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 31:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled32(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 32:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled16(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 33:
    Result.resize(NextRes+2);
  return SelectAddrModeUnscaled8(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 34:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedU6S128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 35:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<32>(N, Result[NextRes+0].first);
  case 36:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<64>(N, Result[NextRes+0].first);
  case 37:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<32>(N, Result[NextRes+0].first);
  case 38:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<64>(N, Result[NextRes+0].first);
  case 39:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<32>(N, Result[NextRes+0].first);
  case 40:
    Result.resize(NextRes+1);
  return SelectCVTFixedPosOperand<64>(N, Result[NextRes+0].first);
  case 41:
    Result.resize(NextRes+2);
  return SelectLogicalShiftedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 42:
    Result.resize(NextRes+2);
  return SelectLogicalShiftedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 43:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i8>(N, Result[NextRes+0].first);
  case 44:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i16>(N, Result[NextRes+0].first);
  case 45:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i32>(N, Result[NextRes+0].first);
  case 46:
    Result.resize(NextRes+1);
  return SelectSVELogicalImm<MVT::i64>(N, Result[NextRes+0].first);
  case 47:
    Result.resize(NextRes+1);
  return SelectCntImm<1, 16, 1, false>(N, Result[NextRes+0].first);
  case 48:
    Result.resize(NextRes+1);
  return SelectSVESignedArithImm(N, Result[NextRes+0].first);
  case 49:
    Result.resize(NextRes+1);
  return SelectCntImm<1, 16, 1, true>(N, Result[NextRes+0].first);
  case 50:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexedS9S128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 51:
    Result.resize(NextRes+2);
  return SelectAddrModeIndexed7S128(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 52:
    Result.resize(NextRes+2);
  return SelectArithExtendedRegister(N, Result[NextRes+0].first, Result[NextRes+1].first);
  case 53:
    Result.resize(NextRes+1);
  return SelectSVEArithImm(N, Result[NextRes+0].first);
  case 54:
    Result.resize(NextRes+0);
  return SelectDupZeroOrUndef(N);
  }
}
#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: {  // trunc_imm
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

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

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

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

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

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

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

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

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

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

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

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

  }
  case 6: {  // i32shift_sext_i8
    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 7: {  // i64shift_a
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

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

  }
  case 8: {  // i64shift_sext_i8
    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 9: {  // i32shift_sext_i16
    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 10: {  // i64shift_sext_i16
    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 11: {  // i64shift_sext_i32
    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 12: {  // i32shift_b
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

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

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

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

  }
  case 14: {  // inv_cond_XFORM
    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 15: {  // UImmS2XForm
    ConstantSDNode *N = cast<ConstantSDNode>(V.getNode());

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

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

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

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

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

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

      APFloat InVal = N->getValueAPF();
      uint32_t enc = AArch64_AM::getFP16Imm(InVal);
      return CurDAG->getTargetConstant(enc, SDLoc(N), MVT::i32);
    
  }
  case 19: {  // anonymous_2389
    ConstantFPSDNode *N = cast<ConstantFPSDNode>(V.getNode());

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

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

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

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

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

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

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

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

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

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

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

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

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

  return CurDAG->getTargetConstant(2 * N->getZExtValue(), 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
